:root{
  --nav:#0D2A6C; --nav2:#E8F0FB; --nav-on:#1677E8; --accent:#1677E8; --accent-d:#0D2A6C; --accent-l:#E8F2FE; --pink:#EC5FA4; --pink-l:#FDEAF3;
  --bg:#F5F7FB; --side:#F3F6FA; --line:#E3E8F0; --line2:#EEF1F6; --text:#1B2540; --muted:#5F6B85; --faint:#9AA4B8;
  --link:#2f6fc4; --green:#2e8a4e; --green-l:#e7f4ec; --red:#c93c3c; --red-l:#fbeaea; --amber:#c98a12; --amber-l:#fdf4df; --blue-l:#e8f0fb;
  font-family:Inter,"Segoe UI Variable","Segoe UI",Roboto,system-ui,Arial,sans-serif; font-size:14px; color:var(--text);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg)}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--link);cursor:pointer;text-decoration:none}
a:hover{text-decoration:underline}
.hidden{display:none!important}
#app{display:flex;flex-direction:column;height:100vh}
/* top nav (application) */
.nav{background:var(--nav);color:#fff;display:flex;align-items:center;height:40px;padding:0 8px;gap:1px;flex:0 0 40px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav a{color:#fff;padding:6px 8px;border-radius:4px;font-size:13.5px;text-decoration:none;white-space:nowrap}
.nav a:hover{background:rgba(255,255,255,.12)}
.nav a.on{background:var(--nav-on)}
.nav .sp{flex:1}
.nav .ib{background:none;border:0;color:#fff;padding:6px;cursor:pointer;border-radius:4px;display:grid;place-items:center}
.nav .ib:hover{background:rgba(255,255,255,.12)}
.sub{background:var(--nav2);display:flex;flex-wrap:wrap;gap:2px;padding:3px 8px;flex:0 0 auto}
.sub a{color:#3A4766;padding:4px 9px;border-radius:4px;font-size:13px;text-decoration:none}
.sub a:hover{background:rgba(255,255,255,.3)}
.sub a.on{background:#fff;color:var(--nav)}
#main{flex:1;min-height:0;overflow:auto;position:relative}
.page{padding:14px 18px}
.page h1{font-size:20px;font-weight:400;margin:2px 0 12px;color:#0D2A6C}
.page h2{font-size:16px;font-weight:500;margin:18px 0 8px;color:var(--accent-d)}
.idle{position:fixed;top:0;left:0;right:0;background:var(--amber);color:#fff;text-align:center;padding:6px;z-index:500}
/* buttons & inputs */
.btn{border:1px solid #cfcfd8;background:#fff;border-radius:4px;padding:5px 12px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;min-height:32px;color:var(--text)}
.btn:hover{background:#f6f6f9}
.btn:disabled{opacity:.5;cursor:default}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:hover{background:var(--accent-d)}
.btn.green{background:var(--green);border-color:var(--green);color:#fff}
.btn.danger{color:var(--red);border-color:#ecc}
.btn.sm{min-height:26px;padding:2px 9px;font-size:13px}
.btn.link{border:0;background:none;color:var(--link);padding:2px 4px;min-height:0}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=search],input[type=tel],input[type=month],select,textarea{border:1px solid #cfcfd8;border-radius:3px;padding:5px 8px;background:#fff;min-height:32px;width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-l);border-color:var(--accent)}
textarea{resize:vertical;min-height:70px}
label.f{display:block;margin:10px 0 3px;font-size:12px;color:var(--muted);font-weight:500}
.chk{display:inline-flex;align-items:center;gap:6px;margin:4px 14px 4px 0;cursor:pointer}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.row .sp{flex:1}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 14px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:0 14px}
.muted{color:var(--muted)}
.small{font-size:12px}
.pill{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;background:#eee}
.pill.green{background:var(--green-l);color:var(--green)} .pill.red{background:var(--red-l);color:var(--red)} .pill.amber{background:var(--amber-l);color:#8a5d00} .pill.blue{background:var(--blue-l);color:#2559a0} .pill.purple{background:var(--accent-l);color:var(--accent-d)}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:5px}
/* tables */
table.t{border-collapse:collapse;width:100%}
table.t th{text-align:left;font-weight:500;color:var(--muted);font-size:12px;padding:7px 8px;border-bottom:1px solid var(--line);white-space:nowrap;background:#fff;position:sticky;top:0;z-index:1}
table.t td{padding:7px 8px;border-bottom:1px solid var(--line2);font-size:13px;vertical-align:middle}
table.t tr.click{cursor:pointer} table.t tr.click:hover td{background:#F4F8FE}
.empty{padding:30px;text-align:center;color:var(--muted)}
/* services layout */
.svc{display:grid;grid-template-columns:210px 1fr;height:100%}
.plist{background:var(--side);display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line)}
.plist .tools{display:flex;gap:3px;padding:4px}
.plist .tools input{min-height:30px;font-size:13px}
.plist .filt{padding:0 4px 4px}
.plist .filt select{min-height:28px;font-size:12px;padding:2px 4px}
.plist .items{flex:1;overflow:auto}
.plist .items a{display:block;padding:8px 8px;color:var(--text);text-decoration:none;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plist .items a:hover{background:#e6e6ea}
.plist .items a.on{background:#dcdce3}
.plist .items a .s{font-size:11px;color:var(--muted);display:block}
.plist .foot{padding:6px 8px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}
.precord{overflow:auto;min-width:0}
.phead{padding:10px 16px 0;display:flex;gap:14px;align-items:flex-start}
.avatar{width:54px;height:54px;border-radius:50%;background:var(--accent-l);color:var(--accent);display:grid;place-items:center;font-size:20px;font-weight:500;flex:0 0 54px}
.phead h2{margin:0;font-size:24px;font-weight:400;color:var(--accent-d)}
.phead .meta{font-size:12px;color:var(--muted);margin-top:2px}
.alerts{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.tabs{display:flex;flex-wrap:wrap;gap:2px;padding:10px 16px 0;border-bottom:1px solid var(--line)}
.tabs a{padding:5px 10px;border:1px solid var(--line);border-bottom:0;border-radius:4px 4px 0 0;background:#EEF2F8;color:#3A4766;font-size:13px;text-decoration:none}
.tabs a.on{background:#fff;color:var(--accent-d);font-weight:500;position:relative;top:1px}
.subtabs{display:flex;gap:16px;padding:8px 16px;font-size:13px;align-items:center}
.subtabs a.on{color:var(--text);font-weight:500;text-decoration:underline}
.area{padding:4px 16px 20px}
.sect{border:1px solid var(--line);border-radius:6px;padding:10px 14px;margin:10px 0}
.sect h3{margin:0 0 6px;font-size:14px;font-weight:500;color:var(--accent-d);display:flex;justify-content:space-between;align-items:center}
.kv{display:grid;grid-template-columns:170px 1fr;gap:5px 10px;font-size:13px}
.kv .k{color:var(--muted)}
/* attendance grid */
.att-head{display:flex;align-items:center;gap:12px;padding:8px 14px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:3;flex-wrap:wrap}
.att-head .date{font-size:20px;color:var(--accent);display:flex;align-items:center;gap:6px}
.att-head .date input{width:175px}
.att-grid{width:100%;border-collapse:collapse}
.att-grid th{font-weight:500;color:var(--muted);font-size:12px;padding:6px;text-align:center;border-bottom:1px solid var(--line);white-space:nowrap}
.att-grid th.l{text-align:left}
.att-grid th a{display:block;font-size:11px}
.att-grid td{border-bottom:1px solid var(--line2);padding:3px 5px;text-align:center;font-size:13px}
.att-grid td.l{text-align:left}
.att-grid tr.room td{background:#ececf1;text-align:left;padding:6px 10px;font-size:15px;color:#4d4d5c}
.att-grid select,.att-grid input{min-height:30px;padding:3px 5px;font-size:13px}
.att-grid td.meal{cursor:pointer;width:70px;font-size:18px;color:#333;user-select:none}
.att-grid td.meal:hover{background:#EEF5FE}
.att-grid td.meal.off{color:#ddd}
.att-grid td.dis{background:#f4f4f6}
.att-grid .inout{font-size:10px;color:var(--green);line-height:1.1}
.att-foot{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:6px 14px;font-size:12px;color:var(--muted);display:flex;gap:16px;align-items:center}
.locked{background:var(--amber-l);color:#7a5200;padding:6px 14px;font-size:13px}
/* panel */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.tile{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 12px;min-height:150px;display:flex;flex-direction:column}
.tile h4{margin:0 0 8px;font-size:13px;font-weight:500;color:#3A4766}
.tile .big{font-size:34px;color:var(--accent);margin:auto 0 0}
.tile .sub2{font-size:12px;color:var(--muted)}
.bars .b{display:grid;grid-template-columns:1fr 2fr 34px;gap:6px;align-items:center;font-size:12px;margin:3px 0}
.bars .b .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bars .bar{height:9px;background:var(--accent);border-radius:2px}
.donut{display:flex;align-items:center;gap:12px}
/* modal & menu */
.modal-bg{position:fixed;inset:0;background:rgba(13,26,60,.45);display:grid;place-items:center;z-index:200;padding:16px}
.modal{background:#fff;border-radius:8px;width:640px;max-width:100%;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.modal.wide{width:900px}
.modal .mh{padding:12px 18px;border-bottom:1px solid var(--line);font-size:17px;display:flex;justify-content:space-between;align-items:center}
.modal .mb{padding:4px 18px 16px;overflow:auto}
.modal .mf{padding:10px 18px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}
.menu{position:absolute;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.15);z-index:300;min-width:200px;padding:4px 0}
.menu div{padding:8px 14px;cursor:pointer;white-space:nowrap}
.menu div:hover{background:var(--accent-l)}
.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#0D2A6C;color:#fff;padding:9px 16px;border-radius:6px;z-index:400;font-size:13px}
.toast.err{background:var(--red)}
.login{min-height:100vh;display:grid;place-items:center;background:#fff}
.login .box{width:340px;max-width:92vw;text-align:center}
.login .logo{font-size:30px;color:var(--nav);border-top:2px solid var(--nav);border-bottom:2px solid var(--nav);padding:6px 0;margin-bottom:18px;font-weight:300}
.login input{margin-bottom:8px;background:#eef2fb}
.login .btn{width:100%;justify-content:center;border-radius:18px}
.err{color:var(--red);font-size:13px;min-height:18px;margin:6px 0}
.code{font-family:ui-monospace,Consolas,monospace;font-size:12px;background:#f5f5f8;padding:8px;border-radius:4px;white-space:pre-wrap;word-break:break-all}
.setup{display:grid;grid-template-columns:220px 1fr;height:100%}
.setup nav{border-right:1px solid var(--line);padding:10px 0;overflow:auto;background:#fafafc}
.setup nav .h{padding:10px 16px 4px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.setup nav a{display:block;padding:6px 16px;color:var(--text);text-decoration:none;font-size:13px}
.setup nav a.on{background:var(--accent-l);color:var(--accent-d);font-weight:500}
.setup .sc{overflow:auto;padding:14px 22px}
.perm td,.perm th{text-align:center} .perm td:first-child,.perm th:first-child{text-align:left}
@media (max-width:860px){.svc{grid-template-columns:1fr}.plist{max-height:40vh}.g3,.g4{grid-template-columns:1fr 1fr}.setup{grid-template-columns:1fr}.setup nav{display:none}.kv{grid-template-columns:120px 1fr}}
@media print{.nav,.sub,.plist,.tabs,.subtabs,.btn{display:none!important}#main{overflow:visible}.svc{display:block}}
/* ---------- ticketing: IT Help Desk & Maintenance (Spiceworks-style) */
.tk-wrap{display:flex;flex-direction:column;height:100%}
.tk-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tk-viewsel{font-size:18px;color:var(--accent-d);cursor:pointer;display:flex;align-items:center;gap:6px;padding:2px 8px;border-radius:4px}
.tk-viewsel:hover{background:var(--accent-l)}
.tk-bar .sp{flex:1}
.tk-bar input[type=search]{width:220px}
.tk-pager{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:4px}
.tk-list{flex:1;min-height:90px;overflow:auto}
.tk-grid{border-collapse:collapse;width:100%}
.tk-grid th{position:sticky;top:0;background:#f7f6fb;text-align:left;font-weight:500;font-size:12px;color:var(--muted);padding:7px 8px;border-bottom:1px solid var(--line);white-space:nowrap;cursor:pointer;user-select:none;z-index:1}
.tk-grid th.on{color:var(--accent-d)}
.tk-grid th .ar{font-size:10px;margin-left:4px;opacity:.6}
.tk-grid td{padding:6px 8px;border-bottom:1px solid var(--line2);font-size:13px;white-space:nowrap;max-width:380px;overflow:hidden;text-overflow:ellipsis}
.tk-grid tr.r{cursor:pointer}.tk-grid tr.r:hover td{background:#f8f7fc}.tk-grid tr.open td{background:var(--accent-l)}
.tk-grid td.sum{font-weight:500}
.tk-pri{font-size:12px;padding:1px 8px;border-radius:9px;background:#eee}.tk-pri.high{background:var(--red-l);color:var(--red)}.tk-pri.medium{background:var(--amber-l);color:#8a5d00}.tk-pri.low{background:var(--blue-l);color:#2559a0}
.tk-st{font-size:12px;padding:1px 8px;border-radius:9px}.tk-st.open{background:var(--green-l);color:var(--green)}.tk-st.waiting{background:var(--amber-l);color:#8a5d00}.tk-st.closed{background:#eee;color:#666}
.overdue{color:var(--red);font-weight:500}
.tk-div{height:6px;background:var(--line);cursor:row-resize;flex:0 0 6px}
.tk-detail{flex:0 0 auto;display:flex;flex-direction:column;min-height:160px;background:#fff}
.tk-dhead{display:flex;align-items:center;gap:8px;padding:7px 12px;border-bottom:1px solid var(--line)}
.tk-dhead .ttl{flex:1;font-size:17px;color:var(--accent-d);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tk-dbody{flex:1;min-height:0;display:grid;grid-template-columns:1fr 340px}
.tk-dbody.full{grid-template-columns:1fr}
.tk-left{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line)}
.tk-scroll{flex:1;overflow:auto;padding:8px 14px}
.tk-right{overflow:auto;padding:6px 12px;background:#fbfbfd}
.tk-item{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--line2)}
.tk-item.internal{background:#fff8e6;margin:0 -8px;padding:8px}
.tk-item.hist{color:var(--muted);font-size:12px}
.tk-item .acts{display:flex;gap:2px;align-self:flex-start}
.tk-av{width:30px;height:30px;border-radius:50%;background:#d9d4ee;color:var(--accent-d);display:grid;place-items:center;font-size:12px;font-weight:600;flex:0 0 30px}
.tk-av.staff{background:var(--accent);color:#fff}.tk-av.sys{background:#b8b8c4;color:#fff}
.tk-av.sm{width:22px;height:22px;flex-basis:22px;font-size:10px}
.tk-meta{color:var(--faint);font-size:12px;margin-left:8px}
.tk-body{white-space:pre-wrap;word-break:break-word;margin-top:3px}
.tk-tag{font-size:11px;background:var(--amber-l);color:#8a5d00;padding:0 6px;border-radius:8px;margin-left:6px}
.tk-tabs{display:flex;gap:16px;margin:12px 0 4px;border-bottom:1px solid var(--line)}
.tk-tabs a{padding:4px 0;color:var(--muted);text-decoration:none}.tk-tabs a.on{border-bottom:2px solid var(--accent);color:var(--accent-d)}
.tk-atts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.tk-att{border:1px solid var(--line);border-radius:4px;padding:2px 8px;font-size:12px;background:#fafafa}
.tk-comp{border-top:1px solid var(--line);padding:8px 12px}
.tk-comp.internal{background:#fff8e6}
.tk-comp textarea{min-height:54px}
.tk-comp .row{margin-top:6px}
.tk-attr{display:grid;grid-template-columns:105px 1fr;gap:6px;align-items:center;margin:5px 0;font-size:13px}
.tk-attr .k{color:var(--muted);font-size:12px}
.tk-attr select,.tk-attr input{min-height:28px;padding:2px 6px;font-size:13px}
.tk-sect{border-top:1px solid var(--line);padding:8px 0}
.tk-sect .sh{display:flex;justify-content:space-between;cursor:pointer;font-weight:500;color:var(--accent-d);font-size:13px}
.tk-cnt{background:var(--accent-l);color:var(--accent-d);border-radius:8px;padding:0 6px;font-size:11px;margin-left:6px}
.tk-task{display:flex;gap:6px;align-items:flex-start;font-size:13px;margin:4px 0}.tk-task.done span{text-decoration:line-through;color:var(--muted)}.tk-task .x{margin-left:auto;cursor:pointer;color:var(--faint)}
.tk-mini{display:grid;gap:6px;margin-top:6px}
.tk-mini input,.tk-mini select{min-height:28px;padding:2px 6px;font-size:13px}
.tk-toggle{width:36px;height:20px;border-radius:10px;background:#ccc;border:0;position:relative;cursor:pointer;flex:0 0 36px}.tk-toggle::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.15s}.tk-toggle.on{background:var(--accent)}.tk-toggle.on::after{left:18px}
.tk-split{display:inline-flex}.tk-split .btn:first-child{border-radius:4px 0 0 4px}.tk-split .btn:last-child{border-radius:0 4px 4px 0;border-left:1px solid rgba(255,255,255,.4);padding:0 7px}
.tk-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:12px}
.tk-tile{border:1px solid var(--line);border-radius:6px;padding:10px 14px;cursor:pointer}.tk-tile:hover{border-color:var(--accent)}.tk-tile .v{font-size:30px;color:var(--accent)}.tk-tile .l{font-size:12px;color:var(--muted)}
.tk-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}
.tk-card{border:1px solid var(--line);border-radius:6px;padding:10px 14px}.tk-card h3{margin:0 0 8px;font-size:14px;font-weight:500;color:#3A4766}
.tk-card .big{font-size:26px;color:var(--accent)}
.tk-chart svg{width:100%;height:200px}
.tk-legend{display:flex;gap:14px;font-size:12px;color:var(--muted)}.tk-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px}
.tk-srow{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line2)}.tk-srow .d b{display:block}.tk-srow .d small{color:var(--muted)}
.tk-req{max-width:780px}
.tk-banner{background:var(--amber-l);border:1px solid #f0d9a6;padding:8px 12px;border-radius:6px;margin-bottom:10px}
@media (max-width:860px){.tk-dbody{grid-template-columns:1fr}.tk-right{border-top:1px solid var(--line)}.tk-bar input[type=search]{width:140px}}
@media print{.tk-bar,.tk-div,.tk-comp,.tk-right{display:none!important}}
/* ---------- classroom observations (mirrors the Observations Power App) */
.ob-wrap{display:flex;flex-direction:column;min-height:100%}
.ob-head{background:#3a63b8;color:#fff;text-align:center;font-size:22px;padding:8px}
.ob-top{padding:10px 18px;border-bottom:1px solid var(--line)}
.ob-g{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;max-width:1300px}
.ob-me{display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:20px}
.ob-need{background:#fde4e6!important;border-color:#d33!important}
.ob-body{display:grid;grid-template-columns:1fr 320px;gap:16px;padding:12px 18px;flex:1}
.ob-type{font-size:18px;min-height:40px;max-width:640px;background:#c9d6ee}
.ob-item{border-bottom:1px solid var(--line2);padding:12px 0}
.ob-item h3{margin:0 0 4px;font-size:18px}
.ob-q{font-style:italic;color:#333;margin-bottom:8px}
.ob-row{display:flex;gap:16px;align-items:center;margin-bottom:6px}
.ob-score{width:120px}
.ob-label{flex:1;border:1px solid var(--line);border-radius:3px;padding:5px 10px;min-height:32px;font-size:15px}
.ob-com{min-height:70px}
.ob-side{border-left:1px solid var(--line);padding-left:14px;font-size:13px}
.ob-side h3{margin:0 0 8px;font-size:15px;color:var(--accent-d)}
.ob-foot{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:10px 18px;display:flex;gap:12px;align-items:center}
.ob-foot .sp{flex:1}
.ob-reset{background:#e3242b!important;color:#fff!important;border-color:#e3242b!important;font-size:18px;padding:6px 40px}
.ob-submit{font-size:18px;padding:6px 40px}
.ob-link{display:grid;grid-template-columns:150px 1fr;gap:8px;padding:7px 0;border-bottom:1px solid var(--line2);font-size:13px}
@media (max-width:860px){.ob-g,.ob-body{grid-template-columns:1fr}.ob-side{border-left:0;padding-left:0}.ob-link{grid-template-columns:1fr}}
@media print{.ob-foot{display:none}}
/* ---------- Teach: lesson planning */
/* Teach (Lesson Planning) — standard 1System page, cards and pills */
.tpg .tp-top{margin-bottom:6px}
.tp-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 10px}
.tp-room{width:auto;font-weight:500}
.tp-ctx{background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;padding:7px 12px;margin:0 0 10px;font-size:13px}
.tp-plan{padding:12px 14px}
.tp-daybar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:4px 2px 10px;border-bottom:1px solid var(--line)}
.tp-study{background:var(--accent-l);border-left:4px solid var(--accent);border-radius:6px;padding:4px 8px;font-size:12px;font-weight:500;margin:6px 0;cursor:pointer;color:var(--accent-d)}
.tp-sw{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px;border:1px solid rgba(20,40,90,.15)}
table.tp-day{width:100%;border-collapse:collapse}
.tp-day td{border-bottom:1px solid var(--line);padding:10px 12px;vertical-align:top}
.tp-slot{width:26%;font-size:14px;font-weight:600;color:var(--text)}
.tp-slot a{color:inherit}
.tp-act{padding:4px 6px;cursor:pointer;font-size:13px;border-radius:6px}
.tp-act:hover{background:#F2F5FA}
.tp-chips{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}
.tp-week{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:8px;overflow-x:auto}
.tp-col{background:#F7F9FC;border:1px solid var(--line);border-radius:10px;padding:6px}
.tp-col.today{border-color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}
.tp-colh{display:flex;justify-content:space-between;align-items:center;padding:4px 6px;font-weight:600}
.tp-colh a{color:var(--text)}.tp-col.today .tp-colh a{color:var(--accent-d)}
.tp-dtitle{font-size:12px;padding:4px 8px;background:#fff;border:1px dashed var(--line);border-radius:6px;margin-bottom:6px}
.tp-wcard{background:#fff;border:1px solid var(--line);border-radius:8px;margin:6px 0;overflow:hidden}
.tp-wh{padding:5px 8px;font-size:12px;font-weight:600;border-left:4px solid #C9D2E3;background:#fff;color:#3A4560}
.tp-wh a{color:inherit}
.tp-wcard .tp-act{padding:4px 8px}
table.tp-month{width:100%;border-collapse:collapse}
.tp-month th{background:#EEF2F8;padding:6px 8px;text-align:left;font-weight:600;font-size:12px;color:#3A4560}
.tp-month td{border:1px solid var(--line);height:96px;vertical-align:top;padding:6px;cursor:pointer;width:20%}
.tp-month td:hover{background:#F7F9FC}.tp-month td.other{background:#FAFBFD;color:#9AA6BD}.tp-month td.today{box-shadow:inset 0 0 0 2px var(--accent)}.tp-month td.noschool{background:#FDECEC}
.tp-kids{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
details.tp-dom{border:1px solid var(--line);border-radius:8px;margin:6px 0;padding:6px 10px;background:#fff}
details.tp-dom summary{cursor:pointer;font-weight:600}
.tp-pl{padding:3px 0}
@media (max-width:860px){.tp-week{grid-template-columns:repeat(5,220px)}.tp-slot{width:40%}}
@media print{.tp-ctx,.tp-tools,.tpg .tp-top .btn{display:none!important}}
/* Personnel & Performance Evaluations */
.pe-bar{flex:0 0 160px;height:8px;background:#eee;border-radius:4px;overflow:hidden}.pe-bar>div{height:100%;background:var(--green)}
.pe-tool{border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:8px}
.pe-steps{display:flex;gap:0;margin:6px 0 10px;flex-wrap:wrap}
.pe-steps span{padding:4px 14px 4px 18px;background:#ecebf3;color:#666;font-size:12px;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%,8px 50%);margin-right:-4px}
.pe-steps span.done{background:var(--green-l);color:var(--green)}.pe-steps span.on{background:var(--accent);color:#fff}
.pe-rev{display:grid;grid-template-columns:210px 1fr 280px;gap:14px;align-items:start}
.pe-rev:not(:has(.pe-ref)){grid-template-columns:210px 1fr}
.pe-left{position:sticky;top:0}.pe-left a{display:block;padding:8px 10px;border-radius:4px;cursor:pointer;color:var(--text);text-decoration:none}
.pe-left a:hover{background:#f1f0f7}.pe-left a.on{background:var(--accent-l);color:var(--accent-d);font-weight:500}
.pe-ref{font-size:13px;max-height:80vh;overflow:auto;position:sticky;top:0}
.pe-scale{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}
.pe-scale label{border:1px solid var(--line);border-radius:14px;padding:3px 10px;font-size:13px;cursor:pointer;display:inline-flex;gap:4px;align-items:center}
.pe-scale label.on{background:var(--accent-l);border-color:var(--accent);color:var(--accent-d)}
.pe-scale input{margin:0}
.pe-sig{border:1px dashed #bbb;border-radius:6px;padding:6px;display:flex;flex-direction:column;gap:6px;max-width:440px;margin-bottom:8px}
.pe-sig canvas{background:#fff;border-bottom:1px solid #999;touch-action:none;width:100%;max-width:420px;height:110px;cursor:crosshair}
.pe-sig.done{flex-direction:row;align-items:center;border-style:solid;background:#fafafa}.pe-sig.done img{height:56px;background:#fff}
@media (max-width:1100px){.pe-rev{grid-template-columns:1fr}.pe-left,.pe-ref{position:static;max-height:none}}

/* ---------- inventory & RFID */
.inv-bl .kv{grid-template-columns:150px 1fr;margin:6px 0}
.inv-labels{display:flex;flex-wrap:wrap;gap:8px}
.inv-label{width:2in;height:1in;border:1px dashed #bbb;padding:3px 6px;box-sizing:border-box;font-size:9px;line-height:1.15;overflow:hidden;page-break-inside:avoid;background:#fff;color:#000}
.inv-label .l1{font-size:10px}.inv-label .l2{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inv-label .l4{font-family:monospace;font-size:7px;color:#444}
.inv-bc{width:100%;height:.33in;display:block;fill:#000}
@media print{.inv-label{border:0}.inv-labels{gap:0}}

/* ---------- finance */
.fin-tabs{padding-left:18px;background:#fff}
.fin-bars .fb{display:grid;grid-template-columns:150px 1fr 110px;gap:8px;align-items:center;font-size:12px;margin:3px 0}
.fin-bars .t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fin-bars .v{text-align:right;font-variant-numeric:tabular-nums}
.fin-bars .bw{background:#f1f0f6;border-radius:3px}.fin-bars .bar{height:9px;background:var(--accent);border-radius:3px;margin:1px 0}.fin-bars .bar.b2{background:#e3a008}.fin-bars .bar.neg{background:var(--red)}
.fin-dash{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fin-dash .sect{margin:0}.fin-tile .big{font-size:30px;color:var(--accent)}
@media (max-width:900px){.fin-dash{grid-template-columns:1fr}.fin-dash .sect{grid-column:auto!important}}
table.fin-rpt tr.fin-sec td{background:#f3f1fa;font-weight:600}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin:0 4px 0 8px}
.chk-page{page-break-after:always;padding:10px 0;border-bottom:1px dashed #ccc;margin-bottom:12px}
.chk-face{border:1px solid #999;padding:14px 18px;min-height:3.2in;position:relative;background:#fff;color:#000}.chk-stub{min-height:3.2in;padding:8px 4px;font-size:12px}
.chk-amt{border:1px solid #000;padding:2px 10px}.micr{font-family:'MICR E13B','GnuMICR',monospace;font-size:18px;letter-spacing:2px;position:absolute;bottom:12px;left:40px}
.fin-print{background:#fff;color:#000}
@media print{.noprint,.fin-tabs{display:none!important}.chk-page{border:0}.chk-face{border:0}}

/* =====================================================================
   1System theme — sidebar shell, cards, login (overrides above)
   ===================================================================== */
:root{--brand:#1677E8;--brand2:#0D2A6C;--grad:linear-gradient(90deg,#1677E8 0%,#6A5BE2 55%,#EC5FA4 100%);--shadow:0 1px 2px rgba(16,32,72,.05),0 2px 10px rgba(16,32,72,.05);--shadow-h:0 4px 18px rgba(16,32,72,.10);--r:14px;--side-w:258px}
body{background:var(--bg);-webkit-font-smoothing:antialiased}
#app.shell{flex-direction:row;height:100vh;background:var(--bg)}
/* sidebar */
.side{width:var(--side-w);flex:0 0 var(--side-w);background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;transition:width .22s ease,flex-basis .22s ease;z-index:60;min-height:0}
.side .brand{height:64px;display:flex;align-items:center;padding:0 18px;border-bottom:1px solid var(--line2);flex:0 0 64px}
.side .brand a{display:flex;align-items:center}
.side .logo-full{height:34px;width:auto}
.side .logo-mark{height:34px;width:34px;display:none}
.side .nav.side-nav{background:none;color:var(--text);display:block;height:auto;flex:1 1 auto;padding:12px 10px 16px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
.side-sec{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:16px 12px 6px}
.side .nv{display:flex;align-items:center;gap:11px;width:100%;border:0;background:none;color:var(--text);padding:6px 8px;border-radius:11px;font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;text-align:left;margin:1px 0;transition:background .15s,color .15s}
.side .nv:hover{background:#F2F5FA;text-decoration:none}
.side .ico{width:32px;height:32px;flex:0 0 32px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 13%,#fff);color:var(--c);transition:background .15s,color .15s,transform .15s}
.side .ico svg{width:18px;height:18px}
.side .nv:hover .ico{transform:translateY(-1px)}
.side .lbl{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.15}
.side .lbl small{display:block;font-size:11.5px;font-weight:400;color:var(--muted);margin-top:1px}
.side .chev{color:var(--faint);transition:transform .2s;display:grid;place-items:center}
.grp.open>.grp-h .chev{transform:rotate(90deg)}
.grp.active>.grp-h .ico,.side .solo.on .ico{background:var(--c);color:#fff;box-shadow:0 3px 10px color-mix(in srgb,var(--c) 35%,transparent)}
.grp.active>.grp-h{color:var(--brand2)}
.side .solo.on{background:color-mix(in srgb,var(--c) 9%,#fff);color:var(--brand2)}
.grp-b{display:none}.grp.open>.grp-b{display:block;padding:2px 0 6px 27px;animation:grpIn .2s ease}
@keyframes grpIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.side .sub-item{font-weight:400;font-size:13.5px;color:#3A4766;padding:7px 12px 7px 18px;border-radius:9px;position:relative;border-left:2px solid var(--line);border-radius:0 9px 9px 0}
.side .sub-item:hover{background:#F2F5FA;color:var(--brand2)}
.side .sub-item.on{color:var(--c);font-weight:600;background:color-mix(in srgb,var(--c) 8%,#fff);border-left-color:var(--c)}
.side-collapse{display:flex;align-items:center;gap:10px;margin:0 10px 12px;padding:9px 12px;border:1px solid var(--line);background:#fff;border-radius:10px;color:var(--muted);cursor:pointer;font-size:13px}
.side-collapse:hover{color:var(--brand2);background:#F6F8FC}
.side-collapse svg{transition:transform .2s}
/* mini sidebar */
.shell.mini .side{width:76px;flex-basis:76px}
.shell.mini .side .lbl,.shell.mini .side .chev,.shell.mini .side-sec,.shell.mini .grp-b,.shell.mini .logo-full{display:none!important}
.shell.mini .side .logo-mark{display:block}
.shell.mini .side .brand{justify-content:center;padding:0}
.shell.mini .side .nv{justify-content:center;padding:6px 0}
.shell.mini .side-collapse{justify-content:center}
.shell.mini .side-collapse svg{transform:rotate(180deg)}
.side-scrim{display:none}
/* main column */
.main-col{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0;position:relative}
.main-col::before{content:"";height:3px;background:var(--grad);flex:0 0 3px}
.topbar{height:60px;flex:0 0 60px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:0 20px}
.topbar .sp{flex:1}
.topbar .ib{background:none;border:0;color:var(--muted);width:38px;height:38px;border-radius:10px;cursor:pointer;display:grid;place-items:center}
.topbar .ib:hover{background:#F2F5FA;color:var(--brand2)}
.topbar .burger{display:none}
.crumb{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);min-width:0;white-space:nowrap;overflow:hidden}
.crumb b{color:var(--brand2);font-weight:600;font-size:16px}
.crumb .dot{width:9px;height:9px;margin:0;border-radius:50%}
.crumb .sep{color:var(--faint)}
.jump{display:flex;align-items:center;gap:8px;background:#F2F5FA;border:1px solid transparent;border-radius:999px;padding:0 14px;height:38px;width:300px;max-width:34vw;color:var(--muted);transition:border-color .15s,background .15s,box-shadow .15s}
.jump:focus-within{background:#fff;border-color:var(--brand);box-shadow:0 0 0 4px var(--accent-l)}
.jump input[type]{border:0!important;background:none!important;outline:0!important;box-shadow:none!important;padding:0;min-height:0;height:36px;flex:1;width:auto}
.jump input{border:0;background:none;outline:0;flex:1;min-width:0;font-size:13.5px}
.me-chip{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:3px 14px 3px 3px;cursor:pointer;color:var(--brand2);font-weight:500}
.me-chip:hover{box-shadow:var(--shadow-h)}
.me-chip span{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#1677E8,#EC5FA4);color:#fff;display:grid;place-items:center;font-size:12.5px;font-weight:600;letter-spacing:.02em}
.me-chip .who{font-size:13.5px;font-weight:500}
/* sub navigation → underline tabs */
.sub{background:#fff;border-bottom:1px solid var(--line);padding:0 20px;gap:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.sub::-webkit-scrollbar{display:none}
.sub a{color:var(--muted);padding:13px 12px 11px;border-radius:0;font-size:13.5px;font-weight:500;border-bottom:2px solid transparent;white-space:nowrap}
.sub a:hover{background:none;color:var(--brand2);text-decoration:none}
.sub a.on{background:none;color:var(--brand);border-bottom-color:var(--brand)}
#main{background:var(--bg)}
/* pages & components */
.page{padding:22px 28px}
.page h1{font-size:24px;font-weight:700;color:var(--brand2);letter-spacing:-.01em;margin:0 0 16px}
.page h2{font-size:16px;font-weight:600;color:var(--brand2)}
.sect,.tk-card,.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow)}
.card{margin:10px 0}
.sect h3,.tk-card h3{font-weight:600;color:var(--brand2)}
.tiles{gap:14px;border:0}
.tile{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow);transition:box-shadow .2s,transform .2s}
.tile:hover{box-shadow:var(--shadow-h)}
.tile h4{font-weight:600;color:#3A4766}
.tile .big{font-weight:700;color:var(--brand2);letter-spacing:-.02em}
.bars .bar{background:linear-gradient(90deg,#1677E8,#6A5BE2);border-radius:6px}
table.t{background:#fff}
table.t th{background:#F7F9FC;color:#5F6B85;font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;padding:10px 10px}
table.t td{padding:9px 10px}
.btn{border-radius:10px;border-color:var(--line);font-weight:500;transition:background .15s,box-shadow .15s,border-color .15s}
.btn:hover{background:#F6F8FC;border-color:#CDD6E4}
.btn.primary{background:linear-gradient(180deg,#2486F0,#1677E8);border-color:#1677E8;box-shadow:0 2px 6px rgba(22,119,232,.25)}
.btn.primary:hover{background:linear-gradient(180deg,#1677E8,#0F63C7)}
.btn.link{box-shadow:none}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=search],input[type=tel],input[type=month],select,textarea{border-radius:10px;border-color:#D5DCE7}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 4px var(--accent-l)}
.pill{border-radius:999px;padding:2px 10px;font-weight:500}
.tabs{gap:6px;border-bottom:0;padding:12px 16px 4px}
.tabs a{border:1px solid var(--line);border-radius:999px;background:#fff;color:#3A4766;padding:6px 14px;font-weight:500}
.tabs a:hover{background:#F2F5FA;text-decoration:none}
.tabs a.on{background:var(--brand2);border-color:var(--brand2);color:#fff;top:0}
.subtabs a.on{text-decoration:none;color:var(--brand);border-bottom:2px solid var(--brand);padding-bottom:2px}
.phead h2{font-weight:600;color:var(--brand2)}
.avatar{background:linear-gradient(135deg,#E8F2FE,#FDEAF3);color:var(--brand2)}
.plist{background:#fff}
.plist .items a:hover{background:#F2F5FA}
.plist .items a.on{background:var(--accent-l);color:var(--brand2);box-shadow:inset 3px 0 0 var(--brand)}
.setup nav{background:#fff}
.setup nav a{border-radius:0 9px 9px 0;margin-right:10px}
.att-head,.att-foot{background:#fff}
.att-grid tr.room td{background:#EEF2F8;color:var(--brand2);font-weight:500}
.modal{border-radius:18px;box-shadow:0 24px 60px rgba(13,42,108,.25);animation:mIn .18s ease}
.modal .mh{font-weight:600;color:var(--brand2);padding:16px 22px}
.modal .mb{padding:6px 22px 18px}.modal .mf{padding:12px 22px;background:#FAFBFD;border-radius:0 0 18px 18px}
@keyframes mIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.menu{border-radius:12px;padding:6px;box-shadow:0 12px 32px rgba(13,42,108,.16)}
.menu div{border-radius:8px;padding:8px 12px}
.toast{border-radius:12px;box-shadow:0 10px 30px rgba(13,42,108,.3)}
.code{background:#F3F6FA;border-radius:8px}
/* login */
.login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(380px,1fr);place-items:stretch;background:#fff}
.login-art{background:radial-gradient(1200px 600px at 20% 10%,#EAF3FF 0%,transparent 60%),radial-gradient(900px 500px at 90% 90%,#FDEAF3 0%,transparent 60%),#F7FAFF;display:flex;align-items:center;justify-content:center;padding:36px;overflow:hidden}
.login-art img{width:100%;max-width:980px;height:auto;mix-blend-mode:multiply;border-radius:20px}
.login-pane{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 48px;position:relative}
.login-pane::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad)}
.login .box{width:380px;max-width:100%;text-align:left}
.login .login-logo{height:46px;width:auto;margin-bottom:26px}
.login h1{font-size:28px;font-weight:700;color:var(--brand2);margin:0 0 4px;letter-spacing:-.01em}
.login .box>p.muted{margin:0 0 18px}
.login input{background:#F5F8FC;margin-bottom:4px;min-height:44px;width:100%}
.login .btn{border-radius:12px;min-height:46px;margin-top:8px;font-size:15px}
.login-foot{font-size:12px;color:var(--faint);margin-top:30px;text-align:center;max-width:380px}
/* responsive */
@media (max-width:1100px){.login{grid-template-columns:1fr 1fr}}
@media (max-width:900px){
  .login{grid-template-columns:minmax(0,1fr)}.login-art{padding:18px 16px 0;background:#F7FAFF}.login-art img{max-height:38vh;object-fit:contain}.login-pane{padding:28px 16px 32px}
  .side{position:fixed;left:0;top:0;bottom:0;transform:translateX(-102%);transition:transform .25s ease;box-shadow:0 20px 50px rgba(13,42,108,.25);width:280px!important;flex-basis:280px!important}
  .shell.side-open .side{transform:none}
  .shell.mini .side .lbl,.shell.mini .side .chev,.shell.mini .side-sec,.shell.mini .logo-full{display:revert!important}.shell.mini .side .logo-mark{display:none}
  .shell.side-open .side-scrim{display:block;position:fixed;inset:0;background:rgba(13,26,60,.4);z-index:55}
  .topbar{padding:0 12px}.topbar .burger{display:grid}.side-collapse{display:none}
  .jump{width:auto;flex:1;max-width:none}.me-chip .who{display:none}.me-chip{padding:3px}.crumb .s,.crumb .sep,.crumb .dot{display:none}
  .page{padding:16px}
}
@media (max-width:560px){.crumb{display:none}}
@media print{.side,.side-scrim,.topbar,.sub,.main-col::before{display:none!important}#app.shell{display:block;height:auto}.main-col{display:block}#main{background:#fff}.sect,.tile{box-shadow:none}}
/* =====================================================================
   Report tags (CSBG-AR blue, PIR dark pink) and seasonal backgrounds
   ===================================================================== */
.rt{display:inline-flex;align-items:center;margin-left:6px;padding:0 6px;height:17px;border-radius:5px;font-size:10px;font-weight:700;letter-spacing:.04em;vertical-align:1px;color:#fff;cursor:help;white-space:nowrap;line-height:1}
.rt-csbg{background:#1677E8;box-shadow:0 1px 3px rgba(22,119,232,.35)}
.rt-pir{background:#AD1457;box-shadow:0 1px 3px rgba(173,20,87,.35)}
label.f .rt{font-size:9.5px;height:16px}
th .rt{font-size:9px;height:15px;margin-left:4px}
.season-bg{position:absolute;inset:63px 0 0 0;z-index:0;pointer-events:none;opacity:.7;background-repeat:repeat,no-repeat;background-size:280px 280px,cover}
.season-bg::after{content:"";position:absolute;inset:0;background:var(--bg);opacity:.0}
html[data-season] .main-col > .topbar,html[data-season] .main-col > .sub{position:relative;z-index:2}
html[data-season] #main{background:transparent;position:relative;z-index:1}
html[data-season=""] #main{background:var(--bg)}
.main-col::before{position:relative;z-index:3}
.season-chip{font-size:11.5px;font-weight:600;color:var(--brand2);background:linear-gradient(90deg,rgba(255,255,255,.9),rgba(255,255,255,.6));border:1px solid var(--line);border-radius:999px;padding:4px 10px;white-space:nowrap;margin-right:4px}
.season-chip.hol{border-color:transparent;background:var(--grad);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25)}
@media (max-width:900px){.season-chip{display:none}.season-bg{inset:59px 0 0 0}}
@media print{.season-bg,.season-chip,.rt{display:none!important}}
/* =====================================================================
   Sign-in animation (Uno & Una) — "This day" card
   ===================================================================== */
.login-art{padding:24px 28px}
.lfx{width:100%;max-width:1000px;height:100%;max-height:860px;display:flex;flex-direction:column;align-items:center;gap:6px}
.lfx-title{width:min(78%,640px);height:auto;mix-blend-mode:multiply;flex:0 0 auto}
.lfx-suites{width:100%;height:auto;mix-blend-mode:multiply;flex:0 0 auto}
.lfx-scene{position:relative;flex:1 1 auto;width:100%;min-height:300px;overflow:hidden;border-radius:22px}
.lfx-blob{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55}
.lfx-blob.b1{left:4%;top:18%;width:34%;height:62%;background:radial-gradient(closest-side,#CFE4FB,transparent);transform:rotate(-18deg)}
.lfx-blob.b2{right:4%;top:22%;width:34%;height:60%;background:radial-gradient(closest-side,#FBD6E7,transparent);transform:rotate(14deg)}
.lfx-ground{position:absolute;left:6%;right:6%;bottom:3%;height:2px;background:linear-gradient(90deg,transparent,rgba(13,42,108,.18),transparent)}
.lfx-kid{position:absolute;bottom:3%;height:84%;aspect-ratio:300/630;visibility:hidden;will-change:transform}
.lfx-kid.uno{left:3%}.lfx-kid.una{right:3%}
.lfx-body{position:absolute;inset:0;transform-origin:50% 55%;will-change:transform}
.lfx-body img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(13,42,108,.18));user-select:none;-webkit-user-drag:none}
.lfx-shadow{position:absolute;left:12%;right:12%;bottom:-6px;height:12px;border-radius:50%;background:radial-gradient(closest-side,rgba(13,42,108,.5),transparent);opacity:.35}
.lfx-card{position:absolute;left:50%;top:6%;width:min(44%,420px);transform:translate(-50%,0);opacity:0;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:18px;padding:14px 16px 12px;box-shadow:0 18px 40px rgba(13,42,108,.18);text-align:left;z-index:3;max-height:88%;overflow:auto}
.lfx-card:not(.on){pointer-events:none}
.lfx-card::after{content:"";position:absolute;inset:0 0 auto 0;height:4px;border-radius:18px 18px 0 0;background:var(--grad)}
.lfx-chip{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:#1677E8;border-radius:999px;padding:3px 10px;margin:2px 0 6px}
.lfx-chip.sports{background:#E53935}
.lfx-year{font-size:34px;font-weight:800;color:var(--brand2);line-height:1.05;letter-spacing:-.02em}
.lfx-card p{margin:4px 0 6px;font-size:14.5px;line-height:1.4;color:#1B2540}
.lfx-more{font-size:12px;color:var(--muted);border-top:1px dashed var(--line);padding-top:6px;margin-top:4px;display:grid;gap:3px}
.lfx-more b{color:var(--brand2)}
.lfx-src{font-size:11px;color:var(--faint);margin-top:6px}
.lfx-replay{position:absolute;right:10px;bottom:10px;z-index:4;border:1px solid var(--line);background:rgba(255,255,255,.85);border-radius:999px;padding:4px 12px;font-size:12px;color:var(--muted);cursor:pointer}
.lfx-replay:hover{color:var(--brand2);background:#fff}
.lfx-conf{position:absolute;width:8px;height:12px;border-radius:2px;z-index:2;pointer-events:none}
.lfx-dust{position:absolute;width:22px;height:22px;border-radius:50%;background:radial-gradient(closest-side,rgba(160,140,120,.45),transparent);pointer-events:none;z-index:1}
@media (max-width:1100px){.lfx-card{width:min(50%,380px)}.lfx-year{font-size:28px}}
@media (max-width:900px){.login-art{padding:12px 10px 0}.lfx{max-height:none}.lfx-scene{min-height:340px;height:340px;flex:0 0 auto}.lfx-kid{height:62%}.lfx-card{width:72%;top:4%}.lfx-card p{font-size:13px}.lfx-more{display:none}.lfx-suites{display:none}}
@media (prefers-reduced-motion: reduce){.lfx-kid{visibility:visible}}

/* Supplied 1System sign-in artwork: preserve the complete image and its colors. */
.login-art{background:#fff;padding:24px 28px}
.login-art .lfx{height:auto;max-height:none;gap:0}
.login-art img.login-graphic{display:block;width:100%;height:auto;max-width:1000px;max-height:calc(100vh - 48px);object-fit:contain;mix-blend-mode:normal;border-radius:0}
.modal .login-art .lfx{height:100%;max-height:100%}
.modal .login-art img.login-graphic{height:100%;max-height:100%}
@media (max-width:900px){
  .login-art{padding:18px 16px 0}
  .login-art img.login-graphic{max-width:620px;max-height:42vh}
}
/* Monday Morning Quarterback */
.mmq h2{font-size:17px;margin:22px 0 8px;padding-bottom:4px;border-bottom:2px solid #0D2A6C;color:#0D2A6C}
.mmq-score{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.mmq-score>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-size:12px;color:var(--muted)}
.mmq-score b{display:block;font-size:26px;color:var(--text)}
.mmq-score .critical b{color:#C62828}.mmq-score .warning b{color:#B26A00}.mmq-score .info b{color:#1565C0}
.mmq-sev{display:inline-block;padding:1px 7px;border-radius:4px;color:#fff;font-size:11px;font-weight:700;vertical-align:1px}
.mmq-sev.critical{background:#C62828}.mmq-sev.warning{background:#B26A00}.mmq-sev.info{background:#1565C0}
.mmq-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:0}
.mmq-dot.red{background:#C62828}.mmq-dot.yellow{background:#E0A100}.mmq-dot.green{background:#2E7D32}
.mmq-head li{margin:4px 0}
.mmq-area{background:#fff;border:1px solid var(--line);border-left:5px solid #2E7D32;border-radius:12px;padding:12px 16px;margin:12px 0}
.mmq-area.red{border-left-color:#C62828}.mmq-area.yellow{border-left-color:#E0A100}
.mmq-area h3{margin:0 0 8px;font-size:15px}
.mmq-metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 14px;margin-bottom:6px}
.mmq-metrics>div{display:flex;flex-direction:column}
.mmq-issues{margin:6px 0 0;padding-left:20px}.mmq-issues li{margin:8px 0}
.mmq-next{margin-top:4px;padding:6px 10px;background:#F4F8FF;border-left:3px solid #1E88E5;border-radius:4px;font-size:13px}
.mmq-rcp{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:6px 10px}
.mmq .row select{max-width:280px}
@media (max-width:700px){.mmq-score{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.mmq .row .btn,.mmq .row select{display:none}.mmq-area{break-inside:avoid}}
/* Contracts */
.ct-bar{height:6px;background:#EEF1F6;border-radius:3px;margin-top:4px;overflow:hidden;min-width:80px}
.ct-bar>div{height:100%;background:#2E7D32}.ct-bar>div.warn{background:#E0A100}.ct-bar>div.over{background:#C62828}
/* Transportation */
.tr-runs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:10px}
.tr-runbtn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px;border:1px solid var(--line);border-left:5px solid #1E88E5;border-radius:12px;background:#fff;cursor:pointer;text-align:left;font:inherit}
.tr-runbtn.live{border-left-color:#E0A100}.tr-runbtn.done{border-left-color:#2E7D32;opacity:.8}
.tr-kid{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;margin:6px 0;background:#fff}
.tr-kid.on{border-left:5px solid #E0A100;background:#FFFBEF}.tr-kid.off{border-left:5px solid #2E7D32}.tr-kid.abs{opacity:.6}
.tr-acts{display:flex;gap:6px;flex-shrink:0}.tr-acts .btn{min-height:42px;min-width:84px}
.tr-chk{display:block;padding:6px 0;font-size:15px}
.tr-run .sect h3{margin-top:0}
/* Health & Safety Screener */
.hss-q{display:grid;grid-template-columns:1fr auto;gap:6px 14px;padding:10px 0;border-bottom:1px solid var(--line2)}
.hss-q.isno{background:#FFF8F6;margin:0 -12px;padding:10px 12px;border-radius:8px}
.hss-a{display:flex;gap:4px;align-items:flex-start;white-space:nowrap}
.hss-r{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;font-size:13px;cursor:pointer;background:#fff}
.hss-r:has(input:checked){background:#E8F5E9;border-color:#2E7D32}.hss-r.no:has(input:checked){background:#FDECEA;border-color:#C62828}
.hss-no{grid-column:1/-1}.hss-ev{margin-top:3px}.hss-ev .pill{font-size:10px;padding:0 6px}
@media (max-width:700px){.hss-q{grid-template-columns:1fr}}
@media print{.hss .btn{display:none}}
/* explained errors */
.errbox{position:fixed;right:18px;bottom:18px;z-index:450;max-width:min(460px,calc(100vw - 32px));background:#fff;border:1px solid #F3C2C0;border-left:5px solid var(--red,#C62828);border-radius:12px;box-shadow:0 12px 32px rgba(13,42,108,.25);padding:10px 14px;font-size:13.5px;color:#1B2540}
.errbox.inline{position:static;max-width:none;box-shadow:none;margin:0 0 12px}
.errbox .eh{display:flex;align-items:center;gap:8px;color:var(--red,#C62828)}.errbox .eh b{flex:1}.errbox .eh .btn{padding:0 4px;min-height:0}
.errbox .em{margin-top:4px;font-weight:500}.errbox .ex{margin-top:4px;color:#3A4560}
.field-err{border-color:var(--red,#C62828)!important;box-shadow:0 0 0 3px rgba(198,40,40,.15)!important;background:#FFF8F7}
/* route maps */
.tr-map{height:460px;border:1px solid var(--line);border-radius:12px;margin:8px 0;background:#EEF2F8}
.tr-pin{background:none;border:0}.tr-pin span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#fff;font:700 12px/1 system-ui;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.tr-pin.ctr{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#0D2A6C;color:#FFD54F;font-size:16px;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.tr-sw{display:inline-block;width:14px;height:14px;border-radius:3px}
/* standard phone / address entry */
.fmt-note{color:var(--red,#C62828);font-size:12px;margin:3px 0 0}
.auto-filled{background:#E8F5E9!important;transition:background .6s}

/* Board & Policy Council packets */
.gov-body{margin:14px 0}.gov-next{background:#F4F8FF;border-left:3px solid #1E88E5;padding:8px 12px;margin:8px 0 10px;border-radius:4px}
.gov-unf{background:#FFF7E8;border-left:4px solid #B26A00;padding:8px 12px;margin:8px 0;border-radius:4px}.gov-unf ul{margin:4px 0 0;padding-left:18px}
.gov-ok{background:var(--green-l);border-left:4px solid var(--green);padding:8px 12px;margin:8px 0;border-radius:4px}
.gov-note{background:#F4F8FF;border-left:4px solid #1E88E5;padding:8px 12px;margin:8px 0;border-radius:4px;white-space:pre-wrap}
.gov-toc{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.gov-toc a{padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13px;text-decoration:none}
.gov-sec{margin:14px 0}.gov-sec h4{margin:14px 0 6px}.gov-sec .num{display:block;text-align:right;font-variant-numeric:tabular-nums}
@media print{.gov-toc,.gov-packet .btn{display:none}}

/* Ask Uno (the 1System assistant; class names kept from "Ask 1System") */
.ask-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:3px 14px 3px 3px;margin-right:8px;cursor:pointer;font-size:13px;color:var(--text)}
.ask-btn:focus-visible{outline:2px solid #1E88E5;outline-offset:2px}
.ask-btn:hover{border-color:#1E88E5;color:#1E88E5}
.ask-panel{position:fixed;right:16px;bottom:16px;top:72px;width:min(460px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px rgba(13,42,108,.18);display:flex;flex-direction:column;z-index:900}
.ask-panel.hidden{display:none}.ask-h{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line)}.ask-h .sp{flex:1}
.ask-log{flex:1;overflow:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.ask-me{align-self:flex-end;background:#0D2A6C;color:#fff;padding:7px 12px;border-radius:12px 12px 2px 12px;max-width:85%}
.ask-bot{align-self:flex-start;background:#F4F6FA;padding:8px 12px;border-radius:12px 12px 12px 2px;max-width:100%;min-width:60%}.ask-bot p{margin:2px 0 6px}
.ask-tbl{max-height:260px;overflow:auto;background:#fff;border-radius:6px;margin:4px 0}.ask-tbl table{font-size:12px}
.ask-iss{margin:4px 0;padding-left:16px;font-size:13px}.ask-links{gap:6px;flex-wrap:wrap;margin-top:4px}
.ask-sugg{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:3px 10px;font-size:12px;cursor:pointer}.chip:hover{border-color:#1E88E5}
.ask-confirm{background:#FFF7E8;border-left:3px solid #B26A00;padding:6px 10px;margin:6px 0;border-radius:4px}.ask-confirm .row{gap:6px;margin-top:6px}
.ask-in{display:flex;gap:6px;padding:10px 14px;border-top:1px solid var(--line)}.ask-in input{flex:1}
.ask-mic{font-size:18px;border-radius:50%;width:38px;height:38px}.ask-mic.on{background:#C62828;color:#fff;animation:askPulse 1s infinite}
@keyframes askPulse{50%{box-shadow:0 0 0 6px rgba(198,40,40,.2)}}
.ask-priv{padding:0 14px 10px;margin:0;line-height:1.35}
@media (max-width:700px){.ask-btn .ask-lbl{display:none}.ask-btn{padding:3px}}
@media print{.ask-panel,.ask-btn{display:none}}
/* ---------- Community Provider Referral Lookup */
.cr-grid{display:grid;grid-template-columns:minmax(300px,430px) 1fr;gap:14px;align-items:start}
@media (max-width:1000px){.cr-grid{grid-template-columns:1fr}}
.cr-svc label{display:block;margin:4px 0}
.cr-sum{display:flex;flex-wrap:wrap;gap:4px 18px;margin:6px 0 4px}
.cr-prov{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:8px 0;background:#fff}
.cr-name{font-weight:600;font-size:16px}
.cr-acts{gap:6px;flex-wrap:wrap;margin-top:8px}
.cr-msg{margin:4px 0}
.cr-warn{background:#fff6e0;border-left:4px solid #e0a800;padding:6px 10px;border-radius:4px;margin:6px 0}
.cr-pre{white-space:pre-wrap;font-family:inherit;background:#f7f8fa;padding:8px 10px;border-radius:6px;margin:4px 0}
.cr-pick{display:flex;flex-direction:column;align-items:flex-start;gap:2px;max-height:260px;overflow:auto;margin-top:6px}
.cr-pick .btn{display:block;text-align:left;white-space:normal;height:auto;padding:4px 0}
.cr-filters{gap:6px;flex-wrap:wrap;margin:8px 0;align-items:flex-end}
.cr-filters select,.cr-filters input{width:auto;max-width:100%}
.cr-chips{display:flex;flex-wrap:wrap;gap:4px}
.cr-kv{margin-top:6px}
@media print{.noprint{display:none!important}.cr-print .pill{border:1px solid #999}}
.cr-form .g2>div,.cr-grid>*{min-width:0}
/* Family Needs Navigator */
.cr-needs{max-height:52vh;overflow:auto;margin-top:6px;border:1px solid var(--line);border-radius:6px;padding:4px 8px}
.cr-needs details{border-bottom:1px solid var(--line);padding:4px 0}.cr-needs details:last-child{border-bottom:0}
.cr-needs summary{cursor:pointer;font-weight:600;padding:4px 0}
.cr-need{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:14px;padding:3px 10px;margin:3px 2px;font-size:13px;cursor:pointer;background:#fff}
.cr-need.on{background:var(--accent-l);border-color:var(--accent)}
.cr-need input{margin:0}
.cr-rank{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent-l);color:var(--accent-d);font-weight:700;font-size:12px;flex:none}
.cr-sumbar{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.cr-jump{padding:2px 6px}
.cr-tiles{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.cr-tile{border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:#fff;min-width:120px;display:flex;flex-direction:column}
.cr-tile b{font-size:20px}.cr-tile span{font-size:12px;color:var(--muted)}
.cr-tile.green b{color:var(--green)}.cr-tile.red b{color:var(--red)}
.cr-grid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;align-items:start}
@media (max-width:600px){.cr-acts .btn{flex:1 1 auto}}
.cr-filters label select{max-width:230px}

/* Smart Intake (1.0.17) */
.di-stats{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}
.di-stat{background:var(--card,#fff);border:1px solid var(--line,#e3e6ee);border-radius:10px;padding:8px 14px;min-width:120px}
.di-stat b{display:block;font-size:20px}.di-stat span{font-size:12px;color:var(--muted)}
.di-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0}
.di-filters input[type=search]{min-width:260px;flex:1}
.di-split{display:grid;grid-template-columns:minmax(280px,36%) minmax(0,1fr);gap:16px;align-items:start}
.di-right{min-width:0}.di-pages{max-height:calc(100vh - 190px);overflow:auto;border:1px solid var(--line,#e3e6ee);border-radius:8px;background:#f3f4f8;padding:6px}.di-pages .di-img{display:block;margin:0 auto 6px;width:100%}
.di-left{position:sticky;top:8px}
.di-frame{width:100%;height:calc(100vh - 210px);min-height:480px;border:1px solid var(--line,#e3e6ee);border-radius:8px;background:#fff}
.di-img{max-width:100%;border:1px solid var(--line,#e3e6ee);border-radius:8px;background:#fff;transition:transform .2s}
.di-right .sect{margin-bottom:12px}
.di-tbl{overflow-x:auto}.di-tbl table td{vertical-align:top}.di-tbl select{min-width:0;width:100%;max-width:220px;margin-bottom:3px}.di-tbl .di-desc{width:100%;min-width:140px}.di-tbl input[type=text]{min-width:120px}
.di-acts{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}.di-acts .btn.sm{padding:2px 8px;min-width:0}
.di-tbl table td{font-size:13px}.di-tbl table td:first-child{max-width:190px}.di-tbl .pill{white-space:nowrap}
.di-ev{font-family:ui-monospace,Consolas,monospace;font-size:12px;background:var(--bg2,#f5f6fa);padding:3px 6px;border-radius:4px;white-space:pre-wrap;word-break:break-word}
.di-alert{border-radius:8px;padding:8px 12px;margin-bottom:10px;font-size:13px}
.di-alert.red{background:var(--red-l);color:var(--red)}.di-alert.amber{background:var(--amber-l);color:#7a5200}.di-alert.green{background:var(--green-l);color:var(--green)}
.di-bar .row{flex-wrap:wrap;gap:6px}
.di-pre{white-space:pre-wrap;max-height:60vh;overflow:auto;font-size:12px}
#difm textarea{min-width:180px}
@media (max-width:1100px){.di-split{grid-template-columns:minmax(0,1fr)}.di-left{position:static}.di-frame{height:60vh}.di-pages{max-height:60vh}}
.di-tbl td:last-child .pill{white-space:normal}
.di-tbl td:last-child{min-width:118px}
#difm select[data-ff="dest"]{min-width:260px}#difm select[data-ff="type"]{min-width:90px}

.di-ft table,.di-lt table{width:100%;table-layout:fixed}.di-ft td,.di-lt td,.di-ft th,.di-lt th{overflow-wrap:anywhere}
.di-ft th:nth-child(1){width:24%}.di-ft th:nth-child(2){width:23%}.di-ft th:nth-child(3){width:16%}.di-ft th:nth-child(4){width:19%}.di-ft th:nth-child(5){width:18%}
.di-lt th:nth-child(1){width:13%}.di-lt th:nth-child(2){width:27%}.di-lt th:nth-child(3){width:13%}.di-lt th:nth-child(4){width:24%}.di-lt th:nth-child(5){width:23%}
.di-tbl td:last-child{min-width:0}.di-tbl table td:first-child{max-width:none}.di-tbl .di-desc{min-width:0}.di-lt input[type=text]{min-width:0;max-width:100%}

/* Uno avatar: circular, cropped to keep face and hair, never stretched; "U" fallback if the image fails */
.uno-av{--s:36px;position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--s);height:var(--s);border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#1E88E5,#0D2A6C);box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(13,42,108,.15)}
.uno-av img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block}
.uno-av.fail img{display:none}.uno-av.fail::after{content:'U';color:#fff;font-weight:700;font-size:calc(var(--s) * .5);line-height:1}
.ask-title{display:flex;flex-direction:column;line-height:1.2}.ask-title b{font-size:16px}
.ask-row{display:flex;align-items:flex-start;gap:8px;align-self:flex-start;max-width:100%}.ask-row .ask-bot{flex:1;min-width:0}
.ask-wait{color:var(--muted);margin:2px 0}.ask-dots{display:inline-flex;gap:3px;margin-left:4px}.ask-dots i{width:5px;height:5px;border-radius:50%;background:currentColor;animation:askDot 1.2s infinite}.ask-dots i:nth-child(2){animation-delay:.2s}.ask-dots i:nth-child(3){animation-delay:.4s}
@keyframes askDot{0%,60%,100%{opacity:.25}30%{opacity:1}}
@media (prefers-reduced-motion:reduce){.ask-dots i,.ask-mic.on{animation:none}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:700px){.ask-panel{top:64px;right:8px;left:8px;bottom:8px;width:auto}.ask-row .uno-av{--s:28px}}

/* Annual Reporting & Compliance (1.0.20) */
.arp .ar-top{gap:10px;flex-wrap:wrap;margin-bottom:8px}
.ar-wrap{display:grid;grid-template-columns:210px 1fr;gap:18px;align-items:start}
.ar-nav{position:sticky;top:8px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;padding:6px;background:#fff;font-size:13px}
.ar-nav a{padding:5px 9px;border-radius:6px;color:#3A4766;text-decoration:none}.ar-nav a:hover{background:#F2F5FA}.ar-nav a.on{background:var(--accent-l);color:var(--accent-d);font-weight:600}
.ar-nh{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:9px 9px 3px}
.ar-body{min-width:0}.ar-body h2{margin:4px 0 8px}.ar-body h3{margin:18px 0 8px}
.ar-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0}
.ar-lock{background:#EAF4EC;border:1px solid #BFDDC5;color:#1E5B2A;border-radius:8px;padding:8px 12px;margin:0 0 10px;font-size:13px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ar-note{background:#FFF7E8;border:1px solid #F2D29A;border-radius:8px;padding:8px 12px;margin:8px 0;font-size:13px}.ar-note.red{background:#FDECEC;border-color:#F3B9B9}
.ar-ok{color:#1E6B2A;font-weight:500}.ar-exc{color:#A04B00}
.ar-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:10px 0}
.ar-sum .card{padding:12px 14px;margin:0}.ar-ring{display:flex;gap:14px;align-items:center}
.ar-kpis{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.ar-kpi{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-decoration:none;color:inherit;min-width:70px}.ar-kpi .n{font-size:22px;font-weight:700}
.ar-gh{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.ar-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.ar-card{display:block;border:1px solid var(--line);border-left:5px solid #C9D2E3;border-radius:10px;padding:10px 12px;background:#fff;color:inherit;text-decoration:none}.ar-card:hover{box-shadow:0 2px 10px rgba(20,40,90,.08)}
.ar-card.st-Approved{border-left-color:#2E9B47}.ar-card.st-Complete{border-left-color:#2F72D0}.ar-card.st-NeedsReview{border-left-color:#E8A317}.ar-card.st-Missing{border-left-color:#D23B3B}
.ar-pb{height:7px;background:#EEF2F8;border-radius:4px;overflow:hidden;margin:7px 0}.ar-pb>div{height:100%;background:var(--accent);border-radius:4px;transition:width .3s}
.ar-prog{border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:8px 0}
.ar-mcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.ar-m{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;display:flex;flex-direction:column;gap:3px}.ar-m .row{gap:6px}
.ar-val{font-size:24px;font-weight:700;color:var(--accent-d);margin:2px 0}.ar-ma{margin-top:auto;padding-top:6px;display:flex;gap:4px;flex-wrap:wrap}
.ar-rg{margin:8px 0}
.ar-cm{border-left:3px solid var(--line);padding:4px 10px;margin:6px 0}.ar-cm.res{opacity:.6}
.ar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin:8px 0}
.ar-ph{border:1px solid var(--line);border-radius:10px;padding:6px;background:#fff;display:flex;flex-direction:column;gap:4px}
.ar-fr{aspect-ratio:3/2;border-radius:7px;overflow:hidden;background:#EEF2F8}.ar-fr img{width:100%;height:100%;object-fit:cover;display:block}
.ar-big img{max-width:100%;max-height:50vh;display:block;margin:0 auto;border-radius:8px}
.ar-focal{position:relative;display:inline-block;max-width:100%;cursor:crosshair}.ar-focal img{max-width:100%;max-height:45vh;display:block;border-radius:8px}.ar-focal .dot{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 2px #1B2540;pointer-events:none}
.ar-sug{display:grid;grid-template-columns:auto 120px 1fr;gap:10px;align-items:center;margin:8px 0}.ar-sug img{width:120px;aspect-ratio:3/2;object-fit:cover;border-radius:6px}
.ar-split{display:grid;grid-template-columns:230px 1fr;gap:16px}.ar-nl{display:flex;flex-direction:column;gap:2px}.ar-nl a{display:flex;justify-content:space-between;gap:6px;padding:6px 8px;border-radius:6px;text-decoration:none;color:inherit;font-size:13px}.ar-nl a.on{background:var(--accent-l)}
#arnt{width:100%;font:15px/1.55 inherit;margin:6px 0}
.ar-ord{display:flex;gap:8px;align-items:center;margin:4px 0}.ar-ord input:not([type]),.ar-ord input[type=text]{max-width:300px}.ar-on{width:22px;text-align:right;color:var(--muted)}
.ar-feat{display:grid;grid-template-columns:1fr 180px;gap:4px 10px;align-items:center}
.ar-row{display:flex;gap:6px;align-items:center;margin:4px 0;flex-wrap:wrap}.ar-row input{flex:1;min-width:140px}
.ar-steps{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0}.ar-step{display:flex;gap:6px;align-items:center;padding:6px 10px;border-radius:20px;background:#EEF2F8;font-size:13px}.ar-step span{width:20px;height:20px;border-radius:50%;background:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px}
.ar-step.done{background:#E3F4E5;color:#1E6B2A}.ar-step.cur{background:var(--accent);color:#fff;font-weight:600}.ar-step.cur span{color:var(--accent-d)}
.ar-seg{display:inline-flex;gap:2px}
.ar-prev{border:1px solid var(--line);border-radius:12px;padding:20px;background:#fff;margin:10px 0;max-height:none}
@media (max-width:900px){.ar-wrap,.ar-split{grid-template-columns:1fr}.ar-nav{position:static;flex-direction:row;flex-wrap:wrap}.ar-nh{width:100%}.ar-feat{grid-template-columns:1fr}}
.ar-kv{width:100%}.ar-kv th{width:30%;text-align:left}#arnc{flex:1}
/* Assessment — standard 1System cards (1.0.21) */
.asmp .asm-top{margin-bottom:10px}
.asm-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;min-height:170px}
.asm-card:hover,.asm-card:focus{box-shadow:0 2px 10px rgba(20,40,90,.08);outline:none;border-color:#C9D2E3}
.asm-thumb{width:100%;height:96px;object-fit:cover;border-radius:7px;margin:6px 0}
.asm-filter{margin:0;align-self:start;padding:12px 14px}.asm-filter h3{margin-top:0}
.asm-list{margin:0;align-self:start;padding:6px}.asm-list a{display:block;padding:7px 9px;border-radius:7px;color:inherit;text-decoration:none}.asm-list a:hover{background:#F2F5FA}.asm-list a.on{background:var(--accent-l)}
.asm-pb{height:5px;background:#EEF2F8;border-radius:3px;overflow:hidden;margin-top:4px}.asm-pb>div{height:100%;background:var(--accent)}
.asm-form{padding:12px 14px}
.ro-val{padding:7px 0;font-size:13px}
.credit{margin-top:14px;font-size:11px;line-height:1.5;color:var(--muted,#6b7280)}.sect .credit{margin-top:0;font-size:13px;color:inherit}
.ver-link{display:block;margin:6px auto 0;padding:2px 6px;border:0;background:none;color:#b8bfcc;font-size:10px;cursor:pointer;opacity:.7}
.ver-link:hover,.ver-link:focus-visible{opacity:1;color:var(--muted,#6b7280);text-decoration:underline}
.side-ver{margin:-6px auto 8px}
.shell.mini .side-ver{font-size:9px}
.mod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.mod-card{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}
.mod-card.off{background:#F6F7F9;color:var(--muted)}
.mod-card input{margin-top:3px;width:18px;height:18px;flex:none}
