@layer base{*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{min-height:100%;font-family:var(--font-body);background-color:var(--bg-app);color:var(--text-main);margin:0;padding:0;transition:background-color .3s,color .3s}button,input,select,textarea{font-family:inherit}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.015em}::selection{background:color-mix(in srgb, var(--primary), transparent 78%)}:focus-visible{outline:2px solid color-mix(in srgb, var(--primary), transparent 30%);outline-offset:2px;border-radius:4px}:root{--font-body:"Inter", "Noto Sans JP", sans-serif;--font-display:"Manrope", "Inter", "Noto Sans JP", sans-serif;--primary:#3a49c8;--primary-hover:#2e3cae;--primary-strong:#3a49c8;--on-primary:#fff;--accent:#0891b2;--flow-gradient:linear-gradient(135deg, #3a49c8 0%, #06b6d4 115%);--bg-app:#f4f5fa;--bg-surface:#fff;--bg-sidebar:#fff;--bg-inset:#f7f8fc;--text-main:#101828;--text-muted:#64708b;--border:#e6e9f2;--shadow-sm:0 1px 2px #1018400a, 0 1px 3px #1018400d;--shadow-md:0 2px 4px #1018400a, 0 10px 24px -6px #1018401a;--shadow-lg:0 4px 8px #1018400d, 0 24px 48px -12px #1018402e;--success:#059669;--success-bg:#10b9811a;--danger:#e11d48;--danger-bg:#e11d4814;--warning:#b45309;--warning-fill:#f59e0b;--on-warning:#1a1305;--warning-bg:#eab3081f;--on-success:#fff;--on-danger:#fff;--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--leave:#7c3aed;--radius-sm:8px;--radius:12px;--radius-lg:16px;--mobile-header-h:60px;--z-content:1;--z-raised:2;--z-popover:10;--z-mobile-header:100;--z-backdrop:150;--z-sidebar:200;--z-floating:900;--z-modal:1000;--z-overlay-popover:1100;--z-toast:1300;--chart-1:#2a78d6;--chart-2:#eb6834;--chart-3:#1baf7a;--chart-4:#eda100;--chart-5:#e87ba4;--chart-6:#008300;--chart-7:#4a3aa7;--chart-8:#e34948}[data-theme=dark]{--primary:#7b8cfa;--primary-hover:#96a4ff;--primary-strong:#4554d6;--on-primary:#fff;--accent:#22d3ee;--flow-gradient:linear-gradient(135deg, #5b6ae0 0%, #22d3ee 115%);--bg-app:#0b101f;--bg-surface:#151c30;--bg-sidebar:#0b101f;--bg-inset:#080c18;--text-main:#eef1f8;--text-muted:#94a0ba;--border:#283252;--leave:#a78bfa;--danger:#f43f5e;--danger-bg:#f43f5e1f;--success:#34d399;--success-bg:#34d39921;--warning:#fbbf24;--warning-bg:#fbbf2424;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 2px 4px #0000004d, 0 10px 24px -6px #00000073;--shadow-lg:0 4px 8px #00000059, 0 24px 48px -12px #0009;--chart-1:#3987e5;--chart-2:#d95926;--chart-3:#199e70;--chart-4:#c98500;--chart-5:#d55181;--chart-6:#008300;--chart-7:#9085e9;--chart-8:#e66767}.app-shell{position:relative}.app-shell:before{content:"";z-index:0;pointer-events:none;background:linear-gradient(180deg, color-mix(in srgb, var(--primary), transparent 98.5%) 0%, transparent 45%);position:fixed;inset:0}[data-theme=dark] .app-shell:before{background:linear-gradient(180deg, color-mix(in srgb, var(--primary), transparent 97%) 0%, transparent 45%)}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-muted), transparent 70%) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted), transparent 70%);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-muted), transparent 45%)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-loader{flex-direction:column;gap:1.5rem;max-width:1600px;margin:0 auto;animation:.3s fadeIn;display:flex}@media (width>=1920px){.page-loader{max-width:2200px}}.skeleton{background:linear-gradient(90deg, var(--bg-surface) 25%, var(--bg-inset) 50%, var(--bg-surface) 75%);border-radius:var(--radius);background-size:800px 100%;animation:1.5s ease-in-out infinite shimmer}.skeleton-title{width:35%;min-width:180px;height:28px;margin-bottom:.5rem}.skeleton-subtitle{width:50%;min-width:220px;height:16px}.skeleton-card{width:100%;height:200px}.skeleton-card-short{width:100%;height:120px}.skeleton-row{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=768px){.skeleton-row{grid-template-columns:1fr}}.page-enter{flex-direction:column;flex:auto;min-height:0;animation:.35s cubic-bezier(.32,.72,0,1) riseIn;display:flex}@keyframes pulse{0%{box-shadow:0 0 #05966966}70%{box-shadow:0 0 0 8px #05966900}to{box-shadow:0 0 #05966900}}.animate-spin{animation:1s linear infinite spin}.pulse-dot{background-color:var(--success);border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse}@media (prefers-reduced-motion:reduce){.page-enter,.skeleton{animation:none}}.workspace-gate{background:var(--bg-app);justify-content:center;align-items:center;min-height:100svh;padding:1.5rem;display:flex}.workspace-gate-inner{text-align:center;flex-direction:column;align-items:center;gap:1rem;max-width:480px;display:flex}.workspace-gate-title{color:var(--text-main);margin:0;font-size:1.5rem}.workspace-gate-hint{color:var(--text-muted);margin:0 0 .5rem;font-size:.95rem;line-height:1.5}.workspace-gate-signout{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;margin-top:.5rem;font-size:.85rem;display:inline-flex}.workspace-gate-signout:hover{color:var(--text-main)}}@layer components{.btn{background:linear-gradient(180deg, color-mix(in srgb, var(--primary-strong), white 12%) 0%, var(--primary-strong) 45%, color-mix(in srgb, var(--primary-strong), black 16%) 100%);min-height:44px;color:var(--on-primary);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:0 1.2rem;font-size:.95rem;font-weight:600;transition:transform .15s,box-shadow .2s,filter .2s;display:inline-flex;box-shadow:inset 0 1px #fff3,inset 0 -1px #0000002e,0 1px 2px #00000024}.btn:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:inset 0 1px #fff3,inset 0 -1px #0000002e,0 4px 12px #00000029}.btn:active{filter:brightness(.96);transform:translateY(1px);box-shadow:inset 0 1px 3px #00000038,0 1px 1px #0000001a}.btn:disabled{opacity:.55;cursor:not-allowed;filter:none;transform:none}.btn-lg{border:1px solid color-mix(in srgb, var(--primary-strong), black 28%);border-radius:14px;width:100%;max-width:280px;height:56px;font-size:1.1rem;font-weight:700;box-shadow:inset 0 1px #ffffff38,inset 0 -1px #0003,0 1px 2px #0003,0 10px 22px -12px #00000073}.btn-lg:hover{box-shadow:inset 0 1px #ffffff38,inset 0 -1px #0003,0 2px 4px #0000002e,0 14px 26px -12px #00000080}.btn-lg:focus-visible{box-shadow:inset 0 1px 0 #ffffff38, inset 0 -1px 0 #0003, 0 1px 2px #0003, 0 0 0 4px color-mix(in srgb, var(--primary), transparent 78%);outline:none}.btn-lg.btn-danger{border-color:color-mix(in srgb, var(--danger), black 25%);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #0003,0 1px 2px #0003,0 10px 22px -12px #00000073}.btn-lg.btn-danger:hover{box-shadow:inset 0 1px #ffffff38,inset 0 -1px #0003,0 2px 4px #0000002e,0 14px 26px -12px #00000080}.btn-lg.btn-danger:focus-visible{box-shadow:inset 0 1px 0 #ffffff38, inset 0 -1px 0 #0003, 0 1px 2px #0003, 0 0 0 4px color-mix(in srgb, var(--danger), transparent 78%)}.btn-lg:active,.btn-lg.btn-danger:active{box-shadow:inset 0 1px 3px #0000003d,0 1px 1px #0000001a}.btn-sm{min-height:36px;padding:.5rem 1rem;font-size:.85rem}.btn-primary{background:linear-gradient(180deg, color-mix(in srgb, var(--primary-strong), white 10%) 0%, var(--primary-strong) 45%, color-mix(in srgb, var(--primary-strong), black 14%) 100%);color:var(--on-primary);cursor:pointer;border:none;border-radius:9px;padding:.75rem 1.5rem;font-weight:600;transition:all .2s;box-shadow:inset 0 1px #ffffff29,inset 0 -1px #00000024}.btn-primary:hover{filter:brightness(1.06);box-shadow:0 4px 12px #00000026}.btn-secondary{background:var(--bg-surface);color:var(--text-main);border:1px solid var(--border);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:9px;padding:.75rem 1.5rem;font-weight:500;transition:all .2s}.btn-secondary:hover{background:var(--bg-inset);border-color:color-mix(in srgb, var(--text-muted), transparent 50%)}.btn-danger{background:linear-gradient(180deg, color-mix(in srgb, var(--danger), white 10%) 0%, var(--danger) 45%, color-mix(in srgb, var(--danger), black 14%) 100%);color:var(--on-danger);box-shadow:inset 0 1px #fff3,inset 0 -1px #0000002e,0 1px 2px #00000024}.btn-danger:hover{filter:brightness(1.05);box-shadow:inset 0 1px #fff3,inset 0 -1px #0000002e,0 4px 12px #00000029}.btn-icon{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.btn-icon:hover{background-color:var(--danger-bg);color:var(--danger)}.btn-icon-text{color:var(--text-muted);background:var(--bg-inset);border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-icon-text.compact{gap:4px;padding:6px 10px;font-size:.8rem}.btn-icon-text:hover{color:var(--primary);border-color:color-mix(in srgb, var(--primary), transparent 40%);background:var(--bg-surface);box-shadow:0 2px 8px #00000014}@media (prefers-reduced-motion:reduce){.btn,.btn:hover,.btn:active{transition:none;transform:none}}.card{background:var(--bg-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border);padding:1rem;transition:transform .2s,box-shadow .2s}@media (width>=640px){.card{padding:1.5rem}}[data-theme=dark] .card{border:1px solid var(--border);box-shadow:inset 0 1px 0 #ffffff0a, var(--shadow-sm)}.card-header{align-items:center;gap:15px;margin-bottom:1rem;display:flex}.card-header-bordered{border-bottom:1px solid var(--border);align-items:center;gap:15px;margin-bottom:1rem;padding-bottom:1rem;display:flex}.icon-square{background:color-mix(in srgb, var(--primary), transparent 88%);border:1px solid color-mix(in srgb, var(--primary), transparent 78%);color:var(--primary);border-radius:11px;justify-content:center;align-items:center;padding:10px;display:flex}.card-title{color:var(--text-main);margin:0;font-size:1.25rem;font-weight:700}.card-subtitle{color:var(--text-muted);font-size:.9rem}.callout{background:var(--bg-inset);border-radius:var(--radius);border-left:5px solid var(--primary);flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.callout-title{margin:0;font-size:1.1rem;font-weight:600}.callout-text{color:var(--text-muted);margin:0}.empty-state{text-align:center;color:var(--text-muted);padding:3rem 1.5rem;font-size:.92rem}.empty-state-icon{width:52px;height:52px;color:var(--primary);background:color-mix(in srgb, var(--primary), transparent 92%);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.75rem;display:inline-flex}.badge{background:color-mix(in srgb, var(--primary), transparent 90%);color:var(--primary);border-radius:5px;padding:2px 8px;font-size:.75rem;font-weight:500;display:inline-block}.unit-badge{background:color-mix(in srgb, var(--primary), transparent 91%);color:var(--primary);border-radius:5px;padding:4px 8px;font-size:.85rem}.status-badge{background:var(--border);color:var(--text-muted);border-radius:20px;align-items:center;gap:8px;margin-top:12px;padding:6px 14px;font-size:.9rem;font-weight:500;transition:background .3s,color .3s;display:inline-flex}.status-badge.active{background:var(--success-bg);color:var(--success)}.table-responsive{border:1px solid var(--border);border-radius:8px;overflow-x:auto}table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%}.table-responsive table{table-layout:auto}@media (width>=769px){.table-responsive table{min-width:600px}}.col-w-40{width:40%}.col-w-25{width:25%}.col-w-20{width:20%}.col-w-15{width:15%}.table-empty-message{text-align:center;color:var(--text-muted);padding:3rem}.sort-arrow{margin-left:6px;display:inline-block}.sort-arrow.inactive{opacity:.3}th{background:var(--bg-inset);color:var(--text-muted);border-bottom:1px solid var(--border);text-align:left;text-transform:uppercase;letter-spacing:.06em;padding:.8rem 1rem;font-size:.72rem;font-weight:700}th:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}th:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}td{border-bottom:1px solid var(--border);color:var(--text-main);padding:1rem}th,td{overflow-wrap:break-word}.admin-table{border-collapse:collapse;width:100%}.admin-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);background:var(--bg-inset);padding:.7rem 1rem;font-size:.72rem;font-weight:700}.sortable-th{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin:0;padding:0;display:inline-flex}.sortable-th:hover{color:var(--text-main)}.sortable-th-icon{opacity:.45;transition:opacity .15s}.sortable-th-icon.active{opacity:1;color:var(--primary)}.table-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.filter-chips{flex-wrap:wrap;gap:.35rem;display:flex}.filter-chip{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;padding:4px 10px;font-size:.8rem;transition:all .15s;display:inline-flex}.filter-chip:hover{color:var(--text-main);border-color:var(--primary)}.filter-chip.active{background:var(--primary-strong);border-color:var(--primary-strong);color:var(--on-primary);font-weight:600;box-shadow:0 1px 2px #00000014}.filter-chip.tone-pending.active{background:var(--warning-fill);border-color:var(--warning-fill);color:var(--on-warning)}.filter-chip.tone-changes.active{color:#fff;background:#ea580c;border-color:#ea580c}.filter-chip.tone-approved.active{color:#fff;background:#16a34a;border-color:#16a34a}.filter-chip.tone-rejected.active{color:#fff;background:#dc2626;border-color:#dc2626}.filter-chip.tone-withdrawn.active{color:#fff;background:#6b7280;border-color:#6b7280}.filter-chip.tone-pending:hover{border-color:var(--warning-fill)}.filter-chip.tone-changes:hover{border-color:#ea580c}.filter-chip.tone-approved:hover{border-color:#16a34a}.filter-chip.tone-rejected:hover{border-color:#dc2626}.filter-chip.tone-withdrawn:hover{border-color:#6b7280}.status-pill{letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.status-pill:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-pill.tone-pending{color:var(--warning);background:#f59e0b26;border-color:#f59e0b4d}.status-pill.tone-changes{color:#c2410c;background:#ea580c26;border-color:#ea580c4d}.status-pill.tone-approved{color:#15803d;background:#16a34a26;border-color:#16a34a4d}.status-pill.tone-rejected{color:#b91c1c;background:#dc262626;border-color:#dc26264d}.status-pill.tone-withdrawn{color:#4b5563;background:#6b728026;border-color:#6b72804d}[data-theme=dark] .status-pill.tone-pending{color:var(--warning)}[data-theme=dark] .status-pill.tone-changes{color:#fb923c}[data-theme=dark] .status-pill.tone-approved{color:var(--success)}[data-theme=dark] .status-pill.tone-rejected{color:var(--danger)}[data-theme=dark] .status-pill.tone-withdrawn{color:#9ca3af}.table-search{flex:200px;min-width:0;max-width:280px}.admin-table td{vertical-align:middle;border-bottom:1px solid var(--border);color:var(--text-main);padding:.75rem 1rem}@media (width>=769px){.admin-table tbody tr{transition:background-color .12s}.admin-table tbody tr:hover{background:var(--bg-inset,var(--bg-app))}}@media (width<=768px){.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{width:100%;display:block}.table-responsive{border:none;overflow:visible}.admin-table tr{border:1px solid var(--border);background:var(--bg-surface);box-shadow:var(--shadow-sm);border-radius:8px;margin-bottom:.5rem;padding:0}.admin-table td{text-align:left;border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:flex-start;align-items:center;min-height:40px;padding:.5rem 1rem;display:none}.admin-table td:first-child{background:0 0;border-bottom:none;justify-content:flex-start;align-items:center;padding:.75rem 1rem;display:flex}.admin-table tr.mobile-expanded td:first-child{border-bottom:1px solid var(--border);background:var(--bg-inset);border-top-left-radius:8px;border-top-right-radius:8px}.admin-table tr.mobile-expanded td{animation:.2s ease-in-out tableRowReveal;display:flex}@keyframes tableRowReveal{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.admin-table td:last-child{border-bottom:none;justify-content:flex-start}.admin-table td:before{content:attr(data-label);color:var(--text-muted);text-transform:uppercase;text-align:left;flex-shrink:0;margin-right:1rem;font-size:.75rem;font-weight:600}.admin-table td.mobile-no-label:before{display:none}.admin-table td .input-field{width:auto;min-width:120px;max-width:60%;margin-left:auto}.admin-table td:first-child .mobile-name-content{text-align:left;white-space:normal;word-break:break-word;flex:1;margin-left:0;margin-right:auto}.admin-table td:first-child .truncate-text{text-align:left;margin-left:0;margin-right:auto}.mobile-toggle-icon{color:var(--text-muted);justify-content:center;align-items:center;margin-right:12px;display:flex}}@media (width>=769px){.mobile-toggle-icon{display:none}}.input-group{gap:10px;margin-top:1.5rem;display:flex}.input-field{border:1px solid var(--border);background:var(--bg-inset);color:var(--text-main);box-sizing:border-box;appearance:none;border-radius:9px;outline:none;width:100%;min-width:0;max-width:100%;padding:12px;font-size:.95rem;transition:border-color .2s,background .2s,box-shadow .2s}.input-field:hover:not(:focus){border-color:color-mix(in srgb, var(--text-muted), transparent 55%)}input[type=date].input-field{min-height:44px;line-height:1.4;position:relative}input[type=date].input-field::-webkit-calendar-picker-indicator{color:#0000;cursor:pointer;opacity:0;background:0 0;width:auto;height:auto;position:absolute;inset:0}.input-field:focus{border-color:var(--primary);background-color:var(--bg-surface);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary), transparent 85%)}select.input-field{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2364708b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}[data-theme=dark] select.input-field{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2394a0ba' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e")}select.input-field option{background-image:none}td .input-field{width:100%;margin:0}.input-w-xs{width:80px}.form-group{margin-bottom:1rem}.form-group label{color:var(--text-muted);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-row{gap:10px;width:100%;display:flex}.form-row .form-group{flex:1;min-width:0}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem;font-weight:600;display:block}.checkbox-wrapper{white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-main);align-items:center;gap:8px;padding:0 4px;font-size:.9rem;font-weight:500;display:flex}.checkbox-wrapper input[type=checkbox]{accent-color:var(--primary);cursor:pointer;width:16px;height:16px}.checkbox-wrapper.disabled{opacity:.4;cursor:not-allowed;filter:grayscale();pointer-events:none}.input-text,.input-textarea{border:1px solid var(--border);background:var(--bg-inset);width:100%;color:var(--text-main);border-radius:var(--radius);padding:.75rem;font-size:.95rem;transition:all .2s}.input-text:focus,.input-textarea:focus{background:var(--bg-surface);border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary), transparent 85%);outline:none}.form-actions{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem}.modal-actions{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}.input-wrapper{width:100%;position:relative}.input-with-icon{padding-left:2.5rem}.input-icon-left{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.select-chevron{color:var(--text-muted);pointer-events:none;width:16px;height:16px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.select-chevron svg{width:100%;height:100%;display:block}@media (width<=768px){.input-group{flex-direction:column}.input-group .btn,.input-group .input-field{flex:none;width:100%}.form-row{flex-direction:column;gap:12px}.checkbox-wrapper{background:var(--bg-inset);border:1px solid var(--border);border-radius:6px;justify-content:center;padding:8px}}@media (width<=600px){.input-group input{width:100%}}.modal-overlay{-webkit-backdrop-filter:blur(5px);z-index:var(--z-modal);opacity:0;visibility:hidden;background:#05081280;justify-content:center;align-items:center;transition:all .3s ease-in-out;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;visibility:visible}.modal-content{background:var(--bg-surface);border-radius:var(--radius-lg);width:90%;max-width:500px;box-shadow:var(--shadow-lg);border:1px solid var(--border);flex-direction:column;max-height:min(90svh,100dvh - 2rem);padding:0;transition:all .32s cubic-bezier(.32,.72,0,1);display:flex;transform:scale(.95)translateY(14px)}[data-theme=dark] .modal-content{box-shadow:inset 0 1px 0 #ffffff0d, var(--shadow-lg)}.modal-content.open{transform:scale(1)translateY(0)}.modal-content.modal-content-lg{max-width:880px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;display:flex}.modal-title{min-width:0;color:var(--text-main);overflow-wrap:anywhere;margin:0;font-size:1.25rem;font-weight:700}.modal-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.modal-close-btn:hover{background:var(--bg-inset);color:var(--text-main)}.modal-body{scrollbar-gutter:stable;padding:1.5rem;overflow-y:auto}.commute-route-picker{background:color-mix(in srgb, var(--primary), transparent 95%);border:1px solid color-mix(in srgb, var(--primary), transparent 80%);border-radius:10px;flex-direction:column;gap:.5rem;margin-top:.65rem;padding:.85rem;display:flex}[data-theme=dark] .commute-route-picker{background:color-mix(in srgb, var(--primary), transparent 88%);border-color:color-mix(in srgb, var(--primary), transparent 70%)}.commute-route-picker-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.15rem;font-size:.7rem;font-weight:700}.commute-route-option{background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:8px;align-items:flex-start;gap:.7rem;width:100%;padding:.7rem .85rem;transition:transform .1s,border-color .15s,background .15s,box-shadow .18s;display:flex}.commute-route-option:hover{border-color:color-mix(in srgb, var(--primary), transparent 50%);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.commute-route-option.selected{border-color:var(--primary);background:color-mix(in srgb, var(--primary), transparent 90%);box-shadow:0 2px 10px #0000001f}[data-theme=dark] .commute-route-option.selected{background:color-mix(in srgb, var(--primary), transparent 75%)}.commute-route-option-icon{background:color-mix(in srgb, var(--primary), transparent 80%);width:28px;height:28px;color:var(--primary);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.commute-route-option.selected .commute-route-option-icon{background:var(--primary-strong);color:var(--on-primary)}.commute-route-option-body{flex:1;min-width:0}.commute-route-option-top{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.commute-route-option-fare{color:var(--text-main);font-size:1rem;font-weight:700}.commute-route-option-meta{color:var(--text-muted);font-size:.78rem}.commute-route-option-ic-tag{letter-spacing:.05em;vertical-align:middle;color:var(--accent);background:color-mix(in srgb, var(--accent), transparent 88%);border:1px solid color-mix(in srgb, var(--accent), transparent 70%);border-radius:4px;margin-left:6px;padding:1px 5px;font-size:.62rem;font-weight:700;display:inline-block}.commute-route-option-lines{color:var(--text-main);overflow-wrap:anywhere;margin-top:2px;font-size:.82rem}.transport-mode-toggle{background:var(--bg-inset);border:1px solid var(--border);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.transport-mode-option{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.85rem;font-weight:500;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.transport-mode-option:hover:not(.active){color:var(--text-main)}.transport-mode-option.active{background:var(--primary-strong);color:var(--on-primary);box-shadow:0 1px 3px #0000002e}.station-input-wrapper{position:relative}.station-suggestion-list{background:var(--bg-surface);border:1px solid var(--border);max-height:240px;z-index:var(--z-overlay-popover);border-radius:8px;margin:0;padding:4px;list-style:none;position:fixed;overflow-y:auto;box-shadow:0 8px 20px #00000026}.station-suggestion-list li{list-style:none}.station-suggestion-list li button{text-align:left;cursor:pointer;width:100%;color:var(--text-main);background:0 0;border:none;border-radius:6px;padding:.5rem .7rem;font-family:inherit;font-size:.9rem;transition:background .1s}.station-suggestion-list li button:hover{background:color-mix(in srgb, var(--primary), transparent 88%);color:var(--text-main)}.commute-template-mode-badge{background:color-mix(in srgb, var(--primary), transparent 85%);width:30px;height:30px;color:var(--primary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.app-shell{background:var(--bg-app);height:100svh;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);display:flex;overflow:hidden}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);width:250px;z-index:var(--z-sidebar);flex-shrink:0;padding:1.5rem 1.25rem}.sidebar-inner{flex-direction:column;height:100%;display:flex}.sidebar-brand{margin-bottom:1.75rem;padding:0 .25rem}.brand-lockup{align-items:center;min-width:0;display:flex}.brand-lockup-text{min-width:0}.brand-lockup-name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-main);align-items:baseline;gap:6px;font-size:1.25rem;font-weight:800;line-height:1.1;display:flex}.brand-lockup-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--primary);background:color-mix(in srgb, var(--primary), transparent 90%);border-radius:5px;padding:2px 6px;font-size:.62rem;font-weight:700;transform:translateY(-1px)}.brand-lockup-workspace{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.75rem;overflow:hidden}.sidebar-nav{flex-direction:column;flex:1;gap:.15rem;min-height:0;padding-left:2px;display:flex;overflow:auto}.nav-section-label{text-transform:uppercase;letter-spacing:.09em;color:color-mix(in srgb, var(--text-muted), transparent 25%);padding:.85rem 14px .3rem;font-size:.62rem;font-weight:700}.nav-section-label.first{padding-top:0}.nav-item{color:var(--text-muted);border-radius:9px;align-items:center;gap:10px;padding:8px 14px;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .18s,color .18s;display:flex;position:relative}.nav-item-icon{justify-content:center;align-items:center;transition:transform .18s;display:flex}.nav-item:hover{background:color-mix(in srgb, var(--text-muted), transparent 92%);color:var(--text-main)}.nav-item:hover .nav-item-icon{transform:translate(1px)}.nav-item:active{transform:scale(.985)}.nav-item.active{background:color-mix(in srgb, var(--primary), transparent 92%);color:var(--primary);font-weight:600}[data-theme=dark] .nav-item.active{background:color-mix(in srgb, var(--primary), transparent 88%)}.nav-item.active:before{content:"";background:var(--flow-gradient);border-radius:999px;width:3px;height:18px;position:absolute;top:50%;left:-2px;transform:translateY(-50%)}.nav-folder-head{cursor:pointer;background:0 0;border:none;width:100%;font-family:inherit}.nav-folder-chevron{margin-left:auto;transition:transform .2s}.nav-folder.open .nav-folder-chevron{transform:rotate(90deg)}@media (hover:hover){.nav-folder:hover .nav-folder-chevron{transform:rotate(90deg)}}.nav-folder-children{grid-template-rows:0fr;transition:grid-template-rows .22s;display:grid}.nav-folder.open .nav-folder-children{grid-template-rows:1fr}@media (hover:hover){.nav-folder:hover .nav-folder-children{grid-template-rows:1fr}}.nav-folder-children-inner{flex-direction:column;gap:.15rem;min-height:0;display:flex;overflow:hidden}.nav-item.nav-subitem{border-left:1px solid var(--border);border-top-left-radius:0;border-bottom-left-radius:0;margin-left:22px;padding-left:12px}.nav-item.nav-subitem.active:before{left:-1px}.sidebar-bottom{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:.35rem;margin-top:.5rem;padding-top:.6rem;display:flex}.sidebar-utility-btn{background:var(--bg-inset);min-height:36px;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:7px;padding:7px 10px;font-size:.85rem;font-weight:500;text-decoration:none;transition:background .18s,color .18s,border-color .18s;display:inline-flex}.sidebar-utility-btn:hover{color:var(--text-main);border-color:color-mix(in srgb, var(--text-muted), transparent 55%);background:var(--bg-surface)}.sidebar-utility-btn.active{color:var(--primary);border-color:color-mix(in srgb, var(--primary), transparent 55%);background:color-mix(in srgb, var(--primary), transparent 93%)}.sidebar-user{cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;transition:background .18s;display:flex}.sidebar-user:hover{background:var(--bg-inset)}.sidebar-user-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.sidebar-user-role{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:1px;font-size:.72rem;font-weight:600}.mobile-header{height:calc(var(--mobile-header-h) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 1rem 0;z-index:var(--z-mobile-header);background:color-mix(in srgb, var(--bg-surface), transparent 18%);-webkit-backdrop-filter:saturate(1.6)blur(14px);backdrop-filter:saturate(1.6)blur(14px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;position:fixed;top:0;left:0;right:0}.mobile-header-brand{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-main);align-items:center;gap:8px;font-size:1.05rem;font-weight:800;display:inline-flex}.sidebar-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:var(--z-backdrop);background:#0508128c;animation:.25s fadeIn;position:fixed;inset:0}@media (width<=768px){.sidebar{-webkit-overflow-scrolling:touch;height:100dvh;padding:1rem 1.25rem;padding-top:calc(1rem + env(safe-area-inset-top,0px));padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));box-shadow:none;transition:transform .32s cubic-bezier(.32,.72,0,1);position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar.open{box-shadow:var(--shadow-lg);transform:translate(0)}.sidebar-inner{height:auto;min-height:100%}.sidebar-nav{flex:none;overflow:visible}main{margin-top:var(--mobile-header-h)}}.main-content{z-index:var(--z-content);flex-direction:column;min-width:0;padding:2rem 2.5rem;display:flex;position:relative;overflow-y:auto}body:has(.modal-overlay) .main-content{overflow-y:hidden}@media (width<=768px){.main-content{padding:1rem}}@media (width<=480px){.main-content{padding:.75rem}}.dashboard-container{width:100%;max-width:1600px;margin:0 auto}.page-fit{flex-direction:column;flex:auto;min-height:0;display:flex}@media (width>=1920px){.main-content{padding:2.5rem 4rem}.dashboard-container{max-width:2200px}}.page-header{margin-bottom:2rem}.page-title{letter-spacing:-.025em;color:var(--text-main);margin-bottom:.25rem;font-size:1.75rem;font-weight:800}.page-subtitle{color:var(--text-muted);margin:0;font-size:1rem}@media (width<=768px){.page-title{font-size:1.5rem}.page-subtitle{font-size:.9rem}.page-header{margin-bottom:1.5rem}}.section-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.section-header h3{color:var(--text-main);margin:0;font-size:1.25rem;font-weight:700}.section-spacer{margin-bottom:1.5rem}.nav-item-with-hint{align-items:flex-start;padding-top:7px;padding-bottom:7px}.nav-item-with-hint .nav-item-icon{margin-top:1px}.nav-item-text{flex-direction:column;gap:1px;min-width:0;display:flex}.nav-item-hint{color:var(--text-muted);opacity:.85;font-size:.72rem;font-weight:500;line-height:1.25}.nav-item.active .nav-item-hint{color:inherit;opacity:.75}.avatar{-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.avatar-img{object-fit:cover}.avatar-initials{letter-spacing:.02em;font-weight:700}[data-theme=dark] .avatar-initials{filter:brightness(1.25)}.widget-card{flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.timer-well{text-align:center;background:var(--bg-inset);border-radius:var(--radius-lg);border:1px solid #0000;width:100%;margin-bottom:2rem;padding:2rem;transition:border-color .4s;position:relative;overflow:hidden}.timer-well.working{border-color:color-mix(in srgb, var(--primary), transparent 75%);background:linear-gradient(180deg, color-mix(in srgb, var(--primary), transparent 96%), transparent 55%), var(--bg-inset)}.timer-well.working:after{content:"";background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--primary), transparent 40%) 35%, color-mix(in srgb, var(--accent), transparent 20%) 50%, color-mix(in srgb, var(--primary), transparent 40%) 65%, transparent 100%);background-size:200% 100%;height:3px;animation:3.2s linear infinite laminar-stream;position:absolute;bottom:0;left:0;right:0}@keyframes laminar-stream{0%{background-position:120% 0}to{background-position:-80% 0}}@media (prefers-reduced-motion:reduce){.timer-well.working:after{animation:none}}.text-overline{color:var(--text-muted);text-transform:uppercase;letter-spacing:.14em;margin:0 0 10px;font-size:.78rem;font-weight:600}.timer-display{font-size:3.5rem;font-weight:700;font-family:var(--font-body);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text-muted);opacity:.45;transition:color .3s,opacity .3s}.timer-display.active{color:var(--text-main);opacity:1}@media (width<=768px){.timer-display{font-size:2.5rem}.card.widget-card{padding:1rem}.timer-well{padding:1.5rem}}.datepicker{width:100%;position:relative}.datepicker-trigger{cursor:pointer;text-align:left;width:100%;min-height:44px;color:var(--text-main);align-items:center;gap:10px;font-size:.95rem;display:flex}.datepicker-icon{color:var(--text-muted);flex-shrink:0}.datepicker-dropdown{will-change:transform;z-index:var(--z-overlay-popover);background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;width:100%;min-width:280px;max-width:320px;padding:1rem;position:fixed;top:0;left:0;box-shadow:0 10px 40px #0000001f}.datepicker-nav{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.datepicker-month-label{color:var(--text-main);font-size:.95rem;font-weight:600}.datepicker-nav-btn{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.datepicker-nav-btn:hover{background:var(--bg-inset);color:var(--primary)}.datepicker-nav-btn:disabled{opacity:.35;cursor:default;color:var(--text-muted);background:0 0}.datepicker-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.datepicker-day-label{color:var(--text-muted);padding:6px 0;font-size:.75rem;font-weight:600}.datepicker-day{width:36px;height:36px;color:var(--text-main);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin:0 auto;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.datepicker-day:hover{background:var(--bg-inset)}.datepicker-day:disabled{color:var(--text-muted);opacity:.38;cursor:default;text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--text-muted), transparent 45%);text-decoration-color:color-mix(in srgb, var(--text-muted), transparent 45%)}.datepicker-day:disabled:hover{background:0 0}.datepicker-day.selected{background:var(--primary-strong);color:var(--on-primary);font-weight:600}.datepicker-day.selected:hover{background:var(--primary-hover)}.datepicker-day.is-public-holiday{color:var(--danger);position:relative}.datepicker-day.is-public-holiday:after{content:"";background:var(--danger);border-radius:50%;width:5px;height:5px;position:absolute;top:4px;right:4px}.datepicker-day.is-public-holiday.selected{color:var(--on-primary)}.datepicker-day.is-public-holiday.selected:after{background:var(--on-primary)}.filing-strip{--strip-tone:var(--text-muted);min-width:0;color:var(--strip-tone);border:1px solid #0000;border-radius:9px;flex:100%;align-items:center;gap:8px;padding:9px 12px;font-size:.9rem;font-weight:500;line-height:1.45;display:flex}.filing-strip svg{flex-shrink:0}.filing-strip>span{min-width:0;color:var(--text-main)}.filing-strip-lead{color:var(--strip-tone);font-weight:700}.filing-strip-action{appearance:none;font:inherit;color:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:0;font-weight:700;text-decoration:none}.filing-strip-action:hover{text-decoration:underline}.filing-strip-action:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid}@media (width<=480px){.filing-strip{flex-wrap:wrap}.filing-strip>span{flex:1 1 0}.filing-strip-action{text-align:right;flex-basis:100%}}.filing-strip--notice{--strip-tone:var(--warning);background:#f59e0b1f;border-color:#f59e0b52}.filing-strip--pending{--strip-tone:var(--primary);background:color-mix(in srgb, var(--primary), transparent 92%);border-color:color-mix(in srgb, var(--primary), transparent 75%)}.filing-strip--warn{--strip-tone:#c2410c;background:#ea580c1f;border-color:#ea580c52}[data-theme=dark] .filing-strip--warn{--strip-tone:#fb923c}.filing-strip--success{--strip-tone:var(--success);background:var(--success-bg);border-color:color-mix(in srgb, var(--success), transparent 65%)}[data-theme=dark] .filing-strip--success{--strip-tone:#34d399;border-color:#34d39947}.filing-strip--info{background:var(--bg-inset);border-color:var(--border)}.month-donut{align-items:center;gap:1rem;min-width:0;display:flex}.calendar-month-summary .month-donut{margin-left:auto}@media (width<=640px){.calendar-month-summary .month-donut{justify-content:center;width:100%;margin-left:0}}.month-donut-svg{flex-shrink:0;width:92px;height:92px;animation:.6s cubic-bezier(.32,.72,0,1) donutSettle;transform:rotate(-90deg)}@keyframes donutSettle{0%{opacity:0;transform:rotate(-115deg)scale(.92)}to{opacity:1;transform:rotate(-90deg)scale(1)}}@media (prefers-reduced-motion:reduce){.month-donut-svg{animation:none}}.month-donut-track{fill:none;stroke:var(--bg-inset);stroke-width:13px}.month-donut-segment{fill:none;stroke-width:13px;cursor:default;transition:stroke-width .15s}.month-donut-segment:hover{stroke-width:16px}.month-donut-total{transform-origin:60px 60px;fill:var(--text-main);font-family:var(--font-display);letter-spacing:-.02em;text-anchor:middle;dominant-baseline:central;font-size:22px;font-weight:800;transform:rotate(90deg)}.month-donut-legend{flex-direction:column;gap:4px;min-width:0;max-height:96px;margin:0;padding:0 2px 0 0;list-style:none;display:flex;overflow-y:auto}.month-donut-legend-item{align-items:center;gap:7px;min-width:0;font-size:.78rem;display:flex}.month-donut-legend-dot{border-radius:3px;flex-shrink:0;width:8px;height:8px}.month-donut-legend-label{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;max-width:12ch;font-weight:600;overflow:hidden}.month-donut-legend-value{color:var(--text-muted);white-space:nowrap}.profile-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=768px){.profile-grid{grid-template-columns:320px 1fr;gap:2rem}}.profile-identity-card,.profile-content-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.modal-body .profile-grid{grid-template-columns:1fr;gap:1rem}.modal-body .profile-identity-card,.modal-body .profile-content-card{box-shadow:none;background:0 0;border:none;padding:0}.modal-body .profile-content-card{text-align:center;border-top:none;min-height:auto;margin-top:0;padding-top:0}.modal-body .bio-text{text-align:left;max-height:200px;padding-right:8px;overflow-y:auto}.modal-body .profile-image-container{width:100px;height:100px}.profile-identity-card{text-align:center;flex-direction:column;align-items:center;padding:2rem;display:flex}.profile-image-container{width:140px;height:140px;margin-bottom:1.5rem;position:relative}.profile-image{object-fit:cover;border:4px solid var(--bg-surface);width:100%;height:100%;box-shadow:var(--shadow-md);border-radius:50%}.profile-image-initials{font-size:2.5rem;font-weight:700;font-family:var(--font-display);letter-spacing:.02em;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex}[data-theme=dark] .profile-image-initials{filter:brightness(1.25)}.modal-body .profile-image-initials{font-size:1.8rem}.image-upload-label{background:var(--primary-strong);color:var(--on-primary);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:20px;padding:6px 12px;font-size:.75rem;font-weight:500;transition:all .2s;position:absolute;bottom:5px;right:5px}.image-upload-label:hover{background:var(--primary-hover);transform:translateY(-2px)}.remove-image-btn{background:var(--danger);width:28px;height:28px;color:var(--on-danger);border:2px solid var(--bg-surface);cursor:pointer;box-shadow:var(--shadow-sm);z-index:var(--z-popover);opacity:0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex;position:absolute;top:0;right:0}.profile-image-container:hover .remove-image-btn,.profile-image-container:focus-within .remove-image-btn{opacity:1}@media (hover:none){.remove-image-btn{opacity:1}}.remove-image-btn:hover{background:color-mix(in srgb, var(--danger) 85%, var(--text-main));transform:scale(1.1)}.profile-identity-info h2{color:var(--text-main);margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.profile-role{background:var(--bg-inset);color:var(--primary);text-transform:uppercase;letter-spacing:.5px;border-radius:12px;margin-bottom:.5rem;padding:4px 12px;font-size:.8rem;font-weight:600;display:inline-block}.profile-detail{color:var(--text-muted);margin:.25rem 0;font-weight:500}.profile-email{color:var(--text-muted);word-break:break-all;font-size:.875rem}.profile-content-card{min-height:400px;padding:2rem}.display-group{margin-bottom:2rem}.display-group label,.profile-form label{text-transform:uppercase;color:var(--text-muted);letter-spacing:1px;margin-bottom:.75rem;font-size:.75rem;font-weight:700;display:block}.status-bubble{background:var(--bg-inset);color:var(--text-main);border-radius:var(--radius);border:1px solid var(--border);border-top-left-radius:0;padding:1rem 1.5rem;font-size:1rem;font-weight:500;display:inline-block}.bio-text{color:var(--text-main);white-space:pre-wrap;font-size:1rem;line-height:1.7}.empty-text{color:var(--text-muted);font-style:italic}.profile-leader-badge{background:color-mix(in srgb, var(--warning-fill), transparent 85%);border:1px solid color-mix(in srgb, var(--warning-fill), transparent 65%);color:var(--warning);border-radius:999px;align-items:center;gap:.4rem;margin-top:.6rem;padding:.35rem .75rem;font-size:.82rem;font-weight:600;display:inline-flex}.profile-leader-badge svg{color:var(--warning);flex-shrink:0}[data-theme=dark] .profile-leader-badge{background:color-mix(in srgb, var(--warning-fill), transparent 75%);border-color:color-mix(in srgb, var(--warning-fill), transparent 55%)}.quick-links-dock{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex;padding:.6rem .9rem!important}.quick-link-pill{background:var(--bg-inset);border:1px solid #0000;border-radius:999px;align-items:center;gap:.5rem;padding:.4rem .85rem .4rem .5rem;text-decoration:none;transition:transform .15s,border-color .15s,background .15s,box-shadow .15s;display:inline-flex}@media (hover:hover){.quick-link-pill:hover{border-color:var(--primary);background:var(--bg-surface);transform:translateY(-2px)scale(1.03);box-shadow:0 3px 10px #0000001a}}.quick-link-pill:active{transform:translateY(0)scale(.99)}.quick-link-icon-wrapper{background:var(--bg-surface);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex;overflow:hidden}.quick-link-favicon{object-fit:contain;width:16px;height:16px}.quick-link-fallback{color:var(--text-muted);justify-content:center;align-items:center;display:flex}.quick-link-fallback.hidden{display:none}.quick-link-label{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;max-width:16ch;font-size:.82rem;font-weight:600;overflow:hidden}@media (prefers-reduced-motion:reduce){.quick-link-pill,.quick-link-pill:hover,.quick-link-pill:active{transition:none;transform:none}}.settings-page{flex-direction:column;gap:2rem;padding-bottom:2rem;display:flex}.settings-section{background:var(--bg-surface);border-radius:var(--radius);border:1px solid var(--border);max-width:100%;box-shadow:var(--shadow-sm);flex-direction:column;min-width:0;display:flex;overflow:hidden}.settings-section:hover{border-color:var(--primary);transition:border-color .2s}.settings-header-group{border-bottom:1px solid var(--border);flex-shrink:0;margin-bottom:0;padding:1.5rem}.settings-title{color:var(--text-main);margin-top:0;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.settings-subtitle{color:var(--text-muted);margin:0;font-size:.95rem}.settings-content{flex:1;min-width:0;padding:0;overflow-y:auto}.settings-header-flex{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}.list-group{flex-direction:column;gap:2px;padding:1rem;display:flex}.list-item{background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;transition:background .2s;display:flex}.list-item:hover{background:var(--bg-inset);border-color:var(--border)}.list-item-content{flex:1;align-items:center;gap:16px;min-width:0;display:flex}.list-item-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.list-item-title{color:var(--text-main);font-size:1rem;font-weight:500}.list-item-subtitle{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.icon-box{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.admin-favicon{object-fit:contain;border-radius:4px;width:24px;height:24px}.actions-group{gap:8px;display:flex}.user-info-name{font-weight:500}.user-info-email{color:var(--text-muted);font-size:.85em}.settings-section.collapsed .settings-header-group{cursor:pointer;border-bottom:none}.settings-section.collapsed .settings-content,.settings-section.collapsed .input-group{display:none}.section-toggle-header{cursor:pointer;justify-content:space-between;align-items:center;width:100%;display:flex}.section-toggle-info{flex:1}.section-toggle-icon{color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;margin-left:1rem;padding:.5rem;transition:transform .2s;display:flex}.section-toggle-icon:hover{background:var(--bg-inset);color:var(--primary)}.settings-section:not(.collapsed) .section-toggle-icon{transform:rotate(180deg)}@media (width<=768px){.settings-header-group{padding:.75rem}.list-item{gap:.5rem;padding:.75rem}}@media (width<=600px){.settings-header-flex{flex-direction:column;align-items:flex-start}.settings-header-flex .btn{width:100%}}.employee-manage-body{flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.settings-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.settings-search{flex:220px;min-width:180px;max-width:320px;position:relative}.settings-search .search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.settings-search-input{border:1px solid var(--border);background:var(--bg-inset);width:100%;color:var(--text-main);border-radius:8px;outline:none;padding:8px 10px 8px 32px;font-size:.9rem;transition:border-color .2s,background .2s,box-shadow .2s}.settings-search-input:focus{border-color:var(--primary);background:var(--bg-surface);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary), transparent 88%)}.settings-search-count{color:var(--text-muted);white-space:nowrap;font-size:.8rem}.employee-person{flex:1;align-items:center;gap:10px;min-width:0;display:flex}@media (width>=769px){.employee-table-scroll{scrollbar-gutter:stable;max-height:min(60vh,620px);overflow-y:auto}.employee-table-scroll .admin-table th{z-index:var(--z-raised);box-shadow:0 1px 0 var(--border);border-bottom:none;position:sticky;top:0}}.archived-panel{border:1px solid var(--border);background:var(--bg-inset);border-radius:10px;padding:1rem 1.1rem}.archived-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;margin-bottom:.35rem;display:flex}.archived-panel-heading{flex:260px;min-width:0}.archived-panel-title{color:var(--text-main);margin:0 0 .25rem;font-size:.95rem;font-weight:600}.archived-panel-hint{color:var(--text-muted);margin:0;font-size:.85rem}.archived-search{flex:0 260px}.archived-search .settings-search-input{background:var(--bg-surface)}.archived-list{flex-direction:column;display:flex}@media (width>=769px){.archived-list{scrollbar-gutter:stable;max-height:320px;overflow-y:auto}}.archived-row{border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .5rem;display:flex}.archived-row+.archived-row{border-top:1px solid var(--border)}.archived-row:hover{background:var(--bg-surface)}.archived-row-text{opacity:.75;min-width:0}.archived-empty{color:var(--text-muted);margin:.4rem 0 0;font-size:.85rem}@media (width<=600px){.settings-search,.archived-search{flex-basis:100%;max-width:none}.employee-manage-body{padding:.75rem}}.archived-profile-note{color:var(--warning);background:color-mix(in srgb, var(--warning-fill), transparent 85%);border:1px solid color-mix(in srgb, var(--warning-fill), transparent 65%);border-radius:8px;margin:0 0 1rem;padding:.5rem .75rem;font-size:.85rem}.role-grant-checks{flex-wrap:wrap;align-items:center;gap:.9rem;display:flex}.role-grant-check{cursor:pointer;white-space:nowrap;align-items:center;gap:.35rem;font-size:.88rem;display:inline-flex}.role-grant-check input{accent-color:var(--primary);cursor:pointer;width:15px;height:15px}.role-grant-check.disabled{opacity:.55;cursor:not-allowed}.role-grant-check.disabled input{cursor:not-allowed}.role-badges{flex-wrap:wrap;gap:.3rem;display:inline-flex}.leave-adjust-balance{flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;display:flex}.leave-adjust-chip{background:var(--bg-inset);border:1px solid var(--border);border-radius:10px;flex-direction:column;flex:100px;gap:.1rem;padding:.5rem .75rem;display:flex}.leave-adjust-chip-value{color:var(--text-main);font-size:1.15rem;font-weight:700}.leave-adjust-chip-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.leave-adjust-history{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:.9rem}.leave-adjust-history-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .6rem;font-size:.8rem;font-weight:700}.leave-adjust-history-empty{color:var(--text-muted);margin:0;font-size:.85rem}.leave-adjust-history-row{align-items:baseline;gap:.6rem;padding:.35rem 0;font-size:.88rem;display:flex}.leave-adjust-days{min-width:2.2rem;font-weight:700}.leave-adjust-days.positive{color:var(--success)}.leave-adjust-days.negative{color:var(--warning)}.leave-adjust-reason{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-main);flex:1;overflow:hidden}.leave-adjust-meta{color:var(--text-muted);white-space:nowrap;font-size:.78rem}.workspace-theme-color-input{border:1px solid var(--border);background:var(--bg-surface);cursor:pointer;border-radius:8px;width:44px;height:32px;padding:2px}.workspace-theme-swatch{border:1px solid var(--border);border-radius:8px;align-items:center;padding:4px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.tile-scroll{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.tile-scroll-viewport{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-muted), transparent 70%) transparent;flex:1;min-height:0;margin:-2px;padding:2px;overflow:hidden auto}.tile-scroll-viewport:focus-visible{outline:2px solid color-mix(in srgb, var(--primary), transparent 40%);outline-offset:-2px;border-radius:8px}.tile-scroll-viewport::-webkit-scrollbar{width:8px}.tile-scroll-viewport::-webkit-scrollbar-track{background:0 0}.tile-scroll-viewport::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted), transparent 70%);border-radius:4px}.tile-scroll-viewport::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-muted), transparent 45%)}.tile-scroll:before,.tile-scroll:after{content:"";pointer-events:none;opacity:0;z-index:1;height:30px;transition:opacity .2s;position:absolute;left:0;right:8px}.tile-scroll:before{background:linear-gradient(180deg, var(--bg-surface), transparent);top:0}.tile-scroll:after{background:linear-gradient(0deg, var(--bg-surface), transparent);bottom:0}.tile-scroll.more-above:before,.tile-scroll.more-below:after{opacity:1}.tile-scroll-more{background:var(--bg-surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--text-muted);white-space:nowrap;pointer-events:none;z-index:var(--z-raised);border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.72rem;font-weight:600;animation:2.4s ease-in-out infinite tileMoreNudge;display:inline-flex;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}@keyframes tileMoreNudge{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(2px)}}@media (prefers-reduced-motion:reduce){.tile-scroll-more{animation:none}}.toast-stack{top:calc(1.25rem + env(safe-area-inset-top,0px));z-index:var(--z-toast);pointer-events:none;flex-direction:column;align-items:flex-end;gap:.5rem;display:flex;position:fixed;right:1.25rem}.toast{pointer-events:auto;background:var(--bg-surface);background-image:linear-gradient(0deg, var(--success-bg), var(--success-bg));border:1px solid color-mix(in srgb, var(--success), transparent 55%);max-width:min(400px,100vw - 2.5rem);box-shadow:var(--shadow-lg,0 12px 32px #00000029);color:var(--success);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:14px 18px;font-size:.98rem;font-weight:600;animation:.3s cubic-bezier(.32,.72,0,1) toastIn;display:flex}.toast svg{flex-shrink:0}.toast--leaving{animation:.22s forwards toastOut}[data-theme=dark] .toast{color:#34d399;border-color:#34d39947}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes toastOut{to{opacity:0;transform:translateY(-6px)}}@media (width<=768px){.toast-stack{top:calc(var(--mobile-header-h) + env(safe-area-inset-top,0px) + .75rem);right:.75rem}}@media (prefers-reduced-motion:reduce){.toast,.toast--leaving{animation:none}}.user-hover-card-wrapper{display:inline;position:relative}.user-hover-card-trigger{color:var(--primary);cursor:pointer;font-weight:500;transition:-webkit-text-decoration .15s,text-decoration .15s}.user-hover-card-trigger:hover{text-decoration:underline}.user-hover-card-popover{z-index:var(--z-overlay-popover);background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;border-radius:12px;min-width:220px;max-width:280px;padding:.75rem;animation:.15s ease-out hoverCardFadeIn;position:fixed;transform:translate(-50%,-100%);box-shadow:0 8px 24px #0000001f}.user-hover-card-popover.below{transform:translate(-50%)}.user-hover-card-popover:after{content:"";border:6px solid #0000;border-top-color:var(--bg-surface);position:absolute;top:100%;left:50%;transform:translate(-50%)}.user-hover-card-popover:before{content:"";border:7px solid #0000;border-top-color:var(--border);position:absolute;top:100%;left:50%;transform:translate(-50%)}.user-hover-card-popover.below:after{border-top-color:#0000;border-bottom-color:var(--bg-surface);top:auto;bottom:100%}.user-hover-card-popover.below:before{border-top-color:#0000;border-bottom-color:var(--border);top:auto;bottom:100%}@keyframes hoverCardFadeIn{0%{opacity:0}to{opacity:1}}.user-hover-card-content{align-items:center;gap:.75rem;display:flex}.user-hover-card-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:48px;height:48px}.user-hover-card-info{flex-direction:column;gap:2px;min-width:0;display:flex}.user-hover-card-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.user-hover-card-title{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.user-hover-card-role{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.7rem}.user-hover-card-status{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-style:italic;overflow:hidden}.user-hover-card-loading{align-items:center;gap:.75rem;display:flex}.user-hover-card-skeleton-avatar{background:var(--border);border-radius:50%;flex-shrink:0;width:48px;height:48px;animation:1.2s ease-in-out infinite skeletonPulse}.user-hover-card-skeleton-lines{flex-direction:column;flex:1;gap:6px;display:flex}.skeleton-line{background:var(--border);border-radius:4px;height:10px;animation:1.2s ease-in-out infinite skeletonPulse}.skeleton-line-long{width:120px}.skeleton-line-short{width:80px}@keyframes skeletonPulse{0%,to{opacity:.4}50%{opacity:1}}[data-theme=dark] .user-hover-card-popover{box-shadow:0 8px 24px #0006}@media (width<=768px){.user-hover-card-popover{min-width:200px}}.user-hover-card-leader-icon{color:var(--warning);vertical-align:middle;justify-content:center;align-items:center;margin-left:.35rem;display:inline-flex}.user-hover-card-leader-line{color:var(--warning);background:color-mix(in srgb, var(--warning-fill), transparent 88%);border-radius:4px;align-self:flex-start;width:fit-content;margin-top:2px;padding:1px 6px;font-size:.78rem;display:inline-flex}[data-theme=dark] .user-hover-card-leader-line{background:color-mix(in srgb, var(--warning-fill), transparent 75%)}}@layer pages{.allocation-layout{grid-template-areas:"calendar""io""details";gap:1.5rem;display:grid}@media (width>=1280px){.allocation-layout{grid-template:"io calendar""io details"/400px 1fr;align-items:stretch;gap:1.1rem}.allocation-layout>.card{padding:1.15rem 1.25rem}}.allocation-io{flex-direction:column;grid-area:io;min-width:0;display:flex}.allocation-calendar{grid-area:calendar;min-width:0;margin-bottom:0}.allocation-details{grid-area:details;min-width:0}.io-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:1.25rem}@media (width>=1280px) and (height>=500px){.io-footer{z-index:var(--z-raised);background:var(--bg-surface);border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);margin-bottom:-1.15rem;margin-left:-1.25rem;margin-right:-1.25rem;padding:1.25rem 1.25rem 1.15rem;position:sticky;bottom:0;box-shadow:0 -6px 16px -14px #0006}}.duration-row{align-items:center;gap:10px;display:flex}.duration-input-wrapper{flex:1;min-width:0;position:relative}.duration-input{text-align:center;-moz-appearance:textfield;width:100%;padding-right:2.5rem}.duration-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.duration-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.duration-unit{color:var(--text-muted);pointer-events:none;font-size:.9rem;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.io-footer .btn-save-allocation{letter-spacing:.01em;width:100%;min-height:48px;box-shadow:inset 0 1px 0 #fff3, 0 1px 2px color-mix(in srgb, var(--primary), transparent 75%);border-radius:10px;justify-content:center;align-items:center;gap:.55rem;padding:.7rem 1rem;font-size:.95rem;font-weight:600;transition:transform 80ms,box-shadow .2s,opacity .2s;display:inline-flex}.io-footer .btn-save-allocation:hover:not(:disabled){box-shadow:inset 0 1px 0 #ffffff40, 0 4px 12px color-mix(in srgb, var(--primary), transparent 55%);opacity:1;transform:translateY(-1px)}.io-footer .btn-save-allocation:active:not(:disabled){box-shadow:inset 0 1px 2px #00000026, 0 1px 2px color-mix(in srgb, var(--primary), transparent 75%);transform:translateY(0)}.io-footer .btn-save-allocation:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.progress-container{margin-bottom:1.5rem}.progress-labels{color:var(--text-muted);justify-content:space-between;margin-bottom:8px;font-size:.9rem;font-weight:500;display:flex}.time-progress-bar{background-color:var(--border);border-radius:6px;gap:2px;width:100%;height:12px;display:flex;overflow:hidden}.progress-segment{height:100%;transition:width .3s}.progress-segment:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.progress-segment:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px}.calendar-grid{-webkit-user-select:none;user-select:none;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;width:100%;display:grid}.calendar-header-cell{text-align:center;color:var(--text-muted);padding:.5rem 0;font-size:.85rem;font-weight:600}.calendar-day-cell{background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:space-between;min-height:100px;padding:8px;transition:all .2s;display:flex;overflow:hidden}@media (hover:hover){.calendar-day-cell:not(.empty):hover{border-color:var(--primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}}.calendar-day-cell.empty{cursor:default;pointer-events:none;background:0 0;border:none}.calendar-day-cell.selected{border-color:var(--primary);background-color:color-mix(in srgb, var(--primary), white 90%);box-shadow:0 0 0 2px var(--primary-bg,color-mix(in srgb, var(--primary), white 90%))}[data-theme=dark] .calendar-day-cell.selected{background-color:color-mix(in srgb, var(--primary), black 70%);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary), black 45%)}.calendar-day-cell.status-complete{background-color:#def6e7;border-color:#91e2af}.calendar-day-cell.status-missing{background-color:#fde9e9;border-color:#f8abab}[data-theme=dark] .calendar-day-cell.status-complete{background-color:#0a3b1c;border-color:#147638}[data-theme=dark] .calendar-day-cell.status-missing{background-color:#481414;border-color:#8f2929}.calendar-day-cell.selected.status-complete,.calendar-day-cell.selected.status-missing{border-color:var(--primary)}.calendar-day-cell.preview-range{border:1.5px dashed color-mix(in srgb, var(--leave), transparent 30%);background-color:color-mix(in srgb, var(--leave), transparent 92%)}[data-theme=dark] .calendar-day-cell.preview-range{background-color:color-mix(in srgb, var(--leave), transparent 85%)}.calendar-day-cell.selected.preview-range{border:1.5px dashed color-mix(in srgb, var(--leave), transparent 15%)}.calendar-day-cell.is-today .day-number{background:var(--primary-strong);color:var(--on-primary);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;margin-left:auto;font-weight:600;display:inline-flex}.day-number{text-align:right;color:var(--text-main);font-size:.9rem;font-weight:500}.day-badge{background-color:var(--primary-bg,color-mix(in srgb, var(--primary), transparent 88%));color:var(--primary);border-radius:4px;align-self:flex-start;padding:2px 6px;font-size:.75rem;font-weight:700}.day-number-row{justify-content:space-between;align-items:center;gap:4px;width:100%;display:flex}.day-icons{flex-wrap:wrap;flex:1 1 0;align-items:center;gap:4px;min-width:0;display:flex}.day-icons:has(>:nth-child(2)){gap:2px}.day-icons:has(>:nth-child(2))>*{width:11px;height:11px}.day-number-row:has(.day-icons>:nth-child(2)){gap:2px}.calendar-toolbar{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.calendar-actions{gap:.5rem;display:flex}.calendar-grid>div:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.calendar-hero-card .calendar-day-cell{min-height:88px}@media (width>=1280px){.calendar-hero-card .calendar-day-cell{min-height:56px;padding:6px 7px}.calendar-toolbar{margin-bottom:.5rem}.calendar-header-cell{padding:.25rem 0}.calendar-grid{gap:6px}}.day-commute-icon{color:var(--primary);opacity:.85;flex-shrink:0}.day-leave-icon{flex-shrink:0}.day-leave-icon--approved{color:var(--leave,#7c3aed)}.day-leave-icon--pending{color:var(--warning);opacity:.85}.day-edit-icon{flex-shrink:0}.day-edit-icon--draft{color:var(--warning)}.day-edit-icon--pending{color:var(--primary);opacity:.85}.day-edit-delta{color:var(--warning);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.62rem;font-weight:600;display:none;overflow:hidden}@media (width>=1024px){.day-edit-delta{display:block}}.day-public-holiday-icon{color:var(--danger);flex-shrink:0}.day-more-icon{color:var(--text-muted);flex-shrink:0}.calendar-day-cell.is-public-holiday:not(.is-today) .day-number{color:var(--danger)}.day-holiday-name{display:none}@media (width>=1024px){.day-holiday-name{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:break-word;text-align:right;color:var(--danger);-webkit-box-orient:vertical;align-self:stretch;font-size:.62rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}}.leave-balance-chip{background:color-mix(in srgb, var(--leave,#7c3aed), transparent 85%);color:var(--leave,#7c3aed);white-space:nowrap;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:.72rem;font-weight:600}.leave-request-btn{justify-content:center;width:100%}.allocation-holiday{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;min-height:280px;padding:2rem 1.5rem;display:flex}.allocation-holiday-badge{width:68px;height:68px;color:var(--leave,#7c3aed);background:color-mix(in srgb, var(--leave,#7c3aed), transparent 86%);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.5rem;display:flex}.allocation-holiday-title{margin:0;font-size:1.4rem;font-weight:700}.allocation-holiday-type{color:var(--leave,#7c3aed);font-size:.95rem;font-weight:600}.allocation-holiday-dates{color:var(--text-muted);font-size:.9rem}.allocation-holiday-hint{color:var(--text-muted);max-width:32ch;margin:.5rem 0 0;font-size:.85rem}.details-on-leave{color:var(--leave,#7c3aed);background:color-mix(in srgb, var(--leave,#7c3aed), transparent 90%);border-radius:10px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-weight:600;display:flex}.calendar-hero-card .calendar-day-cell.is-holiday:not(.selected){background:color-mix(in srgb, var(--leave,#7c3aed), transparent 88%);border-color:color-mix(in srgb, var(--leave,#7c3aed), transparent 70%)}.calendar-hero-card .calendar-day-cell.is-holiday--am:not(.selected){background:linear-gradient(to bottom, color-mix(in srgb, var(--leave,#7c3aed), transparent 88%) 0 50%, transparent 50% 100%)}.calendar-hero-card .calendar-day-cell.is-holiday--pm:not(.selected){background:linear-gradient(to bottom, transparent 0 50%, color-mix(in srgb, var(--leave,#7c3aed), transparent 88%) 50% 100%)}@media (width<=640px){.calendar-grid{gap:4px}.calendar-hero-card .calendar-day-cell{border-color:color-mix(in srgb, var(--border), transparent 30%);background:0 0;border-radius:7px;min-height:58px;padding:5px 3px}.day-number-row{flex-direction:column-reverse;align-items:center;gap:1px}.day-number{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:.85rem;font-weight:500;line-height:1.1}.day-icons{flex:none;justify-content:center;gap:2px;width:100%;min-height:11px}.day-commute-icon{opacity:.9;width:11px;height:11px}.day-public-holiday-icon{width:11px;height:11px}.day-badge{letter-spacing:.02em;background-color:#0000;align-self:center;padding:0 4px;font-size:.62rem;font-weight:600;line-height:1.5}.calendar-header-cell{letter-spacing:.04em;padding:.3rem 0;font-size:.68rem}.calendar-toolbar{margin-bottom:.5rem}}.calendar-month-summary{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:1rem;padding-top:1rem;display:flex}@media (width>=1280px){.calendar-month-summary{margin-top:.65rem;padding-top:.65rem}}.month-metric{color:var(--text-muted);align-items:center;gap:.65rem;display:flex}.month-metric svg{opacity:.85;flex-shrink:0}.month-metric-label{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:600;line-height:1.2}.month-metric-value{color:var(--text-main);margin-top:2px;font-size:1.15rem;font-weight:700;line-height:1.25}@media (width<=640px){.calendar-month-summary{gap:1rem}}.io-section{padding:.25rem 0 .5rem}.io-section+.io-divider{margin-top:.25rem}.io-section-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.45rem;margin-bottom:.85rem;font-size:.7rem;font-weight:700;display:flex}.io-section-label svg{opacity:.7}.io-divider{background:var(--border);height:1px;margin:.75rem 0}.io-hint{color:var(--text-muted);padding:.25rem 0;font-size:.85rem}.allocation-leave-note{color:var(--leave,#7c3aed);background:color-mix(in srgb, var(--leave,#7c3aed), transparent 90%);border:1px solid color-mix(in srgb, var(--leave,#7c3aed), transparent 75%);border-radius:9px;align-items:flex-start;gap:.5rem;margin-bottom:.9rem;padding:.55rem .75rem;font-size:.8rem;line-height:1.45;display:flex}.allocation-leave-note svg{flex-shrink:0;margin-top:2px}.leave-shift-hint{align-items:center;margin-bottom:.5rem;font-size:.78rem}.leave-preview-count{color:var(--text-main);margin-bottom:.5rem;font-size:.82rem;font-weight:600}.leave-preview-count--none{color:var(--danger)}.leave-daypart-toggle{background:var(--bg-inset);border:1px solid var(--border);border-radius:8px;gap:2px;padding:3px;display:flex}.leave-daypart-option{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;padding:.4rem .5rem;font-size:.85rem;font-weight:500;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.leave-daypart-option:hover:not(.active){color:var(--text-main)}.leave-daypart-option.active{background:var(--primary-strong);color:var(--on-primary);box-shadow:0 1px 3px #0000002e}.io-hint+.chip-row{margin-top:.65rem}.link-button{color:var(--primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:.4rem 0;font-size:.85rem;font-weight:500;display:inline-flex}.link-button:hover{text-decoration:underline}.link-button-inline{letter-spacing:.03em;text-transform:none;margin-left:auto;padding:0;font-size:.75rem;font-weight:600}.link-button-muted{color:var(--text-muted)}.link-button-muted:hover{color:var(--text-main);text-decoration:none}.range-block{background:color-mix(in srgb, var(--primary), transparent 94%);border:1px solid color-mix(in srgb, var(--primary), transparent 85%);border-radius:8px;margin-top:.6rem;margin-bottom:.6rem;padding:.85rem}[data-theme=dark] .range-block{background:color-mix(in srgb, var(--primary), transparent 88%);border-color:color-mix(in srgb, var(--primary), transparent 75%)}.chip-row{flex-wrap:wrap;gap:.45rem;display:flex}.commute-assigned-list{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.commute-clear-all{align-self:flex-start;margin-top:.1rem}.commute-assigned-card{background:color-mix(in srgb, var(--primary), transparent 92%);border:1px solid color-mix(in srgb, var(--primary), transparent 78%);border-radius:10px;align-items:center;gap:.85rem;margin-bottom:0;padding:.85rem 1rem;display:flex}[data-theme=dark] .commute-assigned-card{background:color-mix(in srgb, var(--primary), transparent 82%);border-color:color-mix(in srgb, var(--primary), transparent 65%)}.commute-assigned-card--pending{background:color-mix(in srgb, var(--primary), transparent 95%);border-style:dashed}[data-theme=dark] .commute-assigned-card--pending{background:color-mix(in srgb, var(--primary), transparent 88%)}.commute-pending-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--primary);background:color-mix(in srgb, var(--primary), transparent 80%);vertical-align:middle;border-radius:999px;margin-left:.5rem;padding:.05rem .45rem;font-size:.62rem;font-weight:700;line-height:1.4;display:inline-block}.commute-assigned-icon{background:var(--primary-strong);width:34px;height:34px;color:var(--on-primary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.commute-assigned-info{flex:1;min-width:0}.commute-assigned-label{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-weight:600;line-height:1.25;overflow:hidden}.commute-assigned-route{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.82rem;overflow:hidden}.commute-assigned-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:.3rem;display:inline-flex}.commute-assigned-clear:hover{color:var(--danger);background:color-mix(in srgb, var(--danger), transparent 90%)}.commute-none-line{color:var(--text-muted);padding:.2rem 0 .4rem;font-size:.85rem}.commute-chip-row{gap:.5rem}.filter-chip.commute-chip{border-width:1px;border-radius:999px;gap:.4rem;padding:.45rem .85rem;font-size:.85rem;font-weight:500;transition:transform .12s,box-shadow .18s,border-color .15s,background .15s,color .15s}.filter-chip.commute-chip .commute-chip-icon{opacity:.75;flex-shrink:0}.filter-chip.commute-chip:hover:not(.active){background:color-mix(in srgb, var(--primary), transparent 92%);color:var(--text-main);border-color:color-mix(in srgb, var(--primary), transparent 55%);transform:translateY(-1px);box-shadow:0 2px 6px #00000014}.filter-chip.commute-chip.active .commute-chip-icon{opacity:1}.filter-chip.commute-chip.active{box-shadow:0 2px 8px #0000001f}.commute-section-head{margin-bottom:.6rem}.commute-manage-link{letter-spacing:normal;text-transform:none;align-items:center;gap:.3rem;margin-left:auto;padding:0;font-size:.75rem;font-weight:600;display:inline-flex}.commute-save-picks{border-radius:10px;justify-content:center;align-items:center;gap:.4rem;width:100%;min-height:42px;margin-top:.85rem;font-weight:600;display:flex}.commute-adhoc{background:var(--bg-inset);border:1px solid var(--border);border-radius:12px;padding:.9rem 1rem 1rem}.commute-adhoc-title{margin-bottom:.6rem}.commute-adhoc-grid{grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.65rem;display:grid}.commute-adhoc-options{flex-wrap:wrap;align-items:center;gap:.5rem 1.1rem;display:flex}.commute-adhoc-roundtrip{color:var(--text-main);cursor:pointer;white-space:nowrap;align-items:center;gap:.4rem;font-size:.82rem;display:inline-flex}.commute-adhoc-receipt{color:var(--text-muted);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.35rem;min-width:0;font-size:.8rem;display:inline-flex;overflow:hidden}.commute-adhoc-receipt:hover{color:var(--text-main)}.commute-adhoc-add{border-radius:10px;justify-content:center;align-items:center;gap:.35rem;width:100%;min-height:40px;margin-top:.8rem;display:flex}@media (width<=640px){.commute-adhoc-grid{grid-template-columns:1fr}}.commute-receipt{align-items:center;gap:.25rem;margin-top:2px;display:inline-flex}.commute-receipt-link{color:var(--primary);align-items:center;gap:.25rem;margin-left:.35rem;font-size:.75rem;font-weight:600;text-decoration:none;display:inline-flex}.commute-receipt-link:hover{text-decoration:underline}.commute-receipt-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:2px;display:inline-flex}.commute-receipt-remove:hover{color:var(--danger)}.commute-receipt-attach{color:var(--text-muted);cursor:pointer;align-items:center;gap:.3rem;margin-top:2px;font-size:.75rem;display:inline-flex}.commute-receipt-attach:hover{color:var(--text-main)}.details-commute-mode-icon{vertical-align:-2px;opacity:.75;margin-right:.3rem}.details-commute-summary{border-top:1px solid var(--border);color:var(--text-main);align-items:flex-start;gap:.5rem;margin-top:1rem;padding-top:.85rem;font-size:.85rem;display:flex}.details-commute-summary>svg{flex-shrink:0;margin-top:2px}.details-commute-summary-list{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.details-commute-summary-item{line-height:1.45}@media (width>=1280px){.allocation-details .card-header-bordered{margin-bottom:.7rem;padding-bottom:.7rem}.allocation-details .progress-container{margin-bottom:.85rem}.allocation-details .details-commute-summary{margin-top:.65rem;padding-top:.6rem}}.details-commute-summary svg{color:var(--primary);opacity:.85;flex-shrink:0}.details-commute-summary-empty{color:var(--text-muted)}.commute-day-total{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;margin-top:.75rem;padding-top:.75rem;font-size:.9rem;display:flex}.commute-day-total strong{color:var(--text-main);font-size:1rem}.leave-pool-label{color:var(--text-muted);align-items:center;gap:.4rem;margin-bottom:.45rem;font-size:.78rem;font-weight:600;display:flex}.leave-pool-label svg{opacity:.85;flex-shrink:0}.leave-stat-grid{grid-template-columns:repeat(4,1fr);gap:.6rem;margin-bottom:1rem;display:grid}.leave-stat{text-align:center;background:var(--bg-inset);border:1px solid var(--border);border-radius:10px;padding:.65rem .4rem}.leave-stat-value{font-size:1.3rem;font-weight:700;line-height:1.1}.leave-stat-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin-top:2px;font-size:.7rem}.leave-stat--accent{background:color-mix(in srgb, var(--leave,#7c3aed), transparent 90%);border-color:color-mix(in srgb, var(--leave,#7c3aed), transparent 70%)}.leave-stat--accent .leave-stat-value{color:var(--leave,#7c3aed)}.leave-day-status{color:var(--leave,#7c3aed);background:color-mix(in srgb, var(--leave,#7c3aed), transparent 92%);border-radius:10px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.6rem .85rem;font-size:.88rem;display:flex}.leave-requests-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.5rem;font-size:.72rem;font-weight:600}.leave-requests-empty{color:var(--text-muted);padding:.5rem 0;font-size:.88rem}.leave-requests-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.leave-request-row{background:var(--bg-inset);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .75rem;display:flex}.leave-special-row{flex-wrap:wrap}.leave-special-chip{flex-shrink:0;font-weight:500}.leave-request-main{flex-direction:column;min-width:0;display:flex}.leave-request-dates{color:var(--text-muted);font-size:.78rem}.leave-request-comment{color:var(--text-muted);overflow-wrap:anywhere;align-items:center;gap:.35rem;min-width:0;margin-top:2px;font-size:.78rem;font-style:italic;display:inline-flex}.day-commute-icon--commutation{color:var(--primary)}.day-commute-icon--transportation{color:var(--warning)}.day-commute-icon.is-other{opacity:.4}.commute-legend{flex-wrap:wrap;flex:100%;gap:.35rem 1rem;padding:2px 2px 0;display:flex}.commute-legend-item{color:var(--text-muted);align-items:center;gap:.4rem;min-width:0;font-size:.76rem;display:inline-flex}.commute-legend-item.is-current{color:var(--text-main);font-weight:600}.commute-legend-dot{border-radius:3px;flex-shrink:0;width:9px;height:9px}.commute-legend-dot--commutation{background:var(--primary)}.commute-legend-dot--transportation{background:var(--warning)}.commute-crosslink{color:var(--text-muted);margin:.15rem 0 .9rem;font-size:.78rem;text-decoration:none;display:block}.commute-crosslink:hover{color:var(--primary);text-decoration:underline}.attendance-unsent-banner{margin-bottom:1rem}.attendance-session-pick{border:1px solid var(--border-color);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.5rem .65rem;font-size:.85rem;display:flex}.attendance-session-pick:hover{border-color:var(--primary)}.attendance-session-pick.is-active{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, transparent)}.attendance-session-times{font-variant-numeric:tabular-nums;font-weight:600}.attendance-session-pick .status-pill{margin-left:auto}.attendance-pick-pencil{color:var(--text-muted);flex-shrink:0;margin-left:auto}.attendance-corrected-mark{color:var(--primary);margin-left:.25rem;font-size:.8rem}.attendance-editor{border-top:1px solid var(--border-color);padding-top:.9rem}.attendance-editor-actions{align-items:center;gap:.5rem;margin:.35rem 0 .6rem;display:flex}.attendance-editor-actions .btn{align-items:center;gap:.35rem;display:inline-flex}.attendance-delete-toggle{color:var(--text-primary);cursor:pointer;align-items:center;gap:.45rem;margin-bottom:.7rem;font-size:.85rem;display:flex}.attendance-delete-hint{color:var(--danger)}.attendance-delete-tag{color:var(--danger);font-weight:600}.attendance-day-total{color:var(--primary);font-variant-numeric:tabular-nums;margin:.1rem 0 .5rem;font-size:.82rem;font-weight:600}.attendance-cross-month-hint{color:var(--warning)}.attendance-empty-cell{text-align:center;color:var(--text-muted);padding:1.5rem 0}.attendance-corrections{margin-top:1rem}.attendance-correction-list{margin:.5rem 0 0;padding:0;list-style:none}.attendance-correction-row{border-top:1px solid var(--border-color);align-items:center;gap:.5rem;padding:.45rem 0;font-size:.85rem;display:flex}.attendance-correction-main{flex-direction:column;gap:.1rem;min-width:0;margin-right:auto;display:flex}.attendance-correction-reason{color:var(--text-muted);overflow-wrap:anywhere;font-size:.78rem}.announcements-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.announcements-toolbar>.btn-icon-text,.announcements-toolbar>.btn{flex:none}@media (width<=480px){.announcements-toolbar{flex-direction:column-reverse;align-items:stretch}.announcements-toolbar>.btn-icon-text,.announcements-toolbar>.btn{flex:auto;justify-content:center}}.announcements-list{flex-direction:column;gap:.6rem;display:flex}.announcement-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s,box-shadow .15s;overflow:hidden}.announcement-item:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.announcement-item.unread{border-left:3px solid var(--primary)}.announcement-item.urgent{border-left:4px solid var(--danger);background:color-mix(in srgb, var(--danger), transparent 97%)}.announcement-item.read{opacity:.85}.announcement-item.expired{opacity:.6}.announcement-item.read.expired{opacity:.45}.announcement-item-row{cursor:pointer;align-items:flex-start;gap:.9rem;width:100%;padding:.95rem 1.1rem;display:flex}.announcement-date-badge{background:var(--bg-inset);border:1px solid var(--border);border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.announcement-date-month{text-transform:uppercase;letter-spacing:.5px;color:var(--primary);font-size:.65rem;font-weight:700;line-height:1}.announcement-date-day{color:var(--text-main);font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:700;line-height:1.2}.announcement-item.urgent .announcement-date-badge{background:var(--danger-bg);border-color:color-mix(in srgb, var(--danger), transparent 65%)}.announcement-item.urgent .announcement-date-month{color:var(--danger)}.announcement-item-main{flex:1;min-width:0}.announcement-item-title-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.announcement-item-title{color:var(--text-main);overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:600;line-height:1.35}.announcement-item-preview{color:var(--text-muted);text-overflow:ellipsis;-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:2px 0 0;font-size:.85rem;line-height:1.4;display:-webkit-box;overflow:hidden}.announcement-unread-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.announcement-item-side{flex-shrink:0;align-items:center;gap:.4rem;margin-top:2px;display:flex}.announcement-read-btn{color:var(--text-muted);flex-shrink:0}.announcement-read-btn:hover{background-color:var(--success-bg);color:var(--success)}@media (hover:hover){.announcement-read-btn{opacity:0;transition:opacity .15s,background .15s,color .15s}.announcement-item:hover .announcement-read-btn,.announcement-read-btn:focus-visible{opacity:1}}.announcement-item-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.announcement-item.expanded .announcement-item-chevron{color:var(--primary);transform:rotate(180deg)}.announcement-item-body{padding:0 1.1rem 1rem calc(48px + 2rem);animation:.2s ease-out announcementExpand}@keyframes announcementExpand{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.announcement-item-bodytext{color:var(--text-main);white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 .75rem;font-size:.92rem;line-height:1.55}.announcement-chips{flex-wrap:wrap;gap:.4rem;display:flex}.announcement-chip{background:var(--bg-inset);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;align-items:center;gap:5px;min-width:0;padding:4px 10px;font-size:.8rem;display:inline-flex}.announcement-chip svg{flex-shrink:0}.announcement-item-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.announcement-item-action{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:.35rem .75rem;font-size:.82rem;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.announcement-item-action:hover{color:var(--primary);border-color:var(--primary);background:color-mix(in srgb, var(--primary), transparent 94%)}.announcement-item-action-danger:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-bg)}.announcement-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.announcement-badge-urgent{background:var(--danger-bg);color:var(--danger)}.announcement-badge-pinned{background:color-mix(in srgb, var(--primary), transparent 86%);color:var(--primary)}.announcements-empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:.25rem;padding:2.5rem 1.5rem;display:flex}.announcements-empty p{margin:0;font-size:.92rem}.invite-mode-btn.invite-mode-btn-urgent.active{border-color:var(--danger);background:var(--danger);color:var(--on-danger)}.form-group label.announcement-pin-toggle{cursor:pointer;color:var(--text-main);-webkit-user-select:none;user-select:none;align-items:center;gap:10px;margin-bottom:0;font-size:.9rem;display:flex}.form-group label.announcement-pin-toggle input[type=checkbox]{cursor:pointer;flex-shrink:0;width:18px;height:18px;margin:0}.form-group label.announcement-pin-toggle svg{flex-shrink:0}.read-section{margin-top:1.5rem}.read-section-toggle{background:var(--bg-inset,var(--bg-app));border:1px solid var(--border);width:100%;color:var(--text-muted);cursor:pointer;border-radius:10px;align-items:center;gap:8px;margin-bottom:.75rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.read-section-toggle:hover{color:var(--text-main);border-color:var(--primary)}.read-section-chevron{flex-shrink:0;transition:transform .2s}.read-section-chevron.expanded{transform:rotate(180deg)}.dashboard-announcement-list{flex-direction:column;gap:.6rem;display:flex}.dashboard-announcement{background:var(--bg-inset,var(--bg-app));border:1px solid var(--border);border-radius:10px;padding:.85rem 1rem;transition:border-color .15s,box-shadow .15s}.dashboard-announcement:hover{border-color:var(--primary);box-shadow:var(--shadow-sm,0 1px 3px #0000000f)}.dashboard-announcement.dashboard-announcement-pinned{border-left:3px solid var(--primary)}.dashboard-announcement.dashboard-announcement-urgent{border-color:var(--danger);border-left:4px solid var(--danger);background:color-mix(in srgb, var(--danger), transparent 97%)}.dashboard-announcement-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.35rem;display:flex}.dashboard-announcement-title-row{flex-wrap:wrap;flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.dashboard-announcement-title{color:var(--text-main);overflow-wrap:anywhere;margin:0;font-size:.98rem;font-weight:600;line-height:1.3}.dashboard-announcement-date{color:var(--text-muted);white-space:nowrap;flex-shrink:0;padding-top:2px;font-size:.78rem}.dashboard-announcement-body{color:var(--text-muted);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .5rem;font-size:.88rem;line-height:1.45;display:-webkit-box;overflow:hidden}.dashboard-announcement-meta{color:var(--text-muted);flex-wrap:wrap;gap:.9rem;font-size:.78rem;display:flex}@media (width<=600px){.dashboard-announcement-date{display:none}.announcement-item-row{gap:.7rem;padding:.8rem .85rem}.announcement-date-badge{width:42px;height:42px}.announcement-date-day{font-size:1.05rem}.announcement-item-body{padding:0 .85rem .85rem calc(42px + 1.55rem)}.announcement-chips{flex-direction:column;align-items:flex-start}}.approvals-page .approvals-content{padding:1.25rem}.approvals-type-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;margin-bottom:1rem;padding-bottom:1rem;display:flex}.approvals-type-tab{border:1px solid var(--border);background:var(--bg-inset);color:var(--text-muted);cursor:pointer;border-radius:9px;align-items:center;gap:7px;padding:7px 13px;font-size:.85rem;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.approvals-type-tab:hover:not(.active){color:var(--text-main);border-color:color-mix(in srgb, var(--text-muted), transparent 50%)}.approvals-type-tab.active{background:var(--primary-strong);border-color:var(--primary-strong);color:var(--on-primary);box-shadow:0 1px 3px #0000002e}.approvals-tab-pending{min-width:19px;height:19px;color:var(--warning);background:#f59e0b2e;border:1px solid #f59e0b59;border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:.72rem;font-weight:700;display:inline-flex}.approvals-type-tab.active .approvals-tab-pending{background:color-mix(in srgb, var(--on-primary), transparent 78%);border-color:color-mix(in srgb, var(--on-primary), transparent 65%);color:var(--on-primary)}.approvals-page .table-toolbar{align-items:center;gap:.85rem;margin-bottom:1rem}.approvals-page .table-search{max-width:320px}.approvals-date-filter{align-items:center;gap:.35rem;display:flex}.approvals-date-input{flex:0 auto;width:150px}.approvals-date-sep{color:var(--text-muted);flex-shrink:0;font-size:.85rem}@media (width<=640px){.approvals-date-filter{width:100%}.approvals-date-input{flex:1 1 0;width:auto;min-width:0}}.approvals-not-leader-title{color:var(--text-main);margin-bottom:.3rem;font-size:1rem;font-weight:700}.approvals-not-leader-hint{max-width:52ch;margin:0 auto}.approvals-requester{align-items:center;gap:9px;font-weight:500;display:inline-flex}.approvals-page .btn-review{padding:.35rem .85rem;font-size:.85rem}.approvals-review-header{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.approvals-review-type-chip{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;background:var(--bg-inset,var(--bg-app));border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;padding:.22rem .6rem;font-size:.72rem;font-weight:600;display:inline-flex}.approvals-review-metrics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem;margin-bottom:1.25rem;display:grid}.review-metric{background:var(--bg-inset,var(--bg-app));border:1px solid var(--border);border-radius:8px;min-width:0;padding:.6rem .85rem}.review-metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:700;line-height:1.2}.review-metric-value{color:var(--text-main);word-break:break-word;margin-top:.25rem;font-size:1rem;font-weight:700;line-height:1.25}.review-metric-value.is-complete{color:var(--success)}.review-metric-value.is-incomplete{color:var(--danger)}.punch-delete-proposed{color:var(--danger);font-weight:600}[data-theme=dark] .review-metric-value.is-complete{color:var(--success)}[data-theme=dark] .review-metric-value.is-incomplete{color:var(--danger)}.approvals-review-decision{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.approvals-comment-input{resize:vertical;width:100%;min-height:70px}.approvals-review-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.approvals-detail-table{margin-top:.5rem}@media (width<=768px){.approvals-page .approvals-content{padding:1rem}.approvals-page .table-toolbar{gap:.5rem;margin-bottom:.75rem}.approvals-page .table-search{flex:100%;max-width:100%}.approvals-page .filter-chips{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:.3rem;padding-bottom:2px;overflow-x:auto}.approvals-page .filter-chip{white-space:nowrap;flex-shrink:0}.approvals-page .admin-table tr{background:var(--bg-surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:10px;flex-direction:column;gap:.4rem;margin-bottom:.65rem;padding:.85rem 1rem;display:flex}.approvals-page .admin-table td{text-align:right;border-bottom:none;justify-content:space-between;align-items:center;gap:1rem;min-height:0;padding:.2rem 0;line-height:1.35;display:flex}.approvals-page .admin-table td:before{content:attr(data-label);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;text-align:left;flex-shrink:0;margin-right:0;font-size:.68rem;font-weight:600}.approvals-page .admin-table td:first-child{color:var(--text-main);border-bottom:1px solid var(--border);text-align:left;justify-content:flex-start;margin-bottom:.3rem;padding:0 0 .55rem;font-size:1rem;font-weight:600}.approvals-page .admin-table td:first-child:before{display:none}:is(.approvals-page .admin-table td.cell-actions,.approvals-page .admin-table td:last-child:has(.btn)){border-top:1px solid var(--border);justify-content:stretch;margin-top:.2rem;padding-top:.55rem}.approvals-page .admin-table td.cell-actions:before{display:none}.approvals-page .admin-table td:last-child:has(.btn):before{display:none}.approvals-page .admin-table td .btn-review,.approvals-page .admin-table td.cell-actions .btn{width:100%;padding:.55rem 1rem;font-size:.9rem}.approvals-page .admin-table tr:has(td[colspan]){box-shadow:none;background:0 0;border:none;padding:1.5rem 1rem}.approvals-page .admin-table tr td[colspan]{text-align:center;justify-content:center;font-size:.9rem}.approvals-page .admin-table tr td[colspan]:before{display:none}.approvals-review-metrics{grid-template-columns:repeat(2,1fr);gap:.5rem}.review-metric{padding:.55rem .75rem}.review-metric-value{font-size:.92rem}.approvals-review-actions .btn{flex:100%}}@media (width<=400px){.approvals-review-metrics{grid-template-columns:1fr}}.request-summary-manage-link{margin:.75rem 0 0;font-size:.88rem}.myfilings-resubmit-hint{color:var(--text-muted);margin:0 0 .6rem;font-size:.85rem}.approvals-saved-comment{color:var(--text-muted);background:var(--bg-inset);border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:.5rem;margin-top:1rem;padding:.65rem .85rem;font-size:.88rem;display:flex}.approvals-saved-comment svg{flex-shrink:0;margin-top:2px}.filing-preview-hint,.filings-history-hint{color:var(--text-muted);margin:0 0 .9rem;font-size:.85rem;line-height:1.5}.filing-preview-blocked{color:var(--danger);background:var(--danger-bg);border:1px solid color-mix(in srgb, var(--danger), transparent 65%);border-radius:10px;align-items:flex-start;gap:8px;margin:.9rem 0 0;padding:.65rem .85rem;font-size:.85rem;line-height:1.5;display:flex}.filing-preview-blocked svg{flex-shrink:0;margin-top:2px}.manhour-open-session{color:var(--danger);font-size:.75rem;font-weight:600;display:block}.dashboard-grid{grid-template-columns:minmax(0,1fr);gap:1.25rem;display:grid}@media (width>=769px){.dashboard-grid{--dash-tile-min:220px;--dash-tile-max:600px;--dash-gap:1.25rem;gap:var(--dash-gap);min-height:calc(2 * var(--dash-tile-min) + var(--dash-gap));max-height:calc(2 * var(--dash-tile-max) + var(--dash-gap));grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"punch announcements""events activity";grid-template-rows:repeat(2, minmax(var(--dash-tile-min), var(--dash-tile-max)));flex:auto}.dashboard-cell-punch{grid-area:punch}.dashboard-cell-announcements{grid-area:announcements}.dashboard-cell-events{grid-area:events}.dashboard-cell-activity{grid-area:activity}.dashboard-grid>.dashboard-cell{container-type:size}}@media (width>=1920px){.dashboard-grid{--dash-gap:1.75rem;gap:1.75rem}.dashboard-cell-quick-links{margin-top:1.75rem}}.dashboard-cell-quick-links{margin-top:1.25rem}@media (width>=769px){.dashboard-cell-quick-links{z-index:var(--z-raised);position:sticky;bottom:0}.dashboard-cell-quick-links .quick-links-dock{box-shadow:var(--shadow-sm), 0 -8px 20px -16px #00000080}}.dashboard-cell{flex-direction:column;min-width:0;animation:.5s cubic-bezier(.32,.72,0,1) both riseIn;display:flex;container-type:inline-size}.dashboard-cell:nth-child(2){animation-delay:60ms}.dashboard-cell:nth-child(3){animation-delay:.12s}.dashboard-cell:nth-child(4){animation-delay:.18s}@media (prefers-reduced-motion:reduce){.dashboard-cell{animation:none}}.dashboard-cell-punch>.card,.dashboard-cell-announcements>.card,.dashboard-cell-events>.card,.dashboard-cell-activity>.card{flex-direction:column;height:100%;min-height:0;display:flex}.dashboard-cell-punch>.card{justify-content:center}@media (width>=769px){.dashboard-grid>.dashboard-cell>.card{padding:clamp(1rem,7cqh,1.5rem)}.dashboard-cell .timer-well{margin-bottom:clamp(.75rem,5cqh,2rem);padding:clamp(.85rem,7.5cqh,2rem)}.dashboard-cell .text-overline{margin-bottom:clamp(4px,3cqh,10px)}.dashboard-cell .timer-display{font-size:clamp(1.5rem,min(16cqw,14cqh),3.4rem);line-height:1.05}.dashboard-cell .status-badge{margin-top:clamp(6px,3cqh,12px)}.dashboard-cell .btn-lg{height:clamp(40px,18cqh,56px)}}@media (width<=768px){.dashboard-cell .tile-scroll{max-height:16rem}}.dashboard-cell .dashboard-empty-text{flex:1;justify-content:center;align-items:center;padding:0;display:flex}.tile-count{background:color-mix(in srgb, var(--primary), transparent 88%);min-width:24px;height:24px;color:var(--primary);font-variant-numeric:tabular-nums;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 8px;font-size:.75rem;font-weight:700;display:inline-flex}.card-section-title{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.05rem;font-weight:600;overflow:hidden}.dashboard-empty-text{color:var(--text-muted);margin:0;padding:1rem 0}.dashboard-announcements-card .dashboard-announcement-badges{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:.25rem;display:flex}.dashboard-announcements-card .dashboard-announcement-badges:empty{display:none}.dashboard-announcement-meta-item{align-items:center;gap:4px;display:flex}.upcoming-events-card{flex-direction:column;height:100%;display:flex}.upcoming-events-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:1rem;padding-bottom:1rem;display:flex}.upcoming-events-empty{color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:2rem 1rem;display:flex}.upcoming-events-empty p{margin:0;font-size:.9rem}.upcoming-events-list{flex-direction:column;flex:1;gap:.5rem;display:flex}.upcoming-event-item{background:var(--bg-inset);cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:.75rem;padding:.75rem;transition:all .2s;display:flex}.upcoming-event-item:hover{border-color:var(--primary);box-shadow:0 2px 8px #00000012}.upcoming-event-item.needs-action{background:#eab3080a;border-color:#eab3084d}.upcoming-event-date-badge{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.upcoming-event-month{text-transform:uppercase;letter-spacing:.5px;color:var(--primary);font-size:.65rem;font-weight:600;line-height:1}.upcoming-event-day{color:var(--text-main);font-size:1.2rem;font-weight:700;line-height:1.2}.upcoming-event-info{flex:1;min-width:0}.upcoming-event-title{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.upcoming-event-meta{color:var(--text-muted);align-items:center;gap:.5rem;margin-top:2px;font-size:.78rem;display:flex}.upcoming-event-meta span{align-items:center;gap:3px;display:flex}.upcoming-event-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.upcoming-event-arrow{color:var(--text-muted);opacity:0;transition:opacity .2s}.upcoming-event-item:hover .upcoming-event-arrow{opacity:1}@media (hover:none){.upcoming-event-arrow{display:none}}.event-status-pill{white-space:nowrap;border-radius:12px;align-items:center;gap:4px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.event-status-going{color:var(--success);background:#22c55e1a}.event-status-declined{color:var(--danger);background:#ef444414}.event-status-action{color:var(--warning);background:#eab3081f}.event-status-closed{background:var(--bg-inset);color:var(--text-muted)}.recent-activity-table{font-size:.85rem;display:block}.recent-activity-table tbody{width:100%;display:block}.recent-activity-table tbody tr{border-bottom:1px solid var(--border);grid-template-columns:max-content max-content max-content 1fr max-content;grid-template-areas:"date in out dur edit""man man man man edit";align-items:center;gap:4px 7px;padding:10px 2px;display:grid}.recent-activity-table tbody tr:last-child{border-bottom:none}.recent-activity-table tbody td{border-bottom:none;min-width:0;padding:0;display:block}.recent-activity-table tbody td:first-child{grid-area:date}.recent-activity-table tbody td:nth-child(2){white-space:nowrap;grid-area:in;font-size:.82rem}.recent-activity-table tbody td:nth-child(3){white-space:nowrap;grid-area:out;font-size:.82rem}.recent-activity-table tbody td:nth-child(3):before{content:"→ ";color:var(--text-muted)}.recent-activity-table tbody td:nth-child(4){white-space:nowrap;grid-area:dur;justify-self:end}.recent-activity-table tbody td:nth-child(5){grid-area:man}.recent-activity-table tbody td:nth-child(6){grid-area:edit;justify-self:end}.recent-activity-table tbody td:nth-child(5) .allocation-bar{max-width:180px;width:100%!important}.recent-activity-table tbody td:nth-child(5) .allocation-none{display:none}.recent-activity-table tbody td[colspan]{grid-area:auto/1/auto/-1}@media (width<=768px){.upcoming-event-item{padding:.625rem}.upcoming-event-date-badge{width:42px;height:42px}.upcoming-event-day{font-size:1.05rem}.upcoming-event-arrow{display:none}}@container (width<=340px){.upcoming-event-date-badge{display:none}.upcoming-event-item{gap:.55rem;padding:.6rem}.event-status-pill{padding:2px 7px;font-size:.66rem}.timer-well{padding:1.4rem 1rem}.dashboard-cell .btn-secondary{padding:.25rem .5rem;font-size:.72rem}.card-header-bordered,.upcoming-events-header{gap:9px}.card-subtitle{display:none}.card-section-title{font-size:.95rem}.recent-activity-table{font-size:.8rem}.recent-activity-table tbody tr{grid-template-columns:max-content max-content 1fr max-content;grid-template-areas:"date in out edit""dur man man edit";column-gap:6px}.recent-activity-table tbody td:nth-child(2),.recent-activity-table tbody td:nth-child(3){font-size:.78rem}.recent-activity-table tbody td:nth-child(4){justify-self:start}.recent-activity-table tbody td:nth-child(5){align-items:center;display:flex}}.events-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.events-toolbar>.btn-icon-text,.events-toolbar>.btn{flex:none}@media (width<=480px){.events-toolbar{flex-direction:column-reverse;align-items:stretch}.events-toolbar>.btn-icon-text,.events-toolbar>.btn{flex:auto;justify-content:center}}.events-list{flex-direction:column;gap:.6rem;display:flex}.event-card{cursor:pointer;align-items:flex-start;gap:.9rem;padding:.95rem 1.1rem;transition:border-color .15s,box-shadow .15s;display:flex}.event-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.event-card.event-unread{border-left:3px solid var(--primary)}.event-card.event-read{opacity:.8}.event-card.event-past{opacity:.65}.event-card.event-read.event-past{opacity:.5}.event-date-badge{background:var(--bg-inset);border:1px solid var(--border);border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.event-date-month{text-transform:uppercase;letter-spacing:.5px;color:var(--primary);font-size:.65rem;font-weight:700;line-height:1}.event-date-day{color:var(--text-main);font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:700;line-height:1.2}.event-card-info{flex:1;min-width:0}.event-card-title-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.event-card-title{color:var(--text-main);overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:600;line-height:1.35}.event-unread-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.event-card-desc{color:var(--text-muted);text-overflow:ellipsis;-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:2px 0 0;font-size:.85rem;line-height:1.4;display:-webkit-box;overflow:hidden}.event-card-meta{color:var(--text-muted);flex-wrap:wrap;gap:.35rem 1rem;margin-top:.45rem;font-size:.82rem;display:flex}.event-meta-item{align-items:center;gap:5px;min-width:0;display:inline-flex}.event-meta-item svg{flex-shrink:0}.event-card-side{flex-shrink:0;align-items:center;gap:.4rem;margin-top:2px;display:flex}.event-read-btn{color:var(--text-muted);flex-shrink:0}.event-read-btn:hover{background-color:var(--success-bg);color:var(--success)}@media (hover:hover){.event-read-btn{opacity:0;transition:opacity .15s,background .15s,color .15s}.event-card:hover .event-read-btn,.event-read-btn:focus-visible{opacity:1}}.event-card-arrow{color:var(--text-muted);opacity:0;flex-shrink:0;transition:opacity .15s}.event-card:hover .event-card-arrow{opacity:1}@media (hover:none){.event-card-arrow{display:none}}.events-empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:.25rem;padding:2.5rem 1.5rem;display:flex}.events-empty p{margin:0;font-size:.92rem}.event-form{flex-direction:column;gap:1rem;display:flex}.invite-mode-selector{flex-wrap:wrap;gap:.5rem;display:flex}.invite-mode-btn{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:.9rem;transition:all .2s;display:flex}.invite-mode-btn.active{border-color:var(--primary-strong);background:var(--primary-strong);color:var(--on-primary)}.people-picker{scrollbar-gutter:stable;border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:2px;max-height:200px;padding:.5rem;display:flex;overflow-y:auto}.people-picker label.people-picker-item{cursor:pointer;border-radius:6px;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;margin-bottom:0;padding:8px 10px;transition:background .15s;display:grid}.people-picker label.people-picker-item:hover{background:var(--bg-inset)}.people-picker-email{color:var(--text-muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.event-creator-rsvp-note{color:var(--text-muted);align-items:center;gap:.4rem;margin-top:-.25rem;font-size:.85rem;display:flex}.event-creator-rsvp-note svg{color:var(--success);flex-shrink:0}.event-detail{flex-direction:column;gap:1.1rem;display:flex}.event-hero{flex-wrap:wrap;align-items:center;gap:.9rem;display:flex}.event-hero-badge{background:color-mix(in srgb, var(--primary), transparent 92%);border:1px solid color-mix(in srgb, var(--primary), transparent 80%);border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.event-hero-month{text-transform:uppercase;letter-spacing:.06em;color:var(--primary);font-size:.66rem;font-weight:700;line-height:1.1}.event-hero-day{color:var(--text-main);font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:700;line-height:1.15}.event-detail-cancelled .event-hero-badge{background:var(--bg-inset);border-color:var(--border)}.event-detail-cancelled .event-hero-month{color:var(--text-muted)}.event-hero-when{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.event-hero-date{color:var(--text-main);overflow-wrap:anywhere;font-size:.98rem;font-weight:600;line-height:1.3}.event-hero-sub{color:var(--text-muted);align-items:center;gap:5px;font-size:.85rem;display:inline-flex}.event-hero-sub svg,.event-hero-actions{flex-shrink:0}.event-chips{flex-wrap:wrap;gap:.4rem;display:flex}.event-chip{background:var(--bg-inset);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;align-items:center;gap:5px;min-width:0;padding:4px 10px;font-size:.8rem;display:inline-flex}.event-chip svg{flex-shrink:0}.event-detail-desc{color:var(--text-main);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.92rem;line-height:1.55}.event-section-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.72rem;font-weight:700}.rsvp-section{background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.75rem;padding:1rem 1.1rem;display:flex}.rsvp-buttons{gap:.6rem;display:flex}.rsvp-btn{cursor:pointer;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 1rem;font-size:.95rem;font-weight:600;transition:all .15s;display:inline-flex}.rsvp-btn-yes{color:var(--success);border:1px solid color-mix(in srgb, var(--success), transparent 55%);background:var(--success-bg)}.rsvp-btn-yes:hover{background:var(--success);border-color:var(--success);color:var(--on-success)}.rsvp-btn-no{color:var(--danger);border:1px solid color-mix(in srgb, var(--danger), transparent 55%);background:var(--danger-bg)}.rsvp-btn-no:hover{background:var(--danger);border-color:var(--danger);color:var(--on-danger)}.rsvp-current{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.rsvp-badge{border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:5px 12px;font-size:.88rem;font-weight:600;display:inline-flex}.rsvp-badge-yes{background:var(--success-bg);color:var(--success)}.rsvp-badge-no{background:var(--danger-bg);color:var(--danger)}.rsvp-note-display{color:var(--text-muted);overflow-wrap:anywhere;align-items:center;gap:6px;min-width:0;font-size:.88rem;font-style:italic;display:inline-flex}.rsvp-expired{color:var(--text-muted);margin:0;font-size:.9rem;font-style:italic}.rsvp-note-form{flex-direction:column;gap:.75rem;display:flex}.rsvp-note-label{color:var(--text-main);margin:0;font-size:.92rem;font-weight:500}.rsvp-note-actions{justify-content:flex-end;gap:.5rem;display:flex}.response-section{flex-direction:column;gap:.6rem;display:flex}.response-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;display:flex}.response-counts{flex-wrap:wrap;gap:.4rem;display:flex}.count-badge{font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.count-yes{background:var(--success-bg);color:var(--success)}.count-no{background:var(--danger-bg);color:var(--danger)}.count-pending{background:var(--warning-bg);color:var(--warning)}.invitee-list{scrollbar-gutter:stable;flex-direction:column;gap:2px;max-height:320px;display:flex;overflow-y:auto}.invitee-row{border-radius:10px;align-items:center;gap:.7rem;padding:8px 10px;transition:background .15s;display:flex}.invitee-row:hover{background:var(--bg-inset)}.invitee-status-circle{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.invitee-status-circle.rsvp-yes{background:var(--success-bg);color:var(--success)}.invitee-status-circle.rsvp-no{background:var(--danger-bg);color:var(--danger)}.invitee-status-circle.rsvp-pending{background:var(--warning-bg);color:var(--warning)}.invitee-text{flex-direction:column;flex:1;min-width:0;display:flex}.invitee-name{color:var(--text-main);font-size:.92rem;font-weight:500}.invitee-status-text{color:var(--text-muted);font-size:.78rem}.invitee-note{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;max-width:45%;font-size:.82rem;font-style:italic;display:inline-flex;overflow:hidden}.invitee-note svg{flex-shrink:0}.event-card.event-cancelled{opacity:.7;background:repeating-linear-gradient(-45deg, transparent, transparent 10px, color-mix(in srgb, var(--danger), transparent 96.5%) 10px, color-mix(in srgb, var(--danger), transparent 96.5%) 20px)}.event-card.event-cancelled .event-card-title{text-decoration:line-through;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, var(--danger), transparent 45%);text-decoration-color:color-mix(in srgb, var(--danger), transparent 45%)}.event-card.event-cancelled .event-date-month{color:var(--text-muted)}.event-cancelled-badge{background:var(--danger-bg);color:var(--danger);letter-spacing:.02em;text-transform:uppercase;vertical-align:middle;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:2px 8px;font-size:.7rem;font-weight:600;text-decoration:none;display:inline-flex}.event-cancelled-banner{border:1px solid color-mix(in srgb, var(--danger), transparent 65%);border-left:4px solid var(--danger);background:var(--danger-bg);color:var(--text-main);border-radius:8px;align-items:flex-start;gap:12px;padding:.85rem 1rem;display:flex}.event-cancelled-banner>svg{color:var(--danger);flex-shrink:0;margin-top:2px}.event-cancelled-banner strong{color:var(--danger);font-size:.95rem;display:block}.event-cancelled-banner p{color:var(--text-muted);margin:2px 0 0;font-size:.85rem;line-height:1.4}.event-creator-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:.6rem;padding-top:1rem;display:flex}.event-creator-actions .btn{align-items:center;gap:6px;display:inline-flex}.btn.btn-warn{background:var(--warning-bg);color:var(--warning);border:1px solid color-mix(in srgb, var(--warning-fill), transparent 55%)}.btn.btn-warn:hover{background:color-mix(in srgb, var(--warning-fill), transparent 78%);border-color:var(--warning)}@media (width<=600px){.event-card{gap:.7rem;padding:.8rem .85rem}.event-date-badge{width:42px;height:42px}.event-date-day{font-size:1.05rem}.event-card-meta{flex-direction:column;gap:.25rem}.response-section-head{flex-direction:column;align-items:flex-start}.invitee-row{flex-wrap:wrap}.invitee-note{max-width:100%;margin-left:calc(30px + .7rem)}}@media (width<=480px){.event-card{flex-wrap:wrap}.event-card-side{justify-content:flex-end;width:100%;margin-top:0}.rsvp-buttons{flex-direction:column}.event-hero-badge{width:50px;height:50px}.event-hero-day{font-size:1.25rem}}.expenses-page .page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.expenses-page .page-subtitle{max-width:62ch}.expenses-page .page-header .btn,.expenses-page .empty-state .btn{white-space:nowrap;align-items:center;gap:.4rem;display:inline-flex}.expenses-page .page-header>.btn{margin-top:.3rem}.expenses-content{padding:1.25rem}.expenses-empty-title{color:var(--text-main);margin-bottom:.35rem;font-weight:700}.expenses-empty-hint{margin:0 0 1.1rem}.expenses-cell-title{font-weight:600}.expenses-matter-chip{font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-inset);border:1px solid var(--border);vertical-align:1px;border-radius:999px;margin-left:.5rem;padding:1px 7px;font-size:.72rem;font-weight:500;display:inline-block}.expenses-cell-description{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:36ch;font-size:.8rem;overflow:hidden}.expenses-cell-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.expenses-receipt-link{white-space:nowrap;align-items:center;gap:.3rem;display:inline-flex}.expenses-row-actions{flex-wrap:wrap;gap:.5rem;display:flex}.expenses-action-btn{padding:.35rem .85rem;font-size:.85rem}.expenses-modal-hint{color:var(--text-muted);margin-top:0;font-size:.85rem}.expenses-changes-note{color:#c2410c;background:#ea580c1f;border:1px solid #ea580c4d;border-radius:10px;padding:.65rem .85rem;font-size:.88rem;display:block}[data-theme=dark] .expenses-changes-note{color:#fb923c}.expenses-receipt-attach{max-width:100%;color:var(--text-muted);cursor:pointer;border:1px dashed var(--border);border-radius:10px;align-items:center;gap:.4rem;padding:.5rem .8rem;font-size:.85rem;transition:color .15s,border-color .15s;display:inline-flex}.expenses-receipt-attach:hover{color:var(--text-main);border-color:var(--primary)}.expenses-receipt-attach span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.expenses-receipt-current{align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:.85rem;display:flex}.expenses-receipt-removed{color:var(--text-muted);font-style:italic}.expenses-receipt-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-left:.6rem;padding:0;font-size:.8rem;text-decoration:underline}.expenses-receipt-clear:hover{color:var(--text-main)}.help-bubble{width:34px;height:34px;color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.help-bubble:hover{color:var(--primary);border-color:var(--primary)}.help-index-group+.help-index-group{margin-top:2.25rem}.help-group-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 .6rem;font-size:.7rem;font-weight:600}.help-topic-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem;display:grid}.help-topic-card{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-main);border-radius:12px;align-items:flex-start;gap:.85rem;padding:1rem 1.1rem;text-decoration:none;transition:border-color .2s,box-shadow .2s;display:flex}.help-topic-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.help-topic-card .icon-square{flex-shrink:0}.help-topic-card-title{margin:0 0 .2rem;font-size:.95rem;font-weight:600}.help-topic-card-intro{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.82rem;display:-webkit-box;overflow:hidden}.help-back-link{color:var(--text-muted);align-items:center;gap:4px;margin-bottom:.75rem;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}.help-back-link:hover{color:var(--primary)}.help-topic-actions{flex-wrap:wrap;gap:.5rem;margin:-.75rem 0 1.5rem;display:flex}.help-topic-actions .btn-icon-text{text-decoration:none}.help-article{max-width:860px}.help-toc{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;margin-bottom:1.5rem;padding:.9rem 1.1rem}.help-toc-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.4rem;font-size:.7rem;font-weight:600}.help-toc ul{flex-wrap:wrap;gap:.3rem 1.1rem;margin:0;padding:0;list-style:none;display:flex}.help-toc a{color:var(--primary);font-size:.85rem;text-decoration:none}.help-toc a:hover{text-decoration:underline}.help-section{background:var(--bg-surface);border:1px solid var(--border);scroll-margin-top:calc(var(--mobile-header-h) + 16px);border-radius:12px;margin-bottom:1rem;padding:1.25rem 1.4rem}.help-section h2{color:var(--text-main);margin:0 0 .75rem;font-size:1.1rem;font-weight:600}.help-section p{color:var(--text-main);margin:.6rem 0;font-size:.9rem;line-height:1.65}.help-steps{counter-reset:help-step;margin:.75rem 0 .25rem;padding:0;list-style:none}.help-steps li{counter-increment:help-step;padding:0 0 1rem 2.4rem;position:relative}.help-steps li:last-child{padding-bottom:.25rem}.help-steps li:before{content:counter(help-step);background:color-mix(in srgb, var(--primary), transparent 88%);width:24px;height:24px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:flex;position:absolute;top:-1px;left:0}.help-steps li:not(:last-child):after{content:"";background:var(--border);width:1px;position:absolute;top:26px;bottom:2px;left:11.5px}.help-step-body{color:var(--text-main);font-size:.9rem;line-height:1.7}.help-step-body p{margin:.35rem 0 0}.help-ui{pointer-events:none;-webkit-user-select:none;user-select:none;cursor:default;vertical-align:middle;white-space:nowrap}.help-ui.btn,.help-ui.btn-icon-text,.help-ui.filter-chip,.help-ui.status-pill,.help-ui.invite-mode-btn{align-items:center;height:22px;min-height:0;margin:0 2px;padding-top:0;padding-bottom:0;font-size:.78rem;display:inline-flex}.help-ui.invite-mode-btn{flex:none;gap:5px;width:auto;padding-left:10px;padding-right:10px}.help-ui.btn{box-shadow:none;border-radius:6px;gap:5px;width:auto;max-width:none;padding-left:10px;padding-right:10px}.help-ui.btn-icon-text{padding-left:9px;padding-right:9px}.help-ui.filter-chip{gap:5px;padding-left:10px;padding-right:10px}.help-ui-icon{background:var(--bg-inset);border:1px solid var(--border);width:22px;height:22px;color:var(--text-muted);vertical-align:middle;border-radius:6px;justify-content:center;align-items:center;margin:0 2px;display:inline-flex}.help-ui-label{font-weight:600}.help-callout{border-radius:10px;align-items:flex-start;gap:.6rem;margin:.85rem 0;padding:.7rem .9rem;font-size:.85rem;line-height:1.6;display:flex}.help-callout svg{flex-shrink:0;margin-top:2px}.help-callout-tip{background:color-mix(in srgb, var(--primary), transparent 92%);border:1px solid color-mix(in srgb, var(--primary), transparent 75%);color:var(--text-main)}.help-callout-tip svg{color:var(--primary)}.help-callout-warn{color:var(--text-main);background:#f59e0b14;border:1px solid #f59e0b59}.help-callout-warn svg{color:var(--warning)}.help-figure{margin:.85rem 0}.help-figure-canvas{background:var(--bg-inset);border:1px dashed var(--border);pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.9rem 1rem;display:flex}.help-figure-canvas>.help-ui{flex:none;width:auto}.help-figure figcaption{color:var(--text-muted);margin-top:.35rem;font-size:.78rem}.help-faq details{border:1px solid var(--border);background:var(--bg-surface);border-radius:10px;margin-bottom:.5rem;overflow:hidden}.help-faq summary{cursor:pointer;color:var(--text-main);align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;list-style:none;display:flex}.help-faq summary::-webkit-details-marker{display:none}.help-faq summary:before{content:"";border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);flex-shrink:0;width:7px;height:7px;transition:transform .15s;transform:rotate(-45deg)}.help-faq details[open] summary:before{transform:rotate(45deg)}.help-faq-answer{color:var(--text-muted);padding:0 1rem .85rem 2rem;font-size:.87rem;line-height:1.65}.help-faq-answer p{margin:0 0 .5rem}.hr-export-content{padding:1.25rem 1.5rem}.hr-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.75rem;display:flex}.hr-month-picker{flex-direction:column;flex:0 220px;gap:.25rem;min-width:0;display:flex}.hr-download-btn{align-items:center;gap:.5rem;min-height:42px;display:inline-flex}.hr-note{color:var(--text-muted);align-items:center;gap:.45rem;margin-bottom:1rem;font-size:.8rem;display:flex}.hr-note svg{flex-shrink:0}.hr-table-scroll{scrollbar-gutter:stable;border:1px solid var(--border);border-radius:10px;max-height:min(65vh,640px);overflow:auto}.hr-table{border-collapse:collapse;table-layout:auto;width:max-content;min-width:100%;font-size:.85rem}.hr-table th,.hr-table td{white-space:nowrap;text-align:left;border-bottom:1px solid var(--border);padding:.55rem .85rem}.hr-table thead th{background:var(--bg-inset);color:var(--text-muted);z-index:var(--z-raised);box-shadow:0 1px 0 var(--border);border-bottom:none;font-size:.78rem;font-weight:600;position:sticky;top:0}.hr-table tbody tr:last-child td{border-bottom:none}.hr-year-input{max-width:220px}.hr-receipt-link{color:var(--primary);align-items:center;gap:.3rem;text-decoration:none;display:inline-flex}.hr-receipt-link:hover{text-decoration:underline}.hr-empty{color:var(--text-muted);justify-content:center;align-items:center;gap:.5rem;padding:2.5rem 0;display:flex}@media (width<=640px){.hr-toolbar{flex-direction:column;align-items:stretch}.hr-month-picker{flex:initial}.hr-download-btn{justify-content:center;width:100%}}.kpi-page .page-subtitle{max-width:62ch}.kpi-card{padding:1.25rem}.kpi-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.kpi-tab{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.88rem;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.kpi-tab:hover{color:var(--text-main)}.kpi-tab.active{background:var(--primary-strong);border-color:var(--primary-strong);color:var(--on-primary)}.kpi-tab-badge{background:color-mix(in srgb, var(--warning-fill), transparent 10%);min-width:18px;height:18px;color:var(--on-warning);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:.72rem;font-weight:700;display:inline-flex}.kpi-period-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.kpi-period-title{margin:0 0 .35rem}.kpi-period-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.9rem;font-size:.85rem;display:flex}.kpi-deadline-chip{background:color-mix(in srgb, var(--primary), transparent 90%);color:var(--primary);border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-weight:600;display:inline-flex}.kpi-empty-title{color:var(--text-main);margin-bottom:.35rem;font-weight:700}.kpi-empty-hint{max-width:52ch;margin:0 auto 1.1rem}.kpi-changes-note{color:#c2410c;background:#ea580c1f;border:1px solid #ea580c4d;border-radius:10px;margin:0 0 1rem;padding:.65rem .85rem;font-size:.88rem;display:block}[data-theme=dark] .kpi-changes-note{color:#fb923c}.kpi-locked-note,.kpi-awaiting-note{color:var(--text-muted);align-items:center;gap:.35rem;font-size:.85rem;display:inline-flex}.kpi-immutable-note{color:#15803d;background:#16a34a1f;border-radius:999px;align-items:center;gap:.4rem;margin:0 0 .9rem;padding:.35rem .7rem;font-size:.82rem;font-weight:600;display:inline-flex}[data-theme=dark] .kpi-immutable-note{color:#4ade80}.kpi-actions-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.kpi-editor{margin-top:.5rem}.kpi-editor-goal{margin-bottom:.85rem}.kpi-editor-row{align-items:center;gap:.6rem;margin-bottom:.35rem;display:flex}.kpi-editor-index{text-align:center;color:var(--text-muted);font-variant-numeric:tabular-nums;flex:0 0 1.4rem;font-size:.85rem}.kpi-editor-row .input-field{flex:1;min-width:0}.kpi-editor-weight{color:var(--text-muted);flex:none;align-items:center;gap:.3rem;display:flex}.kpi-editor-weight .input-field{text-align:right;width:74px}.kpi-editor-remove:disabled{opacity:.35;cursor:default}.kpi-editor-desc-row{padding-left:2rem;display:flex}.kpi-editor-desc{resize:vertical;flex:1;min-width:0;font-size:.88rem}.kpi-editor-footer{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.9rem;display:flex}.kpi-editor-footer .btn{align-items:center;gap:.35rem;display:inline-flex}.kpi-total{font-variant-numeric:tabular-nums;font-weight:700}.kpi-total.ok{color:var(--success)}.kpi-total.off{color:var(--danger)}.kpi-editor-submit{gap:.6rem;margin-left:auto;display:flex}.kpi-goal-table .kpi-col-index{width:2.2rem;color:var(--text-muted)}.kpi-goal-desc{color:var(--text-muted);white-space:pre-line;overflow-wrap:anywhere;margin-top:.2rem;font-size:.82rem;font-weight:400}.kpi-goal-comment{color:var(--text-muted);overflow-wrap:anywhere;margin-top:.25rem;font-size:.82rem;font-weight:400}.kpi-goal-comment span{font-weight:600}.kpi-goal-comment-input{margin-top:.4rem;padding:.4rem .6rem;font-size:.85rem}.kpi-goal-progress{flex-wrap:wrap;align-items:baseline;gap:.45rem;margin-top:.3rem;display:flex}.kpi-progress-chip{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;padding:.1rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.kpi-progress-chip.on_track{color:#15803d;background:#16a34a24}[data-theme=dark] .kpi-progress-chip.on_track{color:#4ade80}.kpi-progress-chip.at_risk{color:#c2410c;background:#ea580c24}[data-theme=dark] .kpi-progress-chip.at_risk{color:#fb923c}.kpi-progress-chip.done{background:color-mix(in srgb, var(--primary), transparent 88%);color:var(--primary)}.kpi-goal-progress-note{color:var(--text-muted);overflow-wrap:anywhere;font-size:.82rem}.kpi-progress-form{margin-top:.5rem}.kpi-progress-inputs{flex-direction:column;gap:.4rem;min-width:min(240px,100%);display:flex}.kpi-progress-inputs .kpi-progress-select{align-self:flex-start}.kpi-goal-table .kpi-col-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;width:6.5rem}.kpi-goal-table thead .kpi-col-num{text-align:right}.kpi-score-select{text-align:right;width:64px;padding:.3rem .4rem}.kpi-eval-form{margin-top:.5rem}.kpi-eval-footer{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.9rem;display:flex}.kpi-eval-comment{flex:260px;min-width:0}.kpi-score-summary{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1rem;display:flex}.kpi-score-card{border:1px solid var(--border);background:var(--bg-inset);border-radius:12px;min-width:110px;padding:.6rem 1rem}.kpi-score-label{color:var(--text-muted);margin-bottom:.15rem;font-size:.75rem;font-weight:600}.kpi-score-value{font-variant-numeric:tabular-nums;color:var(--text-main);font-size:1.3rem;font-weight:800}.kpi-score-summary .kpi-awaiting-note{flex:1}.kpi-final-cell{font-variant-numeric:tabular-nums;font-weight:700}.kpi-comment-line{color:var(--text-muted);margin:.5rem 0 0;font-size:.88rem}.kpi-comment-line strong{color:var(--text-main);font-weight:600}.kpi-row-actions{flex-wrap:wrap;gap:.5rem;display:flex}.kpi-row-btn{padding:.35rem .85rem;font-size:.85rem}.kpi-modal-hint{color:var(--text-muted);margin-top:0;font-size:.85rem}.kpi-hr-settings-row{flex-wrap:wrap;align-items:flex-end;gap:.9rem;display:flex}.kpi-hr-field{color:var(--text-muted);flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500;display:flex}.kpi-hr-field .input-field{min-width:150px}.kpi-hr-field input.input-field{width:110px;min-width:0}.kpi-hr-saved{color:var(--success);font-size:.85rem;font-weight:600}.kpi-hr-hint{color:var(--text-muted);font-size:.88rem}.kpi-hr-report-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}@media (width<=768px){.admin-table.kpi-stack-mobile td{display:flex}.admin-table.kpi-stack-mobile td.kpi-col-index{display:none}.admin-table.kpi-stack-mobile .kpi-col-num{text-align:left;width:auto}.kpi-goal-cell{flex:1;min-width:0}}@media (width<=640px){.kpi-editor-row{flex-wrap:wrap}.kpi-editor-row .input-field{flex-basis:100%;order:1}.kpi-editor-index{order:0}.kpi-editor-weight,.kpi-editor-remove{order:2}.kpi-editor-desc-row{padding-left:0}.kpi-editor-submit{justify-content:flex-end;width:100%;margin-left:0}}html:has(.landing-page){scroll-behavior:smooth}.landing-page{background:var(--bg-app);min-height:100svh;color:var(--text-main);overflow-x:clip}.landing-page a.btn{text-decoration:none}.landing-eyebrow{color:var(--primary);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .75rem;font-size:.78rem;font-weight:700}.landing-gradient-text{background:var(--flow-gradient);color:#0000;-webkit-background-clip:text;background-clip:text;display:inline-block}.landing-section{max-width:1140px;margin:0 auto;padding:4.5rem 1.5rem 1.5rem;scroll-margin-top:4.5rem}.landing-section-head{text-align:center;max-width:640px;margin:0 auto 2.75rem}.landing-section-head h2{letter-spacing:-.03em;margin:0;font-size:clamp(1.7rem,3.4vw,2.3rem);font-weight:800}.landing-section-sub{color:var(--text-muted);margin:.9rem 0 0;font-size:1.02rem;line-height:1.6}.landing-header{z-index:var(--z-mobile-header);background:color-mix(in srgb, var(--bg-app), transparent 22%);-webkit-backdrop-filter:blur(18px)saturate(1.4);border-bottom:1px solid color-mix(in srgb, var(--border), transparent 35%);position:sticky;top:0}.landing-header-inner{align-items:center;gap:1.5rem;max-width:1140px;margin:0 auto;padding:.7rem 1.5rem;display:flex}.landing-brand{color:var(--text-main);align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.landing-brand-name{font-family:var(--font-display);letter-spacing:-.02em;align-items:baseline;gap:.35rem;font-size:1.25rem;font-weight:800;display:inline-flex}.landing-brand-tag{letter-spacing:.12em;color:var(--primary);border:1px solid color-mix(in srgb, var(--primary), transparent 55%);border-radius:6px;padding:.1rem .3rem;font-size:.62rem;font-weight:700;transform:translateY(-1px)}.landing-nav{gap:1.6rem;margin:0 auto;display:flex}.landing-nav a{color:var(--text-muted);white-space:nowrap;font-size:.92rem;font-weight:500;text-decoration:none;transition:color .2s}.landing-nav a:hover{color:var(--text-main)}.landing-header-actions{align-items:center;gap:.6rem;margin-left:auto;display:flex}.landing-pill{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-surface), transparent 30%);color:var(--text-main);cursor:pointer;border-radius:10px;align-items:center;gap:5px;padding:7px 11px;font-size:.82rem;font-weight:600;transition:background .2s,transform .15s;display:inline-flex}.landing-pill:hover{background:var(--bg-surface);transform:translateY(-1px)}.landing-login-link{color:var(--text-main);padding:.4rem .5rem;font-size:.92rem;font-weight:600;text-decoration:none}.landing-login-link:hover{color:var(--primary)}.btn.landing-header-cta{white-space:nowrap;border-radius:9px;min-height:38px;padding:0 1rem;font-size:.88rem}.landing-hero{background:linear-gradient(160deg,#eef0fa 0%,#f6f7fc 35%,#e9f4f8 70%,#eceefb 100%);padding:5.5rem 1.5rem 3rem;position:relative;overflow:hidden}[data-theme=dark] .landing-hero{background:linear-gradient(160deg,#0a0f1e 0%,#101731 35%,#0c1526 65%,#090d1a 100%)}.landing-hero-inner{z-index:1;text-align:center;max-width:1140px;margin:0 auto;position:relative}.landing-hero-title{letter-spacing:-.04em;max-width:820px;margin:0 auto;font-size:clamp(2.5rem,6.5vw,4.3rem);font-weight:800;line-height:1.06}.landing-hero-sub{color:var(--text-muted);max-width:620px;margin:1.4rem auto 0;font-size:clamp(1.02rem,1.8vw,1.2rem);line-height:1.65}.landing-hero-ctas{flex-wrap:wrap;justify-content:center;align-items:center;gap:.9rem;margin-top:2.2rem;display:flex}.btn.landing-cta-lg{border-radius:13px;min-height:52px;padding:0 1.6rem;font-size:1.02rem}.btn.landing-cta-ghost{background:color-mix(in srgb, var(--bg-surface), transparent 25%);min-height:52px;color:var(--text-main);border:1px solid var(--border);box-shadow:none;border-radius:13px;padding:0 1.5rem;font-size:1.02rem;text-decoration:none}.btn.landing-cta-ghost:hover{filter:none;background:var(--bg-surface);box-shadow:var(--shadow-sm)}.landing-hero-note{color:var(--text-muted);margin:1.1rem 0 0;font-size:.85rem}.landing-orb{pointer-events:none;will-change:transform;border-radius:50%;position:absolute}.landing-orb-1{filter:blur(80px);background:radial-gradient(circle,#3a49c833 0%,#0000 70%);width:620px;height:620px;animation:26s ease-in-out infinite landing-orb-drift;top:-12%;left:-6%}.landing-orb-2{filter:blur(90px);background:radial-gradient(circle,#06b6d429 0%,#0000 70%);width:520px;height:520px;animation:32s ease-in-out infinite reverse landing-orb-drift;top:18%;right:-9%}.landing-orb-3{filter:blur(70px);background:radial-gradient(circle,#7c8cfa2e 0%,#0000 70%);width:460px;height:460px;animation:22s ease-in-out infinite landing-orb-drift;bottom:-8%;left:22%}[data-theme=dark] .landing-orb-1{background:radial-gradient(circle,#6474f529 0%,#0000 70%)}[data-theme=dark] .landing-orb-2{background:radial-gradient(circle,#22d3ee17 0%,#0000 70%)}[data-theme=dark] .landing-orb-3{background:radial-gradient(circle,#7c8cfa17 0%,#0000 70%)}@keyframes landing-orb-drift{0%{transform:translate(0)scale(1)}33%{transform:translate(70px,-55px)scale(1.07)}66%{transform:translate(-45px,40px)scale(.94)}to{transform:translate(0)scale(1)}}.landing-rise{animation:.6s cubic-bezier(.32,.72,0,1) both riseIn}.landing-rise:nth-child(2){animation-delay:60ms}.landing-rise:nth-child(3){animation-delay:.12s}.landing-rise:nth-child(4){animation-delay:.18s}.landing-rise:nth-child(5){animation-delay:.24s}.landing-rise:nth-child(6){animation-delay:.3s}.landing-mock{max-width:880px;margin:3.2rem auto 0;position:relative}.mock-window{background:color-mix(in srgb, var(--bg-surface), transparent 8%);border:1px solid var(--border);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);border-radius:18px;position:relative;overflow:hidden}.landing-mock:before{content:"";z-index:-1;background:radial-gradient(ellipse at 50% 40%, color-mix(in srgb, var(--primary), transparent 82%), transparent 65%);filter:blur(30px);position:absolute;inset:-8% -12%}.mock-titlebar{border-bottom:1px solid var(--border);gap:6px;padding:.7rem .9rem;display:flex}.mock-titlebar span{background:color-mix(in srgb, var(--text-muted), transparent 65%);border-radius:50%;width:10px;height:10px}.mock-titlebar span:first-child{background:#f87171}.mock-titlebar span:nth-child(2){background:#fbbf24}.mock-titlebar span:nth-child(3){background:#34d399}.mock-body{text-align:left;display:flex}.mock-sidebar{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:.55rem;width:132px;padding:.9rem .7rem;display:flex}.mock-logo{background:var(--flow-gradient);border-radius:8px;width:26px;height:26px;margin-bottom:.6rem}.mock-nav-item{border-radius:8px;align-items:center;gap:7px;padding:6px 8px;display:flex}.mock-nav-item.active{background:color-mix(in srgb, var(--primary), transparent 88%)}.mock-nav-dot{background:color-mix(in srgb, var(--text-muted), transparent 55%);border-radius:3px;flex-shrink:0;width:9px;height:9px}.mock-nav-item.active .mock-nav-dot{background:var(--primary)}.mock-nav-bar{background:color-mix(in srgb, var(--text-muted), transparent 70%);border-radius:3px;flex:1;height:6px}.mock-nav-item:nth-child(3) .mock-nav-bar{flex:.7}.mock-nav-item:nth-child(5) .mock-nav-bar{flex:.85}.mock-nav-item:nth-child(7) .mock-nav-bar{flex:.6}.mock-main{flex:1;min-width:0;padding:1.1rem 1.2rem 1.2rem}.mock-head{justify-content:space-between;align-items:center;margin-bottom:.9rem;display:flex}.mock-greeting{font-family:var(--font-display);font-size:1rem;font-weight:700}.mock-date{color:var(--text-muted);margin-top:2px;font-size:.72rem}.mock-avatar{background:var(--flow-gradient);opacity:.85;border-radius:50%;width:30px;height:30px}.mock-grid{grid-template-columns:1.25fr 1fr .9fr;gap:.7rem;display:grid}.mock-card{background:var(--bg-inset);border:1px solid var(--border);border-radius:12px;min-width:0;padding:.75rem .85rem}.mock-card-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.45rem;font-size:.68rem;font-weight:600}.mock-time{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.55rem;font-weight:800}.mock-clock-status{color:var(--text-muted);align-items:center;gap:7px;margin:.4rem 0 .6rem;font-size:.75rem;display:flex}.mock-punch-btn{background:var(--primary-strong);color:#fff;text-align:center;border-radius:8px;padding:6px 0;font-size:.75rem;font-weight:600}.mock-bars{align-items:flex-end;gap:6px;height:74px;display:flex}.mock-bars span{background:color-mix(in srgb, var(--primary), transparent 72%);transform-origin:bottom;border-radius:4px 4px 2px 2px;flex:1;animation:.55s cubic-bezier(.32,.72,0,1) both mock-bar-grow}.mock-bars span:first-child{animation-delay:.55s}.mock-bars span:nth-child(2){animation-delay:.62s}.mock-bars span:nth-child(3){animation-delay:.69s}.mock-bars span:nth-child(4){background:var(--flow-gradient);animation-delay:.76s}.mock-bars span:nth-child(5){animation-delay:.83s}.mock-bars span:nth-child(6){animation-delay:.9s}.mock-bars span:nth-child(7){animation-delay:.97s}@keyframes mock-bar-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.mock-donut{flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:relative}.mock-donut svg{width:76px;height:76px;transform:rotate(-90deg)}.mock-donut circle{fill:none;stroke-width:9px}.mock-donut-track{stroke:color-mix(in srgb, var(--text-muted), transparent 80%)}.mock-donut-fill{stroke:var(--primary);stroke-linecap:round;stroke-dasharray:137 201;animation:1s cubic-bezier(.32,.72,0,1) .7s both mock-donut-sweep}@keyframes mock-donut-sweep{0%{stroke-dashoffset:137px}to{stroke-dashoffset:0}}.mock-donut-center{font-family:var(--font-display);font-size:.95rem;font-weight:800;position:absolute;top:50px;left:50%;transform:translate(-50%,-50%)}.mock-donut .mock-card-label{text-align:center;margin:.4rem 0 0}.mock-list{flex-direction:column;grid-column:1/-1;gap:.5rem;display:flex}.mock-list-row{align-items:center;gap:8px;display:flex}.mock-list-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.mock-list-dot.dot-0{background:var(--chart-7)}.mock-list-dot.dot-1{background:var(--accent)}.mock-list-dot.dot-2{background:var(--chart-4)}.mock-list-bar{background:color-mix(in srgb, var(--text-muted), transparent 72%);border-radius:3.5px;flex:2;height:7px}.mock-list-bar.short{opacity:.6;flex:.7}.mock-chip{z-index:2;background:color-mix(in srgb, var(--bg-surface), transparent 12%);border:1px solid var(--border);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(14px);white-space:nowrap;color:var(--text-main);border-radius:12px;align-items:center;gap:7px;padding:8px 13px;font-size:.8rem;font-weight:600;animation:7s ease-in-out infinite chip-float;display:inline-flex;position:absolute}.mock-chip svg{color:var(--primary);flex-shrink:0}.mock-chip-1{top:14%;left:-4.5rem}.mock-chip-2{animation-delay:1.4s;top:52%;right:-5rem}.mock-chip-2 svg{color:var(--success)}.mock-chip-3{animation-delay:2.6s;bottom:-1rem;left:8%}.mock-chip-3 svg{color:var(--accent)}@keyframes chip-float{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}.landing-feature-grid{grid-template-columns:repeat(3,1fr);gap:1.1rem;display:grid}.landing-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem 1.4rem;transition:transform .2s,box-shadow .25s}.landing-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.landing-card-icon{background:color-mix(in srgb, var(--primary), transparent 88%);width:44px;height:44px;color:var(--primary);border-radius:12px;justify-content:center;align-items:center;margin-bottom:1rem;display:flex}.landing-card h3{margin:0 0 .45rem;font-size:1.08rem;font-weight:700}.landing-card p{color:var(--text-muted);margin:0;font-size:.92rem;line-height:1.6}.landing-compliance{color:#eef1f8;background:linear-gradient(135deg,#161e44 0%,#0b101f 55%,#0c1a2c 100%);border-radius:24px;grid-template-columns:1.15fr .85fr;align-items:center;gap:2.5rem;padding:3rem 2.75rem;display:grid;position:relative;overflow:hidden}.landing-compliance-glow{pointer-events:none;background:radial-gradient(at 85% 15%,#22d3ee24,#0000 50%),radial-gradient(at 10% 90%,#6474f52e,#0000 55%);position:absolute;inset:0}.landing-compliance-text{position:relative}.landing-eyebrow-dark{color:#8fd8f2}.landing-compliance h2{letter-spacing:-.03em;color:#fff;margin:0;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:800}.landing-compliance-sub{color:#a6b0ca;margin:.8rem 0 1.6rem;font-size:1rem;line-height:1.6}.landing-compliance-points{flex-direction:column;gap:1.1rem;margin:0;padding:0;list-style:none;display:flex}.landing-compliance-points li{align-items:flex-start;gap:.9rem;display:flex}.landing-compliance-point-icon{color:#9db1ff;background:#8b9cff24;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.landing-compliance-points strong{color:#fff;margin-bottom:.2rem;font-size:.98rem;display:block}.landing-compliance-points p{color:#a6b0ca;margin:0;font-size:.88rem;line-height:1.55}.landing-compliance-visual{position:relative}.compliance-card{-webkit-backdrop-filter:blur(20px);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:16px;padding:1.1rem;box-shadow:0 20px 50px -12px #00000080}.compliance-card-head{color:#8fd8f2;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:7px;margin-bottom:.9rem;font-size:.78rem;font-weight:700;display:flex}.compliance-alert{background:#ffffff0d;border:1px solid #ffffff12;border-radius:12px;align-items:flex-start;gap:.7rem;padding:.8rem;display:flex}.compliance-alert+.compliance-alert{margin-top:.6rem}.compliance-alert svg{flex-shrink:0;margin-top:1px}.compliance-alert.warn svg{color:#fbbf24}.compliance-alert.ok svg{color:#34d399}.compliance-alert strong{color:#fff;margin-bottom:.15rem;font-size:.88rem;display:block}.compliance-alert span{color:#a6b0ca;font-size:.8rem;display:block}.landing-details-grid{grid-template-columns:repeat(3,1fr);gap:1.75rem 2.25rem;max-width:980px;margin:0 auto;display:grid}.landing-detail{align-items:flex-start;gap:.85rem;display:flex}.landing-detail>svg{color:var(--primary);flex-shrink:0;margin-top:2px}.landing-detail strong{margin-bottom:.25rem;font-size:.95rem;display:block}.landing-detail p{color:var(--text-muted);margin:0;font-size:.86rem;line-height:1.55}.landing-steps{text-align:center;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:980px;margin:0 auto;display:grid}.landing-step{padding:0 .5rem;position:relative}.landing-step-num{background:color-mix(in srgb, var(--primary), transparent 90%);border:1px solid color-mix(in srgb, var(--primary), transparent 75%);width:58px;height:58px;color:var(--primary);border-radius:18px;justify-content:center;align-items:center;margin:0 auto 1.1rem;display:flex;position:relative}.landing-step-num span{background:var(--bg-app);border:1.5px solid var(--primary);width:22px;height:22px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;font-weight:800;display:flex;position:absolute;top:-7px;right:-7px}.landing-step:not(:last-child):after{content:"";border-top:2px dashed color-mix(in srgb, var(--primary), transparent 70%);width:calc(100% - 90px);position:absolute;top:28px;left:calc(50% + 45px)}.landing-step h3{margin:0 0 .4rem;font-size:1.05rem;font-weight:700}.landing-step p{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.6}.landing-faq-list{max-width:720px;margin:0 auto}.landing-faq-item{border-bottom:1px solid var(--border)}.landing-faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem .25rem;font-size:1rem;font-weight:600;list-style:none;display:flex}.landing-faq-item summary::-webkit-details-marker{display:none}.landing-faq-item summary svg{color:var(--text-muted);flex-shrink:0;transition:transform .25s}.landing-faq-item[open] summary svg{transform:rotate(180deg)}.landing-faq-item p{color:var(--text-muted);margin:0;padding:0 2.5rem 1.2rem .25rem;font-size:.94rem;line-height:1.65}.landing-cta-band{text-align:center;color:#eef1f8;background:linear-gradient(135deg,#161e44 0%,#0b101f 55%,#0c1a2c 100%);border-radius:24px;padding:3.5rem 2rem;position:relative;overflow:hidden;box-shadow:0 24px 60px -24px #00000080}.landing-cta-band:before{content:"";pointer-events:none;background:radial-gradient(at 85% 12%,#22d3ee21,#0000 50%),radial-gradient(at 12% 88%,#6474f52b,#0000 55%);position:absolute;inset:0}.landing-cta-band:after{content:"";background:var(--flow-gradient);opacity:.8;pointer-events:none;height:2px;position:absolute;top:0;left:0;right:0}.landing-cta-band h2{letter-spacing:-.03em;color:#fff;margin:0;font-size:clamp(1.7rem,3.4vw,2.3rem);font-weight:800}.landing-cta-band p{color:#ffffffd9;margin:.8rem 0 1.8rem;font-size:1.02rem}.btn.landing-cta-invert{color:var(--primary-strong);background:#fff;border-radius:13px;min-height:52px;padding:0 1.7rem;font-size:1rem;box-shadow:0 10px 26px -8px #00000059}.btn.landing-cta-invert:hover{filter:brightness(.97);box-shadow:0 14px 30px -8px #0006}.landing-footer{border-top:1px solid var(--border);max-width:1140px;margin:4.5rem auto 0;padding:2.25rem 1.5rem 2.5rem}.landing-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.landing-footer-brand p{color:var(--text-muted);margin:.7rem 0 0;font-size:.88rem}.landing-footer-links{flex-wrap:wrap;gap:1.5rem;display:flex}.landing-footer-links a{color:var(--text-muted);font-size:.88rem;text-decoration:none}.landing-footer-links a:hover{color:var(--text-main)}.landing-footer-copy{color:var(--text-muted);margin:2rem 0 0;font-size:.8rem}@media (width<=1024px){.landing-nav{display:none}.landing-feature-grid{grid-template-columns:repeat(2,1fr)}.landing-compliance{grid-template-columns:1fr;padding:2.5rem 1.75rem}.mock-chip-1{left:-1rem}.mock-chip-2{top:auto;bottom:16%;right:-1rem}}@media (width<=768px){.landing-section{padding:3.25rem 1.1rem 1rem}.landing-hero{padding-top:3.5rem}.landing-feature-grid,.landing-details-grid{grid-template-columns:1fr}.landing-steps{grid-template-columns:1fr;gap:2.25rem;max-width:420px}.landing-step:not(:last-child):after,.mock-sidebar{display:none}.mock-grid{grid-template-columns:1fr 1fr}.mock-donut{display:none}.mock-chip-1{top:-.9rem;left:.25rem}.mock-chip-2{top:auto;bottom:30%;right:.25rem}.mock-chip-3{bottom:-1.1rem;left:.75rem}.landing-header-inner{gap:.75rem;padding:.6rem 1rem}.landing-login-link{display:none}.landing-footer-inner{flex-direction:column}}@media (width<=420px){.landing-brand-name{font-size:1.05rem}.btn.landing-header-cta{padding:0 .7rem;font-size:.82rem}}@media (prefers-reduced-motion:reduce){.landing-rise,.landing-orb,.mock-chip,.mock-bars span,.mock-donut-fill{animation:none}html:has(.landing-page){scroll-behavior:auto}}.login-wrapper{min-height:100dvh;padding:calc(1rem + env(safe-area-inset-top,0px)) calc(1rem + env(safe-area-inset-right,0px)) calc(1rem + env(safe-area-inset-bottom,0px)) calc(1rem + env(safe-area-inset-left,0px));background:linear-gradient(160deg,#eef0fa 0%,#f6f7fc 35%,#e9f4f8 70%,#eceefb 100%);justify-content:center;align-items:center;transition:background .6s;display:flex;position:relative;overflow:hidden}[data-theme=dark] .login-wrapper{background:linear-gradient(160deg,#0a0f1e 0%,#101731 35%,#0c1526 65%,#090d1a 100%)}.login-orb{pointer-events:none;will-change:transform;border-radius:50%;position:absolute}@keyframes orb-drift-1{0%{transform:translate(0)scale(1)}33%{transform:translate(80px,-60px)scale(1.08)}66%{transform:translate(-40px,40px)scale(.95)}to{transform:translate(0)scale(1)}}@keyframes orb-drift-2{0%{transform:translate(0)scale(1)}33%{transform:translate(-70px,50px)scale(1.1)}66%{transform:translate(50px,-30px)scale(.92)}to{transform:translate(0)scale(1)}}@keyframes orb-drift-3{0%{transform:translate(0)scale(1)}33%{transform:translate(40px,70px)scale(1.05)}66%{transform:translate(-60px,-50px)scale(.97)}to{transform:translate(0)scale(1)}}.login-orb-1{filter:blur(80px);background:radial-gradient(circle,#3a49c838 0%,#0000 70%);width:600px;height:600px;animation:25s ease-in-out infinite orb-drift-1;top:-10%;left:-5%}[data-theme=dark] .login-orb-1{background:radial-gradient(circle,#6474f52e 0%,#0000 70%)}.login-orb-2{filter:blur(90px);background:radial-gradient(circle,#06b6d42e 0%,#0000 70%);width:500px;height:500px;animation:30s ease-in-out infinite orb-drift-2;top:30%;right:-8%}[data-theme=dark] .login-orb-2{background:radial-gradient(circle,#22d3ee1a 0%,#0000 70%)}.login-orb-3{filter:blur(70px);background:radial-gradient(circle,#7c8cfa33 0%,#0000 70%);width:450px;height:450px;animation:22s ease-in-out infinite orb-drift-3;bottom:-5%;left:15%}[data-theme=dark] .login-orb-3{background:radial-gradient(circle,#7c8cfa1a 0%,#0000 70%)}.login-card{z-index:1;text-align:center;-webkit-backdrop-filter:blur(40px)saturate(1.4);background:#ffffff8c;border:1px solid #ffffff80;border-radius:20px;width:100%;max-width:400px;padding:3rem 2.5rem;position:relative;box-shadow:0 8px 32px #0000000f,inset 0 1px #fff9}[data-theme=dark] .login-card{-webkit-backdrop-filter:blur(40px)saturate(1.3);background:#0f172a80;border:1px solid #ffffff14;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0d}.login-title{font-family:var(--font-display);color:var(--text-main);letter-spacing:-.03em;margin:0 0 .35rem;font-size:2.1rem;font-weight:800}.login-tag{color:var(--primary);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .5rem;font-size:.72rem;font-weight:700}.login-btn{justify-content:center;width:100%;max-width:320px;height:46px;font-size:.95rem;font-weight:600}.login-btn.login-btn-outline{color:var(--primary);border:1.5px solid color-mix(in srgb, var(--primary), transparent 40%);box-shadow:none;background:0 0}.login-btn.login-btn-outline:hover{border-color:var(--primary);background:color-mix(in srgb, var(--primary), transparent 92%);filter:none;box-shadow:none}.login-controls{top:calc(1.25rem + env(safe-area-inset-top,0px));right:calc(1.25rem + env(safe-area-inset-right,0px));z-index:2;gap:.5rem;display:flex;position:absolute}.login-controls button{-webkit-backdrop-filter:blur(20px);color:var(--text-main);cursor:pointer;background:#ffffff80;border:1px solid #fff6;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:.85rem;font-weight:500;transition:all .25s;display:flex}[data-theme=dark] .login-controls button{background:#1e293b80;border-color:#ffffff14}.login-controls button:hover{background:#ffffffb3;transform:translateY(-1px)}[data-theme=dark] .login-controls button:hover{background:#1e293bb3}@media (height<=480px){.login-controls{justify-content:flex-end;gap:.5rem;margin:0 0 .75rem;display:flex;position:static}}.notifications-list{flex-direction:column;gap:.6rem;display:flex}.notification-card{cursor:pointer;align-items:flex-start;gap:.85rem;padding:1rem 1.25rem;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.notification-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm,0 1px 3px #0000000f)}.notification-card.notification-unread{border-left:3px solid var(--primary)}.notification-card.notification-read{opacity:.7}.notification-icon{background:color-mix(in srgb, var(--primary), transparent 88%);width:36px;height:36px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.notification-icon.notification-icon-event{color:#a855f7;background:#a855f71a}.notification-icon.notification-icon-approval{background:color-mix(in srgb, var(--primary), transparent 88%);color:var(--primary)}.notification-icon.notification-icon-kpi{color:#0ea5e9;background:#0ea5e91f}.notification-icon.notification-icon-general{background:var(--bg-inset);color:var(--text-muted)}.notification-icon.notification-icon-compliance{background:var(--warning-bg);color:var(--warning)}.notification-status-badge{border:2px solid var(--bg-surface);border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;display:flex;position:absolute;bottom:-4px;right:-4px}.notification-status-badge.notification-badge-success{background:var(--success);color:var(--on-success)}.notification-status-badge.notification-badge-danger{background:var(--danger);color:var(--on-danger)}.notification-status-badge.notification-badge-warning{background:var(--warning-fill);color:var(--on-warning)}.notification-status-badge.notification-badge-primary{background:var(--primary-strong);color:var(--on-primary)}.notification-status-badge.notification-badge-neutral{background:var(--text-muted);color:var(--bg-surface)}.notification-body{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.notification-title-row{align-items:center;gap:.5rem;min-width:0;display:flex}.notification-unread-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.notification-title{min-width:0;color:var(--text-main);overflow-wrap:anywhere;margin:0;font-size:.95rem;font-weight:600;line-height:1.3}.notification-text{color:var(--text-muted);overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.875rem;line-height:1.45;display:-webkit-box;overflow:hidden}.notification-time{color:var(--text-muted);margin-top:.15rem;font-size:.75rem}.notification-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.notification-read-btn{color:var(--text-muted)}.notification-read-btn:hover{background-color:var(--success-bg);color:var(--success)}.notification-delete-btn{color:var(--text-muted)}.notification-delete-btn:hover{color:var(--danger)}@media (hover:hover){.notification-read-btn,.notification-delete-btn{opacity:0;transition:opacity .15s,background .15s,color .15s}.notification-card:hover .notification-read-btn,.notification-card:hover .notification-delete-btn,.notification-read-btn:focus-visible,.notification-delete-btn:focus-visible{opacity:1}}.notification-card-arrow{color:var(--text-muted);opacity:0;flex-shrink:0;transition:opacity .15s}.notification-card:hover .notification-card-arrow{opacity:1}@media (hover:none){.notification-card-arrow{display:none}}.notifications-empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:.25rem;padding:2.5rem 1.5rem;display:flex}.notifications-empty p{margin:0;font-size:.92rem}.notifications-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.notifications-page-header-titles{flex:auto;min-width:0}.notifications-page-header-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.notifications-action-link{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:.85rem;font-weight:500;transition:color .15s,background .15s;display:inline-flex}.notifications-action-link:hover{color:var(--primary);background:color-mix(in srgb, var(--primary), transparent 91%)}.notifications-settings-menu{position:relative}.notifications-settings-trigger{border:1px solid var(--border);background:var(--bg-surface);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.notifications-settings-trigger:hover{color:var(--text-main);border-color:var(--primary)}.notifications-settings-trigger[aria-expanded=true]{color:var(--primary);border-color:var(--primary)}.notifications-settings-popover{border:1px solid var(--border);background:var(--bg-surface);min-width:min(280px,100vw - 2rem);z-index:var(--z-popover);border-radius:10px;padding:12px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #0000001f}.notifications-settings-row{align-items:center;gap:12px;display:flex}.notifications-settings-row-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notifications-settings-row-text strong{color:var(--text-main);font-size:.9rem;font-weight:600}.notifications-settings-row-hint{color:var(--text-muted);font-size:.75rem;line-height:1.35}.notifications-settings-toggle{background:var(--border);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;width:36px;height:20px;padding:0;transition:background .18s;position:relative}.notifications-settings-toggle:disabled{opacity:.6;cursor:not-allowed}.notifications-settings-toggle.is-on{background:var(--primary-strong)}.notifications-settings-toggle-thumb{background:var(--on-primary);border-radius:50%;width:16px;height:16px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.notifications-settings-toggle.is-on .notifications-settings-toggle-thumb{transform:translate(16px)}@media (width<=640px){.notification-card{gap:.6rem;padding:.85rem .9rem}.notification-icon{width:32px;height:32px}}.nav-unread-badge{background:var(--danger);min-width:20px;height:20px;color:var(--on-danger);box-sizing:border-box;font-variant-numeric:tabular-nums;border-radius:10px;justify-content:center;align-items:center;margin-left:auto;padding:0 6px;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.org-chart-card{overflow:hidden}.org-chart-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.org-search-wrapper{flex:1;min-width:200px;max-width:300px;position:relative}.org-search-wrapper .search-icon{color:var(--text-muted);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.org-search-input{border:1px solid var(--border);background:var(--bg-inset);width:100%;color:var(--text-main);border-radius:6px;outline:none;padding:8px 10px 8px 34px;font-size:.9rem;transition:all .2s}.org-search-input:focus{border-color:var(--primary);background:var(--bg-surface);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary), transparent 88%)}.org-chart-controls{gap:.5rem;display:flex}.org-tree-container{padding:.5rem 1rem;overflow-x:auto}.org-tree{min-width:max-content}@media (width<=768px){.org-tree-container{padding:.5rem .25rem;overflow-x:visible}.org-tree{width:100%;min-width:0}}.org-unlinked-section{border-top:1px dashed var(--border);margin-top:1.5rem;padding-top:1rem}.org-unlinked-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .2rem;font-size:.85rem;font-weight:700}.org-unlinked-hint{color:var(--text-muted);max-width:60ch;margin:0 0 .9rem;font-size:.82rem}.org-unassigned-list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:4px 12px;display:grid}.org-node-wrapper{max-width:100%;position:relative}.org-node{max-width:100%;margin-bottom:4px;position:relative}.org-node-content{background:var(--bg-surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:10px;align-items:center;gap:10px;width:100%;max-width:100%;padding:12px 14px;transition:all .2s;display:flex}.org-node-content:hover{border-color:color-mix(in srgb, var(--primary), transparent 45%);transform:translateY(-1px);box-shadow:0 3px 12px #00000017}.org-node.root .org-node-content{background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 6%, var(--bg-surface)) 0%, var(--bg-surface) 55%);border-color:color-mix(in srgb, var(--primary), transparent 55%);padding-left:18px;position:relative;overflow:hidden}.org-node.root .org-node-content:before{content:"";background:var(--flow-gradient);width:3px;position:absolute;top:0;bottom:0;left:0}.org-collapse-toggle{background:color-mix(in srgb, var(--primary), transparent 90%);width:26px;height:26px;color:var(--primary);border:1px solid color-mix(in srgb, var(--primary), transparent 75%);cursor:pointer;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.org-collapse-toggle:hover:not(:disabled){background:color-mix(in srgb, var(--primary), transparent 80%);transform:scale(1.05)}.org-collapse-toggle:disabled{cursor:default}.org-collapse-toggle.invisible{visibility:hidden}.org-node-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.org-node-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-main);flex-wrap:wrap;align-items:center;gap:8px;font-size:.95rem;font-weight:700;line-height:1.3;display:flex}.org-node-subtitle{color:var(--text-muted);white-space:normal;word-break:break-word;font-size:.85rem}.org-root-badge{letter-spacing:.5px;background:var(--success-bg);color:var(--success);border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:.65rem;font-weight:600;display:inline-block}.org-children{max-width:100%;margin-left:14px;padding-top:6px;padding-left:30px;position:relative}.org-children>.org-node-wrapper:before{content:"";border-left:2px solid color-mix(in srgb, var(--primary), transparent 65%);border-bottom:2px solid color-mix(in srgb, var(--primary), transparent 65%);border-bottom-left-radius:12px;width:16px;height:32px;position:absolute;top:-8px;left:-16px}.org-children>.org-node-wrapper:not(:last-child):after{content:"";background:color-mix(in srgb, var(--primary), transparent 65%);width:2px;position:absolute;top:24px;bottom:-8px;left:-16px}.org-employee-list{flex-direction:column;gap:4px;width:100%;margin-top:8px;display:flex}.org-employee-item{background:0 0;border-radius:8px;align-items:center;gap:8px;padding:5px 6px;transition:background .15s,transform .15s;display:flex}.org-employee-item:hover{background:var(--bg-inset);transform:translate(2px)}.org-employee-avatar{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:relative}.org-node-leader{color:var(--text-muted);background:color-mix(in srgb, var(--warning-fill), transparent 88%);border:1px solid color-mix(in srgb, var(--warning-fill), transparent 75%);border-radius:999px;align-items:center;gap:.3rem;width:fit-content;margin-top:.25rem;padding:2px 8px;font-size:.78rem;display:inline-flex}.org-node-leader-icon{color:var(--warning-fill);flex-shrink:0}.org-employee-item.is-leader{background:color-mix(in srgb, var(--warning-fill), transparent 94%);border-radius:6px}.org-employee-leader-crown{background:var(--warning-fill);width:14px;height:14px;color:var(--on-warning);border:1.5px solid var(--bg-surface);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-2px;right:-3px}.org-employee-leader-tag{letter-spacing:.05em;text-transform:uppercase;color:var(--warning);background:color-mix(in srgb, var(--warning-fill), transparent 80%);vertical-align:middle;border-radius:4px;margin-left:.4rem;padding:1px 6px;font-size:.62rem;font-weight:700}[data-theme=dark] .org-employee-leader-tag{background:color-mix(in srgb, var(--warning-fill), transparent 70%)}.org-employee-info{flex-direction:column;min-width:0;display:flex}.org-employee-name{color:var(--text-main);white-space:normal;word-break:break-word;font-size:.85rem;font-weight:500;line-height:1.2}.org-employee-title{color:var(--text-muted);white-space:normal;word-break:break-word;font-size:.75rem;line-height:1.2}.org-employee-email{color:var(--text-muted);white-space:normal;word-break:break-word;font-size:.72rem;line-height:1.25}@media (width<=768px){.org-chart-header{flex-direction:column;align-items:flex-start}.org-search-wrapper{width:100%;max-width:100%}.org-chart-controls{width:100%}.org-chart-controls .btn-icon-text{flex:1;justify-content:center}.org-node-content{gap:8px;padding:8px 10px}.org-node-title{font-size:.9rem}.org-node-subtitle{font-size:.8rem}.org-collapse-toggle{width:24px;height:24px}.org-children{margin-left:10px;padding-left:22px}.org-children>.org-node-wrapper:before{width:12px;left:-12px}.org-children>.org-node-wrapper:not(:last-child):after{left:-12px}}}@layer utilities{.hidden{display:none}.truncate-text{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.flex-1{flex:1}.flex-2{flex:2}.text-mono{color:var(--text-muted);font-family:monospace}.font-medium{font-weight:500}.text-sm{font-size:.85em}.text-subtle{color:var(--text-muted)}.break-word{word-break:break-word}.cursor-pointer{cursor:pointer}.text-red{color:var(--danger)!important}.text-green{color:var(--success)}.text-green:hover{background:var(--success-bg)}.text-red:hover{background:var(--danger-bg)}.u-mb-sm{margin-bottom:.75rem}.text-muted{color:var(--text-muted)}.text-right{text-align:right}.text-center{text-align:center}.mb-2{margin-bottom:.5rem}.mb-6{margin-bottom:1.5rem}@media (width<=768px){.desktop-only{display:none!important}.mobile-only{display:flex!important}}@media (width>=769px){.mobile-only{display:none!important}.desktop-only{display:flex!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}
