:root{--bg:#f4f7fa;--card:#fff;--tx:#0f172a;--mu:#64748b;--bd:#e2e8f0;--pri:#0e7490;--navy:#183153;--ok:#15803d;--okb:#dcfce7;--bad:#b91c1c;--badb:#fee2e2;--inp:#fff2c9;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b1220;--card:#131c2e;--tx:#e5edf7;--mu:#94a3b8;--bd:#25324a;--pri:#22b8d6;--navy:#0f1d36;--ok:#4ade80;--okb:#12351f;--bad:#f87171;--badb:#3b1616;--inp:#2b2616;color-scheme:dark}}html,body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}header{background:var(--navy);color:#fff;padding:14px 16px;font-weight:700;font-size:18px;position:sticky;top:0;z-index:5}header small{display:block;font-weight:400;opacity:.8;font-size:12px}main{max-width:640px;margin:0 auto;padding:12px 12px 90px}nav{position:fixed;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid var(--bd);display:flex;padding-bottom:env(safe-area-inset-bottom,0px);z-index:6}nav button{flex:1;border:0;background:none;color:var(--mu);padding:10px 4px;font-size:12px;font-weight:600}nav button span{display:block;font-size:20px}nav button.on{color:var(--pri)}.card{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:14px;margin-bottom:12px}h2{font-size:14px;margin:0 0 10px;color:var(--pri);text-transform:uppercase;letter-spacing:.4px}label{display:block;font-size:12px;color:var(--mu);margin:10px 0 4px;font-weight:600}input,select{width:100%;font:inherit;font-size:18px;padding:12px;border:1px solid var(--bd);border-radius:10px;background:var(--inp);color:var(--tx)}.seg{display:flex;gap:8px}.seg button{flex:1;padding:14px;font-size:18px;font-weight:700;border-radius:10px;border:2px solid var(--bd);background:var(--card);color:var(--tx)}.seg button.on{border-color:var(--pri);background:var(--pri);color:#fff}.btn{width:100%;padding:15px;font-size:18px;font-weight:700;border:0;border-radius:12px;background:var(--pri);color:#fff;margin-top:14px}.btn.sec{background:var(--card);color:var(--pri);border:2px solid var(--pri)}.btn.del{background:var(--badb);color:var(--bad)}.row{display:flex;gap:8px;align-items:center}.row>*{flex:1}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{flex:1;min-width:90px;background:var(--bg);border-radius:10px;padding:8px 10px}.chip b{display:block;font-size:17px}.chip i{font-style:normal;font-size:11px;color:var(--mu)}.pos{color:var(--ok)}.neg{color:var(--bad)}.item{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--bd)}.item:last-child{border:0}.item small{color:var(--mu);display:block}.tag{font-size:11px;padding:2px 8px;border-radius:99px;background:var(--bg);color:var(--mu);font-weight:700}.day{cursor:pointer}.day .g{display:grid;grid-template-columns:auto 1fr 1fr 1fr;gap:4px 8px;font-size:13px;align-items:center}.day .g .h{color:var(--mu);font-size:11px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:8px 4px;text-align:right;border-bottom:1px solid var(--bd)}th:first-child,td:first-child{text-align:left}th{font-size:11px;color:var(--mu)}.badge{padding:3px 8px;border-radius:8px;font-weight:700}.badge.pos{background:var(--okb)}.badge.neg{background:var(--badb)}.toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%);background:var(--navy);color:#fff;padding:10px 18px;border-radius:99px;font-weight:600;opacity:0;transition:.25s;pointer-events:none;z-index:9}.toast.show{opacity:1}.hid{display:none}.mu{color:var(--mu);font-size:12px}#school-bar{max-width:640px;margin:12px auto 0;padding:0 12px}button:disabled,select:disabled{opacity:.6;cursor:wait}.print-title{display:none}fieldset{border:0;padding:0;margin:0;min-width:0}label input,label select{display:block;margin-top:4px}.row>*{min-width:0}.row input{min-width:0}.compact{width:auto;font-size:14px;padding:8px;margin-top:8px}.invoice-item{width:100%;border-width:0 0 1px;background:none;color:var(--tx);text-align:left;font:inherit;cursor:pointer}.invoice-item>span:last-child{text-align:right;flex-shrink:0}.invoice-item>span:first-child{min-width:0;overflow-wrap:anywhere}.day-title{border:0;background:none;color:var(--tx);font:inherit;font-weight:700;text-align:left;padding:0 0 8px;cursor:pointer}h1{font-size:20px;overflow-wrap:anywhere}.seg .btn{margin-top:0}.seg .on{border-color:var(--pri);background:var(--pri);color:#fff}.error{border-color:var(--bad);color:var(--bad);overflow-wrap:anywhere}.notice{color:var(--ok)}#pwa-update{max-width:640px;margin:12px auto;padding:12px;background:var(--inp);border:1px solid var(--bd)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--pri);outline-offset:2px}@media(max-width:380px){input,select{font-size:16px;padding:10px}th,td{padding:8px 2px;font-size:12px}.card{padding:10px}}@media print{html,body{background:#fff;color:#000}header,nav,#school-bar,.no-print,.toast{display:none!important}main{max-width:none;padding:0}.card{break-inside:avoid;border-color:#ccc}.print-title{display:block}select{appearance:none;border:0;background:#fff;color:#000}th,.mu,h2{color:#333}.badge{background:none!important}}@page{size:A4;margin:12mm}@media print{:root,:root:not([data-theme=light]){--bg:#fff;--card:#fff;--tx:#000;--mu:#333;--bd:#bbb;--ok:#166534;--bad:#991b1b;color-scheme:light}.card{background:#fff;color:#000}thead{display:table-header-group}tr{break-inside:avoid}}
