@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root{
  --bg:#080d19;--surface:#101728;--surface-2:#151e31;--line:#243047;
  --text:#f5f7fb;--muted:#8d99ae;--blue:#5b7cff;--violet:#9a6cff;
  --green:#32d583;--amber:#fdb022;--red:#f97066;--shadow:0 24px 70px rgba(0,0,0,.28)
}
*{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;background:radial-gradient(circle at 70% -10%,#182445 0,transparent 34%),var(--bg);color:var(--text);font-family:"Plus Jakarta Sans","Segoe UI",sans-serif;min-height:100vh}
button,input,select{font:inherit}
button{cursor:pointer}
.app-shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;padding:26px 20px;background:rgba(11,17,31,.94);border-right:1px solid var(--line);display:flex;flex-direction:column;backdrop-filter:blur(20px);z-index:5}
.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;padding:0 8px 28px}
.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,var(--blue),var(--violet));font:800 14px Manrope;letter-spacing:-.04em;box-shadow:0 9px 25px #5b7cff42}
.brand strong{font:800 20px Manrope;display:block}.brand small{color:var(--muted);font-size:11px}
.nav{display:grid;gap:7px}.nav-item{width:100%;border:0;background:transparent;color:var(--muted);display:flex;gap:12px;align-items:center;padding:12px;border-radius:10px;text-align:left;font-weight:600}
.nav-item span{font-size:18px;width:22px;text-align:center}.nav-item:hover,.nav-item.active{background:#1a2440;color:#fff}.nav-item.active{box-shadow:inset 3px 0 var(--blue)}
.sidebar-spacer{flex:1}.health-card{border:1px solid var(--line);background:linear-gradient(145deg,#151f35,#101725);border-radius:14px;padding:15px}
.health-top{display:flex;justify-content:space-between;font-size:12px}.health-top strong{color:var(--green)}
.progress{height:5px;background:#253047;border-radius:10px;margin:12px 0;overflow:hidden}.progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--blue),var(--green));transition:.4s}
.health-card p,.storage-note{font-size:11px;color:var(--muted);line-height:1.5;margin:0}.storage-note{margin:18px 6px 0}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:6px}
main{min-width:0}.topbar{height:100px;padding:20px 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(8,13,25,.7);backdrop-filter:blur(14px);position:sticky;top:0;z-index:4}
.eyebrow{letter-spacing:.13em;font-size:10px;color:#7182a1;font-weight:800;margin:0 0 5px}.topbar h1{font:700 24px Manrope;margin:0}.top-actions{display:flex;gap:10px}
.btn{border:1px solid var(--line);border-radius:10px;padding:11px 15px;color:#fff;font-weight:700}.btn.secondary{background:var(--surface)}.btn.primary{background:linear-gradient(135deg,var(--blue),#765df0);border-color:transparent;box-shadow:0 8px 24px #5b7cff38}.btn:hover{filter:brightness(1.12);transform:translateY(-1px)}
.mobile-menu{display:none;background:none;border:0;color:#fff;font-size:22px}.content{padding:28px 34px 50px;max-width:1600px;margin:auto}
.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.summary-card{background:linear-gradient(145deg,rgba(21,30,49,.9),rgba(13,20,34,.9));border:1px solid var(--line);border-radius:15px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:0 8px 32px rgba(0,0,0,.08)}
.summary-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:20px}.summary-icon.blue{background:#5b7cff20;color:#7f98ff}.summary-icon.violet{background:#9a6cff20;color:#b28cff}.summary-icon.green{background:#32d58320;color:var(--green)}.summary-icon.amber{background:#fdb02220;color:var(--amber)}
.summary-card small{font-size:9px;letter-spacing:.12em;color:var(--muted);font-weight:800}.summary-card strong{display:block;font:700 22px Manrope;margin:2px 0}.summary-card p{font-size:11px;color:var(--muted);margin:0}
.stats-total-card{margin:0 0 18px;padding:18px 22px;border:1px solid rgba(108,99,255,.48);border-radius:15px;background:linear-gradient(115deg,rgba(91,124,255,.2),rgba(154,108,255,.13));display:flex;align-items:center;justify-content:space-between;gap:16px}.stats-total-card p{margin:0;color:var(--muted);font-size:11px}.stats-total-card strong{display:block;font:800 32px Manrope;color:var(--text);line-height:1.05}.stats-total-card .eyebrow{margin:0 0 4px}.stats-total-card .stats-total-detail{text-align:right}
.calendar-card,.panel{background:rgba(15,23,39,.88);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);overflow:hidden}.calendar-toolbar{display:flex;align-items:end;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--line)}
.month-switcher{display:flex;align-items:center;gap:10px}.month-switcher h2{font:700 20px Manrope;margin:0;min-width:160px;text-align:center}.month-switcher button{width:30px;height:30px;border:1px solid var(--line);background:var(--surface-2);color:#fff;border-radius:8px;font-size:20px}
.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:7px;height:7px;border-radius:50%}
.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{padding:0 12px;border-bottom:1px solid var(--line)}.weekdays span{text-align:center;padding:11px;font-size:9px;letter-spacing:.12em;color:#77849a;font-weight:800}
.calendar-grid{padding:12px;gap:7px}.day{min-height:118px;background:#121b2d;border:1px solid #202c43;border-radius:10px;padding:9px;transition:.2s;overflow:hidden}.day:hover{border-color:#46587c;background:#162137}.day.outside{opacity:.3}.day.today{box-shadow:inset 0 0 0 1px var(--blue)}.day-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.day-num{font:700 12px Manrope;color:#aeb9ca}.today .day-num{width:24px;height:24px;display:grid;place-items:center;background:var(--blue);color:#fff;border-radius:7px}.rule-dot{color:var(--amber);font-size:10px}
.shift-pill{border-left:3px solid var(--shift-color);background:rgba(108,124,255,.12);padding:5px 6px;border-radius:5px;margin:4px 0;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shift-pill strong{font-size:9px}.shift-pill small{color:#9eabc0;margin-left:3px}
.bottom-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:18px}.panel{padding:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel h3{font:700 16px Manrope;margin:0}.text-btn{background:none;border:0;color:#829cff;font-size:11px;font-weight:700}
.workload-list{display:grid;gap:12px}.workload-item{display:grid;grid-template-columns:140px 1fr 50px;gap:12px;align-items:center;font-size:11px}.person{display:flex;align-items:center;gap:8px}.avatar{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;color:#fff;font-weight:800}.load-bar{height:6px;background:#222d42;border-radius:9px;overflow:hidden}.load-bar span{display:block;height:100%;border-radius:inherit}.hours{text-align:right;color:var(--muted)}
.empty-state{text-align:center;padding:23px;color:var(--muted)}.empty-state>span{display:grid;place-items:center;width:35px;height:35px;margin:auto auto 8px;border-radius:50%;background:#32d58318;color:var(--green)}.empty-state strong{font-size:12px;color:#d7deea}.empty-state p{font-size:11px;margin:4px 0}.warning-item{padding:10px;border-radius:8px;background:#fdb0220c;border:1px solid #fdb02225;color:#d5b873;font-size:11px;margin-bottom:7px}
.modal-backdrop{position:fixed;inset:0;background:#03060dbd;z-index:120;display:grid;place-items:center;padding:20px;backdrop-filter:blur(8px)}.modal-backdrop[hidden]{display:none}.modal{position:relative;width:min(620px,100%);max-height:90vh;overflow:auto;background:#121a2b;border:1px solid #2b3953;border-radius:18px;padding:25px;box-shadow:0 30px 100px #0009}.modal-close{position:absolute;right:16px;top:13px;border:0;background:none;color:#91a0b7;font-size:25px}.modal h2{font:700 20px Manrope;margin:0 0 5px}.modal-intro{color:var(--muted);font-size:12px;margin:0 0 20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:10px;color:#95a3b8;font-weight:700;letter-spacing:.06em}.field input,.field select{width:100%;background:#0c1321;border:1px solid #2a3750;color:#fff;padding:10px;border-radius:9px;outline:none}.field input:focus,.field select:focus{border-color:var(--blue)}.check-row{display:flex;gap:8px;flex-wrap:wrap}.check-chip input{display:none}.check-chip span{display:block;border:1px solid #2a3750;color:#8593aa;border-radius:8px;padding:8px 10px;font-size:11px}.check-chip input:checked+span{border-color:var(--blue);background:#5b7cff17;color:#dfe5ff}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px;padding-top:17px;border-top:1px solid var(--line)}.employee-edit-row,.shift-edit-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #222e43}.employee-edit-row p,.shift-edit-row p{margin:2px 0;color:var(--muted);font-size:11px}.icon-btn{border:1px solid var(--line);background:#182237;color:#fff;border-radius:8px;padding:7px 9px}.danger{color:var(--red)}
.password-input{position:relative}.password-input input{padding-right:78px}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#9eacff;font-size:11px;font-weight:700;padding:6px;cursor:pointer}.password-toggle:hover{color:#fff}
.auth-help{margin-top:8px}.forgot-password{border:0;background:transparent;color:#9eacff;padding:3px 0;font-size:11px;font-weight:700;cursor:pointer}.forgot-password:hover{color:#fff;text-decoration:underline}
.toast{position:fixed;right:24px;bottom:24px;z-index:30;background:#18233a;border:1px solid #344461;color:#fff;padding:12px 17px;border-radius:10px;box-shadow:var(--shadow);font-size:12px;transform:translateY(30px);opacity:0;pointer-events:none;transition:.25s}.toast.show{transform:none;opacity:1}
@media(max-width:1050px){.summary-grid{grid-template-columns:1fr 1fr}.bottom-grid{grid-template-columns:1fr}.app-shell{grid-template-columns:210px 1fr}.sidebar{padding:22px 14px}.content,.topbar{padding-left:22px;padding-right:22px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;left:-260px;width:245px;transition:.25s}.sidebar.open{left:0}.mobile-menu{display:block}.topbar{height:auto;gap:12px;padding:15px}.topbar>div:nth-child(2){display:none}.top-actions{margin-left:auto}.btn{padding:9px 10px;font-size:11px}.content{padding:15px}.summary-grid{grid-template-columns:1fr 1fr}.calendar-card{overflow-x:auto}.calendar-toolbar,.weekdays,.calendar-grid{min-width:720px}.bottom-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(max-width:480px){.summary-grid{grid-template-columns:1fr}.btn.secondary{display:none}}

/* V3 */
[data-theme="light"]{--bg:#f4f7fb;--surface:#fff;--surface-2:#edf1f7;--line:#dce3ee;--text:#172033;--muted:#6e7a8f;--shadow:0 20px 55px rgba(29,49,83,.11);color-scheme:light}
[data-theme="light"] body{background:radial-gradient(circle at 76% -12%,#c9d8ff 0,transparent 34%),radial-gradient(circle at 12% 22%,#eef1ff 0,transparent 30%),#e8edf5}
[data-theme="light"] .v3-header,[data-theme="light"] .calendar-wrap,[data-theme="light"] .panel,[data-theme="light"] .modal{background:#fff}
.v3-shell{min-height:100vh;display:flex;flex-direction:column}.v3-header{height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 28px;border-bottom:1px solid var(--line);background:rgba(11,17,31,.92);backdrop-filter:blur(16px);position:sticky;top:0;z-index:10}.v3-header .brand{padding:0;width:max-content}.tabs{display:flex;gap:5px;background:var(--surface);padding:5px;border:1px solid var(--line);border-radius:12px}.tab{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--muted);padding:9px 18px;border-radius:8px;font-weight:700;font-size:12px}.tab.active{background:var(--blue);color:#fff;box-shadow:0 7px 20px #5b7cff38}.tab-notification{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:#f97066;color:#fff;font-size:9px;line-height:1;font-weight:900;box-shadow:0 0 0 2px var(--surface)}.header-actions{justify-self:end;display:flex;align-items:center;gap:14px}.release-badge{font-size:9px;font-weight:800;letter-spacing:.05em;color:var(--muted);border:1px solid var(--line);padding:5px 7px;border-radius:7px}.save-status{font-size:11px;color:var(--muted)}.save-status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:5px}.save-status.pulse{color:var(--green)}
.v3-main{width:100%;flex:1}.view{display:none;padding:26px 28px 44px}.view.active{display:block}.schedule-head,.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:0 auto 18px;max-width:1700px}.schedule-head h1,.page-heading h1{font:800 25px Manrope;margin:0}.page-heading p:last-child{margin:5px 0 0;color:var(--muted);font-size:12px}.generated-meta{margin:5px 0 0;color:var(--muted);font-size:11px}.schedule-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.danger-btn{background:#f9706612;color:var(--red);border-color:#f9706638}.small{padding:8px 11px;font-size:11px}
.schedule-strip{max-width:1700px;margin:0 auto 12px;display:flex;align-items:center;gap:28px;padding:12px 17px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.schedule-strip>div:not(.legend){display:flex;align-items:baseline;gap:6px}.schedule-strip strong{font:800 16px Manrope}.schedule-strip span{font-size:10px;color:var(--muted)}.schedule-strip .legend{margin-left:auto}
.calendar-wrap{max-width:1700px;margin:auto;background:var(--surface);border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:var(--shadow)}.calendar-grid{padding:8px;gap:5px}.day{min-height:150px}.shift-zone{min-height:44px;padding:4px;border:1px dashed transparent;border-radius:7px;margin-bottom:4px;transition:.18s}.shift-zone:hover,.shift-zone.drag-over{border-color:var(--shift);background:rgba(108,124,255,.08)}.zone-label{display:flex;gap:5px;align-items:center;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}.zone-label i{width:5px;height:5px;border-radius:50%;background:var(--shift)}.empty-slot{font-size:9px;color:#637087;padding-left:10px}.assignment{display:flex;align-items:center;gap:4px;padding:3px 5px;margin:2px 0;border-radius:5px;background:rgba(108,124,255,.14);border-left:2px solid var(--person);font-size:9px;cursor:grab}.assignment:active{cursor:grabbing}.assignment-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assignment small{margin-left:auto;color:var(--muted);white-space:nowrap}.assignment b{color:var(--amber)}.avatar.mini{width:18px;height:18px;border-radius:5px;font-size:8px;flex:0 0 auto}.inline-warnings{max-width:1700px;margin:10px auto;display:flex;flex-wrap:wrap;gap:6px}.inline-warnings span{font-size:10px;color:#caa14f;background:#fdb0220d;border:1px solid #fdb02225;padding:6px 8px;border-radius:7px}.rule-count{font-size:8px;color:var(--amber);background:#fdb02214;border:1px solid #fdb02230;padding:3px 5px;border-radius:5px}.calendar-rules{display:grid;gap:2px;margin-bottom:5px}.calendar-rule{display:flex;align-items:center;gap:4px;min-width:0;padding:3px 5px;border-radius:5px;border-left:2px solid var(--person);background:rgba(108,124,255,.10);font-size:8px}.calendar-rule span{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-rule b{margin-left:auto;color:var(--amber);font-weight:600;white-space:nowrap}
.past-day:not(.today){background:#202b3e;border-color:#37445d;opacity:.78}.past-day:hover{opacity:1}.day-markers{display:flex;align-items:center;gap:4px}.holiday-label{font-size:7px;font-weight:800;letter-spacing:.06em;color:#fdb022;background:#fdb02214;border:1px solid #fdb02238;padding:2px 4px;border-radius:4px}
.calendar-layout{max-width:1700px;margin:auto;position:relative}.roster-panel{position:fixed;z-index:8;left:18px;top:180px;width:42px;min-height:142px;background:var(--surface);border:1px solid var(--line);border-radius:0 12px 12px 0;box-shadow:var(--shadow);overflow:hidden;transition:width .22s ease,border-color .22s}.roster-panel:hover,.roster-panel:focus,.roster-panel:focus-within,.roster-panel.open,.roster-panel.drag-open{width:210px;border-color:#5b7cff80}.dragging-assignment .roster-panel{box-shadow:0 0 0 3px #5b7cff28,var(--shadow)}.roster-handle{position:absolute;inset:0 auto 0 0;width:42px;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;font-weight:800;letter-spacing:.08em;color:#9baccc;background:linear-gradient(180deg,#5b7cff20,transparent);text-transform:uppercase}.roster-content{width:210px;padding:14px 12px 14px 54px;opacity:0;transform:translateX(-8px);pointer-events:none;transition:.18s}.roster-panel:hover .roster-content,.roster-panel:focus .roster-content,.roster-panel:focus-within .roster-content,.roster-panel.open .roster-content,.roster-panel.drag-open .roster-content{opacity:1;transform:none;pointer-events:auto}.roster-panel h3{font:700 14px Manrope;margin:0 0 12px}.roster-person{display:flex;align-items:center;gap:7px;padding:8px;margin:5px 0;border:1px solid var(--line);border-left:3px solid var(--person);border-radius:8px;background:var(--surface-2);font-size:10px;cursor:grab}.roster-person b{font-size:7px;margin-left:auto;color:var(--amber)}.trash-zone{margin-top:14px;border:1px dashed #f9706660;color:var(--red);padding:12px 7px;text-align:center;border-radius:9px;font-size:9px}.trash-zone.drag-over{background:#f9706618}.closed-day{opacity:.55;background:repeating-linear-gradient(135deg,var(--surface),var(--surface) 8px,var(--surface-2) 8px,var(--surface-2) 16px)}.closed-label{font-size:8px;color:var(--muted);letter-spacing:.08em}.need-row{display:flex;justify-content:space-between;padding:10px 3px;border-bottom:1px solid var(--line);font-size:11px}.need-row span{color:var(--muted)}.weekly-form{display:grid;gap:6px}.weekly-row{display:grid;grid-template-columns:110px 80px 1fr 1fr;gap:8px;align-items:center;padding:8px;border-bottom:1px solid var(--line);font-size:10px}.weekly-row label{display:flex;align-items:center;gap:5px}.weekly-row input[type=number]{width:60px;background:var(--surface-2);border:1px solid var(--line);color:var(--text);padding:6px;border-radius:7px}.toggle-label{display:flex;align-items:center;gap:8px;color:var(--text)!important}
.warning-trigger{display:flex;align-items:baseline;gap:6px;border:1px solid transparent;background:transparent;color:var(--text);border-radius:8px;padding:5px 7px}.warning-trigger:hover,.warning-trigger.active{border-color:#f9706650;background:#f9706610}.warning-trigger strong{color:var(--red)}.inline-warning{font-size:10px;color:#caa14f;background:#fdb0220d;border:1px solid #fdb02225;padding:6px 8px;border-radius:7px}.problem-badge{border:1px solid #f9706650;background:#f9706618;color:var(--red);border-radius:5px;padding:2px 4px;font-size:8px}.problem-day{border-color:var(--red)!important;animation:problemPulse 1.6s ease-in-out infinite}.solution-card{padding:13px;margin:9px 0;border:1px solid #fdb02235;background:#fdb0220b;border-radius:10px}.solution-card p{color:var(--muted);font-size:11px;margin:6px 0 0}@keyframes problemPulse{50%{box-shadow:0 0 0 4px #f9706628}}
.manage-grid{max-width:1300px;margin:auto;display:grid;grid-template-columns:1fr .7fr;gap:18px}.manage-grid .panel{padding:20px}.panel h2{font:700 17px Manrope;margin:0}.rules-panel{grid-column:1/-1}.shift-card{display:grid;grid-template-columns:8px 1fr auto;gap:11px;align-items:center;padding:14px;border-bottom:1px solid var(--line)}.shift-card>i{width:8px;height:35px;border-radius:7px;background:var(--shift)}.shift-card p{margin:3px 0 0;color:var(--muted);font-size:11px}.shift-card b{font-size:11px}.filter-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:12px}.filter-row select{background:var(--surface-2);border:1px solid var(--line);color:var(--text);padding:8px;border-radius:8px}.rule-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:11px 4px;border-bottom:1px solid var(--line)}.rule-row p{margin:3px 0 0;color:var(--muted);font-size:11px}
.panel-buttons{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.month-log-filter{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em}.month-log-filter select{min-width:150px;background:var(--surface);border:1px solid var(--line);color:var(--text);padding:8px 10px;border-radius:8px;font:inherit;letter-spacing:0}
.date-entry{display:grid;grid-template-columns:1fr auto;gap:7px;margin-bottom:6px}.date-entry input{background:var(--surface-2);border:1px solid var(--line);color:var(--text);padding:9px;border-radius:8px}
.field-help{color:var(--muted);font-size:10px;line-height:1.45}
.quiet-rule-dot{color:var(--amber);font-size:14px;line-height:1}.attention-day{animation:attentionPulse .7s ease-in-out 3!important;position:relative;z-index:3}.panel-description{color:var(--muted);font-size:11px;line-height:1.5;margin:0}.field textarea{width:100%;resize:vertical;background:var(--surface-2);border:1px solid var(--line);color:var(--text);padding:10px;border-radius:9px}.page-select{background:var(--surface);border:1px solid var(--line);color:var(--text);padding:10px 14px;border-radius:10px;min-width:200px}.employee-report-actions{display:flex;gap:7px;align-items:center}.stats-history{margin-top:18px}.overtime-badge{color:var(--red);background:#f9706615;padding:3px 5px;border-radius:5px;font-size:9px}.overtime-row{background:#f9706608}.fairness-alert{color:var(--amber);font-weight:800}.employee-shift-list{display:grid;gap:7px}.employee-shift-row{display:grid;grid-template-columns:100px 7px minmax(90px,1fr) 90px minmax(120px,1.2fr) auto;gap:10px;align-items:center;padding:11px;border-bottom:1px solid var(--line);font-size:11px}.employee-shift-row>i{width:7px;height:28px;border-radius:5px}.employee-shift-row>p{color:var(--muted);margin:0;font-style:italic}.roster-overtime{color:var(--red)!important}.tabs{max-width:100%;overflow-x:auto;scrollbar-width:none}@keyframes attentionPulse{50%{box-shadow:0 0 0 6px #fdb02255,0 0 28px #fdb02245}} 
#statsView{max-width:1300px;margin:auto}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:11px}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}th{color:var(--muted);letter-spacing:.08em;font-size:9px}footer{text-align:center;color:var(--muted);font-size:10px;padding:18px;border-top:1px solid var(--line)}
@media(max-width:900px){.v3-header{grid-template-columns:auto 1fr auto}.v3-header .brand>span:last-child{display:none}.tabs{justify-self:center}.view{padding:18px 14px 35px}.schedule-head{align-items:flex-start;gap:15px}.schedule-actions{max-width:420px}.manage-grid{grid-template-columns:1fr}.rules-panel{grid-column:auto}.schedule-strip{overflow-x:auto}.roster-panel{position:fixed;top:130px;left:5px}.calendar-wrap{overflow-x:auto}.calendar-wrap .weekdays,.calendar-wrap .calendar-grid{min-width:980px}.save-status{display:none}.employee-shift-row{grid-template-columns:85px 7px 1fr 75px auto}.employee-shift-row>p{grid-column:3/5}.employee-report-actions{flex-wrap:wrap}}
@media(max-width:600px){.v3-header{padding:0 10px;height:66px}.tab{padding:8px 10px}.brand-mark{width:34px;height:34px}.release-badge{display:none}.schedule-head{display:block}.schedule-actions{margin-top:15px;justify-content:flex-start}.schedule-actions .btn{font-size:10px;padding:8px}.schedule-strip{gap:16px}.schedule-strip .legend{display:none}.page-heading{display:block}.summary-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media print{body{background:#fff!important;color:#111!important}.v3-header,.schedule-actions,.schedule-strip,.inline-warnings,footer,.roster-panel,#dayViewPanel{display:none!important}.view{display:none!important;padding:0!important}#scheduleView{display:block!important}.schedule-head{display:block!important;margin:0 0 5mm!important}.schedule-head .eyebrow,.generated-meta{color:#444!important}.calendar-layout{display:block!important}.calendar-wrap{box-shadow:none!important;border:1px solid #bbb!important;overflow:visible!important}.calendar-wrap .weekdays,.calendar-wrap .calendar-grid{min-width:0!important}.day{min-height:31mm!important;background:#fff!important;border-color:#ccc!important;break-inside:avoid}.day.outside{background:#f7f7f7!important}.assignment{color:#111!important;background:#f3f5fb!important;border:1px solid #ccd4ea!important}.zone-label,.day-num,.assignment small,.day-weekday{color:#444!important}.holiday-label,.closed-label{color:#8a4d00!important;border-color:#d4b779!important}@page{size:landscape;margin:8mm}}
@media print{body.printing-employee #scheduleView{display:none!important}body.printing-employee #employeeView{display:block!important}body.printing-employee .employee-report-actions,body.printing-employee .edit-work-record{display:none!important}body.printing-employee .panel,body.printing-employee .summary-card{background:#fff!important;color:#111!important;box-shadow:none;border-color:#bbb}body.printing-employee .employee-shift-row{color:#111;border-color:#ccc}}
.viewer-mode #publishBtn{display:none!important}
.legal-footer{display:grid;justify-items:center;gap:5px;max-width:none;padding:20px 8vw;color:var(--muted);font-size:9px;line-height:1.5;text-align:center;border-top:1px solid var(--line)}.legal-footer strong{color:var(--text);font-size:10px}.legal-footer span{max-width:980px}.legal-footer small{opacity:.65;margin-top:3px}
.roster-person.selected{border-color:var(--blue);box-shadow:0 0 0 2px #5b7cff30;background:#5b7cff14}
.date-label{display:flex;align-items:center;gap:6px}.day-weekday{font-size:8px;font-weight:800;letter-spacing:.08em;color:var(--muted)}.today .day-weekday{color:#dfe5ff}
.account-btn{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:9px;padding:6px 10px;font-size:11px;font-weight:700;text-align:left}.account-btn i{width:7px;height:7px;border-radius:50%;background:var(--amber);flex:0 0 auto}.account-copy{display:grid;gap:1px}.account-copy small{font-size:9px;font-weight:600;color:var(--muted)}.account-btn.connected{color:var(--text);border-color:#32d58366}.account-btn.connected i{background:var(--green)}.workspace-btn,.language-btn{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:9px;padding:7px 10px;font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer}.workspace-btn::before{content:"▣";color:var(--blue);margin-right:6px}.language-btn{min-width:36px;padding-inline:8px;color:#aebcff;letter-spacing:.04em}.language-btn:hover{border-color:var(--blue);background:#5b7cff18;color:#fff}.workspace-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:14px 0}.workspace-row p{margin:4px 0 0;color:var(--muted);font-size:12px}.workspace-row.current strong::after{content:"AKTIVEN";font-size:9px;letter-spacing:.08em;color:var(--green);margin-left:8px}
/* Račun z vlogo »vpogled« ne dobi upravljalskih kontrol. Firebase pravila to dodatno prisilno varujejo v oblaku. */
.super-admin-tab{display:none}.admin-mode .super-admin-tab{display:block}.viewer-mode .roster-panel,.viewer-mode #generateBtn,.viewer-mode #resetBtn,.viewer-mode #lockBtn,.viewer-mode [data-tab="manage"],.viewer-mode [data-tab="changes"],.viewer-mode [data-tab="employee"],.viewer-mode .fairness-panel,.viewer-mode .stats-history{display:none!important}.viewer-mode .assignment{pointer-events:none}.viewer-mode #statsView .manage-card,.viewer-mode #statsView .employee-stats{display:none!important}.access-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.access-row p{margin:4px 0 0;color:var(--muted);font-size:11px}.access-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.access-controls select{background:var(--surface-2);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:8px;font-size:11px}.access-owner-badge{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:800}
.access-gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 20%,#283c7955,transparent 34%),#070b14}.access-gate[hidden]{display:none}.access-gate-card{width:min(480px,100%);text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:42px 32px;box-shadow:0 28px 90px #000a}.access-gate-card .brand-mark{display:inline-grid;margin-bottom:20px}.access-gate-card h1{font:700 27px Manrope;margin:4px 0 12px}.access-gate-card p:not(.eyebrow){color:var(--muted);line-height:1.6;margin:0 auto 24px}.access-gate-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.pending-mode .v3-shell{visibility:hidden}
.access-group{margin-top:22px}.access-group+.access-group{padding-top:22px;border-top:1px solid var(--line)}.access-group-head h3{margin:2px 0 8px;font:700 15px Manrope}.empty-state.compact{padding:13px 0;text-align:left}
.day-view-panel{max-width:1700px;margin:18px auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px}.day-view-panel[hidden]{display:none}.day-view-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.day-view-head h2{margin:2px 0;font:700 23px Manrope}.day-view-nav{display:flex;gap:8px;align-items:center}.day-shift-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.day-shift-card{border:1px solid var(--line);border-left:4px solid var(--shift);border-radius:12px;padding:17px;background:var(--surface-2)}.day-shift-card h3{margin:4px 0;font:700 19px Manrope}.day-shift-card small{color:var(--muted)}.shift-color{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--shift);margin-right:6px}.day-assignment-list{display:grid;gap:7px;margin-top:16px}.day-view-mode .calendar-layout,.day-view-mode #warnings{display:none}.day-view-mode #dayViewPanel{display:block!important}@media(max-width:700px){.day-shift-grid{grid-template-columns:1fr}.day-view-head{align-items:flex-start;gap:12px;flex-direction:column}.account-copy{max-width:150px;overflow:hidden}.account-copy span,.account-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-mode #dayViewBtn{display:inline-flex}.viewer-mode .schedule-actions{gap:7px;flex-wrap:wrap}.viewer-mode .day-view-panel{margin:12px 0;padding:15px}.viewer-mode .day-view-panel h2{font-size:20px}}
.auth-status{min-height:18px;margin:9px 0 0;font-size:12px;color:#ff8d9d}.auth-status[data-state="success"]{color:#52d99a}
.day-feed{display:grid;gap:14px}.day-feed-item{padding:16px 0 20px;border-bottom:1px solid var(--line)}.day-feed-date{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}.day-feed-date h2{margin:0;font:700 19px Manrope}.day-feed-date .eyebrow{margin:0;color:var(--muted)}.day-feed-sentinel{display:block;height:1px;pointer-events:none}@media(max-width:700px){.viewer-mode .day-feed-head{margin-bottom:10px}.viewer-mode .day-feed-item{padding:14px 0 18px}.viewer-mode .day-feed-date{display:block}.viewer-mode .day-feed-date .eyebrow{margin-bottom:3px}}
.absence-alert strong{color:var(--amber)}.absence-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 3px;border-bottom:1px solid var(--line)}.absence-row p,.absence-row small{display:block;margin:4px 0 0;color:var(--muted);font-size:11px}.personal-summary-list{display:grid;gap:8px;max-height:min(55vh,520px);overflow:auto}.personal-summary-list>div{display:grid;gap:3px;border:1px solid var(--line);background:var(--surface-2);border-radius:9px;padding:11px}.personal-summary-list span,.personal-summary-list small{color:var(--muted);font-size:11px}.personal-action[hidden]{display:none!important}@media(max-width:480px){.viewer-mode .personal-action{display:inline-flex!important}.absence-row{align-items:flex-start;flex-direction:column}}
.absence-group+.absence-group{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.absence-status{display:inline-block;border-radius:5px;padding:2px 5px;font-size:9px;line-height:1.2}.absence-status.open{color:#e9b95a;background:#fdb0221d}.absence-status.resolved{color:#52d99a;background:#32d58317}.absence-status.rejected{color:#ff9b91;background:#f9706618}.absence-row.resolved{opacity:.78}.absence-row.rejected{opacity:.8}.personal-absence-history{display:grid;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.personal-absence-history>div{display:grid;gap:3px;padding:10px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line)}.personal-absence-history span,.personal-absence-history small{color:var(--muted);font-size:11px}.personal-action #coverOfferCount:empty{display:none}.personal-action #coverOfferCount{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:#f97066;color:#fff;font-size:9px;line-height:1}

/* Mobilni dnevni pregled: barve ostanejo jasne tudi na manjšem zaslonu. */
.viewer-mode.day-view-mode .day-view-panel{background:linear-gradient(155deg,#121e37,#0d1629);border-color:#38517c;box-shadow:0 18px 38px #0004}.viewer-mode.day-view-mode .day-feed-head{padding:3px 2px 13px;border-bottom:1px solid #38517c}.viewer-mode.day-view-mode .day-feed-head h2{color:#f7f9ff;letter-spacing:-.02em}.viewer-mode.day-view-mode .day-feed-head .eyebrow{color:#9fb7f5}.viewer-mode.day-view-mode .day-feed{gap:12px}.viewer-mode.day-view-mode .day-feed-item{padding:14px;border:1px solid #2d4268;border-radius:13px;background:linear-gradient(145deg,#172440,#111c32)}.viewer-mode.day-view-mode .day-feed-date{padding-bottom:10px;border-bottom:1px solid #2d4268}.viewer-mode.day-view-mode .day-feed-date h2{color:#f5f7ff;font-size:18px}.viewer-mode.day-view-mode .day-feed-date .eyebrow{color:#a9bbdf;font-weight:800;letter-spacing:.08em}.viewer-mode.day-view-mode .day-shift-card{background:#0d172a;border-color:#31476e}.viewer-mode.day-view-mode .day-shift-card h3,.viewer-mode.day-view-mode .day-shift-card .eyebrow{color:#f4f7ff}.viewer-mode.day-view-mode .day-shift-card small{color:#b8c6df}.viewer-mode.day-view-mode .assignment{background:#1c2b4a;color:#f5f7ff;border-left-width:3px}.viewer-mode.day-view-mode .assignment small{color:#c6d2e9}.viewer-mode.day-view-mode .empty-slot{color:#aab9d2}
@media(max-width:700px){.viewer-mode.day-view-mode #exportPdf,.viewer-mode.day-view-mode #exportExcel{display:none!important}.viewer-mode.day-view-mode .personal-action,.viewer-mode.day-view-mode #dayViewBtn{display:inline-flex!important}}
@media(max-width:480px){.viewer-mode.day-view-mode .day-view-panel{padding:12px}.viewer-mode.day-view-mode .day-feed-item{padding:12px}.viewer-mode.day-view-mode .day-shift-card{padding:13px}.viewer-mode.day-view-mode .day-assignment-list{margin-top:12px}}

/* Svetli pogled in srednje široki računalniški zasloni. */
.btn.secondary{color:var(--text)}.btn.primary{color:#fff}
.btn:disabled{cursor:not-allowed;transform:none!important;filter:none!important;opacity:.7}.btn.published{background:#32a96b;border-color:#278c58;box-shadow:0 7px 18px #32d5832b}.btn.publish-dirty{box-shadow:0 0 0 3px #fdb02222,0 8px 24px #5b7cff38}

/* Svetli pogled uporablja isto hierarhijo kot temni; spreminja se le barvna paleta. */
[data-theme="light"] body{background:radial-gradient(circle at 76% -12%,#c9d8ff 0,transparent 34%),radial-gradient(circle at 12% 22%,#eef1ff 0,transparent 30%),#e8edf5}
[data-theme="light"] .v3-header{background:rgba(255,255,255,.94);box-shadow:0 8px 28px rgba(29,49,83,.08)}
[data-theme="light"] .tabs{background:#f4f7fc;border-color:#d8e1ef}
[data-theme="light"] .tab{color:#56647b}
[data-theme="light"] .tab:hover{background:#e6edff;color:#263859}
[data-theme="light"] .tab.active{background:linear-gradient(135deg,#506df5,#6f57e8);color:#fff;box-shadow:0 7px 20px #506df536}
[data-theme="light"] .release-badge,[data-theme="light"] .workspace-btn,[data-theme="light"] .language-btn,[data-theme="light"] .account-btn,[data-theme="light"] .icon-btn{background:#fff;border-color:#d6e0ee;color:#33425b}
[data-theme="light"] .language-btn:hover{background:#eaf0ff;border-color:#8ca2f7;color:#344dbd}
[data-theme="light"] .account-btn.connected{border-color:#2aaf70;color:#1d3b30}
[data-theme="light"] .calendar-wrap,[data-theme="light"] .panel,[data-theme="light"] .day-view-panel,[data-theme="light"] .schedule-strip{box-shadow:0 12px 32px rgba(29,49,83,.07)}
[data-theme="light"] .weekdays{background:#f8faff}
[data-theme="light"] .weekdays span{color:#667895}
[data-theme="light"] .day{background:#fff;border-color:#d9e2ef}
[data-theme="light"] .day:hover{background:#f7f9fe;border-color:#95ace1}
[data-theme="light"] .day.outside{background:#edf2f8;opacity:.78}
[data-theme="light"] .past-day:not(.today){background:#eef3f9;border-color:#d6e0ec;opacity:1}
[data-theme="light"] .past-day:hover{background:#e7eef8}
[data-theme="light"] .day.today{background:#eef2ff;border-color:#6881f5;box-shadow:inset 0 0 0 1px #6881f5}
[data-theme="light"] .day-num{color:#42516a}
[data-theme="light"] .today .day-num{background:#526df4;color:#fff}
[data-theme="light"] .shift-zone:hover,[data-theme="light"] .shift-zone.drag-over{background:#eaf0ff}

/* Partial schedule locks: a manager can freeze one shift while continuing to work on the rest. */
.shift-zone.shift-locked{border-color:color-mix(in srgb,var(--shift) 58%,var(--line));background:color-mix(in srgb,var(--shift) 10%,transparent)}
.shift-zone.shift-locked .zone-label{color:var(--text)}
.shift-zone.shift-locked .assignment{cursor:not-allowed;opacity:.78}
.shift-lock{margin-left:auto;border:1px solid color-mix(in srgb,var(--shift) 55%,var(--line));background:color-mix(in srgb,var(--shift) 13%,var(--surface));color:var(--text);border-radius:5px;padding:2px 5px;font:700 7px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.shift-lock:hover{background:color-mix(in srgb,var(--shift) 25%,var(--surface))}
[data-theme="light"] .shift-zone.shift-locked{background:color-mix(in srgb,var(--shift) 13%,#fff)}
[data-theme="light"] .assignment{background:#e9efff;color:#1c2b45}
[data-theme="light"] .assignment small,[data-theme="light"] .empty-slot,[data-theme="light"] .zone-label{color:#66748b}
[data-theme="light"] .calendar-rule{background:#edf2ff;color:#30415d}
[data-theme="light"] .roster-panel{background:#fff;border-color:#d6e0ee;box-shadow:0 14px 34px rgba(29,49,83,.16)}
[data-theme="light"] .roster-handle{color:#526787;background:linear-gradient(180deg,#e7edff,transparent)}
[data-theme="light"] .roster-person{background:#f7f9fc;border-color:#d9e2ef;color:#26344b}
[data-theme="light"] .field input,[data-theme="light"] .field select,[data-theme="light"] .field textarea,[data-theme="light"] .page-select,[data-theme="light"] .access-controls select,[data-theme="light"] .filter-row select{background:#fff;color:#26344b;border-color:#cfdaea}
[data-theme="light"] .modal-backdrop{background:#24334a73}
[data-theme="light"] .modal{background:#fff;border-color:#d4deeb;box-shadow:0 30px 90px #34425d40}
[data-theme="light"] .access-gate{background:radial-gradient(circle at 50% 20%,#cfdcff,transparent 34%),#eaf0f8}
[data-theme="light"] .access-gate-card{background:#fff;border-color:#d5dfed;box-shadow:0 26px 70px #34425d2b}
[data-theme="light"] .day-shift-card,[data-theme="light"] .personal-summary-list>div,[data-theme="light"] .personal-absence-history>div{background:#f7f9fc;border-color:#d9e2ef}
[data-theme="light"] .summary-card{background:linear-gradient(145deg,#f9fbff,#e6edf8);border-color:#cfdaea;box-shadow:0 14px 28px rgba(46,66,101,.10)}
[data-theme="light"] .summary-card strong{color:#14213a}
[data-theme="light"] .summary-card small{color:#52627d}
[data-theme="light"] .summary-card p{color:#6c7890}
[data-theme="light"] .stats-total-card{background:linear-gradient(120deg,#dfe7ff,#edf0ff 54%,#e6f4ff);border-color:#aabcf8;box-shadow:0 12px 28px rgba(67,89,142,.11)}
[data-theme="light"] .stats-total-card strong{color:#1c2d5d}
[data-theme="light"] .stats-total-card p,[data-theme="light"] .stats-total-card .eyebrow{color:#536684}
[data-theme="light"] .health-card{background:linear-gradient(145deg,#f8faff,#e6edf8);border-color:#cfdaea}
[data-theme="light"] .calendar-card,[data-theme="light"] .panel{background:linear-gradient(160deg,#fff,#f2f6fc)}
[data-theme="light"] .schedule-strip{background:linear-gradient(100deg,#f9fbff,#edf2fb)}
[data-theme="light"] .toast{background:#fff;color:#24334b;border-color:#ced9e9;box-shadow:0 18px 40px #34425d2c}
[data-theme="light"] .warning-trigger{color:#3c4b62}
[data-theme="light"] .warning-trigger:hover,[data-theme="light"] .warning-trigger.active{background:#fff4e2;border-color:#e5a747}
[data-theme="light"] .inline-warnings span,[data-theme="light"] .warning-item{color:#76510f;background:#fff8e9;border-color:#ebc679}
[data-theme="light"] .holiday-label{color:#7c520b;background:#fff5dc;border-color:#e8c26e}
[data-theme="light"] .legal-footer{background:#edf2f8}
[data-theme="light"] .btn.published{color:#fff;background:#24935b;border-color:#1e7d4d}
[data-theme="light"] .btn:disabled{opacity:.8}
@media(max-width:1280px) and (min-width:901px){.v3-header{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:0 14px}.v3-header .brand>span:last-child{display:none}.tabs{min-width:0;overflow-x:auto;justify-self:stretch}.tab{padding:8px 11px;font-size:11px;white-space:nowrap}.header-actions{gap:8px}.release-badge,.save-status{display:none}.account-copy{max-width:185px;overflow:hidden}.account-copy span,.account-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-head{gap:18px}.schedule-actions{max-width:600px}}
.workspace-row.archived{opacity:.62}.workspace-row.archived strong::after{content:"ARHIVIRANO";font-size:9px;letter-spacing:.08em;color:var(--amber);margin-left:8px}.assignment.pending-confirmation{outline:1px dashed var(--amber);background:#fdb02218!important}.pending-confirmation-label{font-size:8px;color:var(--amber);margin-left:auto;letter-spacing:.05em}

/* PlanSpex visual language — shared with the public site. Functional states stay unchanged. */
:root{--bg:#090e1d;--surface:#101a31;--surface-2:#17213c;--line:#2c3856;--text:#f7f8ff;--muted:#a0abc1;--blue:#5d6cf6;--violet:#9171f6;--shadow:0 22px 62px rgba(1,7,24,.36)}
body{font-family:Manrope,system-ui,sans-serif;background:radial-gradient(850px 460px at 88% -8%,#27345f55,transparent 65%),radial-gradient(700px 430px at 1% 32%,#6a54c21f,transparent 70%),var(--bg)}
.v3-header{height:82px;background:rgba(9,14,29,.9);border-color:#2a3653;box-shadow:0 10px 34px rgba(1,7,24,.25)}
.brand-mark{background:linear-gradient(145deg,#6578ff,#8b65ed);box-shadow:0 12px 26px #6173ff55;font-family:"DM Mono",monospace;font-size:12px}
.brand-mark{overflow:hidden;padding:0;background:#0d1730;border:1px solid #6173ff55}
.brand-mark img{display:block;width:100%;height:100%;object-fit:cover}
.access-gate-card .brand-mark{width:52px;height:52px;border-radius:16px}
.subscription-panel{grid-column:1/-1}
.subscription-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.subscription-summary>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.subscription-summary small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.subscription-summary strong{display:block;margin-top:5px;font-size:15px}
.subscription-summary .trial{color:#a98cff}.subscription-summary .active{color:var(--green)}
@media(max-width:650px){.subscription-summary{grid-template-columns:1fr}.brand-mark img{object-fit:cover}}
.brand strong{font-size:17px;letter-spacing:-.03em}.brand small{font-family:"DM Mono",monospace;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#aeb8d3}
.tabs{padding:5px;background:#111a31cc;border-color:#2a3653;border-radius:15px;box-shadow:inset 0 1px #ffffff09}.tab{border-radius:10px;font-size:11px;padding:10px 17px}.tab.active{background:linear-gradient(135deg,#5f72fa,#8067ef);box-shadow:0 8px 22px #5c70f055}.tab-notification{box-shadow:0 0 0 2px #111a31}
.view{padding-top:32px}.schedule-head,.page-heading{margin-bottom:23px}.schedule-head h1,.page-heading h1{font-family:"Playfair Display",Georgia,serif;font-size:29px;letter-spacing:-.04em}.eyebrow{font-family:"DM Mono",monospace;letter-spacing:.12em;font-size:9px;color:#91a3c9}
.schedule-strip,.calendar-wrap,.panel,.day-view-panel{border-color:#2d3a59;background:linear-gradient(145deg,rgba(20,30,54,.96),rgba(13,21,39,.96));box-shadow:0 18px 46px rgba(1,8,27,.24)}
.schedule-strip{border-radius:18px}.calendar-wrap,.panel,.day-view-panel{border-radius:18px}.weekdays{background:#10192f}.day{background:linear-gradient(145deg,#18233e,#141e35);border-color:#2e3b59}.day.outside{background:#10182c}.day.today{box-shadow:inset 0 0 0 1px #6e7fff,0 0 0 1px #6173ff35}.assignment{background:#24335d;border-radius:7px}.assignment:hover{background:#2b3c6f}.btn{border-radius:11px}.btn.secondary{background:#131d35;border-color:#31405f}.btn.primary{background:linear-gradient(135deg,#6074fb,#8369ee);box-shadow:0 10px 25px #5f72f047}.btn.published{background:linear-gradient(135deg,#218b61,#34b97b)}
.summary-card,.stats-total-card,.health-card{background:linear-gradient(145deg,#17223d,#121b31);border-color:#2d3a59}.modal,.access-gate-card{border-color:#2d3a59;background:linear-gradient(145deg,#162139,#101a30)}.access-gate{background:radial-gradient(circle at 50% 16%,#6376fa3b,transparent 32%),var(--bg)}
[data-theme="light"]{--bg:#f3f4f8;--surface:#fff;--surface-2:#f6f7fb;--line:#dce1ec;--text:#17213a;--muted:#63708b;--blue:#5a67ed;--violet:#8064ec;--shadow:0 18px 45px rgba(36,48,77,.1)}
[data-theme="light"] body{background:radial-gradient(800px 450px at 90% -8%,#cfd7ff77,transparent 64%),#f3f4f8}[data-theme="light"] .v3-header{background:#fafbffed;border-color:#dce2ef}[data-theme="light"] .tabs{background:#eef1f8;border-color:#dce2ef}[data-theme="light"] .schedule-strip,[data-theme="light"] .calendar-wrap,[data-theme="light"] .panel,[data-theme="light"] .day-view-panel{background:linear-gradient(145deg,#fff,#f8f9fc);border-color:#dce2ef}[data-theme="light"] .weekdays{background:#f5f7fc}[data-theme="light"] .day{background:linear-gradient(145deg,#fff,#f5f7fc);border-color:#dfe5ef}[data-theme="light"] .day.outside{background:#f5f6f9}[data-theme="light"] .assignment{background:#e2e8ff;color:#213057}[data-theme="light"] .modal,[data-theme="light"] .access-gate-card{background:linear-gradient(145deg,#fff,#f7f8fc)}
