:root{--ink:#203d35;--muted:#75837c;--green:#087447;--green-dark:#065c39;--sage:#e5efe6;--paper:#f7f8f3;--line:#e3e8df;--white:#fff;--radius:18px;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper);font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #82bd97;outline-offset:3px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:38px;letter-spacing:-1.4px;font-weight:650;line-height:1.2}h2{font-size:21px;letter-spacing:-.5px;font-weight:650}h3{font-size:16px}.muted{color:var(--muted);line-height:1.6;margin-top:8px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.8px;color:var(--green);display:block;margin-bottom:12px}.brand img{width:158px;height:auto}.primary,.secondary{padding:12px 19px;border-radius:9px;font-weight:600;white-space:nowrap;border:1px solid transparent;transition:background .15s}.primary{background:var(--green);color:white}.primary:hover{background:var(--green-dark)}.secondary{background:white;border-color:var(--line);color:var(--ink)}.secondary:hover{background:var(--sage)}.text-button{border:0;background:none;color:var(--green);font-weight:600;padding:8px 0}.full{width:100%}label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600;margin-bottom:18px}input,select,textarea{width:100%;border:1px solid #d9e2d7;border-radius:8px;background:white;color:var(--ink);padding:12px;outline:none;min-height:44px}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #08744710}textarea{resize:vertical;line-height:1.65}input:disabled{background:#f0f3ed}.login-page{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-story{position:relative;overflow:hidden;background:#e7efe4;padding:65px 11%;display:flex;flex-direction:column;justify-content:center}.login-story .brand{position:absolute;top:55px}.login-story h1{font-size:70px;letter-spacing:-3px;line-height:1.08;z-index:1}.login-story>p{font-size:18px;line-height:1.7;margin-top:30px;z-index:1}.login-story .eyebrow{z-index:1}.story-bottom{position:absolute;bottom:55px;display:flex;gap:10px;align-items:center;font-size:12px}.dot{display:inline-block;width:8px;height:8px;background:#19945d;border-radius:50%;flex-shrink:0}.orb{position:absolute;border:1px solid #b5cdb4;border-radius:50%;width:480px;height:480px;right:-180px;bottom:-80px}.orb-two{width:390px;height:390px;right:-130px;bottom:-40px}.login-panel{display:flex;align-items:center;justify-content:center;padding:50px}.login-box{width:360px}.login-box h2{font-size:30px}.login-box form{margin-top:35px}.login-foot{margin-top:42px;color:var(--muted);font-size:11px;text-align:center}.alert,.success{padding:14px 18px;border-radius:9px;font-size:13px;line-height:1.5;margin:12px 0}.alert{background:#fff0ea;color:#9b4128}.success{background:#e2f1e5;color:#23623b}.page-alert{margin:14px 38px 0;display:flex;justify-content:space-between}.page-alert button{border:0;background:none;font-size:18px;color:inherit}.shell{display:flex;min-height:100vh}.sidebar{width:238px;position:fixed;top:0;bottom:0;left:0;padding:35px 20px 20px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column}.sidebar .brand{padding:0 18px;margin-bottom:54px}.nav-label{font-size:10px;letter-spacing:1.6px;color:var(--muted);margin:0 16px 15px}.nav-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border:0;background:none;color:var(--muted);font-weight:600;text-align:left;border-radius:10px;margin-bottom:5px}.nav-item>span{font-size:22px;line-height:1}.nav-item.active{background:var(--sage);color:var(--green)}.nav-item small{font-size:10px;margin-left:auto}.sidebar-note{margin:auto 8px 30px;background:var(--paper);padding:20px 15px;border-radius:12px}.sidebar-note strong{display:block;margin:12px 0 8px;font-size:12px}.sidebar-note p{color:var(--muted);font-size:11px;line-height:1.7}.user{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:22px}.user strong{font-size:11px}.user small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.user button{margin-left:auto;background:none;border:0;font-size:23px;color:var(--muted)}.avatar{height:36px;width:36px;flex-shrink:0;border-radius:50%;background:#e8eee1;color:#527344;display:flex;justify-content:center;align-items:center;font-weight:700}.avatar.small{height:34px;width:34px;font-size:11px}.avatar.large{height:72px;width:72px;font-size:24px;background:#ddebdc}.workspace{margin-left:238px;width:calc(100% - 238px);display:flex;flex-direction:column}.topbar{height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:#ffffff80;font-size:12px;color:var(--muted)}.separator{margin:0 12px;color:#b3bfb5}.today{font-size:11px}.content{padding:38px;max-width:1550px;width:100%;margin:0 auto}.page-heading{display:flex;align-items:center;justify-content:space-between;margin:6px 0 30px;gap:20px}.page-heading h1{margin-top:4px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px}.stats>div{border:1px solid var(--line);border-radius:14px;background:#fff;padding:22px}.stats span{font-size:12px;color:var(--muted)}.stats strong{display:block;font-size:33px;font-weight:650;margin:12px 0 8px;letter-spacing:-1px}.stats small{font-size:10px;color:var(--muted)}.welcome-card{border-radius:var(--radius);background:#e5eee1;display:flex;min-height:305px;padding:36px 40px;margin-bottom:26px;position:relative;overflow:hidden}.welcome-card>div:first-child{width:58%;z-index:1}.welcome-card h2{font-size:36px;line-height:1.15;letter-spacing:-1px}.welcome-card p{font-size:13px;line-height:1.7;max-width:420px;color:#607364;margin:18px 0 24px}.care-art{flex:1;display:flex;align-items:center;justify-content:center;position:relative}.art-circle{width:210px;height:210px;border-radius:50%;border:1px solid #a5c2a2;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 30px #d8e7d5,0 0 0 31px #b7cfb4}.art-circle span{font-size:142px;color:#709769;font-family:Georgia;line-height:1}.art-note{position:absolute;bottom:-6px;background:#fff;padding:12px 18px;border-radius:10px;font-size:11px;box-shadow:0 6px 20px #47644210;display:flex;gap:10px;align-items:center}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:20px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.section-heading p{font-size:12px}.section-heading .eyebrow{margin-bottom:8px}.search-row{display:flex;gap:10px}.search-row input{flex:1;background:#fafbf8}.list-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin:24px 0 15px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:left}th{font-size:10px;font-weight:600;color:var(--muted);padding:13px 10px;background:#f7f9f4;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:15px 10px;border-bottom:1px solid #eff2eb;font-size:12px}td:nth-child(3){max-width:210px;overflow:hidden;text-overflow:ellipsis}tr:hover td{background:#fbfcf8}.patient-link{display:flex;gap:12px;align-items:center;text-align:left;border:0;background:none;color:var(--ink);padding:0}.patient-link strong{font-size:12px}.patient-link small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.badge{background:#e5f1e8;color:var(--green);font-size:10px;padding:6px 9px;border-radius:6px;display:inline-block}.badge.neutral{background:#f0f3ec;color:#697869}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:22px;font-size:11px;color:var(--muted)}.pagination button{font-size:11px;padding:9px 14px}.empty{padding:40px 12px;text-align:center;color:var(--muted);line-height:1.7}.empty p{margin:8px 0 15px}.back{margin-bottom:22px;font-size:12px}.patient-heading{display:flex;gap:20px;align-items:center;margin-bottom:25px}.patient-heading h1{font-size:30px}.patient-heading .eyebrow{margin-bottom:6px}.patient-heading .secondary{margin-left:auto}.patient-summary{background:#edf2e8;border-radius:12px;display:grid;grid-template-columns:repeat(4,1fr);padding:20px 24px;margin-bottom:26px;gap:20px}.patient-summary span{font-size:12px}.patient-summary small{display:block;font-size:9px;letter-spacing:1px;color:var(--muted);margin-bottom:7px}.clinical-grid{display:grid;grid-template-columns:290px minmax(0,1fr);gap:24px;align-items:start}.files-panel{padding:20px}.files-panel h2{font-size:17px}.files-panel .section-heading{margin-bottom:18px}.circle-button{border:1px solid var(--line);background:white;color:var(--green);width:32px;height:32px;font-size:21px;border-radius:8px;flex-shrink:0}.file-card{display:flex;flex-direction:column;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px;margin-bottom:10px;gap:10px;color:var(--ink)}.file-card.selected{background:#f0f6ec;border-color:#9dbd91}.file-card>span:nth-child(2){font-size:11px;line-height:1.5}.file-card small{font-size:10px;color:var(--muted)}.file-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.file-top strong{font-size:11px}.file-top small{font-size:9px}.progress{height:4px;background:#e0e8dc;border-radius:3px;overflow:hidden}.progress i{display:block;height:100%;background:#6fa35e;border-radius:3px}.clinical-title{padding-bottom:0}.clinical-title h2{font-size:24px}.clinical-title .muted{font-size:12px}.tabs{display:flex;gap:24px;margin-top:23px;border-top:1px solid var(--line)}.tabs button{padding:18px 0;border:0;background:none;color:var(--muted);font-weight:600;font-size:12px;border-bottom:2px solid transparent}.tabs button.selected{color:var(--green);border-bottom-color:var(--green)}.tabs span{font-size:10px;margin-left:6px}.date-label{max-width:180px}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.form-footer small{color:var(--muted);font-size:10px}.preformatted{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.history-text{background:#f8faf5;padding:20px;border-radius:10px;font-size:12px;margin-top:20px}.history .badge{white-space:nowrap}.timeline-heading{margin:26px 0 15px}.evolution>div{display:flex;gap:12px;align-items:center;font-size:12px}.evolution p{margin-top:16px;font-size:13px}.session-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0;border-top:1px solid var(--line);font-size:12px}.session-row small{display:block;color:var(--muted);margin-top:7px;font-size:10px}.workspace-footer{margin-top:auto;display:flex;justify-content:space-between;padding:20px 38px;color:var(--muted);font-size:10px}.modal-backdrop{position:fixed;inset:0;background:#17372b66;backdrop-filter:blur(4px);z-index:10;display:flex;align-items:center;justify-content:center;padding:25px}.modal{background:#fff;width:620px;max-width:100%;max-height:90vh;overflow:auto;border-radius:20px;padding:30px;box-shadow:0 20px 100px #16291b30}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.span-two{grid-column:span 2}.modal-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:10px}.loading{min-height:100vh;display:flex;flex-direction:column;gap:25px;align-items:center;justify-content:center;color:var(--muted)}.loading img{width:180px}#blazor-error-ui{display:none;background:#fff0ea;color:#9b4128;position:fixed;bottom:0;width:100%;padding:20px;z-index:20}#blazor-error-ui a{text-decoration:underline}@media(min-width:1500px){.content{padding:45px 55px}}@media(max-width:1100px){.sidebar{width:200px}.workspace{margin-left:200px;width:calc(100% - 200px)}.content{padding:25px}.clinical-grid{grid-template-columns:240px minmax(0,1fr);gap:16px}.stats{gap:10px}.stats>div{padding:18px}.patient-summary{grid-template-columns:repeat(2,1fr)}.patient-heading h1{font-size:25px}}@media(max-width:780px){.login-page{grid-template-columns:1fr}.login-story{padding:90px 35px 45px;min-height:360px}.login-story .brand{top:25px}.login-story h1{font-size:47px}.login-story>p{font-size:14px;margin-top:18px}.story-bottom{display:none}.login-panel{padding:40px 25px}.sidebar{position:static;width:100%;padding:18px;flex-direction:row;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.sidebar .brand{margin:0 auto 0 0;padding:0}.sidebar .brand img{width:115px}.sidebar .nav-label,.sidebar-note,.user{display:none}.nav-item{margin:0;font-size:12px;padding:10px}.nav-item small{display:none}.shell{display:block}.workspace{margin:0;width:100%}.topbar{height:55px;padding:0 20px}.content{padding:22px 16px}.page-heading{align-items:start}.page-heading h1{font-size:29px}.page-heading>.primary{padding:11px;font-size:11px}.eyebrow{font-size:9px}.stats{grid-template-columns:1fr 1fr}.stats strong{font-size:29px}.welcome-card{padding:26px}.welcome-card>div:first-child{width:100%}.welcome-card h2{font-size:30px}.care-art{display:none}.panel{padding:20px}.clinical-grid{grid-template-columns:1fr}.patient-heading{gap:12px;flex-wrap:wrap}.patient-heading h1{font-size:23px}.avatar.large{height:50px;width:50px;font-size:17px}.patient-heading .secondary{margin-left:62px}.patient-summary{padding:18px}.files-panel{margin-bottom:0}.file-card{padding:12px}.form-footer{align-items:end}.form-footer .primary{font-size:11px;padding:12px}.history .section-heading{display:block}.history .badge{margin-top:12px}.workspace-footer{padding:20px;display:block;line-height:1.8}.workspace-footer span{display:block}.search-row{flex-wrap:wrap}.search-row input{min-width:180px}.modal{padding:22px}.form-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.session-row{flex-wrap:wrap}.page-alert{margin:12px 16px}}
.agenda-toolbar{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:20px}.segmented{display:flex;background:#e9efe5;border-radius:10px;padding:4px}.segmented button{border:0;background:none;color:var(--muted);padding:10px 14px;border-radius:7px;font-size:12px;font-weight:600}.segmented .selected{background:white;color:var(--green);box-shadow:0 2px 7px #1d382510}.agenda-date-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.agenda-date-nav strong{font-size:13px}.agenda-date-nav input{width:145px;font-size:12px;padding:8px}.agenda-date-nav .secondary{padding:10px}.sheet-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.sheet-actions>span{color:var(--muted);font-size:10px;line-height:1.7}.sheet-actions>div{display:flex;gap:7px}.sheet-actions button{font-size:11px;padding:9px 12px}.sheet-wrap{overflow:auto;max-height:65vh;border:1px solid #cbd7c4;border-radius:12px;background:white}.agenda-sheet{table-layout:fixed;min-width:850px;white-space:normal}.agenda-sheet th{position:sticky;top:0;z-index:2;background:#f0f5ea;text-align:center;padding:14px 8px;border-right:1px solid #cbd7c4;color:var(--ink)}.agenda-sheet thead th strong{display:block;text-transform:capitalize;font-size:13px}.agenda-sheet thead th span{display:block;margin-top:5px;font-size:11px;color:var(--muted)}.agenda-sheet .time-col{width:75px;font-size:11px;position:sticky;left:0;z-index:1}.agenda-sheet thead .time-col{z-index:3}.day-hours{border:0;background:none;color:var(--green);font-size:10px;margin-top:7px;cursor:pointer}.agenda-sheet td{padding:5px;vertical-align:top;border-right:1px solid #d7e0d1;border-bottom:1px solid #d7e0d1;height:60px;position:relative;background:white;overflow:visible}.agenda-sheet td:hover{background:#f0f5e9}.agenda-sheet td.open-hour{background:#edf5e8}.agenda-sheet td.closed-hour{background:repeating-linear-gradient(135deg,#f8f9f6,#f8f9f6 6px,#f3f5ef 6px,#f3f5ef 7px)}.agenda-sheet td.cell-selected{box-shadow:inset 0 0 0 2px var(--green);background:#e7f2df}.agenda-sheet td:focus{outline:none;box-shadow:inset 0 0 0 2px var(--green)}.cell-add{background:none;border:0;color:#7d9b70;display:block;width:100%;padding:7px;font-size:17px;opacity:0}.agenda-cell:hover .cell-add,.agenda-cell:focus .cell-add,.cell-selected .cell-add{opacity:1}.appointment{display:block;width:100%;border:1px solid #ccd8c3;border-left:3px solid #8ca579;border-radius:5px;background:#fff;text-align:left;padding:7px;margin-bottom:4px;color:var(--ink);overflow-wrap:anywhere}.appointment strong{display:block;font-size:11px}.appointment small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.appointment.realizado{border-left-color:#087447;background:#e4f1e6}.appointment.cancelado{opacity:.6;border-left-color:#9d9d9d}.appointment.cancelado strong{text-decoration:line-through}.week-tabs{display:flex;gap:3px;margin-top:0;overflow:auto;padding-top:5px}.week-tabs button{background:#edf1e7;border:1px solid var(--line);border-radius:0 0 8px 8px;padding:12px 19px;font-size:11px;color:var(--muted);white-space:nowrap}.week-tabs .selected{background:white;color:var(--green);border-top:3px solid var(--green);font-weight:700}.sheet-legend{display:flex;flex-wrap:wrap;gap:15px;font-size:10px;color:#839876;margin-top:18px}.sheet-legend .green{color:var(--green)}.sheet-legend .gray{color:#888}.month-grid{display:grid;grid-template-columns:repeat(5,1fr);margin-top:25px;border-left:1px solid var(--line);border-top:1px solid var(--line)}.month-weekday{text-align:center;font-size:12px;font-weight:650;padding:16px;background:#f0f5eb;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.month-day{display:flex;flex-direction:column;gap:10px;min-height:125px;background:white;text-align:left;border:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:17px;color:var(--ink)}.month-day.working{background:#deedde}.month-day.other-month{opacity:.45}.month-day span{font-size:12px}.month-day small{font-size:10px;color:var(--muted)}.patient-suggestions{max-height:220px;overflow:auto;margin-top:-10px;margin-bottom:15px;border-radius:8px}.patient-suggestions button{display:flex;justify-content:space-between;text-align:left;width:100%;padding:12px;background:#f2f6ed;border:0;border-bottom:1px solid white;color:var(--ink);font-size:12px}.patient-suggestions small{font-size:10px;color:var(--muted)}.chosen-patient{background:#edf4e8;padding:15px;border-radius:9px;margin-bottom:20px}.chosen-patient strong,.chosen-patient small{display:block}.chosen-patient small{font-size:10px;margin:8px 0;color:var(--muted)}.chosen-patient button{font-size:12px}.check-label{flex-direction:row;align-items:center}.check-label input{width:18px;min-height:18px}.agenda-page .page-heading{margin-bottom:25px}@media(max-width:780px){.sheet-actions{display:block}.sheet-actions>div{margin-top:10px;flex-wrap:wrap}.month-panel{padding:10px}.month-grid{min-width:570px}.month-panel{overflow:auto}.agenda-date-nav{gap:7px}.week-tabs button{padding:11px}.agenda-date-nav strong{font-size:12px}.sidebar .nav-item{padding:8px;font-size:11px}}

/* Mobile browsers zoom focused form controls when their text is smaller than 16px. */
@media (max-width: 900px), (pointer: coarse) {
  input, textarea, select { font-size: 16px !important; }
}
.catalog-picker{margin-bottom:18px}.catalog-picker label{margin-bottom:8px}.catalog-options{max-height:180px;overflow:auto;border:1px solid var(--line);border-radius:8px;margin-top:5px}.catalog-options button{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid var(--line);background:#f2f6ed;padding:10px 12px;color:var(--ink)}.catalog-options button:hover,.catalog-options button:focus{background:#deedde}.catalog-options>span{display:block;padding:12px}.new-catalog{background:#edf4e8;border-radius:8px;padding:15px;margin:10px 0 20px}
.day-heading{border:0;background:none;color:inherit;cursor:pointer;padding:0;width:100%}.day-heading:hover strong{text-decoration:underline}.day-overview{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:22px 0 18px}.day-overview h2{text-transform:capitalize}.day-tools{display:flex;flex-wrap:wrap;gap:8px}.day-summary{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.day-summary>span{background:#edf3e8;border-radius:8px;padding:12px 16px;font-size:12px}.day-summary strong{font-size:20px;margin-right:5px}.day-help{margin-bottom:20px}.day-patient{margin-bottom:12px;border-left:4px solid #9caf91}.day-patient.attended{border-left-color:#087447}.day-patient.absent{border-left-color:#bf7043}.day-patient.cancelled{opacity:.7}.day-patient-info{display:flex;align-items:center;gap:18px}.day-patient-info>div{flex:1}.day-patient-info h3{font-size:16px}.day-time{font-size:20px;font-variant-numeric:tabular-nums}.day-patient-info p{font-size:12px;margin-top:5px}.day-note{color:var(--ink)}.attendance-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px}.attendance-button{padding:11px 18px;border:1px solid #cad9c4;border-radius:8px;background:white;color:var(--green);font-weight:600;min-height:44px}.attendance-button.absent{color:#96522d;border-color:#dec7b8}.attendance-button.attended.selected{background:#ddf0e1;opacity:1}.attendance-button.absent.selected{background:#f9e9dd;opacity:1}.attendance-button:disabled:not(.selected){opacity:.45}.month-date{border:0;background:none;color:inherit;text-align:left;padding:0;cursor:pointer}.month-date strong,.month-date small{display:block}.month-date small{margin-top:8px}.month-date:hover strong{text-decoration:underline}.month-day .day-hours{text-align:left;padding:0;margin-top:0}.appointment.absent{border-left-color:#bf7043;background:#f9e9dd}@media(max-width:780px){.day-overview{align-items:flex-start;flex-direction:column}.day-patient{padding:18px}.day-patient-info{flex-wrap:wrap;gap:12px}.day-patient-info>div{flex:1;min-width:160px}.day-patient-info>.badge{margin-left:0}.attendance-actions{gap:8px}.attendance-button{flex:1;min-width:120px}.day-summary>span{flex:1;min-width:130px}}
.day-closed-toggle{display:block;margin-top:8px;color:#96522d}
.appointment.unregistered,.day-patient.unregistered{border-left-color:#d59622;background:#fff8e9}.unregistered-label{display:inline-block;background:#f6dfac;color:#70500c;padding:4px 7px;border-radius:5px;font-size:10px;font-weight:650;margin:5px 0}.provisional-panel{background:#fff8e9;border:1px solid #efd49b;border-radius:10px;padding:16px;margin-bottom:18px}.provisional-panel label{margin-top:12px}

/* Expand the weekly sheet while keeping navigation and editing controls available. */
body:has(.agenda-maximized){overflow:hidden}
.agenda-maximized{position:fixed;inset:12px;z-index:8;background:var(--bg,#f8faf5);padding:20px;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 70px #17372b40;display:flex;flex-direction:column;overflow:auto}
.agenda-maximized .page-heading{display:none}
.agenda-maximized .agenda-toolbar{flex-shrink:0;margin-bottom:12px}
.agenda-maximized .sheet-actions{flex-shrink:0;margin-bottom:10px;flex-wrap:wrap}
.sheet-actions .sheet-size-toggle{white-space:nowrap;flex-shrink:0;color:var(--green);font-weight:600}
.agenda-maximized .sheet-wrap{flex:1;min-height:120px;max-height:none}
.agenda-maximized .week-tabs,.agenda-maximized .sheet-legend{flex-shrink:0}
.agenda-maximized .sheet-legend{margin-top:10px}
@media(max-width:780px){.agenda-maximized{inset:0;padding:12px;border:0;border-radius:0}.agenda-maximized .sheet-actions{display:flex}.agenda-maximized .sheet-actions>span{display:none}.agenda-maximized .sheet-actions>div{margin-top:0}.agenda-maximized .sheet-legend{font-size:9px;gap:8px}}

.appointment .appointment-diagnosis{font-size:11px;font-weight:600;color:var(--ink);line-height:1.35}.appointment .appointment-diagnosis:empty{display:none}

.appointment-blocks{margin:18px 0}.appointment-blocks h3{margin-bottom:8px}.block-option{border:1px solid var(--line);border-radius:10px;padding:14px;margin:10px 0}.block-option.selected{border-color:#8ab18c;background:#f1f7ed}.block-option .check-label{margin-bottom:8px}.block-option p{font-size:11px;margin:6px 0}.block-option label:not(.check-label){margin:12px 0 0}.block-option input[type=number]{max-width:120px}.block-balance{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;margin-top:10px}.block-exception{display:block;color:#976020;margin-top:8px}.appointment .appointment-balance{font-size:10px;color:var(--green)}
/* Subtle time bands make each half-hour easier to follow across weekdays. */
.agenda-sheet tbody tr+tr>td,.agenda-sheet tbody tr+tr>.time-col{border-top:2px solid #cbd8c4}
.agenda-sheet tbody tr:nth-child(even) td.open-hour:not(.cell-selected){background:#e2eedb}
.agenda-sheet tbody tr:nth-child(odd) td.open-hour:not(.cell-selected){background:#f0f6eb}
.agenda-sheet tbody tr:nth-child(even) td.closed-hour:not(.cell-selected){background:repeating-linear-gradient(135deg,#eff2eb,#eff2eb 6px,#e9ede5 6px,#e9ede5 7px)}
.agenda-sheet tbody tr:nth-child(even)>.time-col{background:#e2eadc}
.agenda-sheet tbody tr:nth-child(odd)>.time-col{background:#f2f6ee}
.agenda-sheet tbody .time-col{font-size:12px;font-weight:700;color:#385c45}

/* Compact shared page headers, leaving more room for clinical work. */
.topbar{height:44px;padding:0 28px;flex-shrink:0}
.content{padding:20px 28px}
.page-heading,.agenda-page .page-heading{margin:0 0 16px;gap:12px}
.page-heading h1{font-size:29px;line-height:1.15;margin-top:0;letter-spacing:-.8px}
.page-heading .eyebrow{margin-bottom:5px;font-size:9px}
.page-heading .muted{margin-top:5px;font-size:12px}
.agenda-toolbar{margin-bottom:12px;gap:10px}
.agenda-toolbar .segmented button{padding:9px 13px}
.agenda-date-nav .secondary{padding:8px 12px;min-height:36px}
.agenda-date-nav input{min-height:36px;padding:8px;width:148px}
.sheet-actions{margin-bottom:12px;gap:10px}
.sheet-actions .secondary{padding:8px 12px}
.sheet-actions>span{font-size:10px}
@media(max-width:780px){.topbar{height:38px;padding:0 16px}.content{padding:16px}.page-heading h1{font-size:26px}.page-heading .muted{font-size:11px}.agenda-toolbar{flex-wrap:wrap}.agenda-date-nav input{width:140px}}

.agenda-sheet .appointment{height:108px;overflow:auto;margin-bottom:4px}.agenda-sheet .empty-slot{display:block;visibility:hidden;pointer-events:none}.agenda-sheet .agenda-cell{vertical-align:top}
.workspace-footer{padding:5px 28px;font-size:9px;line-height:1.3;min-height:24px}.workspace-footer span{display:inline}.workspace-footer{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center;justify-content:space-between}@media(max-width:780px){.workspace-footer{padding:4px 16px;font-size:8px}}

/* Agenda workspace dedicates the available viewport to the sheet. */
.workspace:has(.agenda-page){height:100dvh;overflow:hidden}.content:has(.agenda-page){flex:1;min-height:0;padding:8px 18px;display:flex;max-width:none}.agenda-page{width:100%;display:flex;flex-direction:column;min-height:0;overflow:auto}.workspace:has(.agenda-page) .topbar{height:30px;padding:0 18px}.agenda-page .page-heading{margin:0 0 6px;flex-shrink:0}.agenda-page .page-heading h1{font-size:23px}.agenda-page .page-heading .eyebrow,.agenda-page .page-heading .muted{display:none}.agenda-toolbar{margin-bottom:6px;flex-shrink:0}.agenda-toolbar .segmented button{padding:6px 10px}.agenda-date-nav .secondary,.agenda-date-nav input{min-height:30px;padding:5px 9px}.sheet-actions{margin-bottom:6px;flex-shrink:0}.sheet-actions>span{display:none}.sheet-actions .secondary{padding:5px 9px;font-size:10px}.agenda-page .sheet-wrap{flex:1;min-height:0;max-height:none;overflow:auto}.agenda-sheet thead th{padding:4px 6px}.agenda-sheet .day-heading{padding:0}.agenda-sheet .day-heading strong{font-size:12px}.agenda-sheet .day-heading span{font-size:9px}.agenda-sheet .day-hours{font-size:9px;padding:2px}.agenda-sheet .appointment{height:54px;padding:4px 6px;margin-bottom:3px;position:relative}.agenda-sheet .appointment strong{font-size:10px;line-height:12px;padding-right:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-sheet .appointment small{font-size:9px;line-height:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-sheet .appointment small:last-child{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.attendance-mark{position:absolute;right:5px;top:3px;font-size:12px;font-weight:700}.agenda-sheet .unregistered-label{font-size:8px;padding:1px 3px;margin-top:2px}.agenda-sheet .cell-add{padding:2px;font-size:13px}.week-tabs{flex-shrink:0;padding-top:3px}.week-tabs button{padding:4px 10px;font-size:9px}.sheet-legend{flex-shrink:0;margin-top:4px;font-size:8px;gap:8px}.workspace-footer{min-height:18px;padding:3px 18px;font-size:8px;flex-shrink:0}.removal-list{max-height:260px;overflow:auto;margin:14px 0}.removal-list p{padding:7px 0;border-bottom:1px solid var(--line);font-size:12px}@media(max-width:780px){.content:has(.agenda-page){padding:6px}.agenda-page .page-heading h1{font-size:20px}.agenda-toolbar{gap:4px}.sheet-actions{gap:4px}.agenda-page .sheet-legend{display:none}}

.agenda-page.agenda-maximized{width:auto}
.agenda-sheet .appointment{height:48px}.agenda-sheet .appointment strong{font-size:11px;line-height:13px}.agenda-sheet .appointment .appointment-diagnosis{font-size:10px;line-height:12px}.agenda-sheet .cell-add{position:absolute;right:2px;bottom:1px;width:18px;height:18px;line-height:14px;padding:0;background:#f0f6eb;border-radius:3px}.agenda-sheet td{padding:3px}.agenda-sheet thead th span{margin-top:1px}.agenda-sheet .day-hours{margin-top:1px}

.backup-banner{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fff2c9;color:#664900;padding:6px 14px;font-size:12px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.backup-banner a{color:inherit;text-decoration:underline}body:has(.backup-banner){padding-top:32px}body:has(.backup-banner) .workspace{height:calc(100dvh - 32px)}
