:root{--bg: #14161a;--surface: #1c1f26;--surface-2: #181b20;--border: #2a2e37;--text: #e7e4dc;--muted: #9a958a;--primary: #d4894c;--primary-text: #1a120c;--secondary: #6e8eae;--secondary-text: #f4f7fb;--accent: var(--primary);--accent-text: var(--primary-text);--day-off: #2c3a4a;--vacation: #3a2e1c;--danger: #c45c4a;--ok: #8aa584;color:var(--text);background:var(--bg);font-family:IBM Plex Sans,Segoe UI,sans-serif;font-size:15px;line-height:1.45}*{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:#4a5160 transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#3a4150;border:2px solid transparent;border-radius:8px;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#5c6574;background-clip:padding-box;border:2px solid transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}::selection{background:var(--accent);color:var(--accent-text)}.app{min-height:100%}.header{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:22px;height:76px;padding:0 22px;background:#101216e6;border-bottom:1px solid #2a2e37;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{display:flex;gap:12px;align-items:center;flex:none}.monogram{width:36px;height:36px;display:grid;place-items:center;background:var(--accent);color:var(--accent-text);font-weight:600;flex:none;overflow:hidden}.header .monogram{width:150px;height:48px;padding:0;background:none;border:0;border-radius:0;color:var(--primary)}.header .monogram img{width:150px;height:48px;max-width:none;object-fit:contain;object-position:left center}.brand strong{display:block;font-size:15px;font-weight:600}.brand span,.eyebrow{color:var(--muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.nav{display:flex;align-items:center;height:auto;gap:6px;min-width:0;overflow-x:auto}.nav a{display:flex;align-items:center;flex:none;height:36px;color:var(--muted);text-decoration:none;padding:0 14px;border-radius:999px;transition:background-color .18s ease,color .18s ease}.nav a:hover{color:var(--text);background:#22262e}.nav a.is-active{color:#1a120c;font-weight:600;background:linear-gradient(135deg,#f3c27a,#e0974e 55%,#c56d32)}.account-menu{position:relative;display:flex;align-items:center;gap:8px;margin-left:auto;min-width:0}.profile-pill{width:auto;max-width:220px;height:40px;padding:0 14px 0 8px;gap:8px;border:1px solid #3d3126;border-radius:999px;background:#2a2118;color:var(--primary);display:flex;align-items:center;min-width:0}.profile-pill span{overflow:hidden;color:var(--text);font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.sign-out{flex:none;display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border:1px solid #343a46;border-radius:999px;background:#22262e;color:var(--muted);font-weight:600}.sign-out svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.sign-out:hover{color:var(--text);border-color:#e0b07a;background:#2a241c}.profile-pill svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.profile-pill:hover,.profile-pill[aria-expanded=true]{border-color:var(--primary)}.profile-avatar{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:50%;background:#2a2118;color:var(--primary);border:1px solid #3d3126}.profile-avatar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.account-dropdown{position:absolute;top:calc(100% + 10px);right:0;z-index:20;width:min(300px,calc(100vw - 24px));padding:8px;background:linear-gradient(180deg,#262b34,#1c2028);border:1px solid #343a46;border-radius:18px;box-shadow:0 16px 40px #00000073;animation:rise .18s ease both}.account-user,.account-dropdown button.item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;border-radius:14px}.account-user{background:#ffffff0a}.account-dropdown button.item{border:0;background:transparent;transition:background-color .16s ease,color .16s ease}.account-dropdown button.item:hover{background:#22262e}.account-dropdown button.item.current{background:#2a2118}.account-dropdown button.item.current .profile-meta span{color:var(--primary)}.account-dropdown button.item.risk{color:var(--danger)}.account-dropdown button.item.risk:hover{background:#2a1c19}.account-dropdown .profile-avatar{width:32px;height:32px}.account-dropdown .profile-avatar svg{width:16px;height:16px}.account-divider{height:1px;margin:6px 0;background:var(--border)}.account-note{margin:0 8px 8px;color:var(--muted);font-size:12px}.profile-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.profile-list button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid var(--border);border-radius:2px;background:#121418;color:var(--text);padding:10px 12px}.profile-list button.current{border-color:var(--primary);background:#241c16}.profile-list button.current .profile-meta span{color:var(--primary)}.profile-list button:hover{border-color:var(--primary)}.profile-meta{display:flex;flex-direction:column;min-width:0;gap:1px}.profile-meta strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-meta span{color:var(--muted);font-size:12px}.new-profile{border-top:1px solid var(--border);padding-top:14px}.profile-logo-preview{width:150px;height:48px;object-fit:contain;object-position:left center}.login{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--bg)}.login-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(212,137,76,.22),transparent 55%),radial-gradient(ellipse 60% 50% at 100% 100%,rgba(212,137,76,.14),transparent 50%),radial-gradient(ellipse 50% 40% at 0% 80%,rgba(212,137,76,.08),transparent 45%),var(--bg)}.login-backdrop canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.login-backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 60%,rgba(0,0,0,.72))}.login-center{position:relative;z-index:1;height:100%;display:grid;place-items:center;padding:24px 16px}.login-heading{text-align:center;margin-bottom:22px}.login-heading .monogram{width:64px;height:64px;margin:0 auto 14px;border:1px solid #5c4a2e;border-radius:22px;font-family:Outfit,IBM Plex Sans,sans-serif;font-size:28px;font-weight:600;background:linear-gradient(180deg,#3a3124,#2a241c);color:#f3c27a}.login-heading h1{font-family:Outfit,IBM Plex Sans,sans-serif;font-size:40px;font-weight:600;letter-spacing:-.04em}.login-heading p{margin-top:4px;color:var(--muted);font-size:15px}.login-card{width:min(420px,100%);background:linear-gradient(180deg,#262b34,#1c2028);border:1px solid #343a46;border-radius:22px;padding:22px 22px 18px;box-shadow:0 24px 60px #00000059}.login-card input{height:42px;border-radius:12px;border-color:#343a46;background:#121418}.login-password{margin-bottom:12px}.login-password-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;color:var(--muted);font-size:13px}.login-password-field{position:relative}.login-password-field input{padding-right:40px}.login-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;padding:0;border:0;background:transparent;color:var(--muted)}.login-eye:hover{color:var(--text)}.login-eye svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.login-link{border:0;background:transparent;padding:0;color:var(--primary);font-size:12px;font-weight:600}.login-link:hover{filter:brightness(1.08)}.login-actions{display:flex;flex-direction:column;gap:10px;margin-top:4px}.login-actions button{width:100%;height:42px;border-radius:999px;font-weight:600;transition:transform .16s ease,filter .16s ease,border-color .16s ease}.login-actions button.primary{border-color:transparent;background:linear-gradient(135deg,#f3c27a,#e0974e 48%,#c56d32);box-shadow:0 10px 24px #d4894c47;color:#1a120c}.login-actions button.secondary{background:#22262e;border:1px solid #343a46;color:var(--text)}.login-actions button.primary:hover{transform:translateY(-2px);filter:brightness(1.06)}.login-actions button.secondary:hover{transform:translateY(-1px);border-color:#e0b07a;filter:none}.login-footer{margin:16px 0 0;padding-top:14px;border-top:1px solid #343a46;text-align:center;color:var(--muted);font-size:14px}.login-footer .login-link{font-size:14px}input[type=password]::-ms-reveal,input[type=password]::-ms-clear{display:none}.content{min-width:0}.page{padding:22px 28px 48px}.page-header,.month-nav,.actions,.row,.checks,.buttons{display:flex;align-items:center;gap:10px}.row input:not([type=checkbox]),.row select{flex:1;min-width:140px;width:auto}.page-header{justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap}.page-header:has(.month-nav){display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.page-header:has(.month-nav)>.month-nav{grid-column:2;justify-self:center}.page-header:has(.month-nav)>.view-block{grid-column:1;justify-self:start;align-self:center;display:flex;align-items:center;gap:12px;margin:0}.schedule-page .page-header .view-block h2,.schedule-page .page-header .view-block .tabs{margin:0}.schedule-page .page-header:has(.month-nav){align-items:center}.page-header:has(.month-nav)>.actions,.page-header:has(.month-nav)>a.shortcut,.page-header:has(.month-nav)>button{grid-column:3;justify-self:end}.month-nav{display:grid;grid-template-columns:44px 520px 44px;column-gap:28px;align-items:center;justify-content:center}.month-nav h1,.month-nav .month-title{width:520px;min-width:520px;margin:0;text-align:center}.month-nav h1{font-family:Outfit,IBM Plex Sans,sans-serif;font-size:40px;font-weight:600;letter-spacing:-.04em}.month-title{text-align:center}.month-nav .month-title h1{width:auto;min-width:0}.month-title p{margin:2px 0 0;color:var(--muted);font-size:13px}.month-nav button,.week-nav button,.buttons button,.actions button,.ghost,.danger{border:1px solid var(--border);background:transparent;border-radius:2px;padding:8px 12px}.month-nav button,.week-nav button{width:44px;height:44px;padding:0;font-size:20px;justify-self:center}.month-nav button{border-radius:999px;background:#22262e;transition:transform .16s ease,border-color .16s ease,background .16s ease}.month-nav button:hover{transform:translateY(-1px);border-color:#e0b07a}button.primary,button.secondary,button.danger-solid{border-radius:2px;padding:8px 12px;border-color:transparent;font-weight:600}button.primary{background:var(--primary);color:var(--primary-text)}button.primary:hover{filter:brightness(1.08)}button.secondary{background:var(--secondary);color:var(--secondary-text)}button.secondary:hover{filter:brightness(1.08)}a.shortcut{display:inline-flex;align-items:center;border-radius:2px;padding:8px 12px;font-weight:600;text-decoration:none;background:var(--secondary);color:var(--secondary-text)}a.shortcut:hover{filter:brightness(1.08)}button.primary:disabled,button.secondary:disabled,button.danger-solid:disabled{opacity:.55;cursor:progress}.danger{color:var(--danger)}.danger:hover{color:#e7b2aa}button.danger-solid{background:var(--danger);color:#fff8f6}button.danger-solid:hover{filter:brightness(1.08)}button{transition:background .14s ease,border-color .14s ease,color .14s ease,filter .14s ease}.muted{color:var(--muted)}.notice{color:#e0b15a}.legend{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin:18px 0 12px}.legend i{font-style:normal;display:inline-grid;place-items:center;width:22px;height:18px;margin-right:6px;border:1px solid var(--border);background:#1c1f26}.legend .day-off{background:var(--day-off);color:#e7eef6}.legend .absence{background:#3a221e;color:#f0b2a8}.legend .vacation{background:var(--vacation);color:#e0b15a}.legend .half{background:#2c261c;color:#e0b15a}.legend .closed{color:#6e6a62}.legend .holiday{width:auto;padding:0 4px;background:#1c1f26;color:#8ed4ae;border-color:#3caf78;font-size:9px;letter-spacing:.04em}.holidays{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 14px;padding:0}.holidays li{display:flex;align-items:stretch}.holidays button{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;border:1px solid #5c4a2e;background:#2c2618;color:#e0b15a;border-radius:2px;padding:6px 10px;font-size:13px}.holidays .holiday-who{border-left:0;border-radius:0 2px 2px 0;color:var(--text);background:#3a3120}.holidays li>button:first-child{border-radius:2px 0 0 2px}.holidays li>button:only-child{border-radius:2px}.holidays button:hover{background:#3a3120}.holidays strong{font-variant-numeric:tabular-nums;font-weight:600}.holidays span{color:#b7a07a;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.holidays em{color:var(--text);font-style:normal;font-size:12px}.day-off-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px 16px;margin:14px 0}.day-off-list .row{margin:0}.holiday-day{color:#e0b15a;margin:0 0 8px}.page h1{font-size:28px;font-weight:600;letter-spacing:-.03em}.page .month-nav h1{font-family:Outfit,IBM Plex Sans,sans-serif;font-size:40px;font-weight:600;letter-spacing:-.04em}fieldset{border:0;margin:0 0 12px;padding:0}fieldset legend{margin-bottom:8px}.rules-block{margin-bottom:14px;max-height:132px;overflow:auto;border:1px solid var(--border);background:var(--surface);padding:10px 12px}.rules-block strong{display:block;margin-bottom:6px;font-size:13px}.rules-block li{margin:3px 0 3px 16px}.rules-block.error{border-color:#6e3b34}.rules-block.error strong{color:#e0a097}.schedule-page{background:radial-gradient(ellipse 72% 58% at 100% -12%,rgba(232,168,92,.42),transparent 58%),radial-gradient(ellipse 55% 48% at -10% 24%,rgba(212,137,76,.26),transparent 54%)}.schedule-page .actions{gap:8px}.schedule-page .actions .primary,.schedule-page .actions .secondary{border-radius:999px;padding:10px 16px;transition:transform .16s ease,filter .16s ease,border-color .16s ease,background-color .16s ease}.schedule-page .actions .primary{background:linear-gradient(135deg,#f3c27a,#e0974e 48%,#c56d32);box-shadow:0 10px 24px #d4894c47;color:#1a120c}.schedule-page .actions .primary:hover{transform:translateY(-2px);filter:brightness(1.06)}.schedule-page .actions .secondary{background:#22262e;border:1px solid #343a46;color:var(--text)}.schedule-page .actions .secondary:hover{transform:translateY(-1px);border-color:#e0b07a;filter:none}.schedule-page .menu-list{min-width:160px;padding:6px;border:1px solid #343a46;border-radius:16px;background:linear-gradient(180deg,#262b34,#1c2028);box-shadow:0 16px 40px #00000073}.schedule-page .menu-list button{border:0;border-radius:12px;background:transparent}.schedule-page .menu-list button:hover{background:#22262e}.schedule-page .tabs{gap:8px;margin-bottom:14px;border-bottom:0}.schedule-page .tabs button{height:36px;margin:0;padding:0 14px;border:0;border-radius:999px;background:#22262e;color:var(--muted);transition:background-color .16s ease,color .16s ease}.schedule-page .tabs button:hover{color:var(--text);background:#2a303a}.schedule-page .tabs button.is-active{color:#1a120c;font-weight:600;background:linear-gradient(135deg,#f3c27a,#e0974e 55%,#c56d32)}.schedule-page .legend{margin:0;padding:12px 16px;border:1px solid #343a46;border-radius:18px;background:linear-gradient(180deg,#262b34,#1c2028)}.schedule-page .holiday-block,.schedule-page .department-block{margin:0 0 16px}.schedule-page .view-block .tabs,.schedule-page .department-block .tabs{margin-bottom:0}.sector-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.sector-side{display:flex;flex-direction:column;gap:10px;min-width:0}.alert-pills{display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin-left:auto}.alert-pill-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.alert-pills h2{margin:0;font-family:Outfit,IBM Plex Sans,sans-serif;font-size:26px;font-weight:600;letter-spacing:-.03em}.schedule-page>.alert-pills,.department-block>.alert-pills{margin-bottom:16px}.alert-pill{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;border:1px solid #5c4a2e;background:#2c2618;color:#e0b15a;font-weight:600;transition:transform .16s ease,filter .16s ease}.alert-pill span{min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:inline-grid;place-items:center;background:#00000047;font-size:12px}.alert-pill.broken{border-color:#6e3b34;background:#2a1c19;color:#f0b2a8}.alert-pill:hover{transform:translateY(-1px);filter:brightness(1.06)}.issue-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.issue-list li{padding:10px 12px;border-radius:14px;background:#ffffff0a;color:var(--muted);font-size:14px}.issue-list strong{color:var(--text);font-weight:600}.schedule-page .view-block h2,.schedule-page .holiday-block h2,.schedule-page .department-block h2{margin:0 0 10px;font-family:Outfit,IBM Plex Sans,sans-serif;font-size:26px;font-weight:600;letter-spacing:-.03em}.schedule-page .sector-side h2,.schedule-page .alert-pills h2,.schedule-page .holiday-block .holidays,.schedule-page .holiday-block .muted{margin:0}.schedule-page .legend i{border-radius:6px;border-color:#343a46}.schedule-page .holidays li{overflow:hidden;border:1px solid #5c4a2e;border-radius:999px}.schedule-page .holidays button,.schedule-page .holidays .holiday-who,.schedule-page .holidays li>button:first-child,.schedule-page .holidays li>button:only-child{border:0;border-radius:0}.schedule-page .rules-block{border-radius:18px;border-color:#343a46;background:linear-gradient(180deg,#262b34,#1c2028);padding:14px 16px}.schedule-page .empty{max-width:none;border-radius:22px;border-color:#343a46;background:linear-gradient(180deg,#262b34,#1c2028);box-shadow:0 10px 28px #00000029}.schedule-page .empty h2{font-family:Outfit,IBM Plex Sans,sans-serif;font-size:32px;font-weight:600;letter-spacing:-.03em}.schedule-skeleton{display:flex;flex-direction:column;gap:16px}.schedule-skeleton>section{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.skeleton-pills,.skeleton-legend{display:flex;flex-wrap:wrap;gap:8px}.skeleton-legend{padding:12px 16px;border:1px solid #343a46;border-radius:18px;background:linear-gradient(180deg,#262b34,#1c2028)}.schedule-grid-skeleton{min-height:0;gap:6px}.skeleton-grid-row{display:grid;grid-template-columns:156px repeat(16,minmax(0,1fr));gap:6px}.skeleton-people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.schedule-day-skeleton{min-height:0}.schedule-body{display:flex;flex-direction:column;gap:16px}.schedule-page .grid-scroll{overflow:clip;border:1px solid #343a46;border-radius:22px;background:#1c2028;box-shadow:0 10px 28px #0000002e}.schedule-page .panel{border:1px solid #343a46;border-radius:22px;padding:18px 20px 12px;background:linear-gradient(180deg,#262b34,#1c2028);box-shadow:0 10px 28px #00000029}.schedule-page .panel h2{font-family:Outfit,IBM Plex Sans,sans-serif;font-size:26px;font-weight:600;letter-spacing:-.03em}.schedule-page .band{gap:10px}.schedule-page .card{display:flex;flex-direction:column;align-items:stretch;margin-top:0;padding:12px 14px;border:0;border-radius:14px;background:#ffffff0a}.schedule-page .hours-link{align-self:flex-end;display:inline-flex;align-items:center;height:34px;margin-top:8px;padding:0 14px;border:1px solid #343a46;border-radius:999px;background:#22262e;color:var(--text);font-size:13px;font-weight:600;text-decoration:none}.schedule-page .hours-link:hover{border-color:#e0b07a;color:var(--text)}.schedule-page .hours-edit input[type=time]{height:42px;border-radius:12px;border:1px solid #343a46;background:#121418;color:var(--text);padding:0 12px}.schedule-page .edit-actions{justify-content:flex-end}.schedule-page .edit-actions .normal{margin-right:auto}.schedule-page .edit-actions button{border-radius:999px;border-color:#343a46;background:#22262e;padding:8px 14px}.schedule-page .edit-actions button.primary{border-color:transparent;color:#1a120c;background:linear-gradient(135deg,#f3c27a,#e0974e 48%,#c56d32)}.grid-scroll{overflow:visible;border:1px solid var(--border);background:var(--surface-2)}.grid{display:grid;width:100%}.corner,.head,.person-name,.cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface)}.corner,.head{position:sticky;top:0;z-index:3;background:#22262e}.corner,.person-name{position:sticky;left:0}.corner{z-index:4;display:flex;align-items:flex-end;padding:8px 10px;color:var(--muted);font-size:12px}.head,.cell{border-top:0;border-left:0;min-height:42px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#1c1f26}.head{height:56px;gap:1px;min-width:0}.head .num{font-variant-numeric:tabular-nums;font-weight:600;font-size:13px}.head .weekday,.tag{color:var(--muted);font-size:10px;line-height:1}.head.sunday{background:#1d2430}.head.holiday{background:#17241d;box-shadow:inset 0 0 0 2px #3caf78}.head.holiday .weekday,.head.holiday .tag{color:#8ed4ae}.head.is-selected{box-shadow:inset 0 -2px 0 var(--accent);color:var(--accent)}.head.holiday.is-selected{color:var(--accent);box-shadow:inset 0 0 0 2px #3caf78,inset 0 -2px 0 var(--accent)}.head.today .num{color:var(--accent)}.person-name{z-index:2;padding:6px 8px;display:flex;flex-direction:column;justify-content:center;min-height:42px;min-width:0}.person-name b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-name small{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell{color:#8f8b83;position:relative;font-variant-numeric:tabular-nums;font-size:12px;min-width:0}.cell:hover{background:#262b33}.cell.day-off{background:var(--day-off);color:#e7eef6;font-weight:600}.cell.absence{background:#3a221e;color:#f0b2a8;font-weight:600;font-size:11px}.cell.vacation{background:var(--vacation);color:#e0b15a}.cell.closed{background:repeating-linear-gradient(-45deg,#191c21,#191c21 4px,#22262c 4px,#22262c 8px);color:#6e6a62;cursor:not-allowed}.cell.half-day{background:#2c261c;color:#e0b15a}.cell.is-selected{outline:1px solid var(--accent);outline-offset:-1px;z-index:1}.sunday-col{background:#191e27}.cell.holiday-col{box-shadow:inset 2px 0 #3caf78,inset -2px 0 #3caf78}.cell.holiday-col.work{background:#17241d}.cell.holiday-col.end{box-shadow:inset 2px 0 #3caf78,inset -2px 0 #3caf78,inset 0 -2px #3caf78}.cell.no-schedule{background:#191c21;color:transparent;cursor:default}.person-name.apprentice{background:#2c2640;box-shadow:inset 3px 0 #a78bfa}.person-name.apprentice small{color:#c4b6e0}.cell.apprentice{background:#262033;color:#c4b6e0}.cell.apprentice.day-off{background:#3d3260;color:#f4efff}.cell.apprentice.absence{background:#3a2428;color:#f0b2a8}.cell.apprentice.vacation,.cell.apprentice.half-day{background:#3a3024;color:#e0b15a}.cell.apprentice.closed{background:repeating-linear-gradient(-45deg,#221c2c,#221c2c 4px,#2c2638 4px,#2c2638 8px);color:#8d84a3}.cell.apprentice.sunday-col{background:#221c30}.cell.apprentice.sunday-col.day-off{background:#3d3260}.cell.apprentice.holiday-col.work{background:#243028}.cell.apprentice:hover{background:#322a48}.legend .apprentice{background:#3d3260;color:#f4efff}.panel{background:var(--surface);border:1px solid var(--border);padding:14px 16px 8px}.band{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));column-gap:22px}.panel h2{font-size:18px;letter-spacing:-.02em;margin:4px 0}.day-group{margin-top:16px}.day-group h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:6px}.card{padding:8px 0;border-top:1px solid var(--border)}.card header{display:flex;justify-content:space-between;gap:8px}.card header span,.card p{color:var(--muted);font-size:13px}.card .meta{margin-top:2px}.card.custom{box-shadow:inset 2px 0 0 var(--accent)}.day-mark{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);font-size:11px;letter-spacing:.02em}.hours-link{border:0;background:transparent;color:var(--muted);padding:2px 0 0;font-size:12px;text-decoration:underline;text-underline-offset:2px}.hours-link:hover{color:var(--text)}.hours-edit{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:center;margin-top:8px}.hours-edit input{width:100%;padding:6px 8px}.hours-edit .hours-error{grid-column:1 / -1;color:#e0a097;font-size:12px;margin:0}.edit-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px}.edit-actions button{border:1px solid var(--border);background:transparent;border-radius:2px;padding:5px 8px;font-size:12px}.edit-actions button.primary{border-color:transparent;padding:5px 8px;font-size:12px}.hours-dot{position:absolute;top:4px;right:4px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.badge{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.badge.work,.badge.half-day{color:var(--ok)}.badge.day-off{color:#b7c4d6}.badge.absence{color:#f0b2a8}.badge.vacation{color:#e0b15a}.empty{border:1px solid var(--border);background:var(--surface);padding:36px 28px;max-width:560px}.empty h2{font-size:24px;letter-spacing:-.03em;margin:8px 0 10px}.empty p{color:var(--muted);max-width:46ch}.empty .primary{margin-top:16px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:top}.table th{color:var(--muted);font-weight:500;font-size:12px;letter-spacing:.06em;text-transform:uppercase}.table tr:hover td{background:#1a1e25}.table tr.is-active td{background:#241c16}.row-actions{display:flex;justify-content:flex-end;gap:8px;white-space:nowrap;vertical-align:middle}button.icon{width:34px;height:34px;padding:0;border:0;border-radius:8px;display:inline-grid;place-items:center;color:#c4bfb6;background:transparent}button.icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}button.icon:hover{color:var(--text);background:#2a2e37}button.icon.danger{color:#c4bfb6}button.icon.danger:hover{color:#e7b2aa;background:#2a1c19}.layout-form,.grid-form{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:22px;align-items:start}.form,.department-card,.group-card{background:var(--surface);border:1px solid var(--border);padding:16px}.department-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px;align-items:stretch}.department-card{display:flex;flex-direction:column;gap:16px;padding:18px;min-height:240px}.department-card label{margin-bottom:0}.department-sections{display:flex;flex-direction:column;gap:10px;flex:1}.department-sections .eyebrow,.department-sections .chips{margin:0}.department-card .chip{border:1px solid var(--border);border-radius:999px;padding:5px 6px 5px 12px;background:#121418}.department-card .chip button{width:22px;height:22px;border-radius:999px;padding:0}.department-card .chip button:hover{color:var(--text);background:#2a2e37}.department-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:14px;border-top:1px solid var(--border)}.department-actions .buttons{margin-top:0;justify-content:flex-end;flex:1}.home-page{background:radial-gradient(ellipse 72% 58% at 100% -12%,rgba(232,168,92,.42),transparent 58%),radial-gradient(ellipse 55% 48% at -10% 24%,rgba(212,137,76,.26),transparent 54%)}.home-page a.shortcut{border-radius:999px;padding:10px 16px;background:linear-gradient(135deg,#f3c27a,#e0974e 48%,#c56d32);box-shadow:0 10px 24px #d4894c47;transition:transform .16s ease,filter .16s ease}.home-page a.shortcut:hover{transform:translateY(-2px);filter:brightness(1.06)}.summary-metrics{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:14px;margin-bottom:18px}.summary-stat{position:relative;overflow:hidden;background:linear-gradient(180deg,#262b34,#1c2028);border:1px solid #343a46;border-radius:22px;padding:18px 20px 16px;box-shadow:0 10px 28px #0000002e;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;animation:rise .5s cubic-bezier(.2,.7,.2,1) both}.summary-stat:nth-child(2){animation-delay:50ms}.summary-stat:nth-child(3){animation-delay:.1s}.summary-stat:nth-child(4){animation-delay:.15s}.summary-stat:hover{transform:translateY(-3px);border-color:#5a4634;box-shadow:0 16px 32px #00000047}.summary-stat span{display:block;color:#b7b1a6;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.summary-stat strong{display:block;margin-top:8px;font-family:Outfit,IBM Plex Sans,sans-serif;font-size:42px;font-weight:600;letter-spacing:-.045em;line-height:.95}.summary-stat em{display:block;margin-top:8px;color:var(--muted);font-style:normal;font-size:13px}.summary-stat.featured{background:linear-gradient(145deg,#f6c98a,#e39a52 46%,#c56a30);border-color:transparent;color:#1a120c;box-shadow:0 16px 36px #d4894c52}.summary-stat.featured span,.summary-stat.featured em{color:#1a120cb8}.summary-stat.alert strong{color:#f0b2a8}.skeleton-stat,.skeleton-card{position:relative;overflow:hidden;background:linear-gradient(180deg,#262b34,#1c2028);border:1px solid #343a46;border-radius:22px}.skeleton-stat{display:flex;flex-direction:column;gap:10px;min-height:124px;padding:18px 20px 16px}.skeleton-stat.featured{background:linear-gradient(145deg,#f6c98a,#e39a52 46%,#c56a30);border-color:transparent}.skeleton-card{display:flex;flex-direction:column;gap:10px;min-height:220px;padding:18px 20px}.bone{position:relative;overflow:hidden;display:block;height:12px;width:72%;border-radius:999px;background:#ffffff12}.bone:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.18) 50%,transparent 80%);animation:brilho 1.35s ease-in-out infinite}.skeleton-stat.featured .bone{background:#1a120c29}.skeleton-stat.featured .bone:after{background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.42) 50%,transparent 80%)}.bone-label{width:42%;height:10px}.bone-value{width:46%;height:36px;margin-top:4px;border-radius:10px}.bone-caption{width:58%;height:10px}.bone-title{width:34%;height:22px;border-radius:8px}.bone-short{width:48%}.bone-line{width:100%;height:36px;border-radius:14px}.bone-button{width:108px;height:36px;margin-top:auto;align-self:flex-end;border-radius:999px}.schedule-skeleton .bone-heading{width:200px;height:28px;border-radius:8px}.schedule-skeleton .bone-pill{width:136px;height:36px;border-radius:999px}.schedule-skeleton .bone-chip{width:112px;height:32px;border-radius:8px}.schedule-skeleton .bone-name,.schedule-skeleton .bone-cell{width:100%;height:64px;border-radius:10px}.schedule-skeleton .schedule-day-skeleton .bone-line{width:100%;height:96px;border-radius:14px}.panel-skeleton{display:flex;flex-direction:column;gap:16px}.panel-skeleton .skeleton-pills{display:flex;flex-wrap:wrap;gap:8px}.panel-skeleton .bone-pill{width:136px;height:36px;border-radius:999px}.panel-skeleton .bone-heading{width:220px;height:28px;border-radius:8px}.panel-skeleton .bone-short{width:min(520px,72%);height:14px}.panel-skeleton .bone-field{width:100%;height:42px;border-radius:12px}.panel-skeleton .bone-button{width:148px;height:42px;margin:0;align-self:end;border-radius:999px}.panel-skeleton .bone-row{width:100%;height:52px;border-radius:14px}.panel-skeleton .skeleton-fields{display:grid;grid-template-columns:minmax(0,1fr) 220px auto;gap:12px;align-items:end}.panel-skeleton .form-skeleton,.panel-skeleton .list-skeleton{min-height:0}.panel-skeleton .skeleton-cards,.panel-skeleton .rule-skeleton{display:grid;gap:16px}.panel-skeleton .skeleton-cards{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.panel-skeleton .rule-skeleton{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.panel-skeleton .rule-skeleton .skeleton-card{min-height:148px}@media(max-width:980px){.panel-skeleton .rule-skeleton{grid-template-columns:1fr 1fr}}@media(max-width:720px){.panel-skeleton .skeleton-fields,.panel-skeleton .rule-skeleton{grid-template-columns:1fr}}@keyframes brilho{0%{transform:translate(-100%)}to{transform:translate(100%)}}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}.summary-card{background-color:#22262e;border:1px solid #343a46;border-radius:22px;padding:18px 20px;display:flex;flex-direction:column;gap:8px;min-height:168px;box-shadow:0 10px 28px #00000029;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;animation:rise .55s cubic-bezier(.2,.7,.2,1) both}.summary-card:hover{transform:translateY(-2px);background-color:#16191f;box-shadow:0 14px 28px #00000052}.summary-card h2{font-family:Outfit,IBM Plex Sans,sans-serif;font-size:26px;font-weight:600;letter-spacing:-.03em}.summary-card .buttons{margin-top:auto;justify-content:flex-end;width:100%}.summary-card .muted{margin:0}.month-summary{min-height:0}.summary-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.summary-list li{padding:10px 12px;border:0;border-radius:14px;background:#ffffff0a;color:var(--muted);font-size:14px}.summary-list strong{color:var(--text);font-weight:600}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:980px){.summary-metrics,.home-grid{grid-template-columns:1fr}.page .month-nav h1{font-size:32px}.month-nav,.month-nav h1,.month-nav .month-title{width:100%;min-width:0}.month-nav{grid-template-columns:44px minmax(0,1fr) 44px}.page-header:has(.month-nav){grid-template-columns:1fr}.page-header:has(.month-nav)>.month-nav,.page-header:has(.month-nav)>.actions,.page-header:has(.month-nav)>a.shortcut,.page-header:has(.month-nav)>button{grid-column:1;justify-self:center}.page-header:has(.month-nav)>.view-block{grid-column:1;justify-self:start;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.summary-stat,.summary-card,.bone:after,.account-dropdown{animation:none}.summary-stat:hover,.summary-card:hover,.home-page a.shortcut:hover,.month-nav button:hover,.schedule-page .actions .primary:hover,.schedule-page .actions .secondary:hover,.alert-pill:hover,.login-actions button.primary:hover,.login-actions button.secondary:hover{transform:none}}@media(max-width:800px){.header{gap:8px;padding:0 12px}.brand strong{display:none}.profile-pill{max-width:132px;padding-right:10px}}.form h2,.section h2{font-size:18px;margin-bottom:12px}label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);margin-bottom:12px}label.row{flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;color:var(--text);width:fit-content}input,select,textarea{background:#121418;border:1px solid var(--border);border-radius:2px;padding:8px 10px;width:100%}input[type=checkbox]{width:16px;height:16px;min-width:16px;flex:none;padding:0;accent-color:var(--primary)}textarea{min-height:76px;resize:vertical}input:focus,select:focus,textarea:focus{outline:1px solid var(--accent);border-color:var(--accent)}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator,input[type=month]::-webkit-calendar-picker-indicator,input[type=week]::-webkit-calendar-picker-indicator{opacity:1;cursor:pointer;filter:invert(1) brightness(1.6)}.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.weekday-hours{display:grid;grid-template-columns:minmax(120px,1.2fr) 1fr 1fr auto;gap:8px;align-items:end;margin-bottom:8px}.weekday-hours label{margin:0}.weekday-hours .remove{height:42px;margin:0;padding:0 16px;border:1px solid #6e3b34;border-radius:999px;background:#2a1c19;color:#f0b2a8}.weekday-hours .remove:hover{filter:brightness(1.08)}button.add-day{margin:4px 0 16px}@media(max-width:640px){.weekday-hours{grid-template-columns:1fr 1fr}.weekday-hours label:first-child{grid-column:1 / -1}}.checks{flex-wrap:wrap;align-items:flex-start;gap:8px 18px;margin-bottom:12px}.checks label{margin:0;flex-direction:row;align-items:center;gap:8px;width:auto;color:var(--text)}.weekdays{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.weekdays button{min-width:52px;border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:999px;padding:6px 10px}.weekdays button.is-active{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.buttons{justify-content:space-between;margin-top:8px}.form-error{color:#e0a097;margin-bottom:10px}.section{margin-top:28px}.absence-list{list-style:none;margin:12px 0 0;padding:0}.absence-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.absence-list li>div:first-child{display:flex;flex-direction:column;min-width:0}.absence-list li span{color:var(--muted);font-size:13px}.absence-list .buttons{margin:0;flex:none}.date-list{list-style:none;padding:0;margin:12px 0 0}.date-list li,.chip{display:flex;justify-content:space-between;gap:8px;align-items:center;border-bottom:1px solid var(--border);padding:8px 0}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.chip{border:1px solid var(--border);padding:4px 8px}.chip button{border:0;background:transparent;color:var(--muted);padding:0 0 0 8px}.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.operation-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.rule-block{border:1px solid var(--border);background:#121418;padding:12px 14px 2px}.rule-block .rules-grid{margin-top:8px;grid-template-columns:1fr}.rule-block .rules-grid.split-grid{grid-template-columns:1fr 1fr}.rule-block.wide-rule{grid-column:1 / -1;order:1}.rule-block.wide-rule .rules-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.builder{background:var(--surface);border:1px solid var(--border);padding:16px 16px 8px;max-width:560px}.rule-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:14px}.saved-rule{background:var(--surface);border:1px solid var(--border);padding:14px;display:flex;flex-direction:column;gap:6px}.saved-rule.editing{border-color:var(--accent)}.saved-rule strong{font-size:16px;font-weight:500}.saved-rule p{color:var(--muted);font-size:13px}.builder .buttons{justify-content:flex-start}.rule-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:auto;padding-top:12px}.rule-actions button{border-radius:2px;padding:6px 10px}.rule-actions button:not(.primary):not(.secondary):not(.danger-solid){border:1px solid var(--border);background:transparent}.color-row{display:grid;grid-template-columns:52px 1fr;gap:8px;align-items:center}input[type=color]{padding:0;height:36px;background:transparent}.preview-logo{width:72px;height:72px;object-fit:cover;border:1px solid var(--border);margin-bottom:12px}.hint{color:var(--muted);margin:4px 0 14px;max-width:62ch}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:18px}.tabs button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);padding:10px 14px;margin-bottom:-1px}.tabs button:hover{color:var(--text);background:#1a1e25}.tabs button.is-active{color:var(--text);border-bottom-color:var(--primary)}.view{margin-bottom:0}.tabs.departments{margin-top:2px;margin-bottom:14px}.week-nav{display:flex;align-items:center;justify-content:center;gap:2px;margin:16px 0 2px;color:var(--muted)}.week-nav button{border:0;background:transparent;width:36px;height:36px;border-radius:8px;color:var(--text)}.week-nav button:hover:not(:disabled){background:#22262e}.week-nav button:disabled{opacity:.35;cursor:default}.week-nav strong{color:var(--text);font-weight:500;min-width:0;padding:0 8px;font-size:15px;letter-spacing:-.02em;text-align:center}.export-menu{position:relative}.menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:6;min-width:148px;background:var(--surface);border:1px solid var(--border);display:grid}.menu-list button{border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;text-align:left;padding:10px 12px}.menu-list button:last-child{border-bottom:0}.menu-list button:hover{background:#22262e}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:24px}.modal.front{z-index:40}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;padding:0;background:#08090bb8;animation:modal-backdrop .18s ease}.modal-backdrop.bare{background:#08090b73}.modal-panel{position:relative;width:min(760px,100%);max-height:min(86vh,820px);overflow:auto;background:linear-gradient(180deg,#262b34,#1c2028);border:1px solid #343a46;border-radius:22px;padding:18px 20px 16px;box-shadow:0 24px 60px #00000073;animation:modal-panel .22s cubic-bezier(.2,.7,.2,1)}.modal-panel::-webkit-scrollbar{width:10px}.modal-panel::-webkit-scrollbar-thumb{background:#343a46;border-radius:999px}.modal-panel.wide{width:min(920px,100%)}.modal.leaving .modal-backdrop{animation:modal-backdrop-out .18s ease forwards}.modal.leaving .modal-panel{animation:modal-panel-out .18s ease forwards}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.modal-header h2{font-family:Outfit,IBM Plex Sans,sans-serif;font-size:26px;font-weight:600;letter-spacing:-.03em}.modal-close{width:36px;height:36px;flex:none;border:1px solid #343a46;border-radius:999px;background:#22262e;color:var(--muted);font-size:22px;line-height:1}.modal-close:hover{color:var(--text);border-color:#e0b07a;background:#2a241c}.modal-text{margin-bottom:16px}.modal-panel .buttons button,.modal-panel button.primary,.modal-panel button.secondary,.modal-panel button.danger-solid{border-radius:999px;padding:10px 16px}.modal-panel button.primary{background:linear-gradient(135deg,#f3c27a,#e0974e 48%,#c56d32);color:#1a120c;box-shadow:0 10px 24px #d4894c47}.modal-panel .buttons button:not(.primary):not(.secondary):not(.danger-solid){border:1px solid #343a46;background:#22262e;color:var(--text)}.modal-panel input,.modal-panel select,.modal-panel textarea{border-radius:12px;border-color:#343a46}.file-field{gap:8px}.file-field .hint{margin:0}.file-picker{position:relative;display:flex;align-items:center;gap:12px;min-height:48px;padding:6px 14px 6px 6px;border:1px solid #343a46;border-radius:14px;background:#121418}.file-picker:hover{border-color:#e0b07a}.file-picker input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-button{position:relative;z-index:1;pointer-events:none;display:inline-flex;align-items:center;flex:none;height:34px;padding:0 14px;border:1px solid #343a46;border-radius:999px;background:#22262e;color:var(--text);font-weight:600}.file-name{position:relative;z-index:1;min-width:0;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.file-name.chosen{color:var(--text)}.danger-notice{margin-bottom:14px;padding:12px 14px;background:#2a1c19;border:1px solid #6e3b34;border-radius:16px;color:#f6ddd8}.danger-notice strong{display:block;margin-bottom:2px;color:#f0b2a8;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.danger-notice p{margin:0}.modal-actions{justify-content:flex-end}.modal-panel .form,.modal-panel .builder{background:transparent;border:0;padding:0;max-width:none}@keyframes modal-backdrop{0%{opacity:0}to{opacity:1}}@keyframes modal-panel{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}@keyframes modal-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes modal-panel-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(8px) scale(.98)}}@media(prefers-reduced-motion:reduce){.modal-backdrop,.modal-panel,.modal.leaving .modal-backdrop,.modal.leaving .modal-panel{animation:none}}@media(max-width:1100px){.layout-form,.grid-form,.rules-grid{grid-template-columns:1fr}.operation-rules,.rule-block.wide-rule .rules-grid{grid-template-columns:1fr 1fr}}.toaster{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;padding:14px 12px 14px 14px;border:1px solid #343a46;border-radius:18px;background:linear-gradient(180deg,#262b34,#1c2028);box-shadow:0 16px 40px #00000059;color:#f4f1ea;animation:toast-in .38s cubic-bezier(.2,.8,.2,1)}.toast.leaving{pointer-events:none;animation:toast-out .32s ease forwards}.toast.success{border-color:#2f7a4a;background:linear-gradient(180deg,#1c3a28,#12261b);color:#e7f6ec}.toast.error{border-color:#a33d3d;background:linear-gradient(180deg,#3d1a1a,#261212);color:#fdecec}.toast-mark{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:#243028;color:#d7e8dc;font-family:Outfit,sans-serif;font-size:14px;font-weight:600}.toast.success .toast-mark{background:#1f4d32;color:#8ee0a8}.toast.error .toast-mark{background:#5c2424;color:#f3a3a3}.toast p{margin:2px 0 0;flex:1;font-size:14px;line-height:1.45}.toast-close{flex:0 0 auto;width:28px;height:28px;padding:0;border:0;border-radius:999px;background:transparent;color:#b7b1a6;font-size:18px;line-height:1}.toast-close:hover{background:#ffffff0f;color:#f4f1ea;transform:none}@keyframes toast-in{0%{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}@keyframes toast-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-18px)}}@media(prefers-reduced-motion:reduce){.toast,.toast.leaving{animation:none}}.panel-page{background:radial-gradient(ellipse 72% 58% at 100% -12%,rgba(232,168,92,.42),transparent 58%),radial-gradient(ellipse 55% 48% at -10% 24%,rgba(212,137,76,.26),transparent 54%)}.panel-page h1{margin:0;font-family:Outfit,IBM Plex Sans,sans-serif;font-size:40px;font-weight:600;letter-spacing:-.04em}.panel-page .page-header .hint{margin:6px 0 0}.panel-page .page-header>.primary,.panel-page .page-header>.secondary,.panel-page button.primary,.panel-page button.secondary{border-radius:999px;padding:10px 16px;transition:transform .16s ease,filter .16s ease,border-color .16s ease,background-color .16s ease}.panel-page button.primary{background:linear-gradient(135deg,#f3c27a,#e0974e 48%,#c56d32);box-shadow:0 10px 24px #d4894c47;color:#1a120c;border-color:transparent}.panel-page button.primary:hover{transform:translateY(-2px);filter:brightness(1.06)}.panel-page button.secondary{background:#22262e;border:1px solid #343a46;color:var(--text)}.panel-page button.secondary:hover{transform:translateY(-1px);border-color:#e0b07a;filter:none}.panel-page .tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;border-bottom:0}.panel-page .tabs button{height:36px;margin:0;padding:0 14px;border:0;border-radius:999px;background:#22262e;color:var(--muted);transition:background-color .16s ease,color .16s ease}.panel-page .tabs button:hover{color:var(--text);background:#2a303a}.panel-page .tabs button.is-active{color:#1a120c;font-weight:600;background:linear-gradient(135deg,#f3c27a,#e0974e 55%,#c56d32)}.panel-page .builder,.panel-page .section,.panel-page .department-card,.panel-page .saved-rule,.panel-page .rule-block,.panel-page .table-card,.panel-page .date-list{border:1px solid #343a46;border-radius:22px;background:linear-gradient(180deg,#262b34,#1c2028);box-shadow:0 10px 28px #00000029}.panel-page .builder,.panel-page .section{padding:18px 18px 8px}.panel-page .builder{max-width:none;margin-bottom:16px}.panel-page .builder-row{display:grid;grid-template-columns:minmax(0,1fr) 220px auto;gap:12px;align-items:end}.panel-page .builder-row label{margin-bottom:0}.panel-page .builder-row select,.panel-page .builder-row input,.panel-page .builder-row button{height:42px}.panel-page .builder-row button{padding:0 18px}@media(max-width:720px){.panel-page .builder-row{grid-template-columns:1fr}.panel-page .builder-row button{justify-self:start}}.panel-page .section{margin-top:16px}.panel-page .form{background:transparent;border:0;padding:0;box-shadow:none}.panel-page .form>button.primary{display:block;width:fit-content;margin-left:auto}.panel-page .builder h2,.panel-page .section h2,.panel-page .form h2{font-family:Outfit,IBM Plex Sans,sans-serif;font-size:26px;font-weight:600;letter-spacing:-.03em}.panel-page input,.panel-page select,.panel-page textarea{border-radius:12px;border-color:#343a46}.panel-page .table-card{overflow:clip}.panel-page .table th,.panel-page .table td{border-bottom-color:#343a46}.panel-page .table th{padding:12px 14px;background:#22262e}.panel-page .table td{padding:12px 14px}.panel-page .table tr:last-child td{border-bottom:0}.panel-page .table tr:hover td{background:#ffffff08}.panel-page .table tr.is-active td{background:#2a2118}.panel-page .absence-list{display:flex;flex-direction:column;gap:8px}.panel-page .absence-list li{border:0;border-radius:14px;background:#ffffff0a;padding:12px 14px}.panel-page .absence-list button,.panel-page .date-list button,.panel-page .rule-actions button,.panel-page .department-actions>.danger{border-radius:999px;border:1px solid #343a46;background:#22262e;padding:8px 14px;color:var(--text)}.panel-page .absence-list .danger,.panel-page .date-list .danger,.panel-page .rule-actions .danger,.panel-page .department-actions>.danger{border-color:#6e3b34;background:#2a1c19;color:#f0b2a8}.panel-page .absence-list button:hover,.panel-page .date-list button:hover,.panel-page .rule-actions button:hover,.panel-page .department-actions>.danger:hover{transform:translateY(-1px)}.panel-page .date-list{margin-top:0;padding:8px}.panel-page .date-list li{border:0;border-radius:14px;padding:10px 12px}.panel-page .rule-block{padding:14px 16px 4px}.panel-page .saved-rule{padding:16px;transition:transform .16s ease}.panel-page .saved-rule:hover{transform:translateY(-2px)}.panel-page .department-card{transition:border-color .16s ease}.panel-page .department-actions{border-top-color:#343a46}.panel-page .department-card .chip{background:#1a1e26;border-color:#343a46}@media(max-width:860px){.panel-page h1{font-size:28px}}@media(prefers-reduced-motion:reduce){.panel-page button.primary:hover,.panel-page button.secondary:hover,.panel-page .saved-rule:hover,.panel-page .absence-list button:hover,.panel-page .date-list button:hover,.panel-page .rule-actions button:hover,.panel-page .department-actions>.danger:hover{transform:none}}@media(max-width:860px){.header{gap:16px;padding:0 16px}.nav{overflow:auto}.page{padding:16px}.operation-rules{grid-template-columns:1fr}.rule-block.wide-rule{grid-column:auto;order:0}.rule-block .rules-grid.split-grid,.rule-block.wide-rule .rules-grid{grid-template-columns:1fr}.page .month-nav h1{font-size:22px;min-width:0}}
