@import url('https://fonts.googleapis.com/css2?family=PT+Sans:wght@400;500;600;700&family=Prata&display=swap');
:root{--v-brand:#147890;--v-accent:#12b49e;--v-ink:#263f46;--v-muted:#647b80;--v-line:#d9e9e8;--v-page:#f3f8f8;--v-radius:14px}
body{font-family:"PT Sans",Arial,sans-serif!important;background:var(--v-page)!important;color:var(--v-ink)!important;font-size:16px}
h1,h2,h3{font-family:"Prata",Georgia,serif;font-weight:400;letter-spacing:-.025em;line-height:1.3}
h1{color:#134f61!important}
h2,h3{color:#1e5260}
header{background:#fff!important;color:#147890!important;border-bottom:3px solid var(--v-accent)!important;box-shadow:0 2px 18px #1478900d}
header strong,header h1{color:#147890!important}
header a,header button{color:#147890!important;border-color:#bbd9dd!important}
header .sub,header p{color:#5b7b83!important}
main{max-width:1400px}
.card,.panel,.details{border:1px solid var(--v-line)!important;box-shadow:0 8px 30px rgba(20,120,144,.055)!important;border-radius:var(--v-radius)!important}
button,.btn,.button{border-radius:10px!important;transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease}
button:not(:disabled):hover,.btn:hover,.button:hover{box-shadow:0 4px 16px #14789020}
button:not(.slot):not(.secondary):not(.ghost),.btn:not(.secondary):not(.ghost),.button{background:#147890;color:#fff}
button:not(.slot):not(.secondary):not(.ghost):hover,.btn:not(.secondary):hover,.button:hover{background:#106579}
input,select,textarea{font-family:"PT Sans",Arial,sans-serif!important;border:1px solid #c6dcdd!important;border-radius:9px!important;background:#fff!important;color:var(--v-ink)!important}
input:focus,select:focus,textarea:focus{outline:2px solid #12b49e80!important;outline-offset:1px}
label{color:#4a7280!important}
.muted,.sub,.secondary{color:var(--v-muted)}
.notice:not(.error){background:#e5f6f3;color:#126e72;border:1px solid #bbebe3}
.pill:not(.pending),.badge{background:#e5f6f3;color:#087e72}
.metric,.when,.price{color:#147890!important}
a{color:#147890}
a:hover{text-decoration-color:#12b49e}
.day.working{background:#e5f7f2!important;border-color:#86cbc1!important}
.day.rest{background:#fcf3e9!important;border-color:#e0b98b!important}
.day.active{outline-color:#147890!important}
.slot{background:#e8f6f3!important;color:#126e73!important;border:1px solid #d2eae6!important}
.slot.active,.slot.selected{background:#147890!important;color:#fff!important}
.item{border-bottom-color:#e3eeee!important}
@media(max-width:760px){body{font-size:15px}.card,.panel{padding:17px!important}}
@media print{body{background:#fff!important}header{box-shadow:none!important}button,.actions{print-color-adjust:exact}}

@media print{.wrap .card{box-shadow:none!important;border:0!important;border-radius:0!important}.wrap header{padding:0 0 8mm!important}.wrap .item{break-inside:avoid!important}}

/* Contrast-safe SPA schedule tiles: override generic white button text. */
.calendar button.day,.calendar button.day:not(.slot):not(.secondary):not(.ghost){color:#173f46!important;background:#f3f6f6!important}
.calendar button.day.working,.calendar button.day.working:not(.slot):not(.secondary):not(.ghost){color:#124e4c!important;background:#def4ec!important;border-color:#67bfb3!important}
.calendar button.day.rest,.calendar button.day.rest:not(.slot):not(.secondary):not(.ghost){color:#704414!important;background:#fff0df!important;border-color:#dca86a!important}
.calendar button.day.free,.calendar button.day.free:not(.slot):not(.secondary):not(.ghost){color:#4b6268!important;background:#f0f3f3!important;border-color:#cbdcdd!important}
.calendar .day .num,.calendar .day .symbol,.calendar .day small{color:inherit!important;opacity:1!important}
.calendar .day.active{outline:3px solid #147890!important;outline-offset:1px}

/* Navigation buttons: ensure white text on brand-colored background. */
header button[type="submit"],header button:not(.secondary){background:#147890!important;color:#fff!important;border:1px solid #147890!important}
header button[type="submit"]:hover,header button:not(.secondary):hover{background:#106579!important;color:#fff!important}
header button.secondary{background:#e7f3f1!important;color:#14596a!important;border:1px solid #b9d9da!important}
header button.secondary:hover{background:#d5eeeb!important;color:#14596a!important}
header a{color:#147890!important}
