@charset "UTF-8";
:root{color-scheme:dark;--bg:#080d16;--text:#f5f8fc;--muted:#aebaca;--line:rgba(218,237,255,.13);--accent:#8ce2eb;--accent-dark:#59b8c4;--glass:rgba(22,33,47,.7);--danger:#ffaaa1;--warning:#ffd38a}
*{box-sizing:border-box}body{min-width:320px;margin:0;background:radial-gradient(ellipse at 5% 8%,#173c4535,transparent 55%),radial-gradient(ellipse at 95% 72%,#35375935,transparent 48%),var(--bg);color:var(--text);font:16px/1.55 "Segoe UI",Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.topbar{width:min(1180px,calc(100% - 56px));margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:16px 0;border-bottom:1px solid var(--line)}.admin-brand{display:flex;align-items:center;gap:14px;min-width:0}.admin-brand img{width:145px;max-height:40px;object-fit:contain}.admin-brand span{color:var(--muted);font-size:9px;font-weight:600;letter-spacing:1.55px;line-height:1.45;white-space:nowrap}.admin-brand strong{color:#d8edf4;font-size:11px;font-weight:600;letter-spacing:.15px}.topbar form{margin:0}
.dashboard-shell{width:min(1180px,calc(100% - 56px));display:grid;grid-template-columns:224px minmax(0,1fr);gap:20px;margin:0 auto}.sidebar{align-self:start;position:sticky;top:18px;margin-top:2rem;padding:14px;border:1px solid var(--line);border-radius:17px;background:#0e1d2a9c;backdrop-filter:blur(20px)}.sidebar-label{padding:3px 8px 10px;color:#829cb0;font-size:.68rem;font-weight:700;letter-spacing:.12em}.sidebar-nav{display:grid;gap:5px}.nav-item{justify-content:flex-start;min-height:40px;border:1px solid transparent;border-radius:9px;background:transparent;color:#b9c9d5;font-size:.84rem;font-weight:600;box-shadow:none}.nav-item:hover{background:#ffffff0a;transform:none;box-shadow:none}.nav-item.is-active{border-color:#8ce2eb40;background:#8ce2eb15;color:#d9fbfc}.sidebar-note{margin:15px 4px 3px;padding-top:14px;border-top:1px solid #e2f0ff0d;color:#8297a8;font-size:.76rem;line-height:1.5}.layout{width:min(1180px,calc(100% - 56px));margin:0 auto;padding:2rem 0 3rem}.dashboard-content.layout{width:auto;margin:0;padding:2rem 0 3rem;min-width:0}.view-panel[hidden]{display:none!important}.intro h1{margin:0 0 .25rem;font-weight:500;letter-spacing:-.9px;font-size:clamp(28px,3vw,38px)}.intro p{margin:0;color:var(--muted);max-width:760px;font-size:.94rem}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:1.5rem 0}.cards article,.panel,.login-card{background:linear-gradient(125deg,#e4f4ff08,transparent 66%),var(--glass);border:1px solid var(--line);border-radius:18px;box-shadow:inset 0 1px 0 #ffffff08,0 8px 25px #00000022;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.cards article{padding:1rem}.cards span{display:block;color:#b7c8d6;font-size:.78rem;line-height:1.3}.cards strong{display:block;margin-top:.45rem;color:#effaff;font-size:1.75rem;font-weight:500}.panel{margin-top:1.15rem;padding:1.25rem}.panel h2{margin:0 0 .85rem;font-size:1.18rem;font-weight:500;letter-spacing:-.25px}.panel-hint,.report-heading p,.report-description{color:var(--muted);margin:-.35rem 0 1rem;font-size:.88rem}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.section-heading h2{margin:0}.report-heading h2{margin-bottom:.2rem}.report-heading p{margin:0}.report-actions{display:flex;gap:.55rem;flex-wrap:wrap}
.training-form{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1rem;align-items:end}.training-form .notes{grid-column:span 3}.deadline-form{display:grid;grid-template-columns:1.4fr 1.5fr 1fr 1fr auto;gap:1rem;align-items:end;margin-bottom:1rem}.report-filter{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;margin:1.2rem 0 .7rem}.report-filter label{min-width:150px}label{display:grid;gap:.35rem;color:#c5d4e0;font-size:.82rem;font-weight:600}input,select{width:100%;min-height:42px;padding:.55rem .65rem;border:1px solid #a9d8e233;border-radius:8px;background:#0c1823cc;color:var(--text)}input::placeholder{color:#8294a4}select option{background:#0c1823;color:var(--text)}button{min-height:42px;padding:.55rem 1rem;border:1px solid #ceffff66;border-radius:9px;background:linear-gradient(120deg,#d4f5f4,#99d5df);color:#102831;font-weight:700;cursor:pointer;transition:transform .18s,box-shadow .18s}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #7edfe92a}button:disabled{cursor:wait;opacity:.65}button.secondary{border-color:var(--line);background:#ffffff08;color:#d9eaf3}button.danger{min-height:auto;padding:.18rem .25rem;border:0;background:transparent;color:var(--danger);box-shadow:none}.message{min-height:1.2em;margin:.8rem 0 0;color:#a6eee4;font-size:.9rem}.message.error,.error{color:var(--danger)}
.material-form{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;align-items:start}.material-form label{min-width:0}.material-lesson{grid-column:span 5}.material-title{grid-column:span 7}.material-description{grid-column:span 12}.material-description textarea{width:100%;min-height:84px;padding:.6rem .65rem;resize:vertical;border:1px solid #a9d8e233;border-radius:8px;background:#0c1823cc;color:var(--text);line-height:1.45}.material-description textarea::placeholder{color:#8294a4}.material-assets{grid-column:span 12;display:grid;grid-template-columns:minmax(178px,1fr) minmax(178px,1fr) auto;gap:1rem;align-items:end}.file-field span{color:#8499aa;font-size:.72rem;font-weight:400}.material-form input[type="file"]{min-width:0;padding:.34rem .4rem}.material-form input[type="file"]::file-selector-button{margin-right:.5rem;padding:.3rem .55rem;border:1px solid #8ce2eb55;border-radius:6px;background:#8ce2eb16;color:#dcf9fa;font:inherit;cursor:pointer;transition:background .18s}.material-form input[type="file"]:hover::file-selector-button{background:#8ce2eb28}.material-submit{align-self:end;margin-bottom:1.45rem;white-space:nowrap}.material-selection{min-height:1.25rem;margin:.75rem 0 0;color:#a6dbe0;font-size:.86rem}.panel-hint+.message{margin-top:.55rem}.upload-progress{margin-top:1rem;padding:.85rem 1rem;border:1px solid #8ce2eb38;border-radius:10px;background:#8ce2eb0b}.upload-progress-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#cceff0;font-size:.86rem}.upload-progress-head strong{color:#a7ebee;font-variant-numeric:tabular-nums}.upload-progress-track{height:10px;margin-top:.6rem;overflow:hidden;border:1px solid #8ce2eb2e;border-radius:999px;background:#07131dcc}.upload-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#69cbd5,#b7eef1);box-shadow:0 0 14px #8ce2eb66;transition:width .16s ease}.upload-progress p{margin:.52rem 0 0;color:#9eb4c4;font-size:.78rem}.share-result{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:.65rem;align-items:center;margin-top:1rem;padding:.75rem;border:1px solid #8ce2eb38;border-radius:10px;background:#8ce2eb0b}.share-result strong{font-size:.82rem;color:#cceff0}.share-result input{min-width:0}.share-open,.share-table-action{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.55rem .8rem;border:1px solid var(--line);border-radius:9px;background:#ffffff08;color:#d9eaf3;font-size:.82rem;font-weight:700;cursor:pointer}.share-open:hover,.share-table-action:hover{background:#ffffff12}.share-copy-message{grid-column:2 / -1;color:#a6eee4;font-size:.78rem}.published-description{display:block;max-width:310px;margin-top:.2rem;color:#9cadbd;font-size:.78rem;line-height:1.4}
.progress-panel{display:flex;align-items:center;gap:1.5rem;border-left:4px solid var(--accent)}.progress-visual{width:112px;height:112px;flex:0 0 112px;display:grid;place-content:center;position:relative;border-radius:50%;background:conic-gradient(var(--accent) var(--progress,0%),#203847 0);text-align:center}.progress-visual:before{content:"";position:absolute;inset:10px;border-radius:50%;background:#0c1823}.progress-visual span,.progress-visual small{position:relative;line-height:1}.progress-visual span{font-size:1.75rem;font-weight:600}.progress-visual small{margin-top:.2rem;color:var(--muted)}.progress-copy{flex:1}.progress-copy h2{margin-bottom:.3rem}.progress-numbers{margin:.2rem 0 .75rem}.progress-track{height:11px;overflow:hidden;border-radius:99px;background:#203847}.progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#79dce6,#baeef0);transition:width .35s ease}.progress-estimate{margin:.65rem 0 0;color:var(--muted);font-size:.88rem}
.report-total{display:inline-grid;gap:.15rem;margin:1rem 0 1.2rem;padding:.75rem 1rem;border-left:3px solid var(--accent);background:#8ce2eb0e}.report-total span{color:var(--muted);font-size:.83rem}.report-total strong{font-size:1.6rem}.report-tables{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.report-tables h3{margin:.25rem 0 .5rem;font-size:1rem;font-weight:500}.report-tables table{min-width:0}.table-scroll{overflow-x:auto}table{width:100%;min-width:720px;border-collapse:collapse}th,td{padding:.68rem;text-align:left;border-bottom:1px solid #e2f0ff0d;vertical-align:top}th{color:#8fa7ba;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}td{font-size:.88rem;color:#dbe8f0}.status-chip{display:inline-block;padding:.16rem .5rem;border:1px solid #8ce2eb35;border-radius:99px;background:#8ce2eb10;color:#b9f2ec;font-size:.76rem}.status-pending{border-color:#ffd38a46;background:#ffd38a10;color:#ffd38a}.status-empty{border-color:#9cafbb32;background:#9cafbb10;color:#bac7d1}.filter{width:min(360px,100%)}
.audit-panel .section-heading{align-items:flex-start}.audit-filter{display:grid;grid-template-columns:minmax(230px,1.5fr) minmax(180px,1fr) auto;gap:1rem;align-items:end;margin:1rem 0 .6rem}.audit-details{display:block;max-width:300px;color:#9cadbd;font-size:.76rem;line-height:1.45;word-break:break-word}
.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(420px,100%);padding:2rem}.login-logo{width:148px;max-height:44px;object-fit:contain}.login-card h1{margin:.85rem 0 .2rem;font-size:1.7rem;font-weight:500;letter-spacing:-.5px}.login-card p{margin:0;color:var(--muted)}.login-card form{display:grid;gap:1rem;margin-top:1.5rem}.login-card button{width:100%}.logout-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.55rem 1rem;border:1px solid var(--line);border-radius:9px;background:#ffffff08;color:#d9eaf3;font-size:inherit;font-weight:700}.logout-link:hover{background:#ffffff12}.logout-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:#03070c}.logout-content{display:grid;justify-items:center;gap:1.35rem;text-align:center}.logout-logo{width:min(280px,72vw);height:auto;filter:drop-shadow(0 0 22px #79dc9a30)}.logout-content p{margin:0;color:#aebaca;font-size:.95rem}.logout-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.7rem 1.3rem;border:1px solid #ceffff90;border-radius:10px;background:linear-gradient(120deg,#d4f5f4,#99d5df);color:#102831;font-size:.9rem;font-weight:700;box-shadow:0 7px 28px #7edfe91f}.logout-button:hover{transform:translateY(-1px);box-shadow:0 9px 30px #7edfe936}
@media(max-width:950px){.dashboard-shell{grid-template-columns:185px minmax(0,1fr);gap:14px}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.training-form,.deadline-form,.material-form{grid-template-columns:1fr 1fr}.training-form .notes{grid-column:span 2}.material-form .material-lesson,.material-form .material-title,.material-form .material-description,.material-assets{grid-column:span 2}.material-assets{grid-template-columns:1fr 1fr}.material-submit{justify-self:start;margin-bottom:0}.share-result{grid-template-columns:1fr auto auto}.share-result strong{grid-column:span 3}.share-copy-message{grid-column:1 / -1}.report-tables{grid-template-columns:1fr}.report-tables table{min-width:0}.audit-filter{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.topbar,.dashboard-shell,.layout{width:calc(100% - 28px)}.topbar{padding:10px 0}.admin-brand{gap:0}.admin-brand img{width:min(148px,48vw);max-height:38px}.admin-brand span{display:none}.topbar button{min-height:38px;padding:7px 10px;font-size:.8rem}.dashboard-shell{display:block}.sidebar{position:static;margin-top:12px;padding:8px;background:#0e1d2a99}.sidebar-label,.sidebar-note{display:none}.sidebar-nav{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.nav-item{flex:0 0 auto;min-height:38px;padding:7px 11px;font-size:.75rem}.dashboard-content.layout,.layout{padding:1.25rem 0 2rem}.cards,.training-form,.deadline-form,.material-form,.material-assets,.audit-filter{grid-template-columns:1fr}.training-form .notes,.material-form .material-lesson,.material-form .material-title,.material-form .material-description,.material-assets{grid-column:auto}.material-submit{width:100%}.share-result{grid-template-columns:1fr}.share-result strong,.share-copy-message{grid-column:auto}.section-heading{align-items:stretch;flex-direction:column}.progress-panel{align-items:flex-start;flex-direction:column;gap:1rem}.panel{padding:1rem}.report-actions button{flex:1}.report-filter{align-items:stretch;flex-direction:column;gap:.7rem}.report-filter label{min-width:0}.cards article{padding:.9rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}button:hover{transform:none}}
@media print{body{background:#fff;color:#111}.topbar,.sidebar,.view-panel:not([data-view-panel="reports"]),.intro,.report-actions,.report-filter{display:none!important}.dashboard-shell,.dashboard-content.layout{display:block;width:100%;margin:0;padding:0}.view-panel[data-view-panel="reports"]{display:block!important}.report-panel{display:block!important;margin:0;padding:0;border:0;box-shadow:none;background:#fff;color:#111}.report-panel *{color:#111!important}.report-tables{grid-template-columns:repeat(3,1fr)}.report-description{color:#333!important}}
