:root{color:#1c2418;background:radial-gradient(circle at 10% 10%,#d9e7c8 0%,transparent 40%),linear-gradient(160deg,#eef3e6,#d5deca 45%,#c3cfb6);font-family:Segoe UI,Trebuchet MS,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh}.app-shell{min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#1f3a24;color:#f4f7ef}.brand{margin:0;font-size:1.35rem;letter-spacing:.04em;font-weight:700}.sub{margin:.15rem 0 0;opacity:.8;font-size:.9rem}.user-box{display:flex;gap:.75rem;align-items:center}.user-box button,.login-card button{background:#c4a35a;border:0;color:#1c2418;padding:.55rem .9rem;font-weight:600;cursor:pointer}.notif-bell{position:relative;color:#f4f7ef;text-decoration:none;font-size:1.25rem;padding:.25rem .4rem}.notif-badge{position:absolute;top:-.2rem;right:-.35rem;background:#c4a35a;color:#1c2418;font-size:.65rem;font-weight:700;min-width:1.1rem;height:1.1rem;border-radius:999px;display:grid;place-items:center;padding:0 .2rem}.user-box .linkish{background:transparent;color:#e8f0dc;border:1px solid rgba(255,255,255,.25);padding:.35rem .55rem;font-size:.8rem}.tab-row{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0}.tab-row button{background:#eef3e6;border:1px solid rgba(31,58,36,.2);padding:.45rem .75rem;cursor:pointer;font:inherit}.tab-row button.tab-active{background:#1f3a24;color:#f4f7ef}.layout{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 76px)}.side{background:#1f3a24eb;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.side a{color:#e8f0dc;text-decoration:none;padding:.45rem .55rem}.side a:hover{background:#ffffff14}main{padding:1.5rem}.panel{background:#ffffffb8;border:1px solid rgba(31,58,36,.15);padding:1.25rem}.chips{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:1rem}.chips div{background:#f7faf2;padding:.85rem;border-left:4px solid #1f3a24}.note{margin-top:1rem;font-size:.92rem}.ok{color:#1f3a24;font-weight:600}.error{color:#8a1f1f;margin:0}.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(420px,100%);background:#ffffffe0;padding:1.5rem;display:grid;gap:.75rem;border:1px solid rgba(31,58,36,.2)}.login-card h1{margin:0;color:#1f3a24}.login-card label{display:grid;gap:.35rem;font-size:.92rem}.login-card input{padding:.55rem;border:1px solid #9aaa8c}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}.form-grid label{display:grid;gap:.3rem;font-size:.9rem}.form-grid input,.form-grid select,.form-grid textarea{padding:.5rem;border:1px solid #9aaa8c;font:inherit}.form-grid textarea{min-height:70px;resize:vertical}.span-2{grid-column:span 2}.actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.actions button,.row-actions button{background:#c4a35a;border:0;color:#1c2418;padding:.45rem .75rem;font-weight:600;cursor:pointer}.data-table{width:100%;border-collapse:collapse;margin-top:1rem;background:#ffffff8c}.data-table th,.data-table td{border-bottom:1px solid rgba(31,58,36,.15);padding:.55rem;text-align:left;font-size:.92rem}.row-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.page-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.stepper{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0 1rem}.stepper button{border:1px solid #1f3a24;background:transparent;padding:.4rem .65rem;cursor:pointer}.stepper button.active{background:#1f3a24;color:#f4f7ef}.section-title{margin:.75rem 0 .15rem;font-size:1rem;border-bottom:1px solid rgba(31,58,36,.25);padding-bottom:.25rem;grid-column:span 2}.editable-table-wrap{margin:.5rem 0 1rem}.table-head-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem}.table-head-row h4{margin:0;font-size:.95rem}.editable-table input,.editable-table select{width:100%;padding:.35rem;font:inherit;border:1px solid #9aaa8c}.language-matrix th,.language-matrix td{text-align:center}.language-matrix th:first-child,.language-matrix td:first-child{text-align:left}.language-matrix .center{text-align:center}.checklist-panel{margin:.5rem 0 1rem;padding:.75rem;background:#ffffff73;border-left:3px solid #1f3a24}tr.check-green{background:#2e7d321f}tr.check-amber{background:#f59e0b24}tr.check-red{background:#b91c1c1f}.badge{display:inline-block;padding:.15rem .45rem;font-size:.85rem;font-weight:700;border:1px solid rgba(31,58,36,.25)}.badge-ready{background:#d9f0d5;color:#14532d}.badge-conditional{background:#fdecc8;color:#7c4a03}.badge-notready{background:#fadada;color:#7f1d1d}.readiness-panel{margin-top:1.25rem;padding:1rem;background:#f7faf2;border-left:4px solid #1f3a24}.check-list{list-style:none;padding:0;margin:.5rem 0 0}.check-list li{padding:.35rem 0;border-bottom:1px solid rgba(31,58,36,.1);font-size:.92rem}.check-list li.pass strong{color:#14532d}.check-list li.fail strong{color:#7f1d1d}@media(max-width:800px){.layout{grid-template-columns:1fr}.side{flex-direction:row;flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}}.button-link{display:inline-block;background:#c4a35a;color:#1c2418;text-decoration:none;padding:.55rem .9rem;font-weight:600}.compact-layout{grid-template-columns:1fr;padding:.75rem}.compact-shell .topbar{padding:.65rem 1rem}.compact-shell .brand{font-size:1.05rem}.checkin-page{max-width:36rem;margin:0 auto}.checkin-header{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.checkin-field{display:block;margin:.75rem 0;font-weight:600}.checkin-field input,.checkin-field select{display:block;width:100%;margin-top:.35rem;font-size:1.1rem;padding:.75rem .85rem;min-height:3rem}.checkin-roster{list-style:none;padding:0;margin:.75rem 0;max-height:40vh;overflow:auto}.checkin-person{width:100%;text-align:left;background:#f7faf2;border:1px solid rgba(31,58,36,.2);padding:.85rem 1rem;margin-bottom:.45rem;cursor:pointer;min-height:3.25rem}.checkin-person strong{display:block;font-size:1.05rem}.checkin-person span{display:block;font-size:.9rem;opacity:.8;margin-top:.2rem}.checkin-person.active{border-color:#1f3a24;background:#e4eedc}.checkin-actions{position:sticky;bottom:0;background:#eef3e6f5;padding:.75rem 0 .25rem;display:grid;grid-template-columns:1fr;gap:.55rem}.checkin-selected{margin:0;font-weight:700;font-size:1.05rem}.checkin-btn{min-height:3.5rem;font-size:1.15rem;font-weight:700;border:0;cursor:pointer;color:#fff}.checkin-btn.present{background:#2e7d32}.checkin-btn.absent{background:#b91c1c}.checkin-btn.excused{background:#b45309}.checkin-btn:disabled{opacity:.6;cursor:wait}.checkin-toast{font-size:1.05rem;font-weight:700}@media(min-width:520px){.checkin-actions{grid-template-columns:1fr 1fr 1fr}.checkin-selected{grid-column:1 / -1}}
