:root{--bg:#f5f6f8;--panel:#fff;--text:#202631;--muted:#6b7280;--line:#e5e7eb;--brand:#23384d;--brand2:#d9e7e9;--accent:#557d82;--danger:#b42318;--danger-bg:#fee4e2;--warn:#b54708;--warn-bg:#fffaeb;--ok:#067647;--ok-bg:#ecfdf3;--purple:#6941c6;--purple-bg:#f4f3ff;--blue:#175cd3;--blue-bg:#eff8ff;--shadow:0 8px 28px rgba(32,38,49,.07)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.sidebar{position:fixed;left:0;top:0;bottom:0;width:232px;background:var(--brand);color:white;padding:24px 16px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 26px}.brand-mark{height:42px;width:42px;border-radius:12px;background:var(--brand2);color:var(--brand);display:grid;place-items:center;font-weight:800}.brand strong,.brand span{display:block}.brand span{font-size:13px;opacity:.75;margin-top:2px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.nav-btn{border:0;background:transparent;color:#dfe7ef;text-align:left;padding:12px 14px;border-radius:10px;display:flex;gap:12px;cursor:pointer}.nav-btn:hover,.nav-btn.active{background:rgba(255,255,255,.12);color:white}.sidebar-foot{margin-top:auto;font-size:11px;opacity:.55;padding:8px}.main{margin-left:232px;min-height:100vh;padding:28px 34px 60px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.topbar h1{margin:0;font-size:28px}.topbar p{margin:5px 0 0;color:var(--muted)}.today{background:white;border:1px solid var(--line);padding:10px 14px;border-radius:10px;color:var(--muted);font-size:13px}.page{display:none}.page.active{display:block}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.stat .label{font-size:13px;color:var(--muted)}.stat .value{font-size:28px;font-weight:750;margin-top:8px}.stat .foot{font-size:12px;color:var(--muted);margin-top:6px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);margin-bottom:18px}.panel-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.panel-head h2{font-size:18px;margin:0}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.quick-actions{padding:22px;display:flex;gap:12px;flex-wrap:wrap}.rule-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:20px}.rule-grid div{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fafafa}.rule-grid strong,.rule-grid span{display:block}.rule-grid span{font-size:13px;color:var(--muted);margin-top:5px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.toolbar-actions{display:flex;gap:10px;align-items:center}.toolbar input{min-width:250px}.tabs{display:flex;background:#e9edf1;padding:4px;border-radius:10px}.tab{background:transparent;color:var(--muted);padding:8px 12px}.tab.active{background:white;color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.08)}button{border:0;border-radius:9px;padding:10px 14px;background:var(--brand);color:white;cursor:pointer;font-weight:650}button:hover{filter:brightness(1.05)}button.secondary{background:white;color:var(--text);border:1px solid var(--line)}button.danger{background:var(--danger)}button.small{padding:7px 10px;font-size:12px}.icon-btn{padding:4px 10px;background:transparent;color:var(--muted);font-size:25px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);font-size:13px;vertical-align:middle}th{color:var(--muted);font-weight:650;background:#fbfbfc}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbfc}.person{display:flex;gap:10px;align-items:center}.avatar{width:34px;height:34px;border-radius:50%;background:var(--brand2);color:var(--brand);display:grid;place-items:center;font-weight:800}.person strong,.person span{display:block}.person span{font-size:12px;color:var(--muted);margin-top:2px}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:750}.badge.ok{color:var(--ok);background:var(--ok-bg)}.badge.warn{color:var(--warn);background:var(--warn-bg)}.badge.danger{color:var(--danger);background:var(--danger-bg)}.badge.purple{color:var(--purple);background:var(--purple-bg)}.badge.blue{color:var(--blue);background:var(--blue-bg)}.badge.gray{color:#4b5563;background:#f3f4f6}.actions{display:flex;gap:6px;flex-wrap:wrap}.month-picker{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.month-picker input{min-width:150px}.week-nav{display:flex;gap:10px;align-items:center}.legend{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px;margin:0 0 14px}.dot{width:9px;height:9px;border-radius:50%;margin-left:7px}.dot.regular{background:var(--brand)}.dot.makeup{background:var(--blue)}.dot.experimental{background:var(--purple)}.dot.late{background:var(--danger)}.agenda-grid{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:12px;overflow:auto}.day-card{background:white;border:1px solid var(--line);border-radius:14px;min-width:210px;overflow:hidden}.day-head{padding:13px 14px;background:#f8fafb;border-bottom:1px solid var(--line)}.day-head strong,.day-head span{display:block}.day-head span{font-size:12px;color:var(--muted);margin-top:2px}.teacher-block{padding:12px;border-bottom:1px solid var(--line)}.teacher-block:last-child{border-bottom:0}.teacher-title{font-weight:750;font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:9px}.slot{border-left:4px solid var(--brand);background:#f8fafb;border-radius:8px;padding:9px;margin-bottom:8px}.slot.makeup{border-color:var(--blue);background:var(--blue-bg)}.slot.experimental{border-color:var(--purple);background:var(--purple-bg)}.slot.late{border-color:var(--danger);background:var(--danger-bg)}.slot-top{display:flex;justify-content:space-between;gap:8px}.slot .time{font-weight:800;font-size:12px}.slot .name{font-size:12px;margin-top:3px}.slot .slot-actions{display:flex;gap:5px;margin-top:7px}.slot .slot-actions button{font-size:10px;padding:5px 7px}.empty-day{font-size:12px;color:var(--muted);padding:8px 0}.hint{margin-top:12px;padding:11px 13px;border-radius:9px;background:#f7f8fa;color:var(--muted);font-size:12px}input,select,textarea{width:100%;border:1px solid #d8dde3;border-radius:9px;padding:10px 11px;background:white;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(85,125,130,.12)}textarea{min-height:80px;resize:vertical}dialog{width:min(680px,92vw);border:0;border-radius:16px;padding:0;box-shadow:0 24px 70px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(18,28,38,.55)}dialog form{padding:22px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:18px}.modal-head h2{margin:0;font-size:21px}.modal-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid label{font-size:12px;font-weight:650;color:#4b5563}.form-grid label input,.form-grid label select,.form-grid label textarea{margin-top:6px}.form-grid .wide{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.toast{position:fixed;right:24px;bottom:24px;background:#182230;color:white;padding:13px 16px;border-radius:10px;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s;z-index:50;max-width:360px}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:var(--danger)}.closed-banner{background:var(--ok-bg);color:var(--ok);padding:12px 14px;border-radius:10px;margin-bottom:14px;font-weight:700;font-size:13px}
@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.agenda-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}.sidebar{width:78px}.brand div:last-child,.nav-btn span,.sidebar-foot{display:none}.main{margin-left:78px}.brand{padding-left:2px}.nav-btn{justify-content:center}.rule-grid{grid-template-columns:1fr}}
@media(max-width:700px){.sidebar{position:fixed;top:auto;height:66px;width:100%;right:0;flex-direction:row;padding:8px;z-index:30}.brand,.sidebar-foot{display:none}.sidebar nav{width:100%;flex-direction:row;justify-content:space-around}.nav-btn{padding:10px 12px}.nav-btn span{display:none}.main{margin:0 0 66px;padding:18px 14px 30px}.topbar{align-items:flex-start}.today{display:none}.stats{grid-template-columns:1fr 1fr}.toolbar{align-items:stretch;flex-direction:column}.toolbar-actions{flex-wrap:wrap}.toolbar input{min-width:0}.agenda-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.rule-grid{grid-template-columns:1fr}.tabs{align-self:flex-start}}
.hidden{display:none!important}.checkbox-label{display:flex!important;align-items:center;gap:9px;font-size:13px!important}.checkbox-label input{width:auto;margin:0!important}.experimental-fields{padding:12px;border-radius:10px;background:var(--purple-bg);border:1px solid #e6e1fb}.experimental-fields>.form-grid{margin:0}
.backup-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.backup-actions .today{margin-left:8px}
@media(max-width:760px){.backup-actions{justify-content:flex-start}.backup-actions .today{width:100%;margin-left:0}}

/* Ajustes da versão 2 */
button:disabled{opacity:.55;cursor:not-allowed;filter:none}
.row-late{background:#fff6f5}
.row-late:hover{background:#ffefed}
.agenda-period-note{font-size:12px;color:var(--muted);margin:-4px 0 14px}
.empty-agenda-lines{display:grid;gap:7px;margin-top:10px}
.empty-agenda-lines span{display:block;height:34px;border:1px dashed #dfe4e8;border-radius:8px;background:#fcfcfd}
.total-row td{background:#f4f7f8;border-top:2px solid var(--brand);font-size:14px}
.settings-panel{max-width:760px}
.settings-form{padding:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.settings-form label{font-size:12px;font-weight:650;color:#4b5563}
.settings-form label input{margin-top:6px}
.settings-actions{grid-column:1/-1;display:flex;justify-content:flex-end}
.wide-dialog{width:min(980px,96vw)}
.dialog-content{padding:22px}
.installment-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.installment-summary>div{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fafbfc}
.installment-summary span,.installment-summary strong,.installment-summary small{display:block}
.installment-summary span{font-size:12px;color:var(--muted)}
.installment-summary strong{font-size:21px;margin-top:5px}
.installment-summary small{font-size:11px;color:var(--muted);margin-top:3px}
@media(max-width:700px){.settings-form{grid-template-columns:1fr}.settings-actions{grid-column:auto}.installment-summary{grid-template-columns:1fr}.wide-dialog{width:96vw}.agenda-period-note{line-height:1.4}}

/* Ajustes da versão 3 */
.login-screen{position:fixed;inset:0;z-index:100;background:linear-gradient(135deg,#21364b,#557d82);display:grid;place-items:center;padding:20px}
.login-card{width:min(420px,94vw);background:white;border-radius:20px;padding:30px;box-shadow:0 28px 80px rgba(0,0,0,.28);display:grid;gap:16px}
.login-card h1{font-size:25px;margin:0;text-align:center}.login-card p{margin:-8px 0 4px;text-align:center;color:var(--muted)}
.login-card label{font-size:12px;font-weight:700;color:#4b5563}.login-card label input,.login-card label select{margin-top:7px}
.login-card small{color:var(--muted);line-height:1.45;text-align:center}.login-logo{margin:auto;width:54px;height:54px;border-radius:16px;font-size:18px}
.session-badge{display:inline-flex;align-items:center;padding:8px 11px;border-radius:999px;background:var(--brand2);color:var(--brand);font-size:12px;font-weight:750}
.field-note{display:block;color:var(--muted);font-size:11px;margin-top:5px;text-transform:capitalize;line-height:1.3}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.detail-grid>div{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fafbfc}.detail-grid span,.detail-grid strong{display:block}.detail-grid span{font-size:11px;color:var(--muted)}.detail-grid strong{font-size:14px;margin-top:5px}
.detail-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.detail-section{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.detail-section h3{font-size:15px;margin:0 0 10px}.detail-section p{color:#4b5563;line-height:1.55;margin:0}.detail-line{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.detail-line:last-child{border-bottom:0}.detail-actions{padding:18px 0 0}
.closure-filters{flex-wrap:wrap}.teacher-view{background:transparent;padding:0}.teacher-view .tab{background:white;box-shadow:0 1px 3px rgba(0,0,0,.08)}
@media(max-width:850px){.detail-grid,.detail-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.detail-grid,.detail-grid.compact{grid-template-columns:1fr}.session-badge{width:100%;justify-content:center}.login-card{padding:24px}.topbar .backup-actions{width:100%}}

/* Versão 4 */
#financeSearch{min-width:280px}
.actions .danger{white-space:nowrap}
@media(max-width:700px){#financeSearch{min-width:0;width:100%}}

.sharing-note{padding:20px 22px;color:var(--muted);line-height:1.55}.sharing-note strong{color:var(--text)}
