:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color-scheme:dark;--bg: #08111f;--panel: #101b2d;--card: #132137;--text: #edf5ff;--muted: #94a3b8;--accent: #38bdf8;--border: rgba(148, 163, 184, .18);--danger: #fb7185;--ok: #34d399}html[data-theme=light]{color-scheme:light;--bg: #eef4fb;--panel: #ffffff;--card: #f8fafc;--text: #0f172a;--muted: #64748b;--accent: #0369a1;--border: rgba(15, 23, 42, .12);--danger: #be123c;--ok: #047857}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,rgba(56,189,248,.18),transparent 32rem),var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin:.2rem 0}textarea{min-height:96px;resize:vertical}.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(440px,100%);background:linear-gradient(180deg,rgba(255,255,255,.06),transparent),var(--panel);border:1px solid var(--border);border-radius:28px;padding:2rem;box-shadow:0 24px 70px #00000047}.brand{display:flex;align-items:center;gap:.85rem}.brand.big{margin-bottom:2rem}.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--accent),#818cf8);display:grid;place-items:center;color:#00101f;font-weight:900}.brand span,.topbar p,.panel p,.stat-card small,.gantt-label span,.list-row span,.upload-box span{display:block;color:var(--muted);font-size:.85rem}label{display:grid;gap:.45rem;margin:.75rem 0;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:14px;padding:.85rem 1rem;outline:none}input[type=color]{height:48px;padding:.25rem}.checkbox{display:flex;align-items:center;gap:.6rem}.checkbox input{width:auto}.primary,.logout,.icon,.ghost,.sidebar nav button{border-radius:14px;cursor:pointer}.primary{width:100%;padding:.95rem 1rem;background:var(--accent);color:#00101f;border:0;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.primary.small{width:auto;padding:.75rem 1rem}.ghost{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:transparent;border:1px solid var(--border);color:var(--text);padding:.55rem .8rem}.error,.toast{border:1px solid rgba(251,113,133,.4);background:#fb71851f;color:var(--danger);border-radius:14px;padding:.75rem;margin-bottom:1rem}.toast{border-color:#34d39959;background:#34d3991f;color:var(--ok)}.toast.inline{margin-bottom:0}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.sidebar{background:#08111fc7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-right:1px solid var(--border);padding:1.25rem;position:sticky;top:0;height:100vh}html[data-theme=light] .sidebar{background:#ffffffd1}.sidebar nav{display:grid;gap:.4rem;margin-top:2rem}.sidebar nav button{display:flex;gap:.75rem;align-items:center;color:var(--muted);padding:.9rem 1rem;border:0;background:transparent;text-align:left}.sidebar nav button.active,.sidebar nav button:hover{background:#38bdf824;color:var(--text)}main{padding:1.25rem;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem}.top-actions,.action-row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.action-row{justify-content:space-between}.icon,.logout{display:inline-flex;align-items:center;gap:.45rem;background:var(--panel);border:1px solid var(--border);color:var(--text);padding:.75rem}.mobile{display:none}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.cards.single{grid-template-columns:1fr}.stat-card,.panel,.task-card,.modal{background:linear-gradient(180deg,rgba(255,255,255,.05),transparent),var(--panel);border:1px solid var(--border);border-radius:24px}.stat-card{padding:1.1rem}.stat-card span,.info span{color:var(--muted);font-size:.9rem}.stat-card strong{display:block;font-size:2rem;margin:.35rem 0}.panel{padding:1.1rem;min-height:320px}.panel.compact{min-height:auto}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.page-stack{display:grid;gap:1rem}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.grid-2.wide-left{grid-template-columns:1.4fr 1fr}.mt{margin-top:1rem}.mt-small{margin-top:.75rem}.gantt{display:grid;gap:.85rem;overflow-x:auto;padding-bottom:1rem}.gantt-row{display:grid;grid-template-columns:210px minmax(420px,1fr);gap:1rem;align-items:center}.gantt-label strong{display:block}.gantt-track{height:42px;border:1px solid var(--border);background:var(--card);border-radius:999px;position:relative;overflow:hidden}.gantt-bar{position:absolute;top:6px;bottom:6px;border-radius:999px;background:linear-gradient(90deg,var(--accent),#818cf8);min-width:70px;display:flex;align-items:center;justify-content:flex-end;padding-right:.75rem;color:#00101f;font-weight:800;font-size:.8rem}.empty{color:var(--muted);border:1px dashed var(--border);border-radius:18px;padding:2rem;text-align:center}.table-list{display:grid;gap:.75rem}.list-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:.75rem;text-align:left;border:1px solid var(--border);border-radius:18px;padding:.85rem;background:var(--card);color:var(--text)}.list-row:hover,.list-row.selected{outline:2px solid rgba(56,189,248,.35)}.row-main{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;width:100%;padding:0;background:transparent;border:0;color:inherit;text-align:left}.row-action{justify-self:end}.badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:#38bdf81f;color:var(--text);border-radius:999px;padding:.35rem .65rem;white-space:nowrap;font-size:.82rem}.detail-grid,.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.detail-grid.mini{grid-template-columns:repeat(4,minmax(0,1fr))}.info{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:.8rem;min-width:0;overflow:hidden}.info strong{display:block;overflow:hidden;text-overflow:ellipsis}.description{margin:1rem 0;color:var(--muted)}.progress{height:12px;border-radius:999px;background:var(--card);overflow:hidden;border:1px solid var(--border)}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#818cf8)}.task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.task-card{padding:1rem;display:grid;gap:.75rem}.role-grid{display:flex;flex-wrap:wrap;gap:.75rem}.upload-box{display:grid;place-items:center;text-align:center;gap:.5rem;border:1px dashed var(--border);background:var(--card);border-radius:18px;padding:1.5rem;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.form-grid.one{grid-template-columns:1fr}.full{grid-column:1 / -1}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000094;display:grid;place-items:center;padding:1rem}.modal{width:min(760px,100%);max-height:90vh;overflow:auto;padding:1.25rem;box-shadow:0 24px 80px #00000073}@media (max-width: 1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-2.wide-left,.task-grid{grid-template-columns:1fr}}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:280px;transform:translate(-105%);transition:.2s}.sidebar.open{transform:translate(0)}.mobile{display:inline-flex}.cards{display:flex;overflow-x:auto}.stat-card{min-width:210px}.topbar{align-items:flex-start}.logout{font-size:0}.gantt-row{grid-template-columns:1fr}.gantt-label{padding-left:.25rem}.list-row,.form-grid,.detail-grid,.detail-grid.mini,.settings-grid{grid-template-columns:1fr}}.timesheet-table{width:100%;overflow-x:auto;display:grid;gap:.65rem}.timesheet-header,.timesheet-row{min-width:1280px;display:grid;grid-template-columns:130px 95px 135px 110px 210px 90px minmax(220px,1fr) 130px 70px 70px 70px 70px 190px;gap:.55rem;align-items:center}.timesheet-header{color:var(--muted);font-size:.78rem;padding:0 .75rem;text-transform:uppercase;letter-spacing:.04em}.timesheet-row{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:.75rem}.timesheet-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timesheet-table.weekly .timesheet-header,.timesheet-table.weekly .timesheet-row{min-width:960px;grid-template-columns:minmax(180px,1fr) 120px 80px 160px 80px 80px 80px 80px 300px}.row-actions{display:flex;gap:.45rem;justify-content:flex-end;flex-wrap:wrap}.ghost.danger{border-color:#fb718559;color:var(--danger)}.week-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0}.week-tabs button{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:18px;padding:1rem;text-align:left;font-weight:800}.week-tabs button.active{outline:2px solid rgba(56,189,248,.45);background:#38bdf824}.week-tabs button span{display:block;color:var(--muted);font-weight:500;margin-top:.25rem}.notification-panel{border-color:#38bdf847}.notification-row{grid-template-columns:1fr}.week-entry-row{grid-template-columns:minmax(0,1fr) auto auto auto}.timesheet-form{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 900px){.timesheet-form{grid-template-columns:1fr}.timesheet-header,.timesheet-row{min-width:1120px;grid-template-columns:110px 90px 110px 100px 180px 80px 200px 120px 60px 60px 60px 60px 170px}.timesheet-table.weekly .timesheet-header,.timesheet-table.weekly .timesheet-row{min-width:900px;grid-template-columns:150px 105px 70px 130px 65px 65px 65px 65px 280px}.week-tabs{display:flex;overflow-x:auto}.week-tabs button{min-width:140px}.week-entry-row{grid-template-columns:1fr}}.sidebar{display:flex;flex-direction:column}.sidebar nav{flex:1}.version-badge{margin-top:auto;color:var(--muted);border-top:1px solid var(--border);padding-top:1rem;font-size:.82rem}.icon{transition:transform .3s ease,background-color .3s ease,border-color .3s ease}.icon:hover{transform:translateY(-1px);background:#38bdf824;border-color:#38bdf861}.notification-icon{position:relative}.notification-dot{position:absolute;top:7px;right:7px;width:9px;height:9px;border-radius:999px;background:var(--danger);border:2px solid var(--panel)}.scheduler-form{grid-template-columns:repeat(3,minmax(0,1fr))}.scheduler-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.scheduler-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.schedule-card{background:var(--card);border:1px solid var(--border);border-radius:22px;padding:1rem;display:grid;gap:.85rem}button:disabled{opacity:.55;cursor:not-allowed}@media (max-width: 1100px){.scheduler-form,.scheduler-cards,.scheduler-board{grid-template-columns:1fr}}.changelog-list{display:grid;gap:1rem}.changelog-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:1rem}.changelog-card ul{margin:.75rem 0 0;padding-left:1.2rem;color:var(--muted)}.changelog-card li{margin:.35rem 0}.audit-row{grid-template-columns:minmax(0,1fr) auto auto auto}@media (max-width: 900px){.audit-row{grid-template-columns:1fr}}.ghost.small{padding:.35rem .55rem;font-size:.78rem}.notification-wrapper{position:relative}.notification-popover{position:absolute;top:calc(100% + .65rem);right:0;z-index:30;width:min(380px,calc(100vw - 2rem));background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:.85rem;box-shadow:0 24px 70px #00000059;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .3s ease,transform .3s ease}.notification-wrapper:hover .notification-popover,.notification-wrapper:focus-within .notification-popover{opacity:1;transform:translateY(0);pointer-events:auto}.notification-popover-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.notification-popover-head span{display:block;color:var(--muted);font-size:.8rem}.notification-popover-list{display:grid;gap:.55rem;max-height:340px;overflow:auto}.notification-popover-item{display:grid;gap:.2rem;padding:.7rem;border:1px solid var(--border);border-radius:14px;background:var(--card)}.notification-popover-item.unread{border-color:#38bdf873;background:#38bdf81f}.notification-popover-item span{color:var(--text);font-size:.9rem}.notification-popover-item small{color:var(--muted)}.small-empty{padding:1rem}.scheduler-create-row{justify-content:flex-start;margin-top:.75rem}.schedule-calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.schedule-day-card{min-height:220px;background:var(--card);border:1px solid var(--border);border-radius:24px;padding:1rem;display:grid;grid-template-rows:auto 1fr;gap:.85rem}.schedule-day-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.schedule-day-head span{display:block;color:var(--muted);font-size:.85rem;text-transform:capitalize}.schedule-day-list{display:grid;align-content:start;gap:.65rem}.schedule-entry{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.55rem;align-items:center;border:1px solid var(--border);border-radius:16px;padding:.75rem;background:#ffffff08}.schedule-entry span,.schedule-entry small{display:block;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-button{padding:.45rem .55rem;font-size:.78rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.modal-actions .primary{width:auto}@media (max-width: 1200px){.schedule-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.schedule-calendar-grid,.schedule-entry{grid-template-columns:1fr}.notification-popover{right:-4rem}}.timeline-list{display:grid;gap:.85rem}.timeline-item{display:grid;grid-template-columns:18px minmax(0,1fr);gap:.75rem;align-items:start;border:1px solid var(--border);background:var(--card);border-radius:18px;padding:.9rem}.timeline-dot{width:12px;height:12px;border-radius:999px;background:var(--accent);margin-top:.35rem;box-shadow:0 0 0 5px #38bdf81f}.timeline-item span,.timeline-item small{display:block;color:var(--muted);font-size:.85rem;margin-top:.15rem}.inline-action-card{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:1rem;border:1px solid var(--border);background:var(--card);border-radius:18px;padding:.9rem}.inline-action-card span{display:block;color:var(--muted);font-size:.85rem;margin-top:.15rem}@media (max-width: 700px){.inline-action-card{flex-direction:column;align-items:flex-start}}.gc-addons{margin:1rem 0;padding:1rem;border:1px solid rgba(56,189,248,.22);border-radius:1rem;background:#0ea5e90f}.gc-addons.compact{padding:.8rem}.small-head h3{margin:0}.gc-addon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.85rem}.gc-addon-card{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem;border-radius:.85rem;background:#0f172a6b;border:1px solid rgba(148,163,184,.14)}.gc-addon-card strong{display:block;font-size:.9rem}.gc-addon-card span{display:block;color:var(--muted);font-size:.78rem;margin-top:.15rem;line-height:1.35}@media (max-width: 860px){.gc-addon-grid{grid-template-columns:1fr}}.gc-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.gc-module-card{background:var(--card);border:1px solid var(--border);border-radius:22px;padding:1rem;display:grid;gap:.9rem;align-content:start}.gc-module-card .small-head{align-items:flex-start}.gc-module-card .small-head p,.gc-module-card .small-head small{display:block;color:var(--muted);font-size:.82rem;line-height:1.35;margin-top:.25rem}.compact-list{gap:.65rem}.gc-item-row{grid-template-columns:minmax(0,1fr);align-items:stretch}.gc-item-row small{display:block;color:var(--muted);margin-top:.22rem}.row-actions-wrap{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}.gc-files{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-top:.7rem;border-top:1px solid var(--border);padding-top:.7rem}.file-upload-button{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .65rem;border:1px solid var(--border);border-radius:999px;background:#ffffff0a;color:var(--text);cursor:pointer;font-size:.82rem}.file-upload-button input{display:none}.file-chip{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--border);border-radius:999px;padding:.38rem .45rem .38rem .65rem;background:#38bdf817;font-size:.78rem;color:var(--text)}.file-chip button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;border-radius:999px;background:#ffffff14;color:var(--text);cursor:pointer}.file-chip button:hover{background:#38bdf82e}@media (max-width: 1100px){.gc-module-grid{grid-template-columns:1fr}}.scheduler-topbar{align-items:center}.shift-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-top:1rem}.shift-toolbar label{min-width:220px}.shift-panel{overflow-x:auto}.shift-board{display:grid;grid-template-columns:minmax(210px,1.15fr) repeat(5,minmax(185px,1fr));width:100%;min-width:1160px;border:1px solid var(--border);border-radius:24px;overflow:hidden;background:#ffffff06}.shift-header{padding:.85rem;border-bottom:1px solid var(--border);border-left:1px solid var(--border);background:#ffffff0e;display:grid;gap:.2rem;min-height:72px}.shift-header:first-child{border-left:0}.shift-header span{color:var(--muted);font-size:.82rem}.shift-name-cell{align-content:center}.shift-employee-cell{padding:.9rem;border-top:1px solid var(--border);background:#ffffff09;display:grid;gap:.25rem;align-content:start;position:sticky;left:0;z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.shift-employee-cell span{color:var(--muted);font-size:.82rem}.shift-day-cell{min-height:112px;padding:.65rem;border-top:1px solid var(--border);border-left:1px solid var(--border);display:grid;align-content:start;gap:.55rem}.shift-assignment{border:1px solid var(--border);background:linear-gradient(135deg,#64748b29,#0ea5e914);border-radius:16px;padding:.65rem;display:grid;gap:.55rem;box-shadow:var(--shadow-soft)}.shift-assignment strong,.shift-assignment span,.shift-assignment small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shift-assignment span,.shift-assignment small{color:var(--muted)}.shift-assignment-actions{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;justify-content:space-between}.scheduler-shortcuts{color:var(--muted);margin-top:.75rem;font-size:.9rem}.shift-day-cell-selected{outline:2px solid rgba(56,189,248,.85);outline-offset:-3px;background:linear-gradient(135deg,#38bdf821,#ffffff05)}.shift-assignment{cursor:grab}.shift-assignment:active{cursor:grabbing}.shift-assignment-selected{border-color:#38bdf8f2;box-shadow:0 0 0 2px #38bdf83d,var(--shadow-soft)}.shift-open-task-name{background:linear-gradient(135deg,#fbbf2421,#ffffff08)}.shift-open-task-cell{background:linear-gradient(135deg,#fbbf2412,#ffffff04)}.open-task-chip{border:1px dashed rgba(251,191,36,.45);background:#fbbf2414;border-radius:14px;padding:.55rem;display:grid;gap:.2rem}.open-task-chip strong,.open-task-chip span,.open-task-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.open-task-chip span,.open-task-chip small{color:var(--muted)}.shift-empty{color:var(--muted);opacity:.65;display:block;text-align:center;padding-top:1.75rem}.shift-holiday-header{background:linear-gradient(135deg,#eab3082e,#38bdf814)}.holiday-note{color:#facc15;font-size:.75rem;font-weight:700;line-height:1.25}.shift-holiday-cell{background:linear-gradient(135deg,#eab30812,#ffffff04)}.holiday-card-note{border:1px solid rgba(234,179,8,.35);border-radius:14px;background:#eab3081f;color:var(--text);padding:.55rem .65rem;font-size:.78rem;font-weight:700;line-height:1.3}@media (max-width: 900px){.shift-board{min-width:980px;grid-template-columns:minmax(170px,.9fr) repeat(5,minmax(160px,1fr))}.shift-toolbar{align-items:stretch}.shift-toolbar label{min-width:100%}}.sidebar{overflow:hidden;min-height:0}.sidebar nav{min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:.35rem;margin-right:-.35rem;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.45) transparent}.sidebar nav::-webkit-scrollbar{width:8px}.sidebar nav::-webkit-scrollbar-track{background:transparent}.sidebar nav::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:999px}.sidebar nav::-webkit-scrollbar-thumb:hover{background:#38bdf873}.sidebar nav button{width:100%;min-height:44px}.version-badge{flex-shrink:0}@media (min-width: 901px) and (max-width: 1280px){.app-shell{grid-template-columns:260px 1fr}.sidebar{padding:1rem}.sidebar nav button{padding:.78rem .85rem;gap:.65rem}}.button-row{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.hidden-file-input{display:none}.import-summary{margin:.85rem 0 1rem;padding:.85rem 1rem;border:1px solid rgba(148,163,184,.25);border-radius:16px;background:#0f172a61;display:grid;gap:.25rem}.import-summary span,.import-summary small{color:var(--muted)}.toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.85rem 0 1rem;flex-wrap:wrap}.search-field{min-width:min(100%,420px);flex:1;display:flex;align-items:center;gap:.55rem;border:1px solid var(--border);background:var(--card);border-radius:16px;padding:.65rem .8rem;color:var(--muted)}.search-field input{width:100%;border:0;outline:0;background:transparent;color:var(--text);padding:0}.muted-count{color:var(--muted);font-size:.86rem;white-space:nowrap}.po-year-tabs{display:flex;gap:.65rem;margin:.9rem 0 .35rem;overflow-x:auto;padding-bottom:.2rem}.po-year-tabs button{min-width:110px;border:1px solid var(--border);border-radius:16px;background:var(--card);color:var(--text);padding:.75rem .95rem;text-align:left;font-weight:800;cursor:pointer}.po-year-tabs button.active{outline:2px solid rgba(56,189,248,.45);background:#38bdf824}.po-year-tabs button span{display:block;color:var(--muted);font-size:.78rem;font-weight:600;margin-top:.2rem}.po-row{grid-template-columns:minmax(240px,1fr) auto minmax(120px,auto) auto auto auto auto}.po-row-selectable{grid-template-columns:auto minmax(240px,1fr) auto minmax(120px,auto) auto auto auto auto}.po-row-checkbox{display:grid;place-items:center;align-self:center;padding:0 .2rem}.po-row-checkbox input,.po-select-visible input,.bulk-field input[type=checkbox]{accent-color:var(--primary)}.po-row.selected{outline:2px solid rgba(56,189,248,.55)}.po-select-visible{display:inline-flex;gap:.45rem;align-items:center;white-space:nowrap}.bulk-edit-warning{display:flex;align-items:flex-start;gap:.55rem;border:1px solid rgba(245,158,11,.45);background:#f59e0b1f;border-radius:14px;padding:.8rem;margin-bottom:1rem;color:var(--text)}.bulk-field>span{display:inline-flex;align-items:center;gap:.45rem}.bulk-field select:disabled,.bulk-field input:disabled{opacity:.5}.po-status-open{background:var(--card)}.po-status-delivered{background:linear-gradient(90deg,rgba(34,197,94,.22),var(--card));border-color:#22c55e61}.po-status-ordered{background:linear-gradient(90deg,rgba(234,179,8,.24),var(--card));border-color:#eab3086b}.po-status-closed{background:linear-gradient(90deg,rgba(148,163,184,.24),var(--card));border-color:#94a3b861}.po-status-cancelled{background:linear-gradient(90deg,rgba(239,68,68,.24),var(--card));border-color:#ef44446b}.po-status-rejected{background:linear-gradient(90deg,rgba(244,63,94,.24),var(--card));border-color:#f43f5e6b}@media (max-width: 1100px){.po-row{grid-template-columns:minmax(0,1fr);align-items:stretch}.po-row>*{justify-self:stretch}}.permission-box{border:1px solid var(--border);border-radius:16px;padding:14px;background:#0f172a59}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin-top:10px}.permission-item{align-items:flex-start;padding:8px 10px;border:1px solid var(--border);border-radius:12px;background:#ffffff08}.project-traffic-light{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.3rem .6rem;font-size:.78rem;font-weight:800;white-space:nowrap}.project-traffic-light:before{content:"";width:.62rem;height:.62rem;border-radius:50%;background:currentColor}.traffic-green{color:#22c55e;background:#22c55e1f}.traffic-yellow{color:#facc15;background:#facc1521}.traffic-red{color:#f87171;background:#f8717121}.traffic-grey{color:#94a3b8;background:#94a3b824}.preview-permissions{margin-top:1rem;padding:1rem;border:1px dashed var(--border);border-radius:16px;display:grid;gap:.75rem}.warning-text{color:#fbbf24;margin:0}.success-text{color:#22c55e;margin:0}.budget-check-row{grid-template-columns:minmax(240px,1fr) auto auto auto}.budget-warning{border-color:#facc158c!important;background:#facc1512!important}.budget-over{border-color:#f8717199!important;background:#f8717117!important}.po-budget-modal-check{display:grid;gap:.35rem;margin:1rem 0;border:1px solid var(--border);padding:.9rem;border-radius:16px}.po-budget-modal-check span{color:var(--muted);font-size:.92rem}.scheduler-toolbar-wrap{justify-content:flex-start}.view-toggle{display:inline-flex;gap:.35rem;align-items:center}.shift-board.month-view{min-width:max(1300px,4370px)}.shift-board.month-view .shift-day-cell{min-height:98px;padding:.45rem}.shift-board.month-view .shift-header{padding:.55rem;min-height:66px}@media (max-width: 900px){main{padding:.8rem}.topbar{gap:.65rem;flex-wrap:wrap}.topbar h1{font-size:1.2rem}.panel{padding:.8rem;border-radius:18px}.form-grid,.detail-grid,.detail-grid.mini,.budget-check-row{grid-template-columns:1fr}.scheduler-toolbar-wrap>button,.scheduler-toolbar-wrap .view-toggle{width:100%}.scheduler-toolbar-wrap .view-toggle button{flex:1}.shift-panel{margin-inline:-.8rem;padding-inline:.8rem;border-radius:0}.po-row,.po-row-selectable{grid-template-columns:1fr}}@media print{body.scheduler-print-mode .sidebar,body.scheduler-print-mode .topbar,body.scheduler-print-mode .scheduler-page>section:first-child,body.scheduler-print-mode .scheduler-page>section:not(.shift-panel),body.scheduler-print-mode .toast,body.scheduler-print-mode .mini-button,body.scheduler-print-mode .shift-assignment-actions button{display:none!important}body.scheduler-print-mode .app-shell{display:block}body.scheduler-print-mode main{padding:0}body.scheduler-print-mode .shift-panel{overflow:visible;border:0}body.scheduler-print-mode .shift-board{min-width:0;font-size:9px;break-inside:avoid}body.scheduler-print-mode .shift-header,body.scheduler-print-mode .shift-day-cell,body.scheduler-print-mode .shift-employee-cell{padding:4px;min-height:38px}}.notification-workflow{align-items:center;gap:1rem}.notification-meta{display:flex;gap:.55rem;align-items:center;margin-bottom:.35rem}.notification-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem;min-width:150px}.vehicle-row{align-items:flex-start}.vehicle-row span{display:block;margin-top:.28rem}.vehicle-row .row-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}@media (max-width: 720px){.notification-workflow,.vehicle-row{flex-direction:column;align-items:stretch}.notification-actions{align-items:flex-start;min-width:0}}.form-hint{margin:0 0 1rem;padding:.7rem .85rem;border-radius:14px;background:#38bdf817;border:1px solid rgba(56,189,248,.25);color:var(--muted)}.vehicle-detail-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1.1rem}.vehicle-detail-title{margin:1rem 0 .8rem;font-size:1.05rem}@media (max-width: 680px){.vehicle-detail-summary{grid-template-columns:1fr}}.form-error{margin:0 0 1rem;padding:.7rem .85rem;border-radius:14px;background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:#fecaca;font-weight:600}button:disabled{cursor:not-allowed;opacity:.7}.shift-assignment-open{border-style:dashed}.shift-open-task-name span{max-width:170px}.cost-control-panel{border-color:#38bdf847}.cost-control-panel.finance-yellow{border-color:#facc157a}.cost-control-panel.finance-red{border-color:#f871718c}.finance-status{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .75rem;border-radius:999px;font-size:.84rem;font-weight:800;white-space:nowrap}.finance-status:before{content:"";width:.65rem;height:.65rem;border-radius:50%;background:currentColor}.finance-status-green{color:#22c55e;background:#22c55e1f}.finance-status-yellow{color:#facc15;background:#facc1521}.finance-status-red{color:#f87171;background:#f8717121}.finance-cards{margin-top:.35rem}.finance-breakdown{display:grid;grid-template-columns:minmax(340px,1.4fr) minmax(250px,.8fr);gap:1rem;margin-top:1rem}.finance-lines,.finance-exposure{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:1rem}.finance-lines{display:grid;gap:.55rem}.finance-lines>div{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.5rem;border-bottom:1px dashed var(--border)}.finance-lines>div:last-child{border-bottom:0;padding-bottom:0}.finance-lines span{color:var(--muted)}.finance-lines .positive strong{color:var(--ok)}.finance-lines .total{margin-top:.2rem;padding-top:.6rem;border-top:1px solid var(--border);font-size:1.05rem}.finance-lines .forecast strong{font-size:1.2rem}.finance-exposure{display:grid;gap:.75rem;align-content:start}.finance-exposure h3{margin:0 0 .2rem;font-size:1rem}.finance-note{margin-top:1rem;padding:.85rem 1rem;border-radius:16px;border:1px dashed var(--border);color:var(--muted);font-size:.9rem;line-height:1.5}@media (max-width: 1100px){.finance-breakdown{grid-template-columns:1fr}}.project-search-row{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:.85rem 0 1rem;flex-wrap:wrap}.project-search-row label{min-width:min(100%,410px);flex:1}.project-search-row input{margin-top:.35rem}.search-result-count{color:var(--muted);font-size:.9rem;white-space:nowrap}@media (max-width: 720px){.project-search-row{align-items:stretch}.search-result-count{white-space:normal}}.task-card.task-status-done{background:linear-gradient(115deg,rgba(34,197,94,.18),transparent 42%),var(--panel);border-color:#22c55e73}.task-card.task-status-progress{background:linear-gradient(115deg,rgba(234,179,8,.17),transparent 42%),var(--panel);border-color:#eab30870}.task-card.task-status-review{background:linear-gradient(115deg,rgba(99,102,241,.17),transparent 42%),var(--panel);border-color:#6366f16b}.task-card.task-status-blocked{background:linear-gradient(115deg,rgba(239,68,68,.18),transparent 42%),var(--panel);border-color:#ef44447a}.task-card.task-status-open{border-color:var(--border)}.admin-hero{border-color:#38bdf838}.admin-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.admin-tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.7rem}.admin-tool-card{min-height:92px;padding:.78rem .82rem;display:grid;gap:.28rem;justify-items:start;text-align:left;border:1px solid var(--border);border-radius:16px;background:var(--panel);color:var(--text);transition:border-color .18s ease,transform .18s ease,background .18s ease}.admin-tool-card svg{color:var(--primary)}.admin-tool-card strong{font-size:.93rem}.admin-tool-card span{font-size:.76rem;color:var(--muted)}.admin-tool-card:hover,.admin-tool-card.active{border-color:#38bdf899;background:#38bdf817;transform:translateY(-1px)}.admin-actions{margin-top:1rem;flex-wrap:wrap}@media (max-width: 720px){.admin-summary,.admin-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.login-language{position:fixed;top:1.1rem;right:1.1rem;z-index:20}.login-language label{display:flex;align-items:center;gap:.45rem;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:.3rem .45rem}.login-language select{margin:0;min-width:132px;border:0;background:transparent}.users-hero{border-color:#38bdf838}.users-tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.7rem}.users-narrow{max-width:780px}.pm-project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:.85rem;margin-top:.7rem}.pm-project-card{display:grid;gap:.65rem;text-align:left;padding:1rem;border:1px solid var(--border);border-radius:18px;background:var(--card);color:var(--text)}.pm-project-card:hover{border-color:#38bdf894}.pm-project-card span{display:block;color:var(--muted);font-size:.84rem}.pm-project-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .7rem}.pm-project-stats small{color:var(--muted)}.single-module-flat{display:block}.single-module-flat .gc-module-card{border:0;background:transparent;padding:0;box-shadow:none}[data-density=compact] .panel,[data-density=compact] .task-card{padding:.7rem;border-radius:16px}[data-density=compact] .list-row{padding:.55rem .65rem}@media (max-width:720px){.login-language{top:.55rem;right:.55rem}.users-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-detail-actions{justify-content:space-between}.project-hero{padding:1.1rem 1.2rem;border-color:#38bdf840}.project-hero-content{display:flex;justify-content:space-between;gap:1.2rem;align-items:flex-start}.project-hero-title{display:grid;gap:.2rem}.project-hero-title h2{font-size:1.38rem;margin:0}.project-hero-title p{color:var(--muted);margin:.1rem 0 0}.project-kicker{color:var(--primary);text-transform:uppercase;font-size:.74rem;font-weight:800;letter-spacing:.08em}.project-hero-badges{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.project-hero-metrics{display:grid;grid-template-columns:repeat(4,minmax(125px,1fr));gap:.7rem;margin-top:1rem}.project-hero-metrics>div{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:.68rem .75rem;display:grid;gap:.25rem}.project-hero-metrics small{color:var(--muted);font-size:.75rem}.project-hero-metrics strong{font-size:1.02rem}.project-section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.65rem}.project-section-card{min-height:72px;padding:.72rem .78rem;display:grid;gap:.25rem;text-align:left;border:1px solid var(--border);border-radius:15px;background:var(--panel);color:var(--text);transition:all .18s ease}.project-section-card strong{font-size:.91rem}.project-section-card span{color:var(--muted);font-size:.76rem}.project-section-card:hover,.project-section-card.active{border-color:#38bdf899;background:#38bdf817;transform:translateY(-1px)}.project-overview-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.85fr);gap:1rem}.project-overview-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:.6rem 0 1rem}.project-overview-cards .stat-card{min-height:86px}.project-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.project-focus-panel{align-content:start}.project-description{border:1px solid var(--border);background:var(--card);border-radius:14px;padding:.8rem;color:var(--text);line-height:1.5;margin-bottom:.8rem}.project-next-tasks{display:grid;gap:.48rem}.project-next-task{display:grid;gap:.18rem;border:1px solid var(--border);background:var(--card);border-radius:13px;padding:.62rem .72rem}.project-next-task span{color:var(--muted);font-size:.8rem}@media (max-width:1120px){.project-overview-layout{grid-template-columns:1fr}.project-overview-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.project-hero-content{flex-direction:column}.project-hero-badges{justify-content:flex-start}.project-hero-metrics,.project-summary-grid,.project-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
