*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}:root{--bg:#f0f2f5;--surface:#fff;--sidebar-bg:#0d1b2a;--sidebar-hover:#1a2d42;--sidebar-active:#1e3a5f;--sidebar-text:#8fa8c0;--sidebar-text-active:#fff;--border:#dde2ea;--border-subtle:#ebf0f5;--text-primary:#0d1b2a;--text-secondary:#5a6a7a;--text-muted:#94a3b8;--accent:oklch(52% .18 248);--accent-light:oklch(96% .04 248);--accent-mid:oklch(70% .14 248);--shift-m-bg:oklch(93% .06 80);--shift-m-text:oklch(42% .14 75);--shift-m-border:oklch(78% .12 80);--shift-t-bg:oklch(92% .07 165);--shift-t-text:oklch(38% .13 165);--shift-t-border:oklch(72% .11 165);--shift-n-bg:oklch(90% .06 280);--shift-n-text:oklch(38% .16 275);--shift-n-border:oklch(68% .13 280);--shift-p-bg:oklch(93% .07 35);--shift-p-text:oklch(40% .15 32);--shift-p-border:oklch(73% .13 35);--shift-f-bg:oklch(95% .01 248);--shift-f-text:oklch(60% .02 248);--shift-f-border:oklch(85% .02 248);--red:oklch(52% .2 22);--red-light:oklch(95% .04 22);--green:oklch(52% .15 145);--green-light:oklch(95% .05 145);--amber:oklch(62% .16 75);--amber-light:oklch(96% .05 80);--shadow-sm:0 1px 2px #0d1b2a0a, 0 1px 4px #0d1b2a08;--shadow-md:0 2px 8px #0d1b2a0f, 0 4px 16px #0d1b2a0a;--shadow-lg:0 8px 24px #0d1b2a14, 0 16px 40px #0d1b2a0d;--radius-sm:6px;--radius:10px;--radius-lg:14px;--font-label:600 11px/1 "IBM Plex Sans", system-ui;--tracking-wide:.05em}html{background:var(--bg);color:var(--text-primary);font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:var(--bg);color:var(--text-primary)}#root{min-height:100vh}.placeholder-page{place-items:center;min-height:100vh;padding:24px;display:grid}.placeholder-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(460px,100%);box-shadow:var(--shadow-sm);padding:24px}.placeholder-kicker{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:700}.placeholder-panel h1{margin:0 0 8px;font-size:28px;line-height:1.15}.placeholder-panel p{color:var(--text-secondary);margin:0;line-height:1.5}.auth-page{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(420px,100%);box-shadow:var(--shadow-sm);padding:28px}.auth-panel h1{margin:0 0 8px;font-size:28px;line-height:1.15}.auth-copy{color:var(--text-secondary);margin:0 0 20px;line-height:1.5}.auth-form{gap:14px;display:grid}.auth-form label{color:var(--text-secondary);gap:6px;font-size:14px;font-weight:600;display:grid}.auth-form input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:42px;color:var(--text-primary);font:inherit;padding:9px 11px}.auth-form select,.auth-form textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text-primary);font:inherit;padding:9px 11px}.auth-form textarea{resize:vertical;min-height:96px}.auth-form input:focus{border-color:var(--accent);outline:2px solid var(--accent-light)}.primary-button{border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;min-height:42px;font:inherit;letter-spacing:-.01em;border:0;padding:10px 14px;font-weight:700;transition:filter .15s}.primary-button:hover:not(:disabled){filter:brightness(1.1)}.primary-button:disabled{cursor:not-allowed;opacity:.68}.secondary-button{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-height:42px;color:var(--text-primary);cursor:pointer;font:inherit;letter-spacing:-.01em;padding:10px 14px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.secondary-button:hover:not(:disabled){background:var(--border-subtle);border-color:var(--text-muted)}.secondary-button:disabled{cursor:not-allowed;opacity:.5}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:18px;display:flex}.auth-links a{color:var(--accent);font-size:14px;font-weight:700;text-decoration:none}.auth-links a:hover{text-decoration:underline}.auth-text-link{appearance:none;color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-size:14px;font-weight:700}.auth-text-link:hover{text-decoration:underline}.form-error,.form-success{border-radius:var(--radius-sm);margin:0;padding:10px 12px;line-height:1.4}.form-error{background:var(--red-light);color:var(--red)}.form-success{background:var(--green-light);color:var(--green)}input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),select,textarea{box-shadow:inset 0 1px 2px #0d1b2a0a}input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):focus,select:focus,textarea:focus{box-shadow:inset 0 1px 2px #0d1b2a0a, 0 0 0 3px var(--accent-light);outline:none}.app-layout{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.app-sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);z-index:20;flex-direction:column;gap:18px;height:100vh;padding:20px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.app-main{background:var(--bg);flex-direction:column;height:100vh;display:flex;overflow:hidden}.portal-layout{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.portal-sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);z-index:20;flex-direction:column;gap:18px;height:100vh;padding:20px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.portal-main{background:var(--bg);flex-direction:column;height:100vh;display:flex;overflow-y:auto}.portal-sidebar-header,.portal-sidebar-footer{gap:10px;display:grid}.portal-sidebar-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.portal-brand{color:var(--sidebar-text-active);letter-spacing:.04em;margin:0;font-size:20px;font-weight:800}.portal-tenant,.portal-tenant-picker{background:var(--sidebar-hover);border-radius:var(--radius-sm);color:var(--sidebar-text-active);font:inherit;border:0;width:100%;min-height:36px;padding:8px 10px}.portal-tenant{text-overflow:ellipsis;white-space:nowrap;align-items:center;display:flex;overflow:hidden}.portal-nav{flex-direction:column;flex:1;gap:2px;display:flex}.portal-nav-link{border-radius:var(--radius-sm);color:var(--sidebar-text);border-left:2px solid #0000;padding:9px 12px 9px 10px;font-weight:500;text-decoration:none;display:block}.portal-nav-link:hover,.portal-nav-link.active{color:var(--sidebar-text-active);background:#ffffff12}.portal-nav-link.active{border-left-color:var(--accent);font-weight:600}.portal-user p{color:var(--sidebar-text-active);word-break:break-word;margin:0 0 2px;font-size:14px;font-weight:600}.portal-user small{color:var(--sidebar-text);word-break:break-word;font-size:12px}.portal-signout{border:1px solid var(--sidebar-hover);border-radius:var(--radius-sm);color:var(--sidebar-text);cursor:pointer;font:inherit;background:0 0;padding:8px 10px;font-weight:600}.portal-signout:hover{background:var(--sidebar-hover);color:var(--sidebar-text-active)}.portal-bell-wrapper{position:relative}.portal-bell{background:color-mix(in oklch, var(--sidebar-hover) 88%, white);color:var(--sidebar-text-active);cursor:pointer;font:inherit;border:1px solid #ffffff24;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-weight:800;display:inline-flex;position:relative}.portal-bell:hover,.portal-bell[aria-expanded=true]{background:color-mix(in oklch, var(--sidebar-hover) 76%, white);border-color:#ffffff3d}.portal-bell-icon{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:18px;height:18px}.portal-bell-badge{background:var(--red);border:2px solid var(--sidebar-bg);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:800;display:inline-flex;position:absolute;top:-8px;right:-8px}.portal-bell-popover{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);color:var(--text-primary);z-index:1000;width:min(360px,100vw - 28px);max-height:360px;position:fixed;top:72px;left:14px;overflow:hidden}.portal-bell-popover header{background:color-mix(in oklch, var(--surface) 86%, var(--accent-light));border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.portal-bell-popover header strong{font-size:14px}.portal-bell-popover header button{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;font-size:12px;font-weight:700}.portal-bell-popover ul,.employee-schedule-grid,.employee-schedule-day ul{margin:0;padding:0;list-style:none}.portal-bell-popover ul{max-height:300px;overflow-y:auto}.portal-bell-item{border-bottom:1px solid var(--border-subtle);display:block}.portal-bell-item button{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;gap:4px;width:100%;padding:12px 16px;display:grid}.portal-bell-item button:hover{background:var(--border-subtle)}.portal-bell-item-title{color:var(--text-primary);font-size:13px;font-weight:700}.portal-bell-popover li span{color:var(--text-secondary);font-size:12px;line-height:1.4}.portal-bell-item.read{opacity:.68}.portal-bell-empty{color:var(--text-muted);cursor:default;text-align:center;place-items:center;gap:6px;padding:28px 22px;display:grid}.portal-bell-empty strong{color:var(--text-primary);font-size:14px}.portal-bell-empty-icon{background:var(--accent-light);color:var(--accent);border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:inline-flex}.employee-schedule-grid{gap:12px;display:grid}.employee-schedule-day{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.employee-schedule-day>header{background:var(--border-subtle);color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;padding:10px 12px;font-size:12px;font-weight:800}.employee-schedule-day ul{gap:8px;padding:12px;display:grid}.employee-schedule-cell{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);gap:5px;padding:12px;display:grid}.employee-schedule-cell.has-conflict{background:var(--amber-light);border-color:var(--amber)}.employee-schedule-cell strong{font-size:14px}.employee-schedule-cell span,.employee-schedule-cell small{color:var(--text-secondary);font-size:13px}.conflict-badge{background:var(--red-light);border:1px solid color-mix(in oklch, var(--red) 28%, var(--red-light));color:var(--red);border-radius:999px;justify-self:start;padding:4px 8px;font-size:11px;font-weight:800;display:inline-flex}.page-layout{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.page-topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;height:56px;padding:0 20px;display:flex;overflow:hidden}.page-topbar-divider{background:var(--border);flex-shrink:0;width:1px;height:24px}.page-topbar-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.page-content{flex:1;min-height:0;padding:20px 24px;overflow-y:auto}.page-title-group{flex-shrink:0;gap:2px;display:grid}.page-title-group strong{color:var(--text-primary);font-size:15px;font-weight:700;line-height:1.2}.page-title-group small{color:var(--text-muted);font-size:11px;line-height:1.2}.page-topbar input:not([type=checkbox]),.page-topbar select{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;min-height:32px;padding:4px 8px;font-size:13px}.page-topbar button:not(.primary-button){background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font:inherit;min-height:32px;padding:4px 10px;font-size:13px;font-weight:700;text-decoration:none}.page-topbar button:not(.primary-button):hover{background:var(--surface-hover,var(--border-subtle))}.page-topbar .primary-button{min-height:32px;padding:4px 14px}.sidebar-header{flex-direction:column;gap:4px;display:flex}.sidebar-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.sidebar-brand{color:var(--sidebar-text-active);letter-spacing:.04em;margin:0;font-size:20px;font-weight:800}.sidebar-tenant{color:var(--sidebar-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;overflow:hidden}.sidebar-section .location-switcher,.sidebar-section .location-static{color:var(--sidebar-text);background:0 0;border:0;flex-direction:column;align-items:stretch;gap:4px;padding:0;display:flex}.sidebar-section .location-switcher span{color:var(--sidebar-text);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.sidebar-section .location-switcher select{background:var(--sidebar-hover);border-radius:var(--radius-sm);color:var(--sidebar-text-active);font:inherit;border:0;padding:8px 10px}.sidebar-section .location-static{color:var(--sidebar-text-active);font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:2px;display:flex}.sidebar-nav-link{border-radius:var(--radius-sm);color:var(--sidebar-text);border-left:2px solid #0000;padding:9px 12px 9px 10px;font-weight:500;text-decoration:none;transition:background .12s,color .12s,border-left-color .12s;display:block}.sidebar-nav-link:hover{color:var(--sidebar-text-active);background:#ffffff0d}.sidebar-nav-link.active{border-left-color:var(--accent);color:#fff;background:#ffffff12;font-weight:600}.sidebar-nav-separator{background:#ffffff12;border:none;height:1px;margin:6px 0}.sidebar-nav-label{color:#8fa8c080;letter-spacing:.08em;text-transform:uppercase;padding:2px 12px;font-size:10px;font-weight:700}.sidebar-footer{border-top:1px solid var(--sidebar-hover);flex-direction:column;gap:10px;padding-top:14px;display:flex}.sidebar-user p{color:var(--sidebar-text-active);word-break:break-word;margin:0 0 2px;font-size:14px;font-weight:600}.sidebar-user small{color:var(--sidebar-text);word-break:break-word;font-size:12px}.sidebar-signout{border:1px solid var(--sidebar-hover);border-radius:var(--radius-sm);color:var(--sidebar-text);cursor:pointer;font:inherit;background:0 0;padding:8px 10px;font-weight:600}.sidebar-signout:hover{background:var(--sidebar-hover);color:var(--sidebar-text-active)}.legal-footer{border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-top:24px;padding:16px 24px;font-size:12px;display:flex}.legal-footer nav{flex-wrap:wrap;gap:12px;display:flex}.legal-footer a{color:var(--accent);font-weight:700;text-decoration:none}.legal-page{min-height:calc(100vh - 56px);padding:32px 20px}.markdown-document,.dsr-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);max-width:860px;margin:0 auto;padding:28px}.markdown-document h1,.dsr-panel h1{margin:0 0 18px;font-size:32px;line-height:1.15}.markdown-document h2,.export-result h2{margin:24px 0 8px;font-size:18px}.markdown-document p,.dsr-panel p{color:var(--text-secondary);line-height:1.6}.markdown-list-item{margin-left:16px}.markdown-list-item:before{content:"- "}.dsr-panel .auth-form{margin-top:18px}.export-result{gap:8px;margin-top:20px;display:grid}.export-result textarea{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:240px;padding:12px;font:12px IBM Plex Mono,monospace}.cookie-banner{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:40;align-items:center;gap:14px;width:calc(100% - 32px);max-width:760px;padding:14px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.cookie-banner div{flex:1;gap:4px;display:grid}.cookie-banner p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.4}.cookie-banner a{color:var(--accent);font-weight:700;text-decoration:none}.mfa-reminder{background:var(--amber-light);border-bottom:1px solid color-mix(in oklch, var(--amber) 32%, transparent);color:var(--text-primary);align-items:center;gap:12px;padding:10px 24px;display:flex}.mfa-reminder__icon{background:color-mix(in oklch, var(--amber) 16%, transparent);border-radius:var(--radius-sm);color:var(--amber);flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.mfa-reminder__icon svg{width:17px;height:17px}.mfa-reminder__text{flex:1;min-width:0}.mfa-reminder__text strong{font-size:13px;font-weight:600;line-height:1.3;display:block}.mfa-reminder__text p{color:var(--text-secondary);margin:2px 0 0;font-size:12px;line-height:1.4}.mfa-reminder__actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.mfa-reminder__cta{background:var(--accent);border-radius:var(--radius-sm);color:#fff;cursor:pointer;font:inherit;border:0;align-items:center;min-height:32px;padding:6px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:filter .15s;display:inline-flex}.mfa-reminder__cta:hover{filter:brightness(1.08)}.mfa-reminder__dismiss{border:1px solid color-mix(in oklch, var(--amber) 40%, var(--border));border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font:inherit;background:0 0;min-height:32px;padding:6px 12px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.mfa-reminder__dismiss:hover{background:color-mix(in oklch, var(--amber) 12%, transparent);color:var(--text-primary)}.security-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.security-panel h2{margin:0 0 4px;font-size:20px}.security-panel p{color:var(--text-secondary);margin:0}.mfa-enroll-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:14px;max-width:520px;padding:16px;display:grid}.mfa-enroll-box h3{margin:0 0 10px}.mfa-enroll-box img{border:1px solid var(--border);border-radius:var(--radius-sm);width:180px;height:180px}.mfa-enroll-box code{word-break:break-all}.mfa-enroll-box label{color:var(--text-secondary);gap:6px;font-size:13px;font-weight:700;display:grid}.mfa-enroll-box input{border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;min-height:40px;padding:8px 10px}.status-page{min-height:calc(100vh - 56px);padding:32px 20px}.status-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);max-width:720px;margin:0 auto;padding:28px}.status-panel h1{margin:0 0 18px;font-size:32px}.status-grid{gap:10px;display:grid}.status-row{border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.status-row span{color:var(--text-muted);margin-top:2px;font-size:13px;display:block}.status-row em{border-radius:999px;padding:5px 9px;font-style:normal;font-weight:800}.status-row.ok em{background:var(--green-light);color:var(--green)}.status-row.checking em{background:var(--accent-light);color:var(--accent)}.status-row.degraded em{background:var(--red-light);color:var(--red)}.app-page{min-height:100%;padding:24px}.invite-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;padding:16px;display:flex}.invite-locations{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);flex-wrap:wrap;gap:10px 14px;padding:10px 12px;display:flex}.invite-locations legend{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;padding:0 4px;font-size:12px;font-weight:700}.invite-locations label{align-items:center;gap:6px;font-weight:600;display:inline-flex}.page-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.page-header h1{letter-spacing:-.02em;margin:0 0 4px;font-size:22px;font-weight:700;line-height:1.2}.page-header p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.settings-page{grid-auto-rows:max-content;align-content:start;gap:16px;display:grid}.settings-header,.settings-tabs{margin-left:20px;margin-right:20px}.settings-content{width:100%;max-width:1280px;margin-left:auto;margin-right:auto}.settings-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.settings-header h1{margin:0 0 4px;font-size:22px;line-height:1.2}.settings-header p{color:var(--text-secondary);margin:0;font-size:13px}.settings-sync-pill{background:var(--green-light);color:var(--green);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.settings-sync-pill:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.settings-tabs{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-shrink:0;align-items:center;gap:4px;padding:4px;display:flex;overflow-x:auto}.settings-tabs button{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font:inherit;background:0 0;border:0;flex:none;min-height:34px;padding:0 12px;font-weight:700}.settings-tabs button.active{background:var(--accent-light);color:var(--accent)}.rules-subtabs{border-bottom:1px solid var(--border);gap:4px;margin:12px 0 16px;display:flex}.rules-subtabs button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 14px;font-size:13px}.rules-subtabs button.active{color:var(--text-primary);border-bottom-color:var(--accent)}.rules-subtabs button:hover:not(.active){color:var(--text-primary)}.settings-content,.settings-stack,.settings-card-body{grid-auto-rows:max-content;gap:14px;display:grid}.account-info-row{color:var(--text-secondary);align-items:baseline;gap:12px;font-size:13px;display:flex}.account-info-row strong{color:var(--text-primary);font-weight:700}.account-form{flex-direction:column;gap:12px;display:flex}.account-form label{flex-direction:column;gap:6px;max-width:460px;display:flex}.account-form label>span{color:var(--text-secondary);font-size:12px;font-weight:700}.account-form-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.settings-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.settings-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.settings-card-header h2{margin:0 0 4px;font-size:17px;line-height:1.25}.settings-card-header p{color:var(--text-secondary);margin:0;font-size:13px}.settings-card-count{background:var(--bg);color:var(--text-muted);border-radius:999px;padding:3px 8px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:700}.settings-card-body{padding:14px 18px 18px}.settings-info{background:var(--accent-light);border:1px solid color-mix(in srgb, var(--accent) 22%, var(--border));border-radius:var(--radius);color:var(--text-secondary);gap:2px;padding:10px 12px;font-size:12px;line-height:1.45;display:grid}.settings-info strong{color:var(--text-primary)}.settings-info.warning{background:var(--amber-light);border-color:color-mix(in srgb, var(--amber) 28%, var(--border))}.settings-create-form{grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:10px;display:grid}.settings-create-form.grid{grid-template-columns:minmax(180px,1fr) 52px minmax(180px,220px) auto}.settings-create-form.compact{grid-template-columns:minmax(180px,1fr) minmax(180px,220px) auto}.settings-list{gap:8px;display:grid}.settings-list--scrollable{max-height:min(520px,100vh - 360px);padding-right:6px;overflow-y:auto}.settings-empty{border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-secondary);text-align:center;margin:0;padding:18px}.settings-invite-form{background:0 0;border:0;padding:0}.settings-card .entity-row{box-shadow:none;padding:12px}.settings-card .entity-main{min-width:0}.settings-card .row-actions{flex-wrap:nowrap}.settings-card input[type=color]{min-width:42px;padding:4px}.tabs{background:var(--border-subtle);border-radius:var(--radius);border-bottom:none;gap:2px;margin-bottom:18px;padding:3px;display:inline-flex;overflow-x:auto}.tabs button{border-radius:calc(var(--radius) - 2px);color:var(--text-secondary);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;border-bottom-width:medium;padding:7px 14px;font-weight:500;transition:background .12s,box-shadow .12s}.tabs button.active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text-primary);font-weight:600}.tabs button:hover:not(.active){color:var(--text-primary);background:#fff9}.settings-section{gap:16px;display:grid}.inline-form,.toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;padding:12px;display:flex}.toolbar{margin-bottom:16px}.inline-form input,.inline-form select,.settings-create-form input,.settings-create-form select,.settings-invite-form input,.settings-invite-form select,.toolbar input,.toolbar select,.entity-row input,.entity-row select,.form-grid input,.form-grid select,.form-grid textarea,.account-form input,.location-switcher select{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;min-height:36px;padding:7px 9px}.inline-form input,.settings-create-form input,.toolbar input{min-width:220px}.toolbar input,.toolbar select{font-size:13px}.toolbar>span{color:var(--text-secondary);font-size:13px}.grid-form{grid-template-columns:minmax(180px,1fr) 52px minmax(180px,260px) auto;display:grid}.journey-form{grid-template-columns:minmax(70px,.7fr) minmax(140px,1.2fr) repeat(3,minmax(70px,.55fr)) auto;display:grid}.shift-form{grid-template-columns:minmax(70px,.55fr) minmax(140px,1.2fr) repeat(2,minmax(70px,.55fr)) 52px auto;display:grid}.entity-list{gap:8px;display:grid}.entity-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:12px;min-height:64px;padding:10px 12px;display:flex}.entity-main{flex:1;gap:6px;min-width:0;display:grid}.row-grid{grid-template-columns:minmax(160px,1fr) 52px minmax(180px,260px)}.entity-meta{color:var(--text-muted);font-size:12px}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.row-actions button,.toolbar button:not(.primary-button),.modal-header button,.modal-footer button:not(.primary-button),.data-table button{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font:inherit;min-height:34px;padding:7px 10px;font-weight:700}.danger-button{color:var(--red)!important}.danger-action-button{background:var(--red)}.shift-preview{border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:44px;height:38px;font-weight:800;display:inline-flex}.shift-duration-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:38px;padding:6px 10px;display:flex}.shift-duration-summary span,.form-label{color:var(--text-secondary);font-size:12px;font-weight:700}.shift-duration-summary strong{color:var(--text-primary);font-size:14px;line-height:1}.shift-color-section,.shift-preview-block{grid-column:1/-1;gap:8px;display:grid}.shift-color-palette{flex-wrap:wrap;gap:8px;display:flex}.shift-color-swatch{border-radius:var(--radius-sm);cursor:pointer;font:inherit;border:1px solid #0000;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:13px;font-weight:800;display:inline-flex}.shift-color-swatch.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.shift-color-add{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;font:inherit;min-height:34px;padding:0 10px;font-size:12px;font-weight:700}.shift-preview-block strong{color:var(--text-secondary);font-size:12px}.location-static{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);min-height:36px;padding:8px 10px;font-weight:700;display:inline-flex}.location-switcher{align-items:center;gap:8px;display:flex}.location-switcher span{color:var(--text-muted);font-size:12px;font-weight:700}.table-shell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:760px}.data-table th,.data-table td{border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:middle;padding:11px 12px}.data-table th{color:var(--text-muted);text-transform:uppercase;font-size:12px}.data-table td strong,.data-table td div span{display:block}.data-table td div span{color:var(--text-muted);margin-top:2px;font-size:12px}.data-table th:last-child,.data-table td:last-child{text-align:left;white-space:nowrap;width:1%}.empty-state{color:var(--text-secondary);text-align:center;padding:28px}.schedule-page-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;display:flex}.schedule-header-main{flex-wrap:wrap;flex:auto;align-items:center;gap:10px 14px;min-width:0;display:flex}.schedule-page-header h1{margin:0;font-size:28px;line-height:1.15}.schedule-control-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);gap:8px;margin-bottom:10px;padding:10px;display:grid}.schedule-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.schedule-week-nav,.schedule-actions{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.schedule-week-nav{flex-shrink:0}.schedule-today-button{margin-left:10px}.schedule-week-title{text-align:center;gap:1px;min-width:132px;display:grid}.schedule-week-title strong{color:var(--text-primary);line-height:1.15}.schedule-week-title span{color:var(--text-muted);font-size:12px}.schedule-actions{justify-content:flex-end;margin-left:auto}.schedule-filter-bar{flex-wrap:nowrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.search-field{min-width:0;display:flex;position:relative}.search-field-icon{pointer-events:none;z-index:1;width:16px;height:16px;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-field-icon:before,.search-field-icon:after{content:"";position:absolute}.search-field-icon:before{border:1.7px solid var(--text-muted);border-radius:50%;width:9px;height:9px;top:1px;left:1px}.search-field-icon:after{background:var(--text-muted);transform-origin:0;border-radius:999px;width:6px;height:1.7px;top:11px;left:10px;transform:rotate(45deg)}.search-field input{width:100%;padding-left:32px}.schedule-filter-bar .search-field input,.team-filter-bar .search-field input{padding-left:34px}.schedule-filter-bar input,.schedule-filter-bar select{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;min-height:36px;padding:7px 9px;font-size:13px}.schedule-filter-bar input[type=search]{flex:1;min-width:220px;max-width:360px}.schedule-search-field{flex:260px;min-width:220px;max-width:360px}.schedule-filter-bar select{min-width:160px}.filter-popover{position:relative}.filter-popover-trigger{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;min-height:32px;padding:0 10px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.filter-popover-trigger:hover{background:var(--bg)}.filter-popover-trigger.is-open{background:var(--accent-light);border-color:var(--accent)}.filter-popover-count{background:var(--accent);color:#fff;text-align:center;border-radius:999px;min-width:18px;padding:3px 6px;font-size:11px;font-weight:700;line-height:1}.filter-popover-chevron{color:var(--text-muted);transition:transform .18s}.filter-popover-trigger.is-open .filter-popover-chevron{color:var(--accent);transform:rotate(180deg)}.filter-popover-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:30;gap:4px;min-width:240px;max-height:320px;padding:6px;display:grid;position:fixed;overflow-y:auto}.filter-popover-header{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:6px 8px 4px;font-size:11px;font-weight:600;display:flex}.filter-popover-options{gap:2px;display:grid}.filter-popover-option{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:10px;padding:7px 8px;font-size:13px;transition:background .12s;display:flex}.filter-popover-option:hover{background:var(--bg)}.filter-popover-option input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px;margin:0}.filter-popover-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.filter-popover-clear{border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;font:inherit;letter-spacing:.02em;text-transform:none;background:0 0;border:0;padding:2px 6px;font-size:11px;font-weight:600;transition:background .12s}.filter-popover-clear:hover{background:var(--accent-light)}.filter-popover-empty{color:var(--text-secondary);text-align:center;margin:0;padding:16px 12px;font-size:13px}.filter-badges{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-left:auto;display:flex}.badge{white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.badge-draft{background:var(--bg);color:var(--text-secondary)}.badge-published{background:var(--green-light);color:var(--green)}.badge-invalidated,.badge-blocking{background:var(--red-light);color:var(--red)}.badge-warning{background:var(--amber-light);color:var(--amber)}.schedule-stats-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:10px;padding:10px;font-size:13px;display:flex}.schedule-stats-bar strong{color:var(--text-primary)}.shift-palette{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:stretch;margin-bottom:10px;padding:10px;display:grid}.shift-palette-list{flex-wrap:wrap;justify-content:flex-start;gap:6px;min-width:0;display:flex}.shift-palette-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:grab;touch-action:none;align-items:center;gap:6px;min-width:0;min-height:28px;padding:3px 6px;display:inline-flex}.shift-palette-chip:active{cursor:grabbing}.shift-palette-chip:disabled{cursor:not-allowed;opacity:.62}.shift-palette-chip.is-dragging{opacity:.45}.shift-palette-chip strong,.drag-preview span{background:var(--accent-light);border-radius:var(--radius-sm);color:var(--accent);justify-content:center;align-items:center;min-width:28px;height:22px;padding:0 6px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:800;display:inline-flex}.shift-palette-chip span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.stats-separator{background:var(--border);width:1px;height:18px}.schedule-toolbar button:not(.primary-button),.page-link-button{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font:inherit;min-height:36px;padding:8px 10px;font-size:13px;font-weight:700;text-decoration:none}.week-picker{color:var(--text-muted);text-transform:uppercase;align-items:center;gap:8px;margin-left:16px;font-size:12px;font-weight:800;display:inline-flex}.week-picker input{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;text-transform:none;min-width:152px;min-height:36px;padding:7px 9px;font-size:13px}.schedule-alert{background:color-mix(in oklch, var(--surface) 92%, var(--border-subtle));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--text-primary);margin-bottom:12px;padding:12px 14px;font-size:13px;font-weight:650;line-height:1.45}.schedule-alert.danger{background:color-mix(in oklch, var(--surface) 88%, var(--red-light));border-color:color-mix(in oklch, var(--red) 28%, var(--border));color:var(--red)}.schedule-alert.warning{background:color-mix(in oklch, var(--surface) 88%, var(--amber-light));border-color:color-mix(in oklch, var(--amber) 28%, var(--border));color:var(--amber)}.schedule-alert.success{background:color-mix(in oklch, var(--surface) 88%, var(--green-light));border-color:color-mix(in oklch, var(--green) 28%, var(--border));color:var(--green)}.schedule-readonly-hint{justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-readonly-hint__action{border-radius:var(--radius-sm,6px);color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid;padding:4px 10px;font-size:12px;font-weight:600}.schedule-readonly-hint__action:hover{background:color-mix(in oklch, currentColor 10%, transparent)}.schedule-copy-summary{gap:8px;display:grid}.schedule-copy-summary-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.schedule-copy-summary-header button{flex:none}.schedule-copy-summary details{color:var(--text-primary);font-weight:600}.schedule-copy-summary summary{cursor:pointer}.schedule-copy-summary ul{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.schedule-copy-summary li{justify-content:space-between;align-items:center;gap:8px;display:flex}.schedule-copy-summary li span{color:var(--text-secondary)}.schedule-banner{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin:0 16px 12px;padding:14px 16px 14px 18px;display:grid;position:relative;overflow:hidden}.schedule-banner-warning{background:color-mix(in oklch, var(--surface) 92%, var(--amber-light));border-color:color-mix(in oklch, var(--amber) 26%, var(--border));color:var(--text-primary)}.schedule-banner-warning:before{background:var(--amber);content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.schedule-banner-icon{background:color-mix(in oklch, var(--amber-light) 78%, white);border:1px solid color-mix(in oklch, var(--amber) 28%, transparent);color:var(--amber);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.schedule-banner-icon svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:18px;height:18px}.schedule-banner-body{flex:1;gap:2px;min-width:0;display:grid}.schedule-banner-title{color:var(--text-primary);font-size:14px;font-weight:750}.schedule-banner-text{color:var(--text-secondary);font-size:13px}.schedule-banner-action{background:var(--surface);border:1px solid color-mix(in oklch, var(--amber) 24%, var(--border));border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:var(--text-primary);cursor:pointer;flex-shrink:0;padding:6px 12px;font-size:13px}.schedule-banner-action:hover{background:color-mix(in oklch, var(--surface) 82%, var(--amber-light));border-color:color-mix(in oklch, var(--amber) 38%, var(--border))}.published-edit-toolbar{background:color-mix(in oklch, var(--surface) 94%, var(--accent-light));border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow-sm);gap:12px;margin-bottom:12px;padding:14px 16px;display:grid}.published-edit-toolbar>div:first-child{gap:2px;display:grid}.published-edit-toolbar>div:first-child span{color:var(--text-secondary);font-size:13px}.published-edit-toolbar label{color:var(--text-secondary);gap:6px;font-size:13px;font-weight:700;display:grid}.published-edit-toolbar textarea{border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;resize:vertical;min-height:72px;padding:10px 12px;box-shadow:inset 0 1px 2px #0d1b2a0a}.published-edit-actions{justify-content:flex-end;gap:8px;display:flex}.published-edit-actions button{border-radius:var(--radius-sm);cursor:pointer;font:inherit;letter-spacing:0;justify-content:center;align-items:center;min-height:36px;padding:0 14px;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,box-shadow .15s,color .15s,filter .15s;display:inline-flex}.published-edit-actions button:not(.primary-button){background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--text-primary)}.published-edit-actions button:not(.primary-button):hover:not(:disabled){background:var(--border-subtle);border-color:color-mix(in oklch, var(--text-muted) 36%, var(--border))}.published-edit-actions .primary-button{border:1px solid color-mix(in oklch, var(--accent) 82%, black);box-shadow:var(--shadow-sm);min-height:36px;padding:0 16px}.published-edit-actions .primary-button:hover:not(:disabled){filter:brightness(1.06)}.published-edit-actions button:disabled{cursor:not-allowed;opacity:.62}@media (width<=760px){.schedule-banner,.published-edit-actions{flex-direction:column;align-items:stretch}.published-edit-actions button{width:100%}}.schedule-grid-shell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:auto}.schedule-grid{border-collapse:collapse;width:100%;min-width:980px}.schedule-grid.compact{min-width:760px}.schedule-grid th,.schedule-grid td{border-bottom:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);vertical-align:middle;padding:6px}.schedule-grid thead th{background:var(--surface);color:var(--text-muted);text-align:center;text-transform:uppercase;font-size:12px}.schedule-grid thead th.today-column{background:var(--accent-light);box-shadow:inset 0 -2px 0 var(--accent);color:var(--accent)}.schedule-grid thead th:first-child,.schedule-grid tbody th{text-align:left;z-index:1;position:sticky;left:0}.schedule-grid tbody th{background:var(--surface);min-width:220px}.schedule-grid tbody th strong,.schedule-grid tbody th span{display:block}.schedule-grid tbody th span{color:var(--text-muted);margin-top:2px;font-size:12px}.schedule-grid td{min-width:86px;height:48px;position:relative}.schedule-grid .hours-col{text-align:center;white-space:nowrap;width:92px;min-width:92px}.schedule-grid td.hours-col{color:var(--text-secondary);font-weight:800}.hours-cell-main{vertical-align:middle;flex-direction:column;align-items:center;gap:1px;line-height:1.1;display:inline-flex}.hours-cell-actual{font-weight:800}.hours-cell-target{color:var(--text-muted);font-size:10px;font-weight:500}.journey-ok,.journey-err{margin-left:4px}.journey-ok{color:var(--green)}.journey-err{color:var(--red)}.schedule-grid th.weekend{background:oklch(97.5% .005 250)}.schedule-grid td:has(.shift-cell.weekend){background:oklch(97.5% .005 250)}.schedule-grid td.today-column{background:color-mix(in oklch, var(--accent-light) 52%, var(--surface))}.schedule-grid td.has-block{background:var(--red-light)}.schedule-grid td.has-warn{background:var(--amber-light)}.shift-cell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font:inherit;justify-content:center;align-items:stretch;width:100%;height:36px;padding:0;display:flex;overflow:hidden}.schedule-dnd-cell{border-radius:var(--radius-sm);touch-action:none}.schedule-dnd-cell.is-over{box-shadow:0 0 0 2px var(--accent-mid)}.schedule-dnd-cell.compound-target.is-over{box-shadow:0 0 0 2px var(--amber)}.schedule-dnd-cell.is-dragging{opacity:.44}.schedule-dnd-cell .shift-cell{touch-action:none}.shift-cell:disabled{cursor:not-allowed;opacity:.72}.shift-cell:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shift-cell.today{outline:2px solid var(--accent);outline-offset:-2px}.shift-cell.save-flash{animation:.6s ease-out save-flash-pulse}.shift-cell.violation-block{border:2px solid var(--red)}.shift-cell.violation-warn{border:2px dashed var(--amber)}.shift-cell-empty{color:var(--text-muted);justify-content:center;align-items:center;width:100%;font-size:18px;display:inline-flex}.shift-cell-code{background:var(--accent-light);color:var(--accent);flex:1;justify-content:center;align-items:center;min-width:0;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:800;display:inline-flex}.violation-dot{background:var(--red);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;font-weight:800;display:inline-flex;position:absolute;top:2px;right:2px}.drag-preview{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);align-items:stretch;gap:2px;min-width:64px;min-height:38px;padding:5px;display:inline-flex;overflow:hidden}.drag-preview.copy{border-color:var(--green);box-shadow:0 0 0 2px var(--green-light), var(--shadow-lg)}@keyframes save-flash-pulse{0%{box-shadow:0 0 0 0 color-mix(in oklch, var(--green) 70%, transparent)}35%{border-color:var(--green);box-shadow:0 0 0 3px var(--green-light)}to{box-shadow:0 0 #0000}}.shift-modal .modal-header p,.publish-modal .modal-header p,.edit-published-modal .modal-header p{color:var(--text-secondary);margin:4px 0 0}.edit-published-modal{width:min(1200px,100%)}.invalidate-publication-modal{width:min(520px,100%)}.invalidate-publication-modal .modal-header p{color:var(--text-secondary);margin:4px 0 0}.invalidate-publication-body{gap:12px;padding:16px;display:grid}.invalidate-publication-body label{color:var(--text-secondary);gap:6px;font-size:13px;font-weight:700;display:grid}.invalidate-publication-body textarea{resize:vertical;min-height:96px}.shift-modal-body{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px;display:grid}.shift-option{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;justify-items:center;gap:6px;min-height:74px;padding:10px;display:grid}.shift-option.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.shift-option strong{background:var(--accent-light);border-radius:var(--radius-sm);color:var(--accent);justify-content:center;align-items:center;min-width:36px;height:28px;padding:0 8px;font-family:IBM Plex Mono,monospace;font-size:16px;display:inline-flex}.shift-option span{color:var(--text-secondary);font-size:12px;font-weight:700}.modal-inline-error{margin:0 16px 16px}.shift-modal-custom-section{border-top:1px solid var(--border-subtle);padding:12px 16px 4px}.shift-custom-toggle{border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font:inherit;background:0 0;width:100%;padding:10px 14px;font-size:13px;font-weight:700}.shift-custom-toggle:hover{background:var(--bg);color:var(--text-primary)}.shift-custom-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:14px;display:flex}.shift-custom-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.shift-custom-form input:not([type=checkbox]):not([type=color]),.shift-custom-form select{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;min-height:36px;padding:7px 9px}.shift-custom-times{flex-direction:column;gap:8px;display:flex}.shift-custom-time{align-items:center;gap:6px;display:flex}.shift-custom-time select{flex:1 1 0;min-width:0}.shift-custom-time-label{align-items:center;gap:6px;display:flex}.shift-custom-overnight-tag{background:var(--accent-light);color:var(--accent);border-radius:999px;padding:1px 6px;font-size:11px;font-weight:700}.shift-custom-time-sep{color:var(--text-muted);font-weight:700}.shift-custom-meta{justify-content:flex-end;align-items:baseline;gap:10px;display:flex}.shift-custom-duration{color:var(--text-secondary);font-size:12px;font-weight:700}.shift-custom-duration strong{color:var(--text-primary);margin-left:4px;font-size:13px}.shift-custom-overnight{color:var(--text-muted);font-size:12px}.shift-custom-existing{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.shift-custom-existing-hint{color:var(--text-muted);font-size:12px}.shift-custom-checkbox{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.shift-custom-form input[type=color]{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;width:100%;height:36px;padding:2px}.shift-custom-actions{justify-content:flex-end;gap:8px;display:flex}.shift-custom-actions button{cursor:pointer;min-height:34px;padding:7px 14px;font-size:13px}.shift-custom-actions button:not(.primary-button){background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-weight:700}.shift-custom-actions button:not(.primary-button):hover:not(:disabled){background:var(--border-subtle);border-color:var(--text-muted)}.publish-modal-body{gap:12px;padding:16px;display:grid}.violation-list{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.violation-list.danger{background:var(--red-light);border-color:oklch(85% .08 22)}.violation-list.warning{background:var(--amber-light);border-color:oklch(85% .08 75)}.violation-list h3{margin:0 0 8px;font-size:14px}.violation-list ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.violation-list li{gap:2px;display:grid}.violation-list span,.violation-list p{color:var(--text-secondary);margin:0;font-size:13px}.published-page{flex-direction:column;gap:14px;display:flex}.published-summary-grid{grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;display:grid}.published-summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);gap:4px;min-height:70px;padding:12px 14px;display:grid}.published-summary-card span{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:700}.published-summary-card strong{color:var(--text-primary);font-size:16px;line-height:1.1}.published-summary-card.accent strong{color:var(--green)}.published-summary-card.danger strong{color:var(--red)}.published-table-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.published-table-header,.published-table-row{grid-template-columns:minmax(140px,1.1fr) minmax(86px,.7fr) minmax(96px,.7fr) minmax(136px,1fr) 210px;align-items:center;gap:12px;display:grid}.published-table-header>*,.published-table-row>*{min-width:0}.published-table-header{background:var(--border-subtle);border-bottom:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;padding:9px 14px;font-size:12px;font-weight:700}.published-table-header>span:last-child{text-align:right}.published-table-row{border-bottom:1px solid var(--border-subtle);min-height:58px;padding:10px 14px}.published-table-row:last-child{border-bottom:0}.published-period{font-size:13px;line-height:1.2}.published-period strong{color:var(--text-primary)}.published-version span,.published-date span{color:var(--text-secondary);font-size:13px}.published-actions{justify-content:flex-end}.published-actions button{min-height:28px;padding:4px 8px;font-size:12px}@media (width<=1100px){.published-table-header,.published-table-row{grid-template-columns:minmax(120px,1fr) minmax(78px,.7fr) minmax(86px,.7fr) minmax(118px,.9fr) 190px;gap:8px}}@media (width<=1000px){.published-summary-grid{grid-template-columns:1fr 1fr}.published-table-header{display:none}.published-table-row{grid-template-columns:1fr;align-items:stretch}.published-actions{justify-content:flex-start}}.publication-list,.employee-schedule-list{gap:12px;display:grid}.employee-schedule-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.employee-schedule-card h2{margin:8px 0 4px;font-size:20px}.employee-schedule-card p{color:var(--text-secondary);margin:0}.status-badge{text-transform:uppercase;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;display:inline-flex}.status-badge.active{background:var(--green-light);color:var(--green)}.status-badge.invalidated{background:var(--red-light);color:var(--red)}.drawer-backdrop{z-index:25;background:#0d1b2a47;position:fixed;inset:0}.history-drawer{background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);width:min(100%,420px);max-width:420px;height:100%;margin-left:auto;overflow:auto}.history-drawer header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px;display:flex}.history-drawer h2{margin:0}.history-drawer button{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font:inherit;padding:7px 10px;font-weight:700}.history-list{gap:10px;padding:16px;display:grid}.history-timeline{gap:16px;padding:18px 16px 18px 34px;display:grid;position:relative}.history-timeline:before{background:var(--border);content:"";width:2px;position:absolute;top:18px;bottom:18px;left:21px}.history-timeline-event{position:relative}.history-timeline-dot{border:3px solid var(--surface);z-index:1;border-radius:999px;width:14px;height:14px;position:absolute;top:14px;left:-20px}.history-timeline-dot.publish{background:#15803d}.history-timeline-dot.edit{background:#2563eb}.history-timeline-dot.invalidate{background:#dc2626}.history-timeline-card{border:1px solid var(--border);border-radius:var(--radius-sm);gap:8px;padding:12px;display:grid}.history-timeline-card-header{gap:3px;display:grid}.history-timeline-card-header span,.history-timeline-card small,.history-timeline-warnings span,.history-timeline-warnings small{color:var(--text-muted)}.history-timeline-card p{color:var(--text-secondary);margin:0}.history-timeline-warnings{border-top:1px solid var(--border-subtle);padding-top:8px}.history-timeline-warnings summary{cursor:pointer;font-weight:700}.history-timeline-warnings ul{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.history-timeline-warnings li{gap:3px;display:grid}.history-item{border:1px solid var(--border);border-radius:var(--radius-sm);gap:5px;padding:12px;display:grid}.history-item span,.history-item small{color:var(--text-muted)}.history-item p{color:var(--text-secondary);margin:0}.published-edit-grid{padding:16px;overflow:auto}.edit-reason{gap:10px;padding:0 16px 16px;display:grid}.edit-reason label{color:var(--text-secondary);gap:6px;font-size:13px;font-weight:700;display:grid}.edit-reason textarea{border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;resize:vertical;min-height:86px;padding:9px 10px}.employee-schedule-card{flex-direction:column;align-items:stretch}.employee-schedule-card header{justify-content:space-between;align-items:flex-start;gap:12px;width:100%;display:flex}.employee-schedule-card a{color:var(--accent);font-weight:700;text-decoration:none}.employee-week-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;width:100%;display:grid}.employee-week-row div{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);gap:6px;min-height:64px;padding:10px;display:grid}.employee-week-row span{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:700}.employee-week-row strong{font-family:IBM Plex Mono,monospace}.admin-section{gap:14px;display:grid}.admin-invite-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:14px;padding:16px;display:grid}.admin-invite-panel label,.permission-modal-body label,.audit-filters label{color:var(--text-secondary);gap:6px;font-size:13px;font-weight:700;display:grid}.admin-invite-panel input,.admin-invite-panel select,.permission-modal-body select,.audit-filters input,.audit-filters select{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;min-height:38px;padding:8px 10px}.permission-modal-body{gap:14px;padding:16px;display:grid}.permission-modal .modal-header p{color:var(--text-secondary);margin:4px 0 0}.admin-matrix td:not(:first-child),.admin-matrix th:not(:first-child){text-align:center}.audit-filters{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(5,minmax(120px,1fr)) auto;align-items:end;gap:10px;margin-bottom:0;padding:12px;display:grid}.audit-page-content{grid-auto-rows:max-content;gap:14px;display:grid}.audit-filters button,.audit-pagination button{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font:inherit;min-height:38px;padding:8px 12px;font-weight:700}.audit-filters button{background:var(--accent);border-color:var(--accent);color:#fff}.audit-list{gap:8px;display:grid}.audit-entry{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:8px;padding:12px;display:grid}.audit-entry>div:first-child,.audit-entry-button{color:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:0;display:flex}.audit-entry-button{cursor:pointer;font:inherit}.audit-entry strong,.audit-entry span,.audit-entry small{display:block}.audit-entry span,.audit-entry small{color:var(--text-muted);font-size:12px}.audit-diff{border-top:1px solid var(--border-subtle);gap:10px;padding-top:10px;display:grid}.audit-entity-label{color:var(--text-secondary);font-weight:700}.audit-diff-summary{gap:8px;margin:0;display:grid}.audit-diff-summary div{background:var(--bg);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);gap:4px;padding:10px;display:grid}.audit-diff-summary dt{color:var(--text-secondary);font-size:12px;font-weight:700}.audit-diff-summary dd{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.audit-diff-summary dd span{color:var(--text-muted);font-size:13px;display:inline}.audit-diff-summary dd strong{color:var(--text-primary);display:inline}.audit-diff-empty{color:var(--text-muted);margin:0}.audit-pagination{justify-content:flex-end;gap:8px;margin-top:0;display:flex}.audit-pagination button:disabled{cursor:not-allowed;opacity:.6}.modal-backdrop{z-index:20;background:#0d1b2a73;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:min(760px,100%);max-height:calc(100vh - 36px);overflow:auto}.modal-header,.modal-footer{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.modal-footer{border-bottom:0;border-top:1px solid var(--border);justify-content:flex-end;gap:10px}.modal-header h2{margin:0;font-size:20px}.employee-modal .form-error{margin:14px 16px 0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;padding:16px;display:grid}.form-grid>label,.form-field{color:var(--text-secondary);gap:6px;font-size:13px;font-weight:700;display:grid}.wide-field{grid-column:1/-1}.form-grid textarea{resize:vertical;min-height:82px}.location-checklist{border:1px solid var(--border);border-radius:var(--radius-sm);grid-column:1/-1;margin:0;padding:10px 12px 12px}.location-checklist legend{color:var(--text-secondary);padding:0 4px;font-size:13px;font-weight:800}.location-checklist-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.location-checklist-option{color:var(--text-primary);align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:700;display:flex}.location-checklist-option input{flex:none}.import-page{max-width:1280px}.import-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.import-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);gap:16px;padding:18px;display:grid}.import-panel h2{margin:0;font-size:16px;line-height:1.25}.import-json-label{color:var(--text-secondary);gap:8px;font-size:14px;font-weight:700;display:grid}.import-json-label textarea{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:520px;color:var(--text-primary);resize:vertical;background:#fff;padding:12px;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.import-json-label textarea:focus{border-color:var(--accent);outline:2px solid var(--accent-light)}.import-side{gap:20px;display:grid}.import-preview{gap:10px;margin:0;display:grid}.import-preview div{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.import-preview div:last-child{border-bottom:0;padding-bottom:0}.import-preview dt{color:var(--text-secondary);font-size:13px}.import-preview dd{color:var(--text-primary);margin:0;font-weight:800}.import-command{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:280px;color:var(--text-primary);white-space:pre-wrap;background:#f8fafc;margin:0;padding:12px;font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;overflow:auto}.import-result{border:1px solid color-mix(in oklch, var(--green) 30%, var(--border));border-radius:var(--radius-sm);background:var(--green-light);gap:12px;padding:12px;display:grid}.import-result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.import-result dl{margin:0}.import-result dt{color:var(--text-secondary);text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:800}.import-result dl div{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.muted-copy{color:var(--text-secondary);margin:0;line-height:1.5}.employee-shift-chips{flex-wrap:wrap;gap:4px;display:flex}.employee-shift-chip{border-radius:4px;padding:2px 6px;font-size:12px;font-weight:700}.employee-week-hours{color:var(--text-secondary);text-align:right;margin:4px 0 0;font-size:13px}.emp-schedule-page{flex-direction:column;gap:18px;display:flex}.emp-topbar-identity{align-items:center;gap:10px;min-width:0;display:flex}.emp-topbar-text{gap:2px;min-width:0;display:grid}.emp-topbar-name{align-items:center;gap:8px;display:flex}.emp-topbar-name strong{color:var(--text-primary);font-size:15px;font-weight:700;line-height:1.2}.emp-topbar-text small{color:var(--text-muted);font-size:11px;line-height:1.2}.emp-schedule-board{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.emp-schedule-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.emp-schedule-nav{align-items:center;gap:12px;display:flex}.emp-schedule-nav strong{text-align:center;min-width:150px;font-size:15px;font-weight:700}.emp-schedule-navbtn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;line-height:1;display:flex}.emp-schedule-navbtn:hover{background:var(--border-subtle)}.emp-schedule-viewtoggle{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px;display:inline-flex}.emp-schedule-viewtoggle button{border-radius:calc(var(--radius-sm) - 2px);color:var(--text-secondary);cursor:pointer;font:inherit;background:0 0;border:0;padding:5px 14px;font-size:13px;font-weight:600}.emp-schedule-viewtoggle button.is-active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text-primary)}.emp-cal{padding:12px 16px 4px}.emp-cal-head,.emp-cal-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.emp-cal-week{margin-bottom:8px}.emp-cal-weekday{color:var(--text-muted);letter-spacing:.04em;text-align:center;text-transform:uppercase;padding:4px 2px;font-size:11px;font-weight:700}.emp-cal-day{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:6px;min-height:68px;padding:8px;display:flex}.emp-cal-day.is-outside{opacity:.45}.emp-cal-day.is-today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.emp-cal-daynum{color:var(--text-muted);font-size:12px;font-weight:700}.emp-cal-shifts{flex-wrap:wrap;gap:4px;display:flex}.emp-cal-shift{border-radius:4px;padding:2px 8px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:700}.emp-cal-empty{color:var(--text-muted);font-size:14px}.emp-schedule-note{color:var(--text-muted);margin:0;padding:0 16px 4px;font-size:13px}.emp-schedule-summary{border-top:1px solid var(--border);color:var(--text-secondary);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding:14px 16px;font-size:14px;display:flex}.emp-schedule-summary strong{color:var(--text-primary);font-family:IBM Plex Mono,monospace;font-weight:700}.emp-schedule-summary-sep{color:var(--text-muted)}.settings-item{border-bottom:1px solid var(--border-subtle);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:12px 4px;transition:background .1s;display:flex}.settings-item:last-child{border-bottom:none}.settings-item:hover{background:var(--accent-light)}.settings-item-button{appearance:none;border:none;border-bottom:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;width:100%}.settings-item-button:last-child{border-bottom:none}.settings-item-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.user-detail-modal{max-width:480px}.user-detail-grid{grid-template-columns:140px 1fr;gap:10px 16px;margin:12px 0 0;display:grid}.user-detail-grid dt{color:var(--text-secondary);font-size:13px}.user-detail-grid dd{margin:0}.user-detail-muted{color:var(--text-secondary);font-style:italic}.user-detail-employees{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.settings-item-drag{color:var(--text-muted);cursor:grab;-webkit-user-select:none;user-select:none;padding:0 2px;font-size:16px}.settings-item-drag:active{cursor:grabbing}.settings-chip{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:flex}.settings-item-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.settings-journey-code{background:var(--accent-light);border-radius:var(--radius-sm);color:var(--accent);letter-spacing:.04em;white-space:nowrap;flex-shrink:0;justify-content:center;align-items:center;height:28px;padding:0 6px;font-size:11px;font-weight:800;display:flex}.settings-item-body{flex:1;min-width:0}.settings-item-name{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;font-weight:700;overflow:hidden}.settings-item-meta{color:var(--text-secondary);margin:2px 0 0;font-size:13px}.settings-item-actions{flex-shrink:0;gap:6px;display:flex}.settings-shift-actions{opacity:1;visibility:visible}.settings-item-actions button{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font:inherit;background:0 0;padding:4px 10px;font-size:12px;font-weight:600;transition:background .12s,color .12s}.settings-item-actions button:hover{background:var(--surface);color:var(--text-primary)}.settings-item-actions button.danger{border-color:var(--red-light);color:var(--red)}.settings-item-actions button.danger:hover{background:var(--red-light)}.settings-delete-confirm{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;animation:.12s teamConfirmFadeIn;display:flex}.settings-delete-confirm-text{color:var(--red);white-space:nowrap;font-size:12px;font-weight:700}.settings-delete-error{color:var(--red);max-width:220px;font-size:12px}.settings-delete-confirm button{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font:inherit;padding:4px 8px;font-size:12px;font-weight:700}.settings-delete-confirm button.danger{background:var(--red);border-color:var(--red);color:#fff}.settings-card-action{border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;font:inherit;background:0 0;flex-shrink:0;padding:5px 12px;font-size:13px;font-weight:700;transition:background .12s,color .12s}.settings-card-action:hover{background:var(--accent);color:#fff}.settings-member-avatar{background:var(--accent-light);color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:flex}@keyframes teamProfileSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes teamConfirmFadeIn{0%{opacity:0}to{opacity:1}}.team-badge-empty{color:var(--text-muted);font-size:12px}.team-journey-badge{border-radius:4px;padding:3px 8px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600}.team-interjornada-badge{background:var(--accent-light);color:var(--accent);border-radius:4px;padding:2px 7px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600}.team-interjornada-badge.long{background:var(--amber-light);color:var(--amber)}.team-status-badge{border-radius:20px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.team-status-badge.ativo{background:var(--green-light);color:var(--green)}.team-status-badge.inativo{background:var(--border-subtle);color:var(--text-muted)}.team-status-badge.afastado{background:var(--amber-light);color:var(--amber)}.team-status-dot{background:currentColor;border-radius:50%;width:5px;height:5px;display:inline-block}.team-avatar{flex-shrink:0;justify-content:center;align-items:center;font-weight:700;line-height:1;display:flex}.team-topbar-metrics{scrollbar-width:none;align-items:center;gap:10px;min-width:0;margin-left:auto;display:flex;overflow-x:auto}.team-topbar-metrics::-webkit-scrollbar{display:none}.team-stat-group{flex-shrink:0;align-items:center;gap:8px;display:flex}.team-stat-group.journeys{min-width:0}.team-stat-group-label{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:800}.team-stat-group-pills{align-items:center;gap:6px;display:flex}.team-stat-pill{background:var(--bg);white-space:nowrap;border:1px solid #0000;border-radius:20px;align-items:center;gap:6px;min-height:28px;padding:4px 12px;display:flex}.team-stat-pill.summary{border-color:var(--border-subtle)}.team-stat-pill.journey{border-color:color-mix(in oklch, currentColor 12%, transparent);padding-inline:10px}.team-stat-pill-value{font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:700}.team-stat-pill-label{color:var(--text-muted);font-size:11px;font-weight:500}.team-view-toggle{background:var(--bg);border:1px solid var(--border);border-radius:7px;gap:2px;padding:3px;display:flex}.team-view-btn{color:var(--text-muted);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;transition:all .12s;display:flex}.team-view-btn.active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--accent)}.team-filter-bar{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:8px 20px;display:flex}.team-filter-bar input,.team-filter-bar select{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;min-height:32px;padding:4px 8px;font-size:13px}.team-filter-bar input{min-width:0}.team-bulk-action-bar{background:color-mix(in oklch, var(--surface) 94%, var(--accent-light));border-bottom:1px solid var(--border);border-top:1px solid color-mix(in oklch, var(--accent) 16%, var(--border));flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:7px 20px;display:flex}.team-bulk-action-count{background:var(--accent-light);border:1px solid color-mix(in oklch, var(--accent) 20%, var(--border));color:var(--accent);white-space:nowrap;border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.team-bulk-action-buttons{align-items:center;gap:8px;display:flex}.team-bulk-action-bar .primary-button{box-shadow:var(--shadow-sm);min-height:32px;padding:0 12px;font-size:13px}.team-bulk-action-bar button:not(.primary-button){background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font:inherit;min-height:32px;padding:0 10px;font-size:13px;font-weight:700}.team-bulk-action-bar button:not(.primary-button):hover{background:var(--border-subtle);border-color:color-mix(in oklch, var(--text-muted) 36%, var(--border))}.team-search-field{flex:320px;min-width:280px;max-width:420px}.team-list-shell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex:1;overflow:auto}.team-card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;padding:20px;display:grid}.team-card-select-all{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.team-card-select-all label{cursor:pointer;white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:500;display:inline-flex}.team-card-select-all-count{color:var(--text-muted);white-space:nowrap;font-size:12px}.team-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;padding:18px;transition:all .15s;position:relative}.team-card-identity{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;min-width:0;display:grid}.team-card-identity .team-avatar{border-radius:12px;flex-shrink:0;width:44px;height:44px;font-size:13px}.team-card-copy{min-width:0}.team-card-name-row{align-items:flex-start;gap:8px;min-width:0;padding-right:24px;display:flex}.team-card-name{color:var(--text-primary);text-overflow:ellipsis;-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:14px;font-weight:800;line-height:1.25;display:-webkit-box;overflow:hidden}.team-card-meta{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;line-height:1.35;display:block;overflow:hidden}.team-checkbox{accent-color:var(--accent);cursor:pointer;width:14px;height:14px;margin:0}.team-checkbox:focus-visible{outline:2px solid var(--accent-light);outline-offset:2px}.team-card-select{z-index:1;display:inline-flex;position:absolute;top:10px;right:10px}.team-card:hover{border-color:var(--accent-mid);box-shadow:var(--shadow-md);transform:translateY(-2px)}.team-card:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:3px}.employee-transfer-modal{width:min(760px,100vw - 32px);max-width:760px}.employee-transfer-body{gap:16px;padding:18px 22px;display:grid}.employee-transfer-notice{border:1px solid var(--border);border-radius:var(--radius-sm);margin:14px 22px 0;padding:10px 12px;font-size:13px;font-weight:650;line-height:1.45}.employee-transfer-body .employee-transfer-notice{margin:0}.employee-transfer-notice--danger{background:color-mix(in oklch, var(--surface) 88%, var(--red-light));border-color:color-mix(in oklch, var(--red) 28%, var(--border));color:var(--red)}.employee-transfer-notice--info{background:color-mix(in oklch, var(--surface) 88%, var(--accent-light));border-color:color-mix(in oklch, var(--accent) 24%, var(--border));color:var(--accent)}.employee-transfer-field{gap:6px;display:grid}.employee-transfer-field-label{color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.segmented-control{background:var(--bg);border-radius:var(--radius-sm);gap:2px;padding:3px;display:inline-flex}.segmented-control__option{border-radius:calc(var(--radius-sm) - 2px);color:var(--text-secondary);cursor:pointer;font:inherit;background:0 0;border:0;min-height:30px;padding:0 14px;font-size:13px;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.segmented-control__option:hover:not(.is-active){color:var(--text-primary)}.segmented-control__option.is-active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text-primary)}.employee-transfer-select{display:block;position:relative}.employee-transfer-select:after{content:"";pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='none' stroke='%235A6A7A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;width:10px;height:6px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.employee-transfer-select select{appearance:none;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font:inherit;width:100%;min-height:36px;padding:0 32px 0 12px;font-size:13px}.employee-transfer-summary{flex-wrap:wrap;gap:6px;display:flex}.employee-transfer-chip{white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600}.employee-transfer-chip--info{background:var(--accent-light);color:var(--accent)}.employee-transfer-chip--success{background:var(--green-light);color:var(--green)}.employee-transfer-chip--warning{background:var(--amber-light);color:var(--amber)}.employee-transfer-chip--danger{background:var(--red-light);color:var(--red)}.employee-transfer-preview{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);max-height:280px;display:grid;overflow-y:auto}.employee-transfer-row{border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(160px,1fr) minmax(140px,auto);align-items:center;gap:8px;padding:10px 14px;display:grid}.employee-transfer-row:last-child{border-bottom:0}.employee-transfer-row__main strong{color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.3;display:block}.employee-transfer-row__main span{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.employee-transfer-row__meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.employee-transfer-row__meta span:first-child{color:var(--text-secondary);font-size:12px}.employee-transfer-row__status{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700}.employee-transfer-row__status--warning{background:var(--amber-light);color:var(--amber)}.employee-transfer-row__status--danger{background:var(--red-light);color:var(--red)}.employee-transfer-row.blocked{background:color-mix(in oklch, var(--red-light) 50%, var(--surface))}.employee-transfer-row.blocked .employee-transfer-row__main strong{color:var(--text-secondary)}.employee-transfer-modal .modal-footer .primary-button,.employee-transfer-modal .modal-footer .secondary-button{letter-spacing:0;min-height:36px;padding:0 14px;font-size:13px;font-weight:700}.employee-transfer-modal .modal-footer .primary-button{box-shadow:var(--shadow-sm)}.modal-close{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:background .15s,color .15s;display:inline-flex}.modal-close:hover{background:var(--bg);color:var(--text-primary)}.team-profile-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;background:#0d1b2a73;position:fixed;inset:0}.team-profile-panel{background:var(--surface);z-index:201;flex-direction:column;width:min(380px,100vw);animation:.22s teamProfileSlideIn;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-8px 0 32px #0d1b2a1f}.team-profile-hero{background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0;padding:24px 24px 20px}.team-profile-info{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:14px 0;display:flex}.team-profile-info:last-child{border-bottom:none}.team-profile-section{border:1px solid var(--border);border-radius:10px;overflow:hidden}.team-profile-section-title{background:var(--bg);border-bottom:1px solid var(--border);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;padding:10px 14px;font-size:11px;font-weight:600}.team-profile-body{flex-direction:column;flex:1;gap:14px;padding:20px 24px;display:flex}.team-profile-footer{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:8px;padding:16px 24px;display:flex}.team-profile-action-row{gap:8px;display:flex}.team-journey-picker{grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;display:grid}.team-journey-option{background:var(--bg);cursor:pointer;outline:1px solid var(--border);outline-offset:-1px;text-align:left;border:0;border-radius:8px;padding:10px 12px;transition:all .12s}.team-journey-option strong{font-size:13px;line-height:1.3;display:block}.team-journey-option span{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.required-star{color:var(--red);margin-left:1px;font-size:11px;position:relative;top:-1px}.employee-form-checkbox-label{color:var(--text-secondary);align-items:center;gap:6px;margin-top:-4px;font-size:12px;font-weight:500;display:flex}.matricula-input-wrapper{position:relative}.matricula-input-wrapper input[type=text],.matricula-input-wrapper input:not([type]){width:100%}.matricula-na-inline{color:var(--text-muted);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;font-size:11px;font-weight:500;display:flex;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.employee-invite-toggle{background:var(--accent-light);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:10px;margin:12px 0 4px;padding:10px 12px;display:flex}.employee-invite-toggle input[type=checkbox]{margin-top:3px}.employee-invite-toggle span{color:var(--text-primary);flex-direction:column;gap:2px;font-weight:600;display:flex}.employee-invite-toggle small{color:var(--text-secondary);font-size:12px;font-weight:400}.team-invite-warning{border-radius:var(--radius-sm);color:var(--text-primary);background:oklch(95% .06 80);border:1px solid oklch(78% .12 80);align-items:center;gap:12px;margin:0 0 12px;padding:10px 14px;display:flex}.team-invite-warning button{appearance:none;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 4px;font-size:18px;line-height:1}.team-invite-warning button:hover{color:var(--text-primary)}.team-journey-option.active{outline-offset:-2px;outline-width:2px}.team-journey-callout{border-radius:6px;align-items:center;gap:6px;margin-top:8px;padding:8px 12px;font-size:12px;font-weight:500;display:flex}.team-journey-callout.long{background:var(--amber-light);color:var(--amber)}.team-journey-callout.normal{background:var(--accent-light);color:var(--accent)}.team-deactivate-confirm{background:var(--red-light);border:1px solid color-mix(in oklch, var(--red) 30%, var(--border));border-radius:8px;padding:12px;animation:.12s teamConfirmFadeIn}.team-profile-close{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;line-height:1;transition:background .12s,color .12s;display:flex}.team-profile-close:hover{background:var(--border-subtle);color:var(--text-primary)}.team-profile-footer button:not(.primary-button),.team-profile-action-row button:not(.primary-button){background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font:inherit;flex:1;min-height:36px;padding:8px 10px;font-size:13px;font-weight:700;transition:background .15s,border-color .15s}.team-profile-footer button:not(.primary-button):hover:not(:disabled),.team-profile-action-row button:not(.primary-button):hover:not(:disabled){background:var(--border-subtle);border-color:color-mix(in oklch, var(--text-muted) 36%, var(--border))}.team-profile-action-row button.danger-button:hover:not(:disabled){background:var(--red-light);border-color:color-mix(in oklch, var(--red) 30%, var(--border))}.team-profile-footer button:disabled,.team-profile-action-row button:disabled{cursor:not-allowed;opacity:.68}.team-profile-schedule{flex-direction:column;gap:14px;display:flex}.team-profile-stats{background:var(--bg);border:1px solid var(--border);border-radius:10px;display:flex}.team-profile-stat{flex-direction:column;flex:1;align-items:center;gap:3px;padding:12px 8px;display:flex}.team-profile-stat+.team-profile-stat{border-left:1px solid var(--border-subtle)}.team-profile-stat strong{color:var(--text-primary);font-family:IBM Plex Mono,monospace;font-size:22px;font-weight:700;line-height:1}.team-profile-stat span{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.team-profile-upcoming{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.team-profile-upcoming-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;padding:10px 14px;display:flex}.team-profile-upcoming-row:last-child{border-bottom:none}.team-profile-upcoming-date{color:var(--text-secondary);text-transform:capitalize;min-width:56px;font-size:12px;font-weight:600}.team-profile-upcoming-label{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.team-profile-upcoming-time{color:var(--text-muted);white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:12px}.team-profile-empty{color:var(--text-muted);font-size:13px}.team-profile-upcoming-empty,.team-profile-schedule-loading{margin:0;padding:14px}.reports-page{display:block}.reports-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.reports-header h1{letter-spacing:-.02em;margin:0 0 3px;font-size:22px;font-weight:750;line-height:1.15}.reports-header p{color:var(--text-muted);margin:0;font-size:12px;line-height:1.4}.reports-tabs{border-bottom:1px solid var(--border-subtle);background:0 0;flex-shrink:0;gap:4px;margin-bottom:0;padding:0;display:flex;overflow:auto hidden}.reports-filter-bar{background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:8px 20px;display:flex}.reports-filter-bar select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;min-height:30px;padding:3px 8px;font-size:13px}.reports-filter-label{color:var(--accent);letter-spacing:.04em;align-items:center;gap:4px;margin-right:4px;font-size:11px;font-weight:700;display:inline-flex}.reports-shift-toggle{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:2px;padding:2px;display:inline-flex}.reports-shift-btn{border-radius:calc(var(--radius-sm) - 2px);color:var(--text-secondary);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:5px;min-height:26px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.reports-shift-btn:hover:not(.active){background:var(--border-subtle);color:var(--text-primary)}.reports-shift-btn.active{background:var(--accent-light);color:var(--accent)}.reports-shift-code{background:var(--border-subtle);color:var(--text-primary);border-radius:3px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:700;display:inline-flex}.reports-type-select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;min-width:180px;min-height:32px;padding:4px 8px;font-size:13px;font-weight:600}.reports-pdf-button{align-items:center;gap:8px;display:inline-flex}.reports-export-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.reports-csv-button{align-items:center;gap:8px;height:32px;min-height:32px;padding:4px 12px;display:inline-flex}.reports-csv-button:hover:not(:disabled){background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.reports-filter-count{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:12px;font-weight:500}.reports-tabs button{color:var(--text-muted);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex:none;min-height:38px;margin-bottom:-1px;padding:9px 14px;font-weight:600;transition:color .12s,border-color .12s}.reports-tabs button.active{border-bottom-color:var(--accent);color:var(--text-primary);font-weight:700}.reports-tabs button:hover:not(.active){color:var(--text-primary)}.report-print-area .print-only{display:none}.reports-page .table-shell{box-shadow:var(--shadow-sm)}.reports-page .data-table th{color:var(--text-muted);letter-spacing:0;background:oklch(98% .004 248);font-size:11px;font-weight:800}.reports-page .data-table tbody tr:hover{background:oklch(98.5% .006 248)}.report-empty-state{color:var(--text-muted);text-align:center;padding:48px 24px}.report-empty-state-message{color:var(--text-secondary);margin:0;font-size:14px;font-weight:700}.report-empty-state-hint{margin:6px 0 0;font-size:13px}.report-tab-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.report-tab-header__filters,.report-tab-header__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.report-period-picker,.report-week-picker{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:8px;padding:6px 8px;display:flex}.report-picker-nav{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;line-height:1;display:flex}.report-picker-nav:hover{background:var(--border-subtle);color:var(--text-primary)}.report-period-picker__content{flex-direction:column;align-items:center;gap:2px;display:flex}.report-period-picker__dates{align-items:center;gap:6px;display:flex}.report-period-picker__date-input{box-sizing:border-box;box-shadow:none;color:var(--text-primary);cursor:pointer;background:0 0;border:0;width:128px;min-width:128px;padding:0;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:800}.report-period-picker__dates span{color:var(--text-muted);font-size:12px}.report-period-picker__label{color:var(--text-muted);font-size:10px}.report-picker-fiscal{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;min-height:28px;padding:4px 10px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:800}.report-picker-fiscal:hover{background:var(--border-subtle);color:var(--text-primary)}.report-week-picker__label{color:var(--text-primary);text-align:center;min-width:138px;font-size:12px;font-weight:700}.report-violation-summary{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;font-size:12px;display:flex}.report-violation-summary>span{color:var(--text-muted);font-weight:700}.report-print-area{font-family:IBM Plex Sans,sans-serif}.report-print-header{border-bottom:2px solid var(--text-primary);justify-content:space-between;align-items:flex-end;margin-bottom:16px;padding-bottom:10px;display:none}.report-print-hospital{letter-spacing:-.02em;font-size:18px;font-weight:700}.report-print-title{color:var(--text-secondary);margin-top:2px;font-size:12px}.report-print-period{color:var(--text-muted);font-size:11px}.report-print-meta{color:var(--text-muted);text-align:right;font-size:10px}.report-print-body{overflow-x:auto}.escala-mensal-shell{gap:12px;display:grid}.escala-mensal-toolbar{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.escala-mensal-summary{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:12px;display:flex}.escala-mensal-summary strong{color:var(--text-primary)}.escala-mensal-grid-shell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:auto}.escala-mensal-grid{border-collapse:collapse;width:100%;min-width:1180px}.escala-mensal-grid th,.escala-mensal-grid td{border-bottom:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);vertical-align:middle;padding:5px 6px}.escala-mensal-grid thead th{background:var(--surface);color:var(--text-muted);letter-spacing:0;text-align:center;text-transform:uppercase;font-size:11px;font-weight:700}.escala-mensal-grid thead th:first-child,.escala-mensal-grid tbody th{text-align:left;z-index:1;position:sticky;left:0}.escala-mensal-grid tbody th{background:var(--surface);min-width:200px}.escala-mensal-grid tbody th strong,.escala-mensal-grid tbody th span{display:block}.escala-mensal-grid tbody th strong{color:var(--text-primary);font-size:13px;line-height:1.2}.escala-mensal-grid tbody th span{color:var(--text-muted);margin-top:2px;font-size:11px}.escala-mensal-grid td{text-align:center;min-width:42px;padding:4px}.escala-mensal-grid td.is-today,.escala-mensal-grid th.is-today{background:var(--accent-light)}.escala-mensal-grid td.is-weekend,.escala-mensal-grid th.is-weekend{background:oklch(97.5% .005 250)}.escala-mensal-grid td.is-empty{color:var(--text-muted)}.escala-mensal-day{text-align:center;place-items:center;gap:2px;min-width:0;line-height:1.1;display:grid}.escala-mensal-day strong{color:var(--text-primary);font-size:12px}.escala-mensal-day span{color:var(--text-muted);font-size:10px}.escala-mensal-shift-list{flex-wrap:wrap;justify-content:center;gap:3px;min-width:0;display:flex}.escala-mensal-shift-chip{background:var(--accent-light);border:1px solid color-mix(in oklch, var(--accent-mid) 34%, var(--border-subtle));color:var(--accent);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:4px;min-width:24px;min-height:20px;padding:1px 6px;font-size:10px;font-weight:800;display:inline-flex}.escala-mensal-shift-chip strong{color:inherit;letter-spacing:0;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:800}.escala-mensal-shift-chip span{color:var(--text-secondary);text-overflow:ellipsis;font-size:10px;font-weight:700;overflow:hidden}.escala-mensal-shift-chip.is-empty{color:var(--text-muted);background:0 0;border-style:dashed}.escala-mensal-legend{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:var(--text-secondary);align-items:center;gap:10px;margin-top:12px;margin-bottom:0;padding:10px 12px;font-size:11px;display:flex}.escala-mensal-legend-title{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:800}.escala-mensal-legend-list{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.escala-mensal-legend-item{break-inside:avoid;grid-template-columns:auto max-content;justify-content:start;align-items:center;gap:6px;display:inline-grid}.escala-mensal-legend-code{border:1px solid color-mix(in oklch, var(--accent-mid) 34%, var(--border-subtle));border-radius:999px;justify-content:center;align-items:center;min-width:24px;min-height:20px;padding:1px 6px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:800;display:inline-flex}.escala-mensal-legend-label{white-space:nowrap}.escala-mensal-legend-swatch{border:1px solid color-mix(in oklch, var(--accent-mid) 36%, var(--border-subtle));border-radius:999px;width:10px;height:10px}.report-print-signature{border-top:1px solid var(--border);justify-content:flex-end;margin-top:32px;padding-top:16px;display:none}.report-print-signature-line{text-align:center;min-width:220px}.report-print-signature-rule{border-top:1px solid var(--text-primary);height:0;margin-top:36px}.report-print-signature-name{margin-top:4px;padding-top:6px;font-size:9px;font-weight:700}.report-print-signature-registry{color:var(--text-secondary);margin-top:2px;font-size:8px}.report-print-signature-label{color:var(--text-muted);margin-top:2px;font-size:8px}@media print{@page{margin:10mm 8mm;size:A4 landscape}.print-only{display:block!important}body{background:#fff!important;overflow:visible!important}.no-print,.app-sidebar,.report-tab-header,.reports-tabs,.reports-header,.tabs,.page-header,.toolbar,.legalfooter{display:none!important}.app-layout{display:block!important}.app-main{padding:0!important;overflow:visible!important}.app-page{min-height:unset!important;padding:0!important}.report-print-area{box-shadow:none!important;border:none!important;border-radius:0!important;width:100%!important;padding:0!important;display:block!important;overflow:visible!important}.report-print-header,.report-print-signature{display:flex!important}.table-shell{box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;overflow:visible!important}.data-table{font-size:7.5pt!important}.data-table th,.data-table td{padding:3px 4px!important}.report-print-area .escala-mensal-grid-shell{border-color:var(--border-subtle)!important;box-shadow:none!important;overflow:visible!important}.report-print-area .escala-mensal-grid{table-layout:fixed!important;width:100%!important;min-width:0!important;font-size:6pt!important}.report-print-area .escala-mensal-grid th,.report-print-area .escala-mensal-grid td{white-space:nowrap!important;min-width:0!important;padding:2px 3px!important;line-height:1.05!important;position:static!important;overflow:hidden!important}.report-print-area .escala-mensal-grid thead th{color:var(--text-secondary)!important;background:0 0!important;font-size:5.5pt!important}.report-print-area .escala-mensal-grid thead th:first-child,.report-print-area .escala-mensal-grid tbody th{z-index:auto!important;position:static!important;left:auto!important}.report-print-area .escala-mensal-grid thead th:first-child{width:118px!important}.report-print-area .escala-mensal-grid tbody th{width:118px!important;min-width:0!important}.report-print-area .escala-mensal-grid tbody th strong{font-size:6pt!important}.report-print-area .escala-mensal-grid tbody th span{font-size:5pt!important}.report-print-area .escala-mensal-day{gap:0!important}.report-print-area .escala-mensal-day strong,.report-print-area .escala-mensal-day span{font-size:5pt!important}.report-print-area .escala-mensal-shift-list{gap:2px!important}.report-print-area .escala-mensal-shift-chip{min-height:14px!important;padding:0 4px!important;font-size:5pt!important}.report-print-area .escala-mensal-shift-chip strong,.report-print-area .escala-mensal-shift-chip span{font-size:5pt!important}.report-print-area .escala-mensal-legend{border-color:var(--border-subtle)!important;box-shadow:none!important;white-space:nowrap!important;align-items:center!important;gap:8px!important;margin-bottom:8px!important;padding:6px 8px!important;font-size:5.5pt!important;display:flex!important}.report-print-area .escala-mensal-legend-title{flex:none!important;font-size:5pt!important}.report-print-area .escala-mensal-legend-list{flex-wrap:nowrap!important;flex:auto!important;column-gap:18px!important;min-width:0!important;display:flex!important}.report-print-area .escala-mensal-legend-item{white-space:nowrap!important;grid-template-columns:16px max-content!important;column-gap:5px!important;display:inline-grid!important}.report-print-area .escala-mensal-legend-code{width:16px!important;min-width:0!important;min-height:14px!important;padding:0 4px!important}.report-print-area .escala-mensal-legend-label{font-size:5.5pt!important}}@media (width<=760px){.app-layout{grid-template-columns:1fr}.app-sidebar{height:auto;position:static}.sidebar-nav{flex-flow:wrap}.app-page{padding:16px}.published-summary-grid{grid-template-columns:1fr 1fr}.published-table-header{display:none}.published-table-row{grid-template-columns:1fr;align-items:stretch}.published-actions{justify-content:flex-start}.page-header,.schedule-page-header,.schedule-header-main,.inline-form,.settings-header,.settings-card-header,.settings-create-form,.toolbar,.schedule-toolbar,.schedule-week-nav,.schedule-actions,.schedule-filter-bar,.entity-row{flex-direction:column;align-items:stretch}.grid-form,.settings-create-form,.settings-create-form.grid,.settings-create-form.compact,.journey-form,.shift-form,.row-grid,.form-grid{grid-template-columns:1fr}.inline-form input,.settings-create-form input,.toolbar input,.schedule-filter-bar input[type=search],.schedule-filter-bar select{min-width:0;max-width:none}.filter-badges{justify-content:flex-start;margin-left:0}.schedule-actions,.week-picker{margin-left:0}.schedule-actions button,.schedule-toolbar .week-picker,.schedule-toolbar .week-picker input{width:100%}.shift-palette{flex-basis:auto;min-width:0}.shift-palette-list{justify-content:flex-start}.shift-palette-chip{flex:88px}.row-actions{justify-content:stretch}.row-actions button{flex:1}.settings-sync-pill{align-self:flex-start}.settings-shift-actions{width:100%}.settings-delete-confirm{flex-wrap:wrap;align-items:stretch;width:100%;margin-left:0}.settings-delete-confirm-text,.settings-delete-error{flex-basis:100%}.team-bulk-action-bar{flex-direction:column;align-items:stretch}.employee-transfer-row{grid-template-columns:1fr}}@media (width<=980px){.import-grid{grid-template-columns:1fr}.import-json-label textarea{min-height:360px}}@media print{.app-sidebar,.app-main>.mfa-reminder,.app-main>footer,.page-link-button{display:none!important}.app-layout{display:block}.employee-schedule-list{break-inside:avoid}}.rules-settings-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.rules-section{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:16px 18px;transition:border-color .18s}.rules-section:hover{border-color:var(--border)}.rules-section h3{color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;margin:0 0 14px;font-size:11px;font-weight:600}.rules-section-fields{gap:10px;display:grid}.clt-limit-row{border-bottom:1px solid var(--border-subtle);gap:8px;padding:10px 0;display:grid}.clt-limit-row:last-child{border-bottom:0;padding-bottom:0}.clt-limit-row:first-child{padding-top:0}.rule-check-row,.rule-number-row,.rule-severity-row{color:var(--text-primary);justify-content:space-between;align-items:center;gap:12px;min-height:28px;font-size:13px;line-height:1.4;display:flex}.rule-check-row{cursor:pointer;justify-content:flex-start;align-items:flex-start}.rule-check-row input[type=checkbox]{accent-color:var(--accent);flex-shrink:0;width:16px;height:16px;margin-top:1px}.rule-check-row input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.rule-field-label{color:inherit;flex:1;min-width:0}.rule-number-row__field{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.rule-number-row input[type=number]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;text-align:left;width:68px;height:30px;padding:0 4px 0 10px;font-size:13px}.rule-number-row input[type=number]:disabled{background:var(--bg);color:var(--text-muted);cursor:not-allowed}.rule-number-row small{color:var(--text-secondary);font-size:12px}.rule-severity-row select{appearance:none;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='none' stroke='%235A6A7A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;flex-shrink:0;min-width:110px;height:30px;padding:0 28px 0 10px;font-size:13px}.rule-severity-row select:disabled{background-color:var(--bg);color:var(--text-muted);cursor:not-allowed}.rule-help{vertical-align:1px;margin-left:6px;display:inline-block;position:relative}.rule-help__icon{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);cursor:help;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:9px;font-weight:700;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.rule-help:hover .rule-help__icon,.rule-help:focus-visible .rule-help__icon{background:var(--accent);border-color:var(--accent);color:#fff}.rule-help__popup{background:var(--text-primary);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);color:#f5f8fc;pointer-events:none;white-space:normal;z-index:1000;border:0;width:max-content;max-width:280px;padding:8px 12px;font-size:12px;font-weight:400;line-height:1.5;position:fixed}.settings-rule-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.settings-rule-actions .primary-button,.settings-rule-actions .secondary-button{letter-spacing:0;min-height:36px;padding:0 16px;font-size:13px;font-weight:600}.swap-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.swap-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 16px;display:flex}.swap-row-link{color:inherit;flex:1;text-decoration:none;display:block}.swap-row-main strong{color:var(--text-primary);font-size:14px;display:block}.swap-row-meta{color:var(--text-secondary);margin-top:2px;font-size:12px;display:block}.swap-row-main small{color:var(--text-muted);margin-top:4px;font-size:12px;display:block}.swap-row-actions{flex-direction:column;gap:8px;min-width:240px;display:flex}.swap-row-actions textarea{resize:vertical;border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:60px;font:inherit;padding:6px 10px}.swap-row-approved{border-color:var(--green)}.swap-row-rejected,.swap-row-cancelled{opacity:.6}.swap-row-pending_manager{border-color:var(--accent-mid)}.swap-form{flex-direction:column;gap:12px;max-width:480px;display:flex}.swap-form label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:13px;display:flex}.swap-form select,.swap-form input[type=date],.swap-form textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:8px 10px}.swap-detail dl{grid-template-columns:max-content 1fr;gap:6px 14px;margin:0 0 16px;display:grid}.swap-detail dt{color:var(--text-muted);font-size:12px}.swap-detail dd{color:var(--text-primary);margin:0;font-size:14px}.swap-actions{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.swap-actions h2{margin:0 0 8px;font-size:14px}.ack-feed{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.ack-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px}.ack-card header{align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.ack-card-kind{background:var(--accent-light);color:var(--accent);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:11px}.ack-card p{color:var(--text-secondary);margin:0 0 10px}.ack-card-policy_version{border-left:3px solid var(--accent)}.ack-card-publication_version{border-left:3px solid var(--accent-mid)}.ack-card-announcement{border-left:3px solid var(--green)}.ack-card-cell_change{border-left:3px solid var(--red)}.policy-banner{border-radius:var(--radius-sm);color:var(--text-primary);background:oklch(95% .06 80);border:1px solid oklch(78% .12 80);align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;display:flex}.policy-banner a{margin-left:auto;font-weight:600}.policy-stale-warning{border-radius:var(--radius-sm);color:var(--text-primary);background:oklch(95% .06 80);border:1px solid oklch(78% .12 80);margin:0 0 12px;padding:8px 12px;font-size:13px}.policy-stale-warning a{margin-left:4px;font-weight:600}.policy-list{flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.policy-list a{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);padding:10px 14px;text-decoration:none;display:block}.policy-body{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:14px;padding:18px 22px}.markdown-lite h1{margin:0 0 10px;font-size:20px}.markdown-lite h2{margin:14px 0 6px;font-size:16px}.markdown-lite p{margin:0 0 8px}.markdown-lite ul{margin:0 0 8px;padding-left:20px}.markdown-lite .md-blank{height:6px}.policy-ack-footer{background:var(--accent-light);border-radius:var(--radius-sm);align-items:center;gap:12px;margin-bottom:12px;padding:12px 16px;display:flex}.policy-ack-footer p{color:var(--text-primary);margin:0;font-weight:600}.cell-change-ack{border:1px solid var(--red);background:oklch(95% .04 22);border-radius:4px;align-items:center;gap:8px;margin-top:4px;padding:4px 8px;font-size:12px;display:flex}.ack-admin-form{flex-direction:column;gap:12px;max-width:560px;display:flex}.ack-admin-form label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:13px;display:flex}.ack-admin-form input,.ack-admin-form select,.ack-admin-form textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:8px 10px}.tabs.subtabs{margin-bottom:12px}.ack-status-panel{margin-top:20px}.ack-status-panel h2{margin:0 0 10px;font-size:16px}.ack-status-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ack-status-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.ack-status-row div{flex-direction:column;gap:2px;display:flex}.ack-status-row span{color:var(--text-secondary);font-size:13px}.shift-section-header{color:var(--text-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700}.shift-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--text-primary);text-align:left;align-items:center;gap:12px;width:100%;min-height:44px;padding:8px 12px;font-family:IBM Plex Sans,system-ui,sans-serif;transition:border-color .12s,box-shadow .12s,transform .12s,background-color .12s;display:flex}.shift-chip--interactive{cursor:pointer}.shift-chip--interactive:hover{border-color:var(--accent-mid);box-shadow:var(--shadow-md);transform:translateY(-1px)}.shift-chip--interactive:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shift-chip--active{background:var(--accent-light);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent), var(--shadow-sm)}.shift-chip.is-folga{background:var(--shift-f-bg);border-color:var(--shift-f-border);color:var(--shift-f-text)}.shift-chip.is-folga .shift-chip-label,.shift-chip.is-folga .shift-chip-code-text{color:var(--shift-f-text)}.shift-chip.is-ausencia,.shift-chip.is-outro{border-style:dashed}.shift-category-hint{color:var(--text-muted);margin:-4px 0 4px;font-size:12px}.settings-category-group{flex-direction:column;gap:4px;display:flex}.settings-category-group+.settings-category-group{margin-top:12px}.settings-category-header{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0;padding:4px 2px;font-size:12px;font-weight:600}.shift-chip-swatch{border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px;font-weight:700;display:inline-flex}.shift-chip-meta{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.shift-chip-code-text{color:var(--text-primary);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px;font-weight:700;line-height:1.1}.shift-chip-code{font-family:IBM Plex Mono,ui-monospace,monospace;font-weight:700}.shift-chip-label{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.shift-chip-hours{text-align:right;flex-direction:column;flex:none;align-items:flex-end;gap:2px;font-family:IBM Plex Mono,ui-monospace,monospace;display:flex}.shift-chip-hours-range{color:var(--text-primary);white-space:nowrap;font-size:12px;font-weight:600}.shift-chip-hours-dur{color:var(--text-muted);font-size:11px}.bulk-assign-backdrop{z-index:25;background:#0d1b2a47;position:fixed;inset:0}.bulk-assign-drawer{background:var(--surface);width:min(560px,100%);height:100vh;box-shadow:var(--shadow-lg);border-left:1px solid var(--border);z-index:26;flex-direction:column;display:flex;position:fixed;top:0;right:0}.bulk-assign-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;display:flex}.bulk-assign-header h2{margin:0;font-size:16px;font-weight:700}.bulk-assign-subtitle{color:var(--text-secondary);margin:2px 0 0;font-size:12px}.bulk-assign-close{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;padding:4px 10px;font-size:22px;line-height:1}.bulk-assign-close:hover{background:var(--accent-light)}.bulk-assign-body{flex:1;padding:22px;overflow:auto}.bulk-assign-footer{border-top:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:14px 22px;display:flex}.bulk-assign-footer-actions{align-items:center;gap:8px;display:flex}.bulk-step{display:block}.bulk-step-title{margin:0 0 14px;font-size:16px;font-weight:700}.bulk-step-section{margin-bottom:22px}.bulk-step-section-label{text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted);margin:0 0 8px;font-size:11px;font-weight:600}.bulk-step-section-sub{color:var(--text-secondary);margin:10px 0 6px;font-size:12px;font-weight:600}.bulk-chip-group{flex-wrap:wrap;gap:8px;display:flex}.bulk-presets{margin-top:10px}.bulk-chip{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.bulk-chip:hover:not(.is-disabled){background:var(--accent-light)}.bulk-chip.is-active{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.bulk-chip.is-disabled{opacity:.5;cursor:not-allowed}.bulk-chip-dot{background:var(--border);border-radius:50%;width:8px;height:8px;display:inline-block}.bulk-chip-count{background:var(--border-subtle);color:var(--text-secondary);border-radius:999px;padding:1px 6px;font-size:11px;font-weight:700}.bulk-chip.is-active .bulk-chip-count{background:var(--surface);color:var(--accent)}.bulk-search-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;font:inherit;margin-bottom:8px;padding:8px 12px;font-size:13px}.bulk-search-input:focus{border-color:var(--accent);outline:2px solid var(--accent-light)}.bulk-employee-toolbar{color:var(--text-secondary);align-items:center;gap:12px;margin-bottom:8px;font-size:12px;display:flex}.bulk-link-button{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-size:12px;font-weight:600;text-decoration:underline}.bulk-link-button:hover{filter:brightness(.9)}.bulk-employee-list{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);max-height:360px;padding:8px 0;overflow:auto}.bulk-employee-row{cursor:pointer;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.bulk-employee-row:hover,.bulk-employee-row.is-selected{background:var(--accent-light)}.bulk-employee-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.bulk-employee-meta{color:var(--text-muted);font-size:11px}.bulk-empty{color:var(--text-secondary);text-align:center;border:1px dashed var(--border);border-radius:var(--radius-sm);padding:32px 16px;font-size:13px}.bulk-empty-inline{color:var(--text-muted);padding:8px 0;font-size:12px}.bulk-period-range{flex-wrap:wrap;gap:12px;display:flex}.bulk-date-field{color:var(--text-secondary);flex-direction:column;flex:180px;gap:4px;font-size:12px;font-weight:600;display:flex}.bulk-date-field input[type=date]{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font:inherit;color:var(--text-primary);padding:8px 10px;font-size:14px}.bulk-date-field input[type=date].is-invalid{border-color:var(--red);background:var(--red-light)}.bulk-period-error{color:var(--red);margin-top:6px;font-size:12px}.bulk-period-indicator{color:var(--text-secondary);margin-top:6px;font-size:12px}.bulk-weekday-grid{flex-wrap:wrap;gap:8px;display:flex}.bulk-weekday-checkbox{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.bulk-weekday-checkbox.is-active{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.bulk-period-summary{color:var(--text-secondary);margin-top:8px;font-size:13px}.bulk-step-day-row{border-bottom:1px solid var(--border-subtle);margin-bottom:18px;padding-bottom:14px}.bulk-step-day-row:last-child{border-bottom:0;margin-bottom:0}.bulk-day-name{margin-bottom:8px;font-size:14px;font-weight:700}.bulk-day-shifts{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bulk-day-indicator{color:var(--text-secondary);margin-top:6px;font-size:12px}.bulk-folga-chip{border:1px solid var(--border);background:var(--shift-f-bg);color:var(--shift-f-text);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:4px;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:700;display:inline-flex}.bulk-folga-chip.is-active{background:var(--shift-f-bg);border-color:var(--shift-f-border);outline:2px solid var(--shift-f-text);outline-offset:-2px}.bulk-preview-summary{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-bottom:18px;display:grid}.employee-row-cell{justify-content:space-between;align-items:center;gap:8px;display:flex}.employee-row-info{min-width:0}.employee-row-bulk-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;opacity:0;background:0 0;flex:none;place-items:center;width:28px;height:28px;font-size:16px;line-height:1;transition:opacity .12s,background .12s,color .12s;display:grid}.schedule-grid tbody tr:hover .employee-row-bulk-btn,.employee-row-bulk-btn:focus-visible{opacity:1}.employee-row-bulk-btn:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.bulk-preview-stat{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;gap:2px;padding:12px;display:flex}.bulk-preview-stat-value{color:var(--text-primary);font-size:22px;font-weight:700}.bulk-preview-stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:11px}.bulk-preview-banner{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin-bottom:14px;padding:10px 14px;font-size:13px}.bulk-preview-banner.is-info{background:var(--accent-light);border-color:var(--accent-mid);color:var(--text-primary)}.bulk-preview-banner.is-warning{background:var(--amber-light);border-color:var(--amber);color:var(--text-primary)}.bulk-preview-banner.is-success{background:var(--green-light);border-color:var(--green);color:var(--text-primary)}.bulk-preview-banner.is-error{background:var(--red-light);border-color:var(--red);color:var(--text-primary)}.bulk-interjornada-details summary{cursor:pointer;font-weight:600}.bulk-interjornada-list{flex-direction:column;gap:6px;max-height:220px;margin:10px 0 0;padding:0;list-style:none;display:flex;overflow:auto}.bulk-interjornada-list li{flex-wrap:wrap;align-items:baseline;gap:6px;font-size:12px;display:flex}.bulk-interjornada-msg{color:var(--text-secondary)}.bulk-conflict-list{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface);max-height:280px;overflow:auto}.bulk-conflict-row{border-bottom:1px solid var(--border-subtle);cursor:pointer;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:grid}.bulk-conflict-row:last-child{border-bottom:0}.bulk-conflict-row:nth-child(odd){background:var(--border-subtle)}.bulk-conflict-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.bulk-conflict-date{color:var(--text-secondary);font-size:12px}.bulk-conflict-codes{align-items:center;gap:6px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;display:inline-flex}.bulk-conflict-codes-existing{color:var(--text-muted);text-decoration:line-through}.bulk-conflict-codes-planned{color:var(--accent);font-weight:700}.bulk-progress-dots{align-items:center;gap:6px;display:flex}.bulk-progress-dot{background:var(--border);border-radius:50%;width:8px;height:8px}.bulk-progress-dot.is-past{background:var(--accent-mid)}.bulk-progress-dot.is-current{background:var(--accent);transform:scale(1.3)}.bulk-preview-apply,.bulk-preview-done{justify-content:flex-end;margin-top:14px;display:flex}.shift-modal-v2{flex-direction:column;min-width:380px;max-width:480px;max-height:88vh;padding:0;display:flex}.shift-modal-v2 .modal-header{border-bottom:1px solid var(--border);padding:18px 22px 14px;display:block}.shift-modal-v2 .modal-header h2{margin:0;font-size:16px;font-weight:700}.shift-modal-v2 .shift-modal-header-row{justify-content:space-between;align-items:center;display:flex}.shift-modal-v2 .shift-modal-header-meta{align-items:center;gap:10px;margin-top:10px;display:flex}.shift-modal-v2 .shift-modal-datepill{background:var(--accent-light);color:var(--accent);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.shift-modal-v2 .shift-modal-employee-name{color:var(--text-primary);font-weight:700}.shift-modal-v2 .shift-modal-close{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;padding:4px 10px;font-size:22px;line-height:1}.shift-modal-v2 .shift-modal-close:hover{background:var(--accent-light)}.shift-modal-v2 .shift-modal-body{flex-direction:column;flex:auto;gap:18px;padding:18px 22px;display:flex;overflow:auto}.shift-modal-v2 .shift-modal-clear{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;margin-right:auto;padding:7px 8px;font-size:13px}.shift-modal-v2 .shift-modal-clear:hover:not(:disabled){background:var(--bg);color:var(--text-primary)}.shift-modal-v2 .shift-modal-clear:disabled{cursor:default;opacity:.45}.shift-modal-v2 .shift-modal-shift-list{flex-direction:column;gap:8px;display:flex}.shift-modal-v2 .shift-modal-custom-section{border-top:1px solid var(--border-subtle);margin-top:4px;padding:14px 0 0}.shift-modal-v2 .shift-section-header{margin:0 0 8px}.shift-modal-v2 .modal-footer{background:var(--surface);border-top:1px solid var(--border);justify-content:flex-end;gap:12px;padding:14px 22px;display:flex;position:sticky;bottom:0;box-shadow:0 -8px 16px -8px #0d1b2a0f}.shift-modal-v2 .modal-inline-error{margin:0 22px 14px}.department-multiselect-hint{color:var(--text-muted);margin-top:2px;font-size:11px;font-weight:400;display:block}.department-multiselect{background:var(--surface);border:1px solid var(--border);border-radius:6px;flex-direction:column;max-height:180px;padding:4px 0;display:flex;overflow-y:auto}.department-multiselect-empty{color:var(--text-muted);margin:0;padding:10px 12px;font-size:12px}.department-multiselect-row{cursor:default;align-items:center;gap:8px;padding:6px 10px;display:flex}.department-multiselect-row.is-selected{background:var(--surface-muted,#00000008)}.department-multiselect-row input[type=checkbox]{cursor:pointer;margin:0}.department-primary-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1}.department-primary-toggle:disabled{cursor:not-allowed;opacity:.35}.department-multiselect-row.is-primary .department-primary-toggle{color:var(--accent,#f5a623)}.department-multiselect-name{flex:1;font-size:13px}
