:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#29392a;background:#f5f7f1;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #d1ddcb;border-radius:9px;background:#fff;color:#29392a;padding:10px 14px;font-weight:650;transition:background .15s,border-color .15s,transform .15s}button:hover:not(:disabled){background:#eaf3f6;border-color:#abc5d0}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:#597447;border-color:#597447;color:#fff}.primary:hover:not(:disabled){background:#435e36;border-color:#435e36}.full{width:100%}input,select,textarea{border:1px solid #cedac7;border-radius:9px;background:#fff;color:#29392a;padding:10px 11px;min-height:42px;max-width:100%}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid #9dbb70;outline-offset:2px}textarea{resize:vertical;width:100%}label{display:grid;gap:6px;font-size:.84rem;font-weight:650;color:#485e46}label small{font-weight:400;color:#70806c}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.15;letter-spacing:-.035em}h2{font-size:1.15rem;letter-spacing:-.015em}h3{font-size:1.02rem}p{line-height:1.5}small,.subtle{color:#6b8490}[hidden]{display:none!important}.eyebrow{display:block;color:#668348;font-size:.69rem;letter-spacing:.14em;font-weight:800;margin-bottom:8px}.error{color:#ae333b;min-height:1.3em}.empty{color:#70806c;padding:20px 0}.muted{opacity:.57}
.success{color:#17653d;min-height:1.3em}.login-screen{min-height:100dvh;display:grid;grid-template-columns:minmax(350px,1.15fr) minmax(320px,.85fr);background:#f0f3ea}.login-brand{background:linear-gradient(145deg,#263825,#415b36 65%,#657b46);color:#fff;padding:clamp(32px,7vw,100px);display:flex;flex-direction:column;justify-content:center}.login-brand .brand-mark{margin-bottom:28px}.login-brand h1{font-size:clamp(2.5rem,5vw,4.3rem);max-width:550px}.login-brand .subtle{color:#c4dfe2}.login-card{width:min(410px,calc(100% - 40px));align-self:center;justify-self:center;display:grid;gap:18px;background:#fff;padding:clamp(25px,4vw,42px);border:1px solid #d7e4e8;border-radius:18px;box-shadow:0 22px 65px #0c35451c}.login-card h2{font-size:1.55rem;margin-bottom:3px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#a8bd75;color:#263625;font-size:1rem;font-weight:900;letter-spacing:-.04em}
#appShell{min-height:100dvh;display:grid;grid-template-columns:245px minmax(0,1fr)}.sidebar{background:#263625;color:#deecf0;display:flex;flex-direction:column;min-height:100dvh;position:sticky;top:0;height:100dvh;padding:25px 14px}.side-brand{display:flex;gap:10px;align-items:center;padding:1px 9px 25px}.side-brand strong{display:block;font-size:.91rem}.side-brand small{font-size:.59rem;color:#b4c5a8;letter-spacing:.1em}.sidebar nav{display:grid;gap:4px}.sidebar nav button{width:100%;text-align:left;border:0;background:transparent;color:#c7d3bf;padding:11px 13px;font-weight:550}.sidebar nav button:hover,.sidebar nav button.active{background:#3e5438;color:#fff}.sidebar nav button.active{box-shadow:inset 3px 0 #a8bd75}.sidebar-foot{margin-top:auto;border-top:1px solid #4d6549;padding:17px 10px 4px;display:grid;gap:4px;font-size:.85rem}.sidebar-foot small{color:#a7bd9c}.sidebar-foot button{margin-top:10px;background:#344936;border-color:#50694a;color:#fff;text-align:left}.main-area{min-width:0}.topbar{height:70px;background:#fff;border-bottom:1px solid #dfe7da;display:flex;align-items:center;gap:13px;padding:0 clamp(20px,3vw,44px)}.topbar-title{font-weight:750}.topbar #todayLabel{margin-left:auto;color:#748c98;font-size:.81rem}.menu-btn{display:none}.content{padding:clamp(20px,3vw,40px);max-width:1500px;margin:auto}.page-heading{margin:5px 0 24px}.page-heading p{color:#697b65;margin:8px 0 0}.panel{background:#fff;border:1px solid #dce5d8;border-radius:15px;padding:clamp(18px,2vw,28px);margin-bottom:22px;box-shadow:0 6px 25px #2636250a}.panel h2{margin-bottom:18px}.form-inline{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.form-inline label{min-width:155px;flex:1}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;align-items:end}.form-grid .wide{grid-column:1/-1}.form-grid button{justify-self:start}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr)) auto;align-items:end;gap:14px}.toolbar,.actions,.conference-head,.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.toolbar{margin-bottom:18px}.toolbar label{min-width:220px}.actions{justify-content:flex-start}.list{margin-top:18px}.list-row{border-top:1px solid #e5edf0;padding:14px 0}.list-row strong,.list-row small{display:block}.list-row small{margin-top:4px}.list-row .actions button{padding:7px 10px;font-size:.78rem}details{border-top:1px solid #e4edf0;margin-top:22px;padding-top:16px}summary{cursor:pointer;font-weight:700;color:#4b6840;margin-bottom:12px}details form{display:grid;gap:16px}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.report-grid .panel{display:grid;gap:12px;align-content:start}.report-grid .panel h2{margin:0 0 4px}.report-grid .actions{margin-top:4px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:17px 0}.stat{padding:15px;border:1px solid #dce7d5;border-radius:12px;background:#f7f9f3}.stat strong{display:block;font-size:1.4rem;color:#4e6b3f}.stat small{display:block;margin-top:3px}.attendance-row{display:grid;grid-template-columns:minmax(170px,1.2fr) 130px minmax(150px,1fr) 115px;align-items:center;gap:10px;border-top:1px solid #e5edf0;padding:12px 0}.attendance-row strong,.attendance-row small{display:block}.attendance-row small{margin-top:4px;font-size:.73rem}.status-chip{display:inline-block;text-align:center;border-radius:30px;padding:7px 9px;background:#edf3f5;color:#607b88;font-size:.72rem}.status-chip.presente{background:#def3e8;color:#126942}.status-chip.falta{background:#fbe5e5;color:#a43c44}.status-chip.justificada{background:#e9eafa;color:#565eae}.status-chip.atraso{background:#fff0d8;color:#966521}table{width:100%;border-collapse:collapse}th,td{padding:10px 8px;border-bottom:1px solid #e3edf0;text-align:left;font-size:.84rem}thead th{background:#f4f7ee;color:#58704f;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em}#reportContent{overflow-x:auto}#toast{position:fixed;right:22px;bottom:22px;z-index:30;display:none;max-width:min(420px,calc(100vw - 44px));border-radius:10px;padding:14px 18px;background:#374b32;color:#fff;box-shadow:0 12px 36px #09263844}#toast.show{display:block}#toast.bad{background:#9b3940}
.paper-notice{border:1px solid #efd5a9;background:#fff8eb;color:#704c16;border-radius:9px;padding:14px 18px}.paper-notice ul{margin:7px 0 0;padding-left:20px}.paper-ready{border:1px solid #b9dfc9;background:#ecf8f0;color:#17653d;border-radius:9px;padding:12px 16px}.paper-periods{margin:22px 0}.paper-period-row{display:grid;grid-template-columns:90px 120px minmax(160px,1fr) auto;gap:10px;align-items:center;margin:10px 0}.paper-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.paper-legend{color:#72836c;font-size:.83rem}.paper-matrix-wrap{overflow-x:auto;border:1px solid #dce6eb;border-radius:10px}.paper-matrix{min-width:800px}.paper-matrix th,.paper-matrix td{text-align:center;padding:7px}.paper-matrix th:first-child{text-align:left;min-width:180px}.paper-matrix tbody th{background:white}.paper-matrix tbody th small{display:block;font-weight:400}.paper-cell{padding:7px 0;width:42px;min-height:35px;font-size:.73rem}.paper-cell.presente{background:#e0f4ea;color:#137847;border-color:#a6d9bd}.paper-cell.falta{background:#fbe9e9;color:#a83a41;border-color:#ecc1c1}.paper-cell.justificada{background:#e6e7f8;color:#4d57a6;border-color:#c4c8ef}.paper-cell.pending{background:#f3f5f6;color:#758c98}.paper-dialog{border:1px solid #d4e1e7;border-radius:13px;padding:25px;width:min(440px,calc(100vw - 32px));box-shadow:0 25px 70px #09263855}.paper-dialog::backdrop{background:#2839278a}.paper-dialog form{display:grid;gap:15px}.paper-dialog h3{margin:0}.paper-dialog .actions{margin-top:8px}
@media(max-width:1000px){#appShell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:20;left:0;top:0;width:245px;transform:translateX(-100%);transition:transform .2s;box-shadow:12px 0 40px #082c3a33}.sidebar.open{transform:translateX(0)}.menu-btn{display:inline-flex}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid{grid-template-columns:1fr}}
@media(max-width:650px){.login-screen{grid-template-columns:1fr}.login-brand{padding:30px;min-height:260px}.login-brand h1{font-size:2.1rem}.login-brand .brand-mark{margin-bottom:12px}.login-card{margin:24px 0}.topbar{padding:0 17px}.topbar #todayLabel{display:none}.content{padding:18px}.filter-grid{grid-template-columns:1fr}.form-inline{align-items:stretch}.form-inline label,.form-inline button{width:100%}.form-grid{grid-template-columns:1fr}.form-grid button{width:100%}.attendance-row{grid-template-columns:1fr 1fr}.attendance-row>div:first-child,.attendance-row input{grid-column:1/-1}.paper-period-row{grid-template-columns:1fr 1fr}.paper-period-row strong,.paper-period-row button{grid-column:1/-1}}
.field-title{display:block;color:#485e46;font-size:.84rem;margin-bottom:8px}.team-options{display:flex;flex-wrap:wrap;gap:8px}.team-option{display:flex;align-items:center;gap:8px;border:1px solid #d9e5e9;background:#f7fafb;border-radius:9px;padding:8px 10px;font-size:.82rem;cursor:pointer}.team-option input{width:16px;height:16px;min-height:0;margin:0;accent-color:#597447}.user-dialog form{max-height:calc(100dvh - 80px);overflow-y:auto}.user-dialog .team-options{max-height:170px;overflow-y:auto}

.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;background:#edf2e8;border-radius:11px}.auth-tabs button{border:0;background:transparent;color:#5b6d55;padding:9px}.auth-tabs button.active{background:#fff;color:#344d32;box-shadow:0 2px 9px #26362518}.login-card form{display:grid;gap:17px}.workspace-label{margin:0 10px 18px;padding:10px 12px;border-radius:9px;background:#384d35;color:#d9e6ce;font-size:.76rem;line-height:1.35;overflow-wrap:anywhere}.workspace-label:empty{display:none}
.duplex-options{border:1px solid #dce5d8;background:#f7f9f3;border-radius:10px;padding:16px;margin:18px 0}.duplex-options h3{margin-bottom:5px}.duplex-options p{font-size:.84rem;color:#5f715a;margin-bottom:12px}.duplex-options label{flex:0 1 180px}
.attendance-row{grid-template-columns:minmax(170px,1fr) minmax(230px,1fr) minmax(230px,1.2fr)}.attendance-choices{display:flex;gap:8px}.attendance-choice{flex:1}.attendance-choice.selected.present{background:#597447;border-color:#597447;color:#fff}.attendance-choice.selected.absent{background:#9b3940;border-color:#9b3940;color:#fff}.absence-reason{display:flex;align-items:end;gap:8px}.absence-reason label{flex:1}.absence-reason button{white-space:nowrap}.paper-cell.justificada{background:#fbe9e9;color:#a83a41;border-color:#ecc1c1}
@media(max-width:760px){.attendance-row{grid-template-columns:1fr}.attendance-choices,.absence-reason{grid-column:1/-1}}
.main-area{min-height:100dvh;display:flex;flex-direction:column}.main-area .content{flex:1;width:100%}.site-credits{text-align:center;font-size:.73rem;line-height:1.45;color:#73806f;overflow-wrap:anywhere}.login-card .site-credits{border-top:1px solid #e3eadd;padding-top:16px}.main-area>.site-credits{border-top:1px solid #dfe7da;padding:16px 20px 20px}@media print{.site-credits{display:none!important}}
.toolbar{justify-content:flex-start}.toolbar label{min-width:170px;flex:1 1 170px}.import-preview{max-height:420px;overflow:auto;margin-top:18px;border-top:1px solid #dce5d8;padding-top:18px}.import-preview table{min-width:720px}.import-preview .primary{margin-top:14px}

.login-development a{color:#dbe6cf;font-weight:600;text-decoration:underline;text-underline-offset:3px}.login-development a:hover{color:#fff}.login-development a:focus-visible{outline:2px solid #a8bd75;outline-offset:4px;border-radius:2px}

.login-brand{position:relative;padding-bottom:80px}.login-development{position:absolute;bottom:18px;left:24px;right:24px;text-align:left;font-size:.73rem;line-height:1.5;color:#c5d4ba}

.template-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto}.template-dialog .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.template-dialog .actions{position:sticky;bottom:-25px;background:#fff;padding:14px 0;margin:0}.template-dialog input:not([type=number]),#paperEditor input:not([type=number]),[data-uppercase]{text-transform:uppercase}@media(max-width:650px){.template-dialog .form-grid{grid-template-columns:1fr}.template-dialog .actions{position:static}}
