:root{color-scheme:dark;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{min-height:100%;margin:0}:root{--bg: #0d1117;--panel: #161b22;--panel-soft: #1d2430;--border: rgba(255, 255, 255, .08);--text: #f3f1ea;--muted: #9da8b8;--accent: #d6ff72;--office: #6ecb8b;--mobile: #7ab8ff;--business-trip: #d39cff;--vacation: #ffba6a}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,rgba(122,184,255,.12),transparent 28%),radial-gradient(circle at top right,rgba(214,255,114,.08),transparent 24%),var(--bg);color:var(--text)}button,input,select{font:inherit}.planner-shell{min-height:100vh;padding:28px;font-family:Segoe UI Variable Text,Segoe UI,sans-serif}.planner-topbar,.workspace-panel,.sidebar-panel,.day-card,.roster-card{background:linear-gradient(180deg,#ffffff08,#ffffff04);border:1px solid var(--border);border-radius:24px}.planner-topbar{padding:28px;display:flex;justify-content:space-between;gap:24px;margin-bottom:24px;align-items:center}.planner-topbar h1,.workspace-toolbar h2,.section-heading h3{margin:0;font-family:Segoe UI Variable Display,Segoe UI,sans-serif}.eyebrow,.toolbar-label{margin:0 0 6px;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--muted)}.subcopy{margin:6px 0 0;color:var(--muted);max-width:62ch}.brand-block{display:flex;align-items:center}.brand-lockup{display:flex;align-items:center;gap:18px}.brand-logo{width:54px;height:54px;object-fit:contain;flex-shrink:0}.topbar-actions{display:flex;align-items:flex-start;gap:12px}.topbar-nav-stack{display:grid;gap:8px}.account-badge,.ghost-button,.primary-button,.team-filter-group button,.entry-item{border-radius:999px}.account-badge{padding:12px 16px;background:#ffffff0a;border:1px solid var(--border);display:grid;gap:4px;min-width:180px}.account-badge span{color:var(--muted)}.planner-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(320px,.95fr);gap:24px;align-items:start}.planner-main,.planner-sidebar,.status-stack,.team-roster-grid,.entry-list{display:grid;gap:20px}.admin-page{display:grid;gap:24px}.planner-main,.planner-sidebar,.workspace-panel,.sidebar-panel,.weekly-print-panel{min-width:0}.workspace-panel,.sidebar-panel{padding:22px}.workspace-toolbar,.section-heading,.roster-card-header,.status-section header,.day-card-top,.action-row{display:flex;justify-content:space-between;gap:12px}.workspace-toolbar,.section-heading{align-items:center;margin-bottom:18px}.month-nav{display:flex;align-items:center;gap:8px}.team-filter-group{display:flex;gap:8px;flex-wrap:wrap}.team-filter-group button,.ghost-button,.primary-button{border:1px solid var(--border);background:transparent;color:var(--text);padding:10px 16px;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.ghost-button:disabled{cursor:not-allowed;opacity:.4}.ghost-button.compact{padding:8px 12px}.team-filter-group .active,.primary-button{background:var(--accent);color:#0d1117;border-color:transparent;font-weight:700}.ghost-button.danger{color:#ff938f}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.calendar-weekdays span{text-align:center;color:var(--muted);font-size:.85rem}.day-card{text-align:left;padding:16px;min-height:170px;cursor:pointer;color:inherit}.day-card.outside-month{opacity:.45}.day-card.today{border-color:#d6ff7299}.day-card.holiday{border-color:#ef4444bf}.day-card.salary-day{background:linear-gradient(180deg,#ffd35c29,#ffffff04);border-color:#ffd35cb8}.day-card.meal-ticket-day{background:linear-gradient(180deg,#ffba6a14,#ffffff04)}.day-card.selected{transform:translateY(-2px);box-shadow:0 18px 50px #00000038}.day-card-number{display:block;font-size:1.35rem;font-weight:700}.day-card-weekday,.holiday-badge,.payment-badge,.form-hint,.status-empty,.roster-card p{color:var(--muted)}.day-badge-stack{display:grid;justify-items:end;gap:5px;min-width:0}.holiday-badge{max-width:90px;text-align:right;font-size:.72rem}.payment-badge{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;font-size:1rem}.payment-badge.salary{background:#ffd35c38;color:#ffd35c;box-shadow:0 0 0 1px #ffd35c61}.payment-badge.meal{background:color-mix(in srgb,var(--vacation) 18%,transparent);color:var(--vacation)}.summary-row,.entry-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;margin-top:10px;border-radius:16px;background:#ffffff08}.office{border-left:3px solid var(--office)}.table-status.office{background:color-mix(in srgb,var(--office) 22%,transparent);border:1px solid color-mix(in srgb,var(--office) 60%,transparent)}.mobile-work{border-left:3px solid var(--mobile)}.table-status.mobile-work{background:color-mix(in srgb,var(--mobile) 22%,transparent);border:1px solid color-mix(in srgb,var(--mobile) 60%,transparent)}.business-trip{border-left:3px solid var(--business-trip)}.table-status.business-trip{background:color-mix(in srgb,var(--business-trip) 22%,transparent);border:1px solid color-mix(in srgb,var(--business-trip) 60%,transparent)}.vacation{border-left:3px solid var(--vacation)}.table-status.vacation{background:color-mix(in srgb,var(--vacation) 22%,transparent);border:1px solid color-mix(in srgb,var(--vacation) 60%,transparent)}.out{border-left:3px solid #6b7280}.table-status.out{background:#6b728033;border:1px solid rgba(107,114,128,.5)}.selection-meta{color:var(--muted)}.status-section{padding:16px;border-radius:20px;background:var(--panel-soft)}.status-heading{display:inline-flex;align-items:center;gap:8px}.member-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.member-pill{padding:8px 12px;border-radius:999px;background:#ffffff0f}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:grid;gap:8px}.form-grid span{color:var(--muted);font-size:.85rem}.form-grid input,.form-grid select{padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:#0f141b;color:var(--text)}.form-hint{margin:14px 0 0}.action-row{margin-top:18px;flex-wrap:wrap}.period-toolbar{display:grid;gap:14px;margin-bottom:18px}.period-toggle{display:flex;gap:8px;flex-wrap:wrap}.period-toggle button{border:1px solid var(--border);background:transparent;color:var(--text);padding:10px 16px;border-radius:999px;cursor:pointer}.period-toggle .active{background:var(--accent);color:#0d1117;border-color:transparent;font-weight:700}.period-range-inputs{display:flex;gap:12px;flex-wrap:wrap}.period-range-inputs label{display:grid;gap:8px}.period-range-inputs span{color:var(--muted);font-size:.85rem}.period-range-inputs input{padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:#0f141b;color:var(--text)}.roster-card{padding:16px}.team-label{font-weight:700}.entry-item{width:100%;border:1px solid var(--border);background:#ffffff05;color:inherit;cursor:pointer}.entry-item strong{text-align:right}.entry-status{color:var(--muted)}.oncall-card{display:grid;gap:6px;padding:18px;border-radius:20px;background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 36%,transparent)}.oncall-card strong{font-size:1.35rem}.oncall-card span,.oncall-next-item time,.oncall-next-label{color:var(--muted)}.oncall-next-list{display:grid;gap:10px;margin-top:14px}.oncall-next-item{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;background:#ffffff08}.oncall-next-item.highlighted{border:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.oncall-next-item div{display:grid;gap:3px}.oncall-next-label,.oncall-next-item time{font-size:.85rem}.oncall-next-item time{text-align:right}.print-table-wrap{overflow-x:auto;overflow-y:hidden;max-width:100%;border-radius:18px}.weekly-table{width:100%;border-collapse:collapse;min-width:max-content}.weekly-table th,.weekly-table td{padding:12px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.weekly-table thead th{color:var(--muted);font-weight:500}.weekly-table thead th strong{display:block;color:var(--text);font-size:.95rem;margin-top:2px}.weekly-table tbody th{min-width:180px;font-weight:700}.weekly-table thead th:first-child,.weekly-table tbody th{position:sticky;left:0;z-index:1;background:var(--panel)}.weekly-table thead th:first-child{z-index:2}.table-status{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;white-space:nowrap}.admin-card{min-height:60vh}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.admin-tabs button{border:1px solid var(--border);background:transparent;color:var(--text);padding:10px 16px;border-radius:999px;cursor:pointer}.admin-tabs button.active{background:var(--accent);color:#0d1117;border-color:transparent;font-weight:700}.admin-section{margin-top:30px;padding-top:24px;border-top:1px solid var(--border)}.admin-login-card{max-width:560px}.login-error{color:#ff938f;margin:14px 0 0}.save-success{color:var(--accent);margin:14px 0 0}.checklist-table{display:grid;gap:10px}.checklist-header,.checklist-row{display:grid;grid-template-columns:minmax(360px,1fr) 76px 76px minmax(150px,.45fr);gap:12px;align-items:center}.checklist-header{padding:0 4px;color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.checklist-row{padding:12px;border-radius:18px;background:#ffffff08;border:1px solid var(--border)}.checklist-choice{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.checklist-choice input{width:18px;height:18px;accent-color:var(--accent)}.checklist-row textarea{min-height:38px;max-height:92px;resize:vertical;padding:8px 10px;border-radius:12px;border:1px solid var(--border);background:#0f141b;color:var(--text);font:inherit}.checklist-row textarea:disabled{opacity:.55;resize:none}.checklist-history{display:grid;gap:10px}.checklist-history-item{display:grid;grid-template-columns:minmax(150px,.22fr) minmax(0,1fr);gap:16px;padding:12px 14px;border-radius:16px;background:#ffffff08;border:1px solid var(--border)}.checklist-history-item div:first-child,.checklist-history-statuses{display:grid;gap:8px}.checklist-history-detail{display:grid;gap:3px}.checklist-history-detail p{margin:0;color:var(--text);line-height:1.35;overflow-wrap:anywhere}.checklist-history-item span{color:var(--muted)}.danger-status{color:#ff938f!important}.admin-user-list{display:grid;gap:12px}.admin-user-header,.checklist-item-admin-header{display:grid;gap:10px;padding:0 4px;color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.admin-user-header{grid-template-columns:1fr 1fr 1fr minmax(92px,auto) auto}.admin-user-row{display:grid;grid-template-columns:1fr 1fr 1fr minmax(92px,auto) auto;gap:10px;align-items:center}.checklist-item-admin-list{display:grid;gap:12px}.checklist-item-admin-header{grid-template-columns:minmax(150px,.45fr) minmax(240px,1fr) auto}.checklist-item-admin-row{display:grid;grid-template-columns:minmax(150px,.45fr) minmax(240px,1fr) auto;gap:10px;align-items:center}.admin-user-row input:not([type=checkbox]),.checklist-item-admin-row input{padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:#0f141b;color:var(--text)}.admin-checkbox-field{display:inline-flex;align-items:center;gap:8px;color:var(--muted);min-height:44px}.admin-checkbox-field input{width:18px;height:18px;accent-color:var(--accent)}.oncall-start-grid{max-width:720px}.salary-date-grid{display:grid;gap:12px;margin-top:16px}.payment-date-grid-header,.payment-date-grid-row{display:grid;grid-template-columns:minmax(140px,.5fr) minmax(170px,1fr) minmax(170px,1fr);gap:12px;align-items:center}.payment-date-grid-header{padding:0 4px;color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.payment-date-grid-row{padding:12px;border-radius:18px;background:#ffffff08;border:1px solid var(--border)}.payment-date-grid-row>span{font-weight:700}.payment-date-grid-row label{display:grid;gap:8px}.payment-date-grid-row label span{color:var(--muted);font-size:.85rem}.payment-date-grid-row input{padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:#0f141b;color:var(--text)}.oncall-admin-list{display:grid;gap:10px;margin-top:16px}.oncall-admin-row{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:18px;background:#ffffff08;border:1px solid var(--border)}.oncall-position{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:999px;background:#ffffff12;color:var(--accent);font-weight:700}.oncall-row-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.modal-overlay{position:fixed;inset:0;background:#070a0fb8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:24px;z-index:1200}.holiday-modal{width:min(1100px,100%);max-height:min(86vh,820px);overflow:auto;padding:22px;border-radius:28px;background:linear-gradient(180deg,#1d2430fa,#0d1117fa);border:1px solid var(--border);box-shadow:0 28px 80px #00000073}.holiday-modal-header,.holiday-modal-item{display:flex;justify-content:space-between;gap:16px}.holiday-modal-header{align-items:start;margin-bottom:18px}.holiday-modal-actions,.holiday-year-nav{display:flex;align-items:center;gap:10px}.holiday-modal-actions{flex-wrap:wrap;justify-content:flex-end}.holiday-year-nav{padding:4px 8px;border-radius:999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.holiday-year-nav strong{min-width:4ch;text-align:center}.holiday-modal-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.holiday-modal-item{align-items:start;padding:12px 14px;border-radius:16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.holiday-modal-item strong,.holiday-modal-item span,.holiday-modal-item time{display:block}.holiday-modal-item span{margin-top:3px;color:var(--muted);font-size:.82rem}.holiday-modal-item time{color:var(--accent);font-weight:600;text-align:right;white-space:normal;font-size:.84rem;max-width:120px;line-height:1.35}@media(max-width:1180px){.planner-layout{grid-template-columns:1fr}}@media(max-width:820px){.planner-shell{padding:18px}.planner-topbar,.workspace-toolbar,.section-heading{flex-direction:column;align-items:stretch}.topbar-actions,.form-grid,.calendar-weekdays,.calendar-grid{grid-template-columns:1fr}.topbar-actions{flex-wrap:wrap}.admin-user-row{grid-template-columns:1fr}.payment-date-grid-header{display:none}.payment-date-grid-row,.checklist-item-admin-row{grid-template-columns:1fr}.checklist-header{display:none}.checklist-row,.checklist-history-item{grid-template-columns:1fr}.checklist-history-item{display:grid}.oncall-admin-row{grid-template-columns:1fr}.oncall-row-actions,.oncall-next-item{justify-content:flex-start}.oncall-next-item{flex-direction:column}.oncall-next-item time{text-align:left}.admin-user-header,.checklist-item-admin-header,.calendar-weekdays{display:none}.calendar-grid{display:grid;grid-template-columns:1fr}.holiday-modal-header,.holiday-modal-item{flex-direction:column}.holiday-modal-actions{justify-content:flex-start}.holiday-modal-item time{text-align:left}}@media print{@page{size:landscape;margin:12mm}:root{--bg: #ffffff;--panel: #ffffff;--panel-soft: #ffffff;--border: rgba(15, 20, 27, .14);--text: #111827;--muted: #5b6472}body{background:#fff;color:var(--text)}.planner-shell{padding:0;color:var(--text)}.planner-layout{display:block}.topbar-actions,.workspace-panel:not(.weekly-print-panel),.planner-sidebar,.print-button,.period-toolbar{display:none!important}.planner-topbar,.weekly-print-panel{background:#fff;border:none;border-radius:0;box-shadow:none;margin:0 0 18px;padding:0}.brand-logo{width:42px;height:42px}.weekly-table th,.weekly-table td{border-color:#0f141b24;padding:8px 6px}.table-status{color:var(--text);-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:.78rem;padding:5px 7px}.print-table-wrap{overflow:visible;max-width:none}.weekly-table{min-width:0;width:100%}.weekly-table thead th:first-child,.weekly-table tbody th{position:static;background:#fff}.weekly-table thead th,.weekly-table td,.weekly-table tbody th{font-size:.82rem}.weekly-table tbody th{min-width:120px}.weekly-table thead th strong{font-size:.82rem}}
