:root{--bg:#15171a;--bg-soft:#1d2126;--card:#ffffff;--card-soft:#f4f6f8;--text:#171a1f;--muted:#606b78;--line:#d8dee6;--line-strong:#bcc5d0;--primary:#c1121f;--primary-strong:#8f0d17;--dark:#20242a;--green:#198754;--orange:#f08c00;--red:#c1121f;--shadow:0 14px 32px rgba(0,0,0,.22)}*{box-sizing:border-box;font-family:Aptos,Segoe UI Variable,Trebuchet MS,sans-serif}html{min-height:100%;background:linear-gradient(180deg,#0f1114,#1a1e23)}body{margin:0;min-height:100vh;color:var(--text);background:transparent}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.container{max-width:760px;margin:0 auto;padding:16px 14px 110px}.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:14px 16px;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:linear-gradient(135deg,#c1121ff5,#6f0710f5);color:#fff;box-shadow:var(--shadow)}.brand{display:flex;flex-direction:column;gap:2px;border:0;background:transparent;color:inherit;padding:0;text-align:left;cursor:pointer}.brandTitle{font-size:1.08rem;font-weight:800;letter-spacing:.02em}.brandSub{color:#ffffffd1;font-size:.84rem}.nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.navBtn{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-strong);background:#fff;color:var(--text);padding:8px 14px;min-height:32px;border-radius:999px;font-size:13px;font-weight:700;line-height:1;cursor:pointer}.navBtn.active{background:linear-gradient(180deg,var(--primary),var(--primary-strong));border-color:transparent;color:#fff}.adminBadge{background:#fff;color:var(--primary-strong);border-color:#ffffff73;font-weight:800}.heroCard{background:linear-gradient(135deg,#fff,#f4f6f8);border-left:6px solid var(--primary)}.heroEyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#c1121f1a;color:var(--primary-strong);font-size:.82rem;font-weight:700}.heroTitle{margin:14px 0 8px;font-size:1.9rem;line-height:1.05}.heroLead{max-width:42ch;color:var(--muted);font-size:1rem}.statsGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.statTile{padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--card-soft)}.statValue{font-size:1.32rem;font-weight:800}.statLabel{color:var(--muted);font-size:.82rem}.btn{border:1px solid var(--line-strong);background:#fff;color:var(--text);padding:11px 14px;border-radius:14px;font-weight:700;cursor:pointer}.btn.primary{background:linear-gradient(180deg,var(--primary),var(--primary-strong));border-color:transparent;color:#fff}.btn.small{padding:8px 11px;border-radius:12px;font-size:13px}.card{background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:22px;padding:16px;margin:12px 0;box-shadow:var(--shadow)}.h1{font-size:22px;font-weight:800;margin:0 0 6px}.muted{color:var(--muted);font-size:13px}.row{display:flex;gap:10px;align-items:center}.row.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:12px}.input{width:100%;padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--text)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;border:1px solid var(--line);font-size:12px;background:#fff}.badge.green{border-color:var(--green);background:var(--green);color:#fff}.badge.orange{border-color:var(--orange);background:var(--orange);color:#fff}.badge.red{border-color:var(--red);background:var(--red);color:#fff}.hr{height:1px;background:var(--line);margin:12px 0}.list{display:flex;flex-direction:column;gap:10px}.listItem{width:100%;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:var(--card-soft);text-align:left}.selectedItem{border-color:var(--primary);background:#fff0f1}.documentRow{display:flex;justify-content:space-between;gap:12px;align-items:center}.documentMeta{min-width:0}.documentActions{display:flex;flex-wrap:wrap;gap:8px}.compactList{gap:8px}.mobileStack{align-items:center}.split{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.pillRow,.sectionTabs{display:flex;flex-wrap:wrap;gap:8px}.scanDock{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;padding:14px;background:linear-gradient(180deg,#0f111400,#0f1114f5 42%);pointer-events:none}.scanDock .btn{width:min(760px,calc(100% - 28px));pointer-events:auto}.splash{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:50;background:linear-gradient(180deg,#0f1114,#1a1e23)}.splash .card{width:min(540px,calc(100% - 28px));text-align:center;background:#fff}.bigIcon{font-size:42px;margin-bottom:8px;font-weight:800;color:var(--primary)}.calendarHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.calendarTitle{text-transform:capitalize;font-size:1.02rem;font-weight:800}.calendarWeekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:8px}.calendarWeekday{padding:8px 0;text-align:center;font-size:12px;font-weight:800;color:var(--muted)}.calendarGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendarDay{min-height:132px;padding:10px;border:1px solid var(--line);border-radius:18px;background:#fff;display:flex;flex-direction:column;gap:8px}.calendarDay.outside{opacity:.45}.calendarDay.empty{background:#eef2f5;color:var(--muted)}.calendarDay.hasEvent{background:#fff5f5;border-color:#c1121f40}.calendarDayNumber{font-size:.95rem;font-weight:800}.calendarEvents{display:flex;flex-direction:column;gap:6px}.calendarEventButton{width:100%;padding:8px;border:1px solid rgba(193,18,31,.18);border-radius:12px;background:#fff;text-align:left;cursor:pointer;overflow:hidden}.calendarEventTime{font-size:11px;font-weight:800;color:var(--primary-strong)}.calendarEventTitle{font-size:12px;font-weight:700;color:var(--text);line-height:1.2;overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.calendarEmpty{margin-top:auto;font-size:12px;color:var(--muted)}.calendarEventMeta{font-size:10px;color:var(--muted);line-height:1.2;overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.trainingEventButton{border-color:#19875438;background:#f3fbf6}.codeCard{padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--card-soft)}.codeValue{margin-top:6px;font-size:2rem;font-weight:900;letter-spacing:.24em}.qrPreview{width:220px;max-width:100%;padding:10px;border:1px solid var(--line);border-radius:18px;background:#fff}.qrVideo{width:100%;max-width:420px;border:1px solid var(--line);border-radius:18px;background:#000}.feedbackMeta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.feedbackAuthor{font-weight:800}.feedbackDelete{margin-left:auto}.scanHint{padding:12px 14px;border:1px dashed rgba(193,18,31,.24);border-radius:16px;background:#fff8f8}@media (max-width:640px){.container{padding:14px 12px 108px}.topbar{padding:14px;border-radius:20px;flex-direction:column;align-items:stretch}.brandTitle{font-size:1.7rem}.brandSub{font-size:1rem}.heroTitle{font-size:1.58rem}.statsGrid,.grid2{grid-template-columns:1fr}.split{flex-direction:column}.nav{width:100%;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:4px}.nav::-webkit-scrollbar{display:none}.nav .btn,.nav .badge{flex:0 0 auto}.btn.small{padding:10px 14px;font-size:14px}.mobileStack,.calendarHeader{flex-direction:column;align-items:stretch}.calendarWeekdays{display:none}.calendarGrid{grid-template-columns:1fr;gap:10px}.calendarDay{min-height:auto;padding:12px;gap:10px;border-radius:20px}.calendarDay.outside{display:none}.calendarDayNumber{font-size:1.15rem}.calendarEvents{gap:8px}.calendarEventButton{padding:10px;border-radius:14px}.calendarEventTime{font-size:12px}.calendarEventTitle{font-size:14px;line-height:1.25}.calendarEventMeta{font-size:12px}.calendarEmpty{margin-top:0;font-size:13px}.feedbackMeta{align-items:flex-start}.documentRow{flex-direction:column;align-items:flex-start}.documentActions{width:100%}}
