@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,700&display=swap");:root{--bg:#0b0f14;--panel:#0f141b;--panel-2:#151c25;--text:#e9eef3;--muted:#9db0c3;--accent:#ff8a3d;--accent-2:#5eead4;--line:#253141;--shadow:0 10px 30px rgba(0,0,0,.35);--top-control-size:44px;--top-control-offset:16px;--top-control-inner-x:14px}*{box-sizing:border-box}body,html{padding:0;margin:0;background:radial-gradient(1200px 600px at 15% -10%,#1d2b3a 0,transparent 55%),radial-gradient(800px 500px at 90% 0,#2a1f1b 0,transparent 55%),var(--bg);color:var(--text);font-family:Space Grotesk,system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%}a{color:inherit;text-decoration:none}.app-shell{display:grid;min-height:100vh}.app-shell,.app-shell.no-sidebar{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;height:100vh;width:260px;padding:80px 20px 28px;background:linear-gradient(180deg,#0f1520,#0b0f14);border-right:1px solid var(--line);transform:translateX(-100%);transition:transform .2s ease;z-index:40}.brand{margin-bottom:6px}.wordmarkLogo{justify-content:center;margin-bottom:8px}.worktuuune-logo{display:inline-flex;align-items:center;color:#f2f4f7}.worktuuune-logo-type{display:inline-flex;align-items:baseline;gap:.12em;font-family:Fraunces,serif;font-size:22px;font-weight:700;letter-spacing:.02em}.worktuuune-logo-type span:last-child{color:#c8cdd4}.wordmarkLogo .worktuuune-logo-type{font-size:clamp(42px,8vw,64px)}.nav{margin-top:28px;display:grid;grid-gap:10px;gap:10px}.nav a{padding:10px 14px;border-radius:10px;background:transparent;color:var(--muted);border:1px solid transparent;transition:all .2s ease}.nav a:hover{color:var(--text);border-color:var(--line);background:hsla(0,0%,100%,.03)}.main{padding:28px 32px 60px}.userbar-wrap{position:fixed;top:var(--top-control-offset);right:var(--top-control-offset);z-index:56;display:flex;align-items:stretch;gap:10px}.userbar{position:relative;display:flex;align-items:center;gap:10px;height:var(--top-control-size);box-sizing:border-box;padding:0 var(--top-control-inner-x);border-radius:12px;border:1px solid var(--line);background:rgba(11,15,20,.92)}.userbar .btn{height:calc(var(--top-control-size) - 12px);min-height:0;padding:0 10px;display:inline-flex;align-items:center}.userbar-meta{display:grid;line-height:1.2;padding:2px 0}.userbar-meta strong{font-size:13px}.userbar-meta span{font-size:11px;color:var(--muted)}.userbar-trigger{display:flex;align-items:center;gap:10px;min-width:0;height:calc(var(--top-control-size) - 12px);padding:0 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text);cursor:pointer}.userbar-trigger.open,.userbar-trigger:hover{border-color:var(--line);background:hsla(0,0%,100%,.04)}.userbar-caret{font-size:10px;color:var(--muted)}.userbar-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;padding:8px;border:1px solid var(--line);border-radius:12px;background:rgba(11,15,20,.98);box-shadow:var(--shadow);display:grid;grid-gap:6px;gap:6px}.userbar-menu-item{width:100%;display:flex;align-items:center;justify-content:flex-start;padding:10px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text);font:inherit;cursor:pointer}.userbar-menu-item:hover{border-color:var(--line);background:hsla(0,0%,100%,.04)}.userbar-menu-item.danger{color:#ffb4b4}.userbar-menu-badge{margin-left:auto;padding:2px 7px;border-radius:999px;background:var(--accent);color:#120904;font-size:11px;font-weight:800}.chat-layout{display:grid;grid-template-columns:320px minmax(0,1fr);grid-gap:16px;gap:16px;align-items:stretch}.chat-sidebar{display:grid;grid-template-rows:minmax(0,.9fr) minmax(0,1.6fr);grid-gap:16px;gap:16px;min-height:72vh;height:min(72vh,900px)}.chat-sidebar-section{display:grid;grid-template-rows:auto minmax(0,1fr);grid-gap:10px;gap:10px;min-height:0}.chat-sidebar-section-body{min-height:0;overflow-y:auto;padding-right:2px}.chat-thread-list{display:grid;grid-gap:10px;gap:10px}.chat-thread{width:100%;text-align:left;display:grid;grid-gap:6px;gap:6px;padding:14px;border-radius:14px;border:1px solid var(--line);background:hsla(0,0%,100%,.02);color:var(--text);cursor:pointer}.chat-thread:disabled{cursor:default;opacity:.6}.chat-thread.active{border-color:rgba(255,138,61,.45);background:rgba(255,138,61,.08)}.chat-thread-head{display:flex;justify-content:space-between;gap:12px}.chat-note,.chat-thread-head span,.chat-thread-meta,.chat-thread-preview{color:var(--muted);font-size:13px;line-height:1.6}.chat-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:72vh;height:min(72vh,900px)}.chat-panel-header{padding-bottom:14px;border-bottom:1px solid var(--line)}.chat-panel-title{min-width:0}.chat-room-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid rgba(255,138,61,.28);background:rgba(255,138,61,.08);color:var(--text);font:inherit;cursor:pointer}.chat-room-trigger-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:20px;font-weight:700}.chat-room-trigger-caret{color:var(--muted);font-size:12px}.chat-messages{display:grid;align-content:start;grid-gap:12px;gap:12px;padding:18px 0;min-height:0;max-height:none;overflow-y:auto}.chat-bubble-row{display:flex;justify-content:flex-start}.chat-bubble-row.mine{justify-content:flex-end}.chat-bubble{max-width:min(78%,720px);padding:14px 16px;border-radius:16px;background:hsla(0,0%,100%,.04);border:1px solid var(--line)}.chat-bubble.mine{background:rgba(255,138,61,.12);border-color:rgba(255,138,61,.32)}.chat-bubble-meta{display:grid;grid-gap:4px;gap:4px;margin-bottom:8px}.chat-bubble-meta span{color:var(--muted);font-size:12px}.chat-compose{display:grid;grid-gap:10px;gap:10px;padding:16px 12px 6px;border-top:1px solid var(--line)}.chat-compose-main{display:flex;align-items:stretch;gap:16px;width:100%;min-width:0}.chat-textarea{flex:1 1 auto;min-width:0;min-height:72px;height:72px;margin-bottom:0;display:block;resize:vertical}.chat-send-button{flex:0 0 148px;width:148px;min-width:148px;min-height:72px;height:72px;padding:0 22px;font-size:17px;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center}.chat-compose-meta{display:block;padding:0 2px}.chat-room-modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(7,10,14,.66);display:flex;align-items:flex-end;justify-content:center;padding:20px;overscroll-behavior:contain}.chat-room-modal{width:min(720px,100%);max-height:min(78dvh,720px);display:grid;grid-template-rows:auto auto minmax(0,1fr);grid-gap:14px;gap:14px;padding:12px 16px 18px;border-radius:24px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(15,20,27,.98),rgba(11,15,20,.98));box-shadow:var(--shadow);overflow:hidden;overscroll-behavior:contain}.chat-room-modal-handle{width:56px;height:5px;border-radius:999px;background:rgba(157,176,195,.4);justify-self:center}.chat-room-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.chat-room-modal-body{min-height:0;overflow-y:auto;padding-right:2px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.chat-room-modal-body .chat-sidebar-section{display:block}.chat-room-modal-body .chat-sidebar-section+.chat-sidebar-section{margin-top:16px}.chat-room-modal-body .chat-sidebar-section>.badge{margin-bottom:10px}@media (max-width:960px){.chat-layout{grid-template-columns:1fr}.chat-sidebar{display:none}.chat-panel{min-height:0;height:auto}.chat-messages{padding:8px 0}.chat-compose-main{flex-direction:column;gap:12px}.chat-send-button{flex:0 0 auto;width:100%;min-width:0;min-height:48px;height:auto;font-size:16px}.chat-compose-meta{display:block}.chat-bubble{max-width:100%}.chat-room-modal-backdrop{padding:0}.chat-room-modal{width:100%;max-height:78dvh;border-bottom-left-radius:0;border-bottom-right-radius:0;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.chat-room-modal-header{align-items:center}}@media (max-width:768px){.chat-panel{padding:14px;border-radius:18px}.chat-panel-header{padding-bottom:10px}.chat-room-trigger{padding:12px 14px;border-radius:16px}.chat-room-trigger-label{font-size:18px;line-height:1.2}.chat-room-trigger-caret{font-size:18px}.chat-panel-title>div:last-child{margin-top:8px!important;font-size:13px;line-height:1.5}.chat-bubble{max-width:88%;padding:12px 14px;border-radius:14px}.chat-bubble-meta{gap:2px;margin-bottom:6px}.chat-bubble-meta strong{font-size:15px}.chat-bubble-meta span{font-size:11px}.chat-compose{gap:8px;padding:12px 0 4px}.chat-compose-main{gap:10px}.chat-textarea{min-height:64px;height:64px;padding:10px 12px}.chat-send-button,.chat-textarea{font-size:16px;border-radius:14px}.chat-send-button{min-height:48px;height:48px}.chat-compose-meta{padding:0}.chat-note{font-size:12px;line-height:1.5}}.page-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-title h1{margin:0;font-size:28px}.toolbar{display:flex;gap:10px}.employee-shifts-toolbar{display:flex;align-items:center;flex-wrap:nowrap}.employee-shifts-toolbar .btn{width:auto;flex:0 0 auto;white-space:nowrap}.employee-shifts-toolbar .shift-pref-month-input{flex:1 1 auto;min-width:0}.employee-shifts-toolbar>span{flex:0 0 auto;white-space:nowrap}.btn{padding:10px 14px;min-height:44px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.btn.primary{background:linear-gradient(135deg,#ff8a3d,#ff5e2b);border:none;color:#0b0f14}.btn:hover{transform:translateY(-1px)}.btn:hover,.card{box-shadow:var(--shadow)}.card{background:linear-gradient(180deg,hsla(0,0%,100%,.02),hsla(0,0%,100%,0));border:1px solid var(--line);border-radius:16px;padding:18px}.payroll-accordion{transition:border-color .2s ease,background .2s ease}.payroll-accordion[open]{border-color:rgba(255,138,61,.45);background:linear-gradient(180deg,rgba(255,138,61,.08),hsla(0,0%,100%,.01))}.payroll-accordion-summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px}.payroll-accordion-summary::-webkit-details-marker{display:none}.payroll-accordion-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-width:0}.payroll-accordion-chevron{color:var(--accent);font-size:24px;line-height:1;transition:transform .2s ease}.payroll-accordion[open] .payroll-accordion-chevron{transform:rotate(180deg)}.payroll-row-primary{font-size:18px;font-weight:700;color:var(--text)}.payroll-row-stack{display:grid;grid-gap:6px;gap:6px}.payroll-row-subtext{color:var(--muted);font-size:14px}.payroll-row-status{color:#63f4e9;font-size:13px;font-weight:700}.payroll-row-status.is-unscheduled{color:#ff8a3d}.payroll-row-meta{display:flex;align-items:center;justify-content:flex-end;gap:18px;text-align:right;color:#dfe6f3;white-space:nowrap}.payroll-row-meta span{color:var(--muted);font-size:14px}.payroll-row-meta strong{color:var(--text);font-size:18px}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);color:var(--muted)}.table th{color:var(--text);font-weight:600}.grid{display:grid;grid-gap:20px;gap:20px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(94,234,212,.15);color:var(--accent-2);font-size:12px;font-weight:600}.coverage-status-badge{display:inline-grid;place-items:center;min-height:34px;line-height:1}.shift-notice-card{background:linear-gradient(180deg,hsla(0,0%,100%,.025),hsla(0,0%,100%,.01))}.shift-notice-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.shift-notice-card-meta{color:var(--muted);font-size:12px}.shift-notice-status-badge{background:rgba(255,138,61,.16);color:var(--accent)}.shift-notice-change-list{display:grid;grid-gap:10px;gap:10px}.shift-notice-change-item{display:grid;grid-gap:6px;gap:6px;padding:12px 14px;border-radius:14px;border:1px solid var(--line)}.shift-notice-change-item.is-add{background:rgba(94,234,212,.09);border-color:rgba(94,234,212,.25)}.shift-notice-change-item.is-remove{background:rgba(255,138,61,.09);border-color:rgba(255,138,61,.25)}.shift-notice-change-date{color:var(--text);font-size:15px;font-weight:700;line-height:1.4}.shift-notice-change-body{color:var(--text);font-size:15px;line-height:1.7}.shift-layout{display:grid;grid-template-columns:320px 1fr;grid-gap:20px;gap:20px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px}.calendar-wide{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.calendar-header{font-weight:600;color:var(--muted);text-align:center}.calendar-day{padding:10px;border-radius:12px;background:var(--panel);border:1px solid var(--line);color:var(--muted);min-height:92px;text-align:left;transition:all .2s ease}.calendar-day.active{border-color:var(--accent);color:var(--text);background:rgba(255,138,61,.12)}.calendar-day.weekend{background:rgba(94,234,212,.08);border-color:rgba(94,234,212,.35)}.calendar-day.holiday{background:rgba(255,90,90,.12);border-color:rgba(255,90,90,.45)}.calendar-day.active.holiday,.calendar-day.active.weekend{border-color:var(--accent);background:rgba(255,138,61,.18)}.calendar-date,.calendar-day.holiday .calendar-date,.calendar-day.weekend .calendar-date{color:var(--text)}.calendar-date{font-weight:600;margin-bottom:6px}.calendar-staff{display:grid;grid-gap:4px;gap:4px;font-size:11px;color:var(--muted)}.calendar-slot{display:grid;grid-gap:2px;gap:2px}.calendar-slot-time{font-weight:600;color:var(--text);font-size:11px;text-align:left}.calendar-slot-role{display:grid;grid-template-columns:44px 1fr;grid-gap:4px;gap:4px;font-size:10px;justify-items:start;text-align:left}.calendar-role-name{color:var(--accent-2);white-space:nowrap}.calendar-role-users{color:var(--muted);white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word;line-height:1.35}.shift-bottom{margin-top:20px;display:grid;grid-template-columns:1fr 360px;grid-gap:20px;gap:20px}.split-panel{display:grid;grid-gap:16px;gap:16px}.empty-state{text-align:center;padding:60px 20px;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}.shift-rows{display:grid;grid-gap:12px;gap:12px}.shift-row{display:grid;grid-template-columns:140px 1fr;grid-gap:12px;gap:12px;align-items:stretch}.shift-slot{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;grid-gap:6px;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:hsla(0,0%,100%,.06);color:var(--text);font-size:12px}.chip.removable{cursor:pointer;border:1px solid transparent}.chip.removable:hover{border-color:var(--accent);background:rgba(255,138,61,.12)}.user-list{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;grid-gap:8px;gap:8px;max-height:260px;overflow:auto}.user-item{padding:8px 10px;border-radius:10px;background:hsla(0,0%,100%,.04);border:1px solid transparent}.user-item:hover{border-color:var(--accent-2)}.modal-backdrop{position:fixed;inset:0;background:rgba(5,8,12,.7);display:grid;place-items:center;z-index:90;padding:16px}.modal,.modal-backdrop{overscroll-behavior:contain}.modal{width:min(420px,90vw);max-width:100%;max-height:calc(100dvh - 32px);overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow);-webkit-overflow-scrolling:touch}.modal.modal-wide{width:min(960px,94vw)}.modal h2{margin:0 0 12px;font-size:20px}.modal select{margin-bottom:14px}.input,.modal select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);color:var(--text)}.input{max-width:100%;min-width:0;display:block;box-sizing:border-box;min-height:44px;margin-bottom:0}.form-stack>.input,.form-stack>select.input,.form-stack>textarea.input{margin-bottom:12px}.input-tight{margin-bottom:0!important}.account-settings-input{margin-bottom:12px}.shift-pref-field{min-width:0}.mobile-date-time-input,.shift-pref-month-input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.mobile-date-time-input{min-width:0}.mobile-date-time-field{display:block;min-width:0}.confirm-text{color:var(--muted);margin-bottom:14px}@media (max-width:1024px){.grid.two,.shift-bottom,.shift-layout{grid-template-columns:1fr}}@media (max-width:768px){.userbar-wrap{right:12px;top:12px}.userbar{max-width:calc(100vw - 76px)}.userbar-meta{min-width:0}.userbar-meta span,.userbar-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-title{justify-content:flex-start}.calendar-toolbar{display:grid;grid-gap:10px;gap:10px;margin-bottom:12px}.calendar-field{display:grid;grid-gap:6px;gap:6px;font-size:12px;color:var(--muted)}.calendar-field select{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--panel-2);color:var(--text)}.calendar-wide{gap:6px}.calendar-day{min-height:60px;padding:6px;border-radius:14px;text-align:center}.calendar-staff{display:none}.calendar-date,.calendar-header{font-size:12px}}.hamburger{position:fixed;top:16px;left:16px;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--panel);display:inline-flex;align-items:center;justify-content:center;gap:4px;z-index:45}.main.with-hamburger{padding-top:96px}.hamburger span{display:block;width:18px;height:2px;background:var(--text)}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:30}.sidebar.mobile-open{transform:translateX(0)}.calendar-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.calendar-field{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.calendar-field select{padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);color:var(--text)}.timeline{display:grid;grid-gap:16px;gap:16px}.week-section{border:1px solid var(--line);border-radius:16px;padding:12px;background:hsla(0,0%,100%,.02)}.week-title{font-weight:600;color:var(--muted);margin-bottom:10px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px}.day-card{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--panel);min-height:110px;display:grid;grid-gap:6px;gap:6px}.day-date{font-weight:600}.day-empty{color:var(--muted);font-size:12px}.day-line{font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px;width:100%}.dashboard-week-day{min-height:170px;text-align:left}.dashboard-date-badge{display:inline-grid;gap:2px;justify-items:center}.dashboard-week-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:14px}.dashboard-week-label{margin-top:6px;color:var(--muted);font-size:13px;font-weight:600}.dashboard-week-nav{display:flex;gap:10px;flex-wrap:wrap}.dashboard-week-store{min-width:min(280px,100%)}.dashboard-week-store select{min-width:160px}.employee-dashboard-top-toolbar{justify-content:flex-end}.employee-dashboard-title .calendar-field{width:auto;flex:1 1 auto;min-width:0;margin-bottom:0}.employee-dashboard-title .calendar-field span{white-space:nowrap}.employee-dashboard-title .calendar-field select{min-width:0;width:100%}@media (max-width:1024px){.week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:768px){.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-week-grid{display:flex;flex-direction:column;gap:10px}.dashboard-week-day{min-height:auto}.dashboard-date-badge{width:100%;justify-items:start;text-align:left}.dashboard-week-nav{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-week-store{grid-column:1/-1}.dashboard-week-header>div:first-child{width:100%}.dashboard-week-header h1{font-size:24px;line-height:1.2}.employee-dashboard-title{align-items:flex-start;flex-direction:column;gap:12px}.employee-dashboard-top-toolbar{width:100%;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:10px}.employee-dashboard-top-toolbar>.btn,.employee-dashboard-top-toolbar>a.btn,.employee-dashboard-top-toolbar>button.btn{width:auto;flex:0 0 auto;padding-inline:14px;white-space:nowrap}.employee-dashboard-top-toolbar .calendar-field{width:auto;flex:1 1 auto;min-width:0;margin-bottom:0}.employee-dashboard-top-toolbar .calendar-field span{white-space:nowrap}.employee-dashboard-top-toolbar .calendar-field select{min-width:0;width:100%}}.calendar-header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;flex-wrap:wrap}.calendar-header-row h1{margin:0;font-size:28px}.desktop-only{display:block}.mobile-only{display:none}.table-wrap{width:100%;overflow-x:auto}.mobile-list{display:grid;grid-gap:10px;gap:10px}.mobile-item{border:1px solid var(--line);border-radius:12px;padding:12px;background:hsla(0,0%,100%,.03);display:grid;grid-gap:6px;gap:6px}.mobile-item h3{margin:0;font-size:15px}.mobile-item p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.shift-pref-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.shift-pref-calendar-header{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:8px}.shift-pref-calendar-header span{text-align:center;color:var(--muted);font-size:12px;font-weight:600}.shift-pref-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.shift-pref-day-cell{min-height:110px;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:8px;display:grid;grid-gap:6px;gap:6px;align-content:start}.shift-pref-day-cell.has-active{border-color:rgba(255,138,61,.55);background:linear-gradient(180deg,rgba(255,138,61,.12),hsla(0,0%,100%,.02));box-shadow:inset 0 0 0 1px rgba(255,138,61,.12)}.shift-pref-day-cell.blank{background:transparent;border-style:dashed;opacity:.45}.shift-pref-day-label{color:var(--text);font-size:13px;font-weight:700;line-height:1.2;display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}.shift-pref-day-weekday{font-size:11px;color:var(--muted);font-weight:600;flex:0 0 auto}.shift-pref-slot-list{display:grid;grid-gap:4px;gap:4px;min-width:0}.shift-pref-slot-line{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--muted);font-size:12px;font-weight:600;text-align:left;padding:4px 6px;line-height:1.35;white-space:normal;word-break:break-word;touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.shift-pref-slot-line:hover{border-color:#3a4d66;color:var(--text)}.shift-pref-slot-line.active{border-color:#ff9a57;background:linear-gradient(180deg,rgba(255,138,61,.34),rgba(255,138,61,.2));color:#fff2e7;box-shadow:inset 0 0 0 1px rgba(255,170,112,.24)}.shift-pref-slot-line:disabled{opacity:.65;cursor:not-allowed}.shift-pref-slot-line.saving{opacity:.82;filter:saturate(1.05)}.choice-chip{min-height:42px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-weight:700;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.choice-chip:hover{transform:translateY(-1px);border-color:#3a4d66}.choice-chip.active{background:rgba(255,138,61,.18);border-color:var(--accent);color:#ffd9c2}.choice-chip:disabled{opacity:.65;cursor:not-allowed;transform:none}.payroll-filter-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.payroll-filter-label{color:#9ea7bf;font-size:13px;font-weight:700}.payroll-year-select{max-width:160px;margin-bottom:0}.payroll-filter-loading{color:#9ea7bf;font-size:13px}.clock-entry-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:4px}.clock-entry-tab{min-height:48px;border-radius:14px;border:1px solid var(--line);background:var(--panel-2);color:#cbd4e6;font-size:15px;font-weight:700;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}.clock-entry-tab.active{border-color:var(--accent);background:rgba(255,138,61,.14);color:#fff2e8}.clock-entry-panel{margin-top:14px;padding:16px;border-radius:14px;border:1px solid var(--line);background:var(--panel-2)}@media (max-width:768px){.main{padding:20px 14px 72px}.page-title h1{font-size:24px}.card{padding:14px;border-radius:14px}.toolbar{flex-direction:row;flex-wrap:wrap}.toolbar .btn{width:30%}.employee-shifts-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;grid-gap:10px;gap:10px}.employee-shifts-toolbar .btn,.employee-shifts-toolbar .input{width:100%;min-width:0}.employee-shifts-toolbar>:first-child{grid-column:1;grid-row:1}.employee-shifts-toolbar>:nth-child(2){grid-column:2;grid-row:1}.employee-shifts-toolbar>:nth-child(3){grid-column:1/-1;grid-row:2}.employee-shifts-toolbar>:nth-child(4){grid-column:1/-1;grid-row:3}.mobile-clock-actions{gap:10px}.desktop-only{display:none}.mobile-only{display:block}.shift-pref-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-pref-calendar-header{display:none}.shift-pref-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.shift-pref-day-cell{min-height:100px;min-width:0;padding:6px;border-radius:10px}.shift-pref-day-label{font-size:12px}.shift-pref-day-weekday{font-size:10px}.shift-pref-slot-line{font-size:11px;padding:4px}.payroll-filter-row{align-items:center;flex-direction:row;flex-wrap:nowrap}.payroll-filter-label{flex:0 0 auto}.payroll-year-select{flex:1 1 auto;max-width:none}.payroll-filter-loading{width:100%}}.toast-container{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:300;display:grid;grid-gap:8px;gap:8px;width:min(480px,calc(100vw - 32px));pointer-events:none}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(20,26,34,.98),rgba(13,18,24,.98));color:var(--text);box-shadow:var(--shadow);pointer-events:auto;font-size:13.5px;line-height:1.6;animation:toast-in .22s ease}.toast-error{border-color:rgba(255,106,61,.55)}.toast-success{border-color:rgba(94,234,212,.45)}.toast-message{flex:1 1;min-width:0;overflow-wrap:anywhere}.toast-close{flex-shrink:0;background:none;border:none;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;padding:2px 4px}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.offline-banner{position:-webkit-sticky;position:sticky;top:8px;z-index:70;margin-bottom:14px;padding:9px 14px;text-align:center;font-size:12.5px;font-weight:600;border-radius:12px;background:rgba(30,24,16,.92);border:1px solid rgba(255,179,102,.45);color:#ffb366;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.connection-indicator{display:inline-flex;align-items:center;gap:6px;height:var(--top-control-size);padding:0 12px;border-radius:12px;border:1px solid var(--line);background:rgba(11,15,20,.92);font-size:11px;font-weight:700;letter-spacing:.02em}.connection-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.connection-indicator.is-online .connection-dot{background:#34d399;box-shadow:0 0 6px rgba(52,211,153,.8)}.connection-indicator.is-online .connection-label{color:#34d399}.connection-indicator.is-offline .connection-dot{background:#f87171;box-shadow:0 0 6px hsla(0,91%,71%,.8);animation:connection-blink 1.4s ease-in-out infinite}.connection-indicator.is-offline .connection-label{color:#f87171}@keyframes connection-blink{0%,to{opacity:1}50%{opacity:.35}}@media (max-width:480px){.connection-indicator{padding:0 10px}.connection-label{display:none}}