:root{--bg:#f5f7f6;--fg:#1c2a26;--mut:#5d6b66;--pri:#0b6b57;--pri2:#084c3e;--card:#fff;--bd:#dbe3df;--warn:#b45309;--bad:#b42318;--ok:#0b6b57}
@media(prefers-color-scheme:dark){:root{--bg:#101a17;--fg:#e6efeb;--mut:#9fb0a9;--pri:#3cc4a4;--pri2:#2aa388;--card:#17241f;--bd:#27382f;--warn:#f0b35a;--bad:#ff8a7a;--ok:#3cc4a4}}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg)}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.top{background:var(--pri2);color:#fff}.bar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;position:relative}
.brand{display:flex;gap:10px;align-items:center;color:#fff;text-decoration:none}.brand small{display:block;font-size:11px;opacity:.8}
.logo{background:#fff;color:var(--pri2);font-weight:800;border-radius:8px;padding:6px 8px;font-size:14px}
.menu summary{list-style:none;cursor:pointer;font-size:24px;padding:4px 10px}.menu summary::-webkit-details-marker{display:none}
.menu nav{position:absolute;right:16px;top:100%;background:var(--card);color:var(--fg);border:1px solid var(--bd);border-radius:10px;min-width:240px;padding:6px;z-index:10;box-shadow:0 8px 24px #0003}
.menu nav a,.linkbtn{display:block;padding:9px 12px;color:var(--fg);text-decoration:none;border-radius:6px;background:none;border:0;font:inherit;cursor:pointer;text-align:left;width:100%}
.menu nav a:hover,.linkbtn:hover{background:var(--bg)}
@media(min-width:900px){.menu summary{display:none}.menu nav{display:flex;position:static;background:none;border:0;box-shadow:none;min-width:0;padding:0;gap:2px;align-items:center}
.menu nav a,.menu .linkbtn{color:#fff;padding:6px 9px;font-size:14px;width:auto}.menu nav a:hover,.menu .linkbtn:hover{background:#ffffff26}.menu nav a:last-of-type{opacity:.75;font-size:12px}}
@media(min-width:900px){.menu[open] summary{display:none}.menu>nav{display:flex!important}}
h1{font-size:1.6rem;margin:22px 0 12px}h2{font-size:1.2rem;margin:24px 0 8px}h3{margin:0 0 2px;font-size:1.05rem}
a{color:var(--pri)}.meta{color:var(--mut);font-size:.88rem;margin:2px 0}
.card{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:14px;margin:10px 0}
.res{display:flex;gap:12px}.grow{flex:1;min-width:0}.icon{width:42px;height:42px;border-radius:10px;background:#e0f2ee;color:var(--pri2);display:grid;place-items:center;font-size:20px;flex:none}
.t-video .icon,.icon.t-video{background:#fde8e8;color:#b42318}.icon.t-assessment{background:#fff3d6;color:#9a6700}
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.grid .card{margin:0}
.tiles{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.tile{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:12px}
.tile b{display:block;font-size:1.7rem;color:var(--pri)}.tile span{color:var(--mut);font-size:.85rem}
form.stack label{display:block;margin:12px 0 4px;font-weight:600;font-size:.92rem}
input,select,textarea{width:100%;padding:10px;border:1px solid var(--bd);border-radius:8px;font:inherit;background:var(--card);color:var(--fg)}
input[type=checkbox]{width:auto}.row{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
button,.btn{display:inline-block;background:var(--pri);color:#fff;border:0;border-radius:8px;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
@media(prefers-color-scheme:dark){button,.btn{color:#04211a}}
button.sec,.btn.sec{background:transparent;color:var(--pri);border:1px solid var(--pri)}button.bad{background:var(--bad);color:#fff}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.actions form{display:inline}
.flash{padding:10px 14px;border-radius:8px;margin:14px 0}.flash.ok{background:#dcf3ea;color:#064e3b}.flash.err{background:#fde4e1;color:#7a1a10}
@media(prefers-color-scheme:dark){.flash.ok{background:#0f3a2e;color:#bdf2de}.flash.err{background:#47201b;color:#ffd0c8}}
.badge{display:inline-block;font-size:.72rem;padding:2px 8px;border-radius:99px;background:var(--bd);color:var(--fg);font-weight:600}
.badge.pending{background:#fff3d6;color:#8a5a00}.badge.approved{background:#dcf3ea;color:#064e3b}.badge.rejected,.badge.removed{background:#fde4e1;color:#7a1a10}.badge.shared{background:#e5e9ff;color:#2f3a8f}
.tscroll{overflow-x:auto}table{border-collapse:collapse;width:100%;background:var(--card);border:1px solid var(--bd);border-radius:10px}
th,td{padding:8px 10px;border-bottom:1px solid var(--bd);text-align:left;font-size:.9rem;vertical-align:top}th{background:var(--bg);color:var(--mut);font-size:.78rem;text-transform:uppercase}
.bars .barrow{display:grid;grid-template-columns:minmax(90px,38%) 1fr 40px;gap:8px;align-items:center;margin:6px 0;font-size:.88rem}
.bt{background:var(--bd);border-radius:6px;height:12px;overflow:hidden;display:block}.bf{display:block;background:var(--pri);height:100%}.bv{text-align:right;color:var(--mut)}
.viewer{width:100%;height:75vh;border:1px solid var(--bd);border-radius:10px;background:#fff}.video{position:relative;padding-top:56.25%}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:10px}
.pager{text-align:center;color:var(--mut)}.pager a{margin:0 10px}.foot{color:var(--mut);font-size:.8rem;padding:30px 16px}
.hero{background:linear-gradient(135deg,var(--pri2),var(--pri));color:#fff;border-radius:14px;padding:22px;margin:16px 0}.hero h1{margin:0 0 10px;color:#fff}.hero input{max-width:640px}
.login{max-width:400px;margin:40px auto}.filters{margin-bottom:12px}.filters .row{margin-bottom:8px}
dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:0}dt{color:var(--mut)}dd{margin:0}
