:root{--bg: #eaf4ff;--surface: #f8fbff;--surface-2: #edf4ff;--ink: #14293d;--muted: #4f657c;--line: #c9d9ea;--accent: #2f70b7;--accent-2: #1f87c7;--danger: #9a1c1c;--ok-bg: #e9f7f0;--ok-line: #b5e0c2;--radius: 14px;--sidebar-width: 320px;--sidebar-mobile-width: 280px;--z-dropdown: 99;--z-sticky: 100;--z-overlay: 199;--z-sidebar: 200;--z-notif-panel: 201;--z-modal-bg: 300;--z-modal: 301;--z-toast: 400}*{box-sizing:border-box}body{margin:0;font-family:"Source Sans 3",Trebuchet MS,sans-serif;color:var(--ink);background:radial-gradient(circle at 8% -4%,#d4e8ff 0%,transparent 50%),radial-gradient(circle at 100% 8%,#dbeeff 0%,transparent 44%),var(--bg)}a{color:var(--accent-2)}code{background:#f2ebdf;border:1px solid var(--line);border-radius:8px;padding:.25rem .4rem;display:inline-block;overflow-wrap:anywhere}.app-error-boundary{min-height:100dvh;display:grid;place-items:center;padding:1rem}.app-error-boundary-card{width:min(520px,100%);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 10px 24px #14293d1f;padding:1rem 1.1rem;display:grid;gap:.55rem}.app-error-boundary-card h1{margin:0;font-size:1.15rem}.app-error-boundary-card p{margin:0;color:var(--muted)}.app-error-boundary-card button{justify-self:start}.login-shell{min-height:100dvh;display:grid;place-items:center;padding:1rem}.app-shell{display:grid;min-height:100dvh;grid-template-columns:1fr}.sidebar{padding:0;border-bottom:1px solid rgba(255,255,255,.08);background:#1a3f6d;display:flex;flex-direction:column;gap:0;min-height:0;color:#fff}.sidebar-overlay{display:none}.sidebar-main{display:grid;grid-template-rows:auto minmax(0,1fr);gap:0;min-height:0;overflow:hidden}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding:12px 14px}.sidebar-footer-top{display:flex;align-items:center;gap:12px}.brand-block{display:grid;gap:14px;padding:20px 16px 12px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-header-row{display:flex;align-items:center;gap:10px}.brand-now{display:flex;align-items:center;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:500;line-height:16px;color:#ffffff8c;letter-spacing:.01em;font-variant-numeric:tabular-nums;white-space:nowrap}.brand-meta{min-width:0;display:grid;gap:2px}.brand-logo{width:34px;height:34px;object-fit:contain;border-radius:8px;border:0;background:#2f70b7;padding:3px}.brand-logo.large{width:88px;height:88px;margin:0 auto}.sidebar h2{margin:0;color:#fff;font-size:18px;font-weight:700;line-height:22px;letter-spacing:-.4px}.workspace-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:.18rem;padding:3px;width:100%;border:0;border-radius:8px;background:#ffffff12}.workspace-mode-switch button{border:0;min-width:0;border-radius:6px;background:transparent;color:#fff6;font-size:12px;font-weight:600;justify-content:center;line-height:16px;padding:6px 8px;min-height:28px}.workspace-mode-switch button:hover,.workspace-mode-switch button:focus-visible{background:#ffffff1f;color:#fff}.workspace-mode-switch button.active{background:#2f70b7;color:#fff}.role{display:block;color:var(--muted)}.sidebar-workspace-label{color:#fff6;font-size:11px;line-height:14px}.sidebar button,button,input,textarea,select{font:inherit}.sidebar button,button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:.58rem .75rem;cursor:pointer}.sidebar button.active,button.active,button[type=submit]{background:var(--accent);color:#fff;border-color:var(--accent)}.sidebar button{border-color:#ffffff26;background:#ffffff14;color:#ffffffd9;transition:background-color .15s,border-color .15s,color .15s}.sidebar button:hover{background:#ffffff29;border-color:#ffffff40;color:#fff}.sidebar .role{color:#ffffff73}.main-nav{display:grid;gap:1px;padding:8px 10px;overflow-y:auto}.main-nav button{width:100%;display:flex;align-items:center;justify-content:flex-start;text-align:left;border:0;background:transparent;color:#fff9;padding:9px 12px;border-radius:8px;min-height:36px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:14px;font-weight:400;line-height:18px;cursor:pointer}.main-nav button:hover,.main-nav button:focus-visible{background:#ffffff14;color:#fff;outline:none}.main-nav button.active{background:#2f70b7;border-color:transparent;color:#fff;font-weight:600;box-shadow:none}.main-nav button.active:hover{background:#2f70b7}.nav-item-content{display:inline-flex;align-items:center;gap:10px;width:100%}.nav-icon-wrap{position:relative;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.nav-item-content .nav-icon{width:16px;height:16px}.nav-unread-dot{position:absolute;top:-2px;right:-3px;width:8px;height:8px;border-radius:50%;background:#3b9eff;box-shadow:0 0 0 2px #244b7d}.sse-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;align-self:center;transition:background-color .4s ease}.sse-status-dot--connected{background-color:#22c55e}.sse-status-dot--connecting,.sse-status-dot--reconnecting{background-color:#f59e0b;animation:sse-pulse 1.2s ease-in-out infinite}.sse-status-dot--disconnected{background-color:#6b7280}@keyframes sse-pulse{0%,to{opacity:1}50%{opacity:.35}}.sidebar-footer .notif-bell-wrap{position:relative;width:18px;height:18px;flex-shrink:0;background:transparent;border:0}.sidebar-footer .notif-bell-btn{position:relative;width:18px;height:18px;min-height:0;background:transparent;border:0;color:#ffffff8c;cursor:pointer;padding:0;border-radius:0;display:inline-flex;align-items:center;justify-content:center;transition:color .15s ease}.sidebar-footer .notif-bell-btn:hover,.sidebar-footer .notif-bell-btn:focus-visible{color:#fff;background:transparent;border-color:transparent;outline:none}.sidebar-footer .notif-bell-btn--open{color:#fff}.notif-bell-icon{width:18px;height:18px;display:block}.notif-bell-badge{position:absolute;top:-1px;right:-1px;width:8px;height:8px;border-radius:50%;background-color:#ef4444;border:2px solid #1a3f6d}.notification-panel{position:absolute;bottom:0;left:calc(100% + 8px);width:320px;max-height:420px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #0000001f;display:flex;flex-direction:column;overflow:hidden;z-index:var(--z-notif-panel)}.notification-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);flex-shrink:0}.notification-panel-title{font-weight:600;font-size:14px}.notification-panel-close{background:none;border:none;cursor:pointer;font-size:14px;color:var(--muted);padding:2px 6px;border-radius:4px}.notification-panel-close:hover{background-color:#0000000f}.notification-panel-empty{padding:24px 16px;color:var(--muted);font-size:14px;text-align:center}.notification-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.notification-item{display:flex;flex-direction:column;gap:2px;padding:10px 16px;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:background-color .12s}.notification-item:hover{background-color:#0000000a}.notification-item--unread{background-color:#eff6ff}.notification-item--unread:hover{background-color:#dbeafe}.notification-message{font-size:13px;line-height:1.4;color:#111827}.notification-age{font-size:11px;color:var(--muted)}.nav-icon{width:1.05rem;height:1.05rem;flex:0 0 auto}.project-list{border-top:1px solid rgba(255,255,255,.12);padding-top:.7rem;display:flex;flex-direction:column;gap:.5rem;min-height:0;overflow:hidden}.project-list-title{font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:#ffffff73}.project-list-title-row{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.project-list-title-group{display:inline-flex;align-items:center;gap:.35rem;min-width:0}.create-new-btn{width:30px;min-width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;align-self:center;font-size:1rem;line-height:1;font-weight:700}.project-search-toggle{min-width:30px;width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center}.project-sidebar-search-input{width:100%;margin-top:.18rem;margin-bottom:.12rem;flex:0 0 auto;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:10px;padding:.38rem .55rem}.project-sidebar-search-input::placeholder{color:#fff6}.project-item{display:flex;align-items:center;text-align:left;width:100%}.project-list-scroll{min-height:0;overflow-y:auto;display:grid;gap:.4rem;padding-right:.2rem;align-content:start}.project-list-scroll.with-search{margin-top:.28rem}.project-list-divider{border-top:1px solid rgba(255,255,255,.1);margin-top:.2rem;margin-bottom:.22rem}.sidebar .project-name-subtle,.sidebar .project-item-archive-mark{color:#ffffff73}.project-list-archive-entry{display:grid;gap:.25rem;margin-top:.2rem}.project-archive-btn{width:100%;text-align:left}.project-item-main{min-width:0;display:grid;gap:.1rem}.project-item-main b,.project-item-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-item-main b{font-size:.88rem;font-weight:700}.project-item small{color:#ffffff80;font-size:.78rem}.project-name-subtle{color:var(--muted);font-size:.74rem;font-weight:500;line-height:1.25}.project-item.project-item-archived{background:#ffffff0a;border-color:#ffffff14;opacity:.7}.project-item-archive-mark{color:var(--muted);font-weight:700;letter-spacing:.02em}button.project-item.active,button.project-item.active:hover,button.project-item.active:focus-visible{background:#ffffff24;border-color:#ffffff38;color:#fff;box-shadow:inset 3px 0 #fff}.project-item.active b{color:#fff}.project-item.active small{color:#ffffff8c}.content{padding:1.25rem 1.4rem}.workspace-header{display:flex;justify-content:flex-start;align-items:center;gap:.75rem;flex-wrap:nowrap;padding:0 0 .5rem;min-height:0;background:transparent;border:0}.workspace-header-datetime{display:none}.workspace-header-main{display:inline-flex;align-items:center;gap:.6rem;min-width:0}.mobile-header-brand,.mobile-header-avatar{display:none}.sidebar-toggle{display:none;width:36px;height:36px;min-width:36px;padding:0;align-items:center;justify-content:center;font-size:1rem;line-height:1}.header-back-btn{min-width:40px;height:36px;padding:0 .58rem;display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.header-tools{display:flex;align-items:center;gap:.6rem}.workspace-header-actions{display:flex;align-items:center;gap:8px;min-width:0;margin-left:auto;flex-shrink:0}.workspace-header-title{flex:1 1 0;min-width:0;overflow:hidden}.workspace-header-title h1,.workspace-header h1{margin:0;font-size:1.375rem;font-weight:700;color:#14293d;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-header-title small{display:block;color:#7b92a8;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.linklike{width:auto;border:0;background:transparent;color:var(--accent-2);padding:0;text-align:left;text-decoration:underline}.workspace-header-project{background:#f8fbff;border-bottom:1px solid #C9D9EA;min-height:52px;align-items:center;padding:0 32px 0 0;flex-wrap:nowrap;gap:.5rem}.project-header-back-btn{background:none;border:none;padding:.3rem .5rem;font-size:.875rem;font-weight:500;color:#4d6783;cursor:pointer;border-radius:6px;transition:color .15s,background-color .15s;white-space:nowrap}.project-header-back-btn:hover{background:#2f70b714;color:#173b66}.project-header-action-btn{background:transparent;border:1px solid #C9D9EA;padding:.35rem .9rem;font-size:.875rem;font-weight:500;color:#4d6783;cursor:pointer;border-radius:8px;transition:background-color .15s,color .15s,border-color .15s;font-family:inherit;white-space:nowrap}.project-header-action-btn:hover{background:#f0f5fa;border-color:#a8bfd4;color:#173b66}.project-header-action-btn.primary{background:#2563eb;border-color:#2563eb;color:#fff;font-weight:600}.project-header-action-btn.primary:hover{background:#1d4fd8;border-color:#1d4fd8;color:#fff}.project-banner{background:linear-gradient(135deg,#1a3456,#2a5480 60%,#3d6a95);flex-shrink:0;overflow:hidden}.project-banner-inner{padding:28px 32px 0;display:flex;flex-direction:column;gap:0}.project-banner-info{display:flex;flex-direction:column;gap:6px;padding-bottom:18px}.project-banner-topline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.project-banner-number{font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#fff9;flex-shrink:0}.project-banner-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:20px;background:#ffffff2e;border:1px solid #FFFFFF4D;font-size:.8125rem;font-weight:500;color:#fff}.project-banner-badge-dot{width:7px;height:7px;border-radius:50%;background:#fff;flex-shrink:0}.project-banner-badge-muted{background:#ffffff1f;border-color:#fff3}.project-banner-title{margin:0;font-size:1.75rem;font-weight:700;line-height:1.15;color:#fff}.project-banner-subtitle{margin:0;font-size:.875rem;color:#ffffffa6;line-height:1.4}.project-banner-bottom{display:flex;align-items:stretch}.project-banner-stat{display:flex;flex-direction:column;gap:2px;padding:14px 28px;background:#ffffff1f;border-top:3px solid transparent;border-radius:0;min-width:130px}.project-banner-stat-label{font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;color:#ffffff8c;line-height:1.3}.project-banner-stat-value{font-size:1.375rem;font-weight:700;color:#fff;line-height:1.25}.project-banner-stat-accent{color:#ffd97a}.project-banner-spacer{flex:1}.project-banner-tabs{display:flex;align-items:stretch;margin-left:auto;gap:0}.project-banner-tab{display:flex;align-items:center;padding:14px 20px;background:#ffffff1f;border:none;border-top:3px solid transparent;border-bottom:3px solid transparent;border-radius:0;color:#ffffffbf;font-size:.9rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background-color .15s,color .15s,border-color .15s;font-family:inherit;box-sizing:border-box}.project-banner-tab:hover:not(.active){background:#ffffff38;color:#fff}.project-banner-tab:focus{outline:none}.project-banner-tab:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:-2px}.project-banner-tab.active{background:#ffffff2e;color:#fff;font-weight:600;border-bottom-color:#fff}.project-critical-banner{display:flex;align-items:center;gap:10px;padding:8px 20px;background-color:#dc2626;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;letter-spacing:.02em;cursor:help;border-bottom:1px solid rgba(255,255,255,.25)}.project-critical-banner-icon{width:18px;height:18px;flex-shrink:0;color:#fff}.project-critical-banner-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-critical-banner-meta{font-weight:400;font-size:12px;opacity:.88;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-banner-critical-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:transparent;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.project-banner-critical-toggle svg{width:14px;height:14px}.project-banner-critical-toggle:hover:not(:disabled){background-color:#ffffff24;border-color:#fff}.project-banner-critical-toggle:disabled{opacity:.6;cursor:progress}.project-banner-critical-toggle.active{background-color:#dc2626;border-color:#dc2626;color:#fff}.project-banner-critical-toggle.active:hover:not(:disabled){background-color:#b91c1c;border-color:#b91c1c}.project-critical-dot{display:inline-block;width:8px;height:8px;margin-left:6px;border-radius:50%;background-color:#dc2626;box-shadow:0 0 0 2px #dc262638;vertical-align:middle;cursor:help;flex-shrink:0}.map-page-popup-critical{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;margin-top:2px;padding:2px 8px;border-radius:999px;background-color:#dc2626;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.03em;cursor:help}@media (max-width: 767px){.project-critical-banner{padding:6px 14px;font-size:12px}.project-critical-banner-meta{display:none}.project-banner-critical-toggle{height:26px;padding:0 10px;font-size:11px}}.grid{margin-top:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.grid.compact{margin-top:0;gap:.5rem}.overview-layout{display:grid;gap:14px;align-content:start}.overview-shortcuts{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.overview-shortcut-card{min-height:88px;padding:14px 10px;background:#fff;border:1px solid #dbe8f5;border-radius:12px;box-shadow:0 1px 4px #14293d0f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;position:relative;font-weight:600;font-size:.75rem;color:#14293d;text-align:center;transition:transform .14s,box-shadow .14s,border-color .14s}.overview-shortcut-card:hover,.overview-shortcut-card:focus-visible{transform:translateY(-1px);border-color:#bfd4ea;box-shadow:0 7px 18px #14293d14}.overview-shortcut-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:#14293d}.overview-shortcut-icon .nav-icon{width:22px;height:22px}.overview-shortcut-label{line-height:1.35}.overview-shortcut-badge{position:absolute;top:10px;right:10px;min-width:20px;padding:1px 6px;border-radius:999px;background:#e74c3c;color:#fff;font-size:10px;font-weight:700;line-height:1.2}.overview-main-grid{display:flex;align-items:flex-start;gap:14px;min-height:0}.overview-main-grid>*{min-width:0}.overview-card{border-radius:14px;border:1px solid #e6f0fb;background:#fff;box-shadow:0 1px 4px #14293d0f;overflow:hidden}.overview-card-head{padding:14px 18px 10px;border-bottom:1px solid #edf4ff}.overview-card-head h3,.overview-projects-head h3{margin:0;color:#14293d;font-size:14px;font-weight:700;line-height:18px}.overview-primary-column{width:280px;flex:0 0 280px;display:grid;gap:12px;align-items:flex-start}.overview-side-card{width:240px;flex:0 0 240px}.overview-projects-card{flex:1 1 0%}.overview-status-card{padding-bottom:18px}.overview-status-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px 0;color:#4f657c;font-size:12px;line-height:16px}.overview-status-line strong{color:#14293d;font-size:13px;line-height:16px}.overview-status-gauge-row{display:flex;align-items:center;gap:14px;padding:10px 18px 14px}.overview-status-gauge{width:64px;height:64px;flex:0 0 auto}.overview-status-gauge-track{fill:none;stroke:#edf4ff;stroke-width:8}.overview-status-gauge-fill{fill:none;stroke:#2f70b7;stroke-width:8;stroke-linecap:round}.overview-status-gauge-text{fill:#14293d;font-size:12px;font-weight:700}.overview-status-copy{display:grid;gap:4px;color:#4f657c;font-size:12px;line-height:16px}.overview-status-copy small{color:#4f657c;font-size:11px;line-height:14px}.overview-status-actions{display:flex;gap:8px;padding:0 18px}.overview-status-primary-btn,.overview-status-secondary-btn{flex:1 1 0%;min-height:36px;border-radius:10px;font-size:13px;font-weight:700}.overview-status-primary-btn{border:1px solid #14293d;background:#14293d;color:#fff}.overview-status-primary-btn:hover,.overview-status-primary-btn:focus-visible{background:#1a3550;border-color:#1a3550}.overview-status-secondary-btn{border:1.5px solid #c9d9ea;background:#fff;color:#4f657c}.overview-status-secondary-btn:hover:not(:disabled),.overview-status-secondary-btn:focus-visible:not(:disabled){border-color:#a9c1d8;background:#f7fbff}.overview-status-secondary-btn:disabled{opacity:.55;cursor:not-allowed}.overview-report-list,.overview-side-list,.overview-projects-list{display:grid}.overview-report-item{display:grid;gap:3px;padding:12px 18px;border-bottom:1px solid #edf4ff;text-align:left}.overview-report-item:last-child,.overview-side-row:last-child,.overview-project-row:last-child{border-bottom:0}.overview-report-title{color:#14293d;font-size:13px;font-weight:600;line-height:16px}.overview-report-meta{color:#4f657c;font-size:11px;line-height:14px}.overview-report-links{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:2px}.overview-report-links a,.overview-report-links button{padding:0;border:0;background:transparent;color:#2f70b7;font-size:11px;font-weight:600;line-height:14px}.overview-inline-dot{color:#4f657c;font-size:11px;line-height:14px}.overview-side-row,.overview-project-row{width:100%;display:flex;align-items:center;gap:12px;padding:11px 18px;border:0;border-bottom:1px solid #edf4ff;background:transparent;text-align:left}.overview-side-row:hover,.overview-project-row:hover,.overview-side-row:focus-visible,.overview-project-row:focus-visible{background:#f7fbff}.overview-side-row{display:block}.overview-side-row strong,.overview-project-row-copy strong{display:block;color:#2f70b7;font-size:13px;font-weight:600;line-height:16px;margin-bottom:2px}.overview-side-row small,.overview-project-row-copy small{display:block;color:#4f657c;font-size:11px;line-height:14px}.overview-project-row-copy{min-width:0;flex:1 1 auto}.overview-projects-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 10px;border-bottom:1px solid #edf4ff}.overview-projects-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.overview-state-filter{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:5px 10px;border:1px solid #c9d9ea;border-radius:8px;background:#fff;color:#14293d;font-size:12px;line-height:16px}.overview-state-filter span{white-space:nowrap}.overview-state-filter select{min-width:0;border:0;padding:0;background:transparent;color:#14293d;font-size:12px;line-height:16px}.overview-open-full-btn{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 12px;border:1px solid #c9d9ea;border-radius:8px;background:#fff;color:#14293d;font-size:12px;line-height:16px}.overview-open-full-btn:hover,.overview-open-full-btn:focus-visible{background:#f7fbff;border-color:#a9c1d8}.overview-status-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 10px;border-radius:20px;flex-shrink:0;border:1px solid #c9d9ea;background:#edf4ff;color:#4f657c;font-size:11px;font-weight:600;line-height:14px;white-space:nowrap}.overview-status-badge.status-active{border-color:#b5e0c2;background:#e9f7f0;color:#065f46}.overview-status-badge.status-on-hold{border-color:#c9d9ea;background:#edf4ff;color:#4f657c}.overview-status-badge.status-completed{border-color:#c4e3ee;background:#e9f8fd;color:#1f667b}.overview-status-badge.status-archived{border-color:#d8e2ed;background:#f4f7fb;color:#70859a}.overview-status-badge.status-planning{border-color:#f0c040;background:#fff3cd;color:#856404}.overview-empty-state{padding:16px 18px;color:#4f657c;font-size:12px;line-height:16px}.overview-list{list-style:none;margin:0;padding:0;display:grid;gap:.32rem}.overview-list li{margin:0}.overview-list-item{width:100%;display:grid;gap:.1rem;padding:.5rem .6rem;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;transition:border-color .12s,background .12s,box-shadow .12s}.overview-list-item:hover,.overview-list-item:focus-visible{border-color:#bfd4ea;background:#f7fbff;box-shadow:0 6px 16px #14293d0f}.overview-list-item b,.overview-list-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 1280px){.overview-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}.overview-main-grid{flex-wrap:wrap}.overview-projects-card{min-width:min(100%,560px)}}@media (max-width: 1024px){.overview-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-primary-column,.overview-side-card,.overview-projects-card{width:100%;flex-basis:100%}}@media (min-width: 768px) and (max-width: 899px){.overview-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 640px){.overview-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-projects-head{align-items:flex-start;flex-direction:column}.overview-projects-controls{width:100%}.overview-state-filter,.overview-open-full-btn{width:100%;justify-content:space-between}.overview-status-gauge-row{align-items:flex-start;flex-direction:column}.overview-status-actions{flex-direction:column}}.projects-all-card{margin-top:1rem;align-content:start}.projects-all-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.projects-all-head h3{margin:0}.projects-all-filters{display:grid;grid-template-columns:minmax(240px,1.4fr) repeat(2,minmax(180px,1fr));gap:.6rem;align-items:end}.projects-all-filters label{margin:0}.projects-all-search{justify-self:start}.projects-all-list{gap:.55rem}.projects-all-list .overview-list-item{text-decoration:none;border:1px solid var(--line);border-radius:10px;background:#fff;padding:.55rem .6rem}.projects-all-list .overview-list-item b,.projects-all-list .overview-list-item small{white-space:normal;overflow:visible;text-overflow:clip}.materials-view-card{margin-top:1rem;align-content:start;border-radius:18px;box-shadow:0 1px 4px #14293d0f;background:transparent;border:0;padding:0}.materials-view-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:1rem;align-items:start}.materials-panel{border:0;border-radius:14px;background:#fff;box-shadow:0 1px 4px #14293d0f;padding:0;display:grid;gap:0;overflow:hidden}.materials-panel h4{margin:0}.materials-list-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;padding:1rem 1.25rem .85rem;border-bottom:1px solid #edf4ff}.materials-list-head h4{margin:0}.materials-collapse-controls{display:flex;align-items:center;gap:.35rem;font-size:.8rem}.materials-groups{display:grid;gap:.5rem;padding:.9rem 1rem 1rem}.materials-group{border:0;border-radius:0;overflow:visible;background:#fff}.materials-group-header{width:100%;display:flex;align-items:center;gap:.5rem;padding:.5rem .25rem .7rem;background:#fff;border:none;border-bottom:1px solid #edf4ff;cursor:pointer;text-align:left;font-size:.88rem;transition:background .12s}.materials-group-header:hover{background:transparent}.materials-group-chevron{font-size:.7rem;color:var(--muted);flex-shrink:0;width:.9rem}.materials-group-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.materials-group-project-link{font-weight:700;font-size:.88rem;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.materials-group-subtitle{font-size:.76rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.materials-group-meta{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.materials-group-count{font-size:.76rem;color:var(--muted)}.materials-group-open-badge{font-size:.72rem;font-weight:700;padding:.12rem .45rem;border-radius:999px;background:#fff2ef;color:#8d250f;border:1px solid #edc6bc;white-space:nowrap;cursor:default}.materials-group-ready-badge{font-size:.72rem;font-weight:700;padding:.12rem .45rem;border-radius:999px;background:#ecf9f0;color:#1b6333;border:1px solid #b8dfc3;white-space:nowrap;cursor:default}.materials-group-items{padding:.55rem .25rem .1rem;border-top:0}.materials-catalog-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;align-items:start}.materials-catalog-search-field{display:grid;gap:.45rem;align-content:start;min-width:0}.materials-catalog-search-field b{line-height:1.2}.materials-catalog-search-input{min-height:40px}.materials-view-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;margin-bottom:.9rem}.materials-view-head h3{margin:0;font-size:1.125rem;line-height:1.2}.materials-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.materials-item{border:1px solid #edf4ff;border-radius:8px;background:#fff;padding:.62rem .68rem;display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:.7rem;align-items:center}.materials-item-image-wrap{width:58px;height:58px;border-radius:10px;border:1px solid var(--line);background:#f7f9fc;overflow:hidden;display:grid;place-items:center}.materials-item-image{width:100%;height:100%;object-fit:cover}.materials-item-image-empty{background:#fbfcff}.materials-item-main{min-width:0;display:grid;gap:.16rem}.materials-item-main b,.materials-item-main small{overflow-wrap:anywhere}.materials-item-main small{color:var(--muted)}.materials-item-note,.materials-item-note-add{font-size:.78rem;text-align:left;line-height:1.3;padding:0;border:none;background:none;cursor:pointer}.materials-item-note{color:var(--ink);opacity:.72}.materials-item-note:hover{opacity:1;text-decoration:underline;text-decoration-style:dotted}.materials-item-note-add{color:var(--muted);opacity:.7}.materials-item-note-add:hover{opacity:1}.materials-item-note-edit{display:flex}.materials-item-note-input{font-size:.78rem;padding:.18rem .35rem;border:1px solid var(--accent, #2f70b7);border-radius:4px;width:100%;min-width:0;background:#fff;color:var(--ink);outline:none}.materials-item-note-input:focus{box-shadow:0 0 0 2px #2f70b72e}.materials-item-actions{display:grid;gap:.38rem;justify-items:end}.materials-catalog-panel .materials-catalog-controls{padding:1rem 1.25rem .75rem;grid-template-columns:1fr;gap:.5rem;border-bottom:1px solid #edf4ff}.materials-catalog-panel .materials-import-note,.materials-catalog-panel .materials-catalog-meta,.materials-catalog-panel .materials-catalog-list{padding-left:1rem;padding-right:1rem}.materials-catalog-panel .materials-catalog-list{padding-bottom:.9rem}.materials-import-note{margin:0}.materials-image-sync-box{border:1px solid var(--line);border-radius:10px;background:#f7fafe;padding:.45rem .55rem;display:grid;gap:.2rem}.materials-status-badge{border:1px solid transparent;border-radius:999px;padding:.18rem .5rem;font-size:.76rem;font-weight:700;line-height:1.1}.materials-status-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:filter .16s ease}.materials-status-toggle:hover:not(:disabled){filter:brightness(.97)}.materials-status-toggle:disabled{cursor:not-allowed;opacity:.7}.materials-status-badge.order{color:#8d250f;border-color:#edc6bc;background:#fff2ef}.materials-status-badge.on-the-way{color:#1e4f86;border-color:#bfd5ee;background:#edf5ff}.materials-status-badge.available{color:#1b6333;border-color:#b8dfc3;background:#ecf9f0}.materials-status-badge.completed{color:#5a6475;border-color:#d4d9e2;background:#f4f6f9}.materials-complete-btn{border:1px solid #b8dfc3;border-radius:999px;padding:.16rem .56rem;background:#ecf9f0;color:#1b6333;font-size:.76rem;font-weight:700;line-height:1.1;cursor:pointer}.materials-complete-btn:disabled{cursor:not-allowed;opacity:.7}.materials-add-btn{border:1px solid #bfd5ee;border-radius:999px;padding:.18rem .56rem;background:#edf5ff;color:#1e4f86;font-size:.76rem;font-weight:700;line-height:1.1;cursor:pointer;white-space:nowrap}.materials-add-btn:disabled{cursor:not-allowed;opacity:.7}.materials-shop-step{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.55rem;position:relative}.materials-shop-step-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;border-radius:50%;background:var(--accent, #1e4f86);color:#fff;font-size:.72rem;font-weight:800;flex-shrink:0;margin-top:1.35rem}.materials-shop-step-badge--dim{background:var(--muted-bg, #d8dde4);color:var(--muted, #8a929e)}.materials-shop-step-check{display:inline-flex;align-items:center;color:#2d9e61;font-size:1rem;margin-top:1.35rem;flex-shrink:0}.materials-catalog-search-input.materials-step-done{border-color:#2d9e61;background:#f0faf4}.materials-cart-actions{display:flex;flex-direction:column;align-items:stretch;gap:.3rem;min-width:5rem}.materials-qty-input{width:100%;border:1px solid var(--line);border-radius:6px;padding:.2rem .4rem;font-size:.78rem;background:var(--bg);color:var(--text);text-align:center}.materials-qty-input::placeholder{color:var(--muted);font-size:.74rem}.materials-qty-input:disabled{opacity:.5;cursor:not-allowed}.materials-shop-hint{font-size:.78rem;margin:.2rem 0 .35rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;display:grid;gap:.65rem;box-shadow:0 6px 20px #100d090a}.auth-card{width:min(460px,100%)}.login-password-wrap{position:relative;display:block}.login-password-wrap>input{padding-right:2.6rem}.login-password-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:8px;background:transparent;color:#5c7895;cursor:pointer;transition:background-color .15s ease,color .15s ease}.login-password-toggle:hover,.login-password-toggle:focus-visible{background-color:#14293d0f;color:#14293d;outline:none}.login-password-eye-icon{width:18px;height:18px}input,textarea,select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:.58rem;width:100%}textarea{min-height:84px}label{display:grid;gap:.35rem}.row{display:flex;align-items:center;gap:.6rem}.row.wrap{flex-wrap:wrap}.pre-user-menu-wrap{position:relative;min-width:0;flex:1 1 auto}.pre-user-menu-popup{position:absolute;left:-4px;right:-4px;bottom:calc(100% + 8px);z-index:20;background-color:#fff;border:1px solid #c9d9ea;border-radius:12px;padding:10px;box-shadow:0 16px 40px #0e27413d,0 4px 12px #0e274114;display:flex;flex-direction:column;gap:10px;min-width:220px}.pre-user-menu-section{display:flex;flex-direction:column;gap:6px}.pre-user-menu-section-label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:.08em;color:#8fa2ba;text-transform:uppercase;padding-left:4px}.pre-user-menu-lang{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background-color:#f8fbff;border:1px solid #e2ecf7;border-radius:8px}.sidebar-footer .pre-user-menu-lang-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:30px;padding:0;border:0;border-radius:6px;background-color:transparent;color:#5c7895;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:700;letter-spacing:.04em;cursor:pointer;min-height:0;transition:background-color .15s ease,color .15s ease}.sidebar-footer .pre-user-menu-lang-btn:hover:not(.pre-user-menu-lang-btn--active){background-color:#edf4ff;color:#14293d}.sidebar-footer .pre-user-menu-lang-btn--active{background-color:#2f70b7;color:#fff}.pre-user-menu-divider{height:1px;background-color:#edf4ff;margin:2px 0}.sidebar-footer .pre-user-menu-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;display:inline-flex;align-items:center;gap:10px;padding:9px 12px;border:0;border-radius:8px;background-color:transparent;color:#14293d;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;text-align:left;cursor:pointer;min-height:0;transition:background-color .15s ease,color .15s ease}.sidebar-footer .pre-user-menu-item:hover{background-color:#edf4ff}.sidebar-footer .pre-user-menu-item--danger{color:#c43a3a}.sidebar-footer .pre-user-menu-item--danger:hover{background-color:#fef5f5;color:#c43a3a}.sidebar-footer .pre-user-menu-item svg{flex-shrink:0;opacity:.85}.pre-user-menu-footer{display:flex;flex-direction:column;gap:2px;padding:8px 4px 2px;border-top:1px solid #edf4ff}.pre-user-menu-footer small{display:flex;justify-content:space-between;gap:10px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:10px;font-weight:500;color:#8fa2ba;line-height:14px}.pre-user-menu-footer small b{font-weight:700;color:#5c7895;font-variant-numeric:tabular-nums}.sidebar-user{display:flex;align-items:center;gap:10px;min-width:0}.sidebar-footer .sidebar-user-btn{width:100%;text-align:left;min-height:32px;padding:0;border:0;background:transparent;border-radius:8px;color:inherit;cursor:pointer}.sidebar-footer .sidebar-user-btn:hover,.sidebar-footer .sidebar-user-btn:focus-visible{background:transparent;border-color:transparent;outline:none}.sidebar-footer .sidebar-user-btn:hover .sidebar-user-meta b{color:#fff}.sidebar-user-btn .sidebar-user{pointer-events:none}.sidebar-user-avatar{position:relative;overflow:hidden;width:32px;height:32px;border-radius:50%;border:0;background:#2f70b7;display:flex;align-items:center;justify-content:center;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:700;color:#fff;box-shadow:none;flex-shrink:0}.sidebar-user-avatar img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:2}.sidebar-user-avatar span{position:relative;z-index:1}.profile-avatar{width:64px;height:64px;font-size:1rem}.profile-head-row{align-items:center}.profile-avatar-trigger{position:relative;width:68px;height:68px;padding:0;border:0;background:transparent;border-radius:50%;overflow:hidden;cursor:pointer}.profile-avatar-trigger .profile-avatar{width:100%;height:100%}.profile-avatar-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;font-size:.72rem;font-weight:600;background:#120e0a75;opacity:0;transition:opacity .14s ease}.profile-avatar-trigger:hover .profile-avatar-overlay,.profile-avatar-trigger:focus-visible .profile-avatar-overlay{opacity:1}.profile-layout{margin-top:1rem;display:grid;gap:1rem;grid-template-columns:1fr;align-items:start}.profile-left-stack{display:grid;gap:1rem;align-content:start}.profile-settings-card{align-content:start}.notif-pwa-hint{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:.75rem .9rem}.notif-pwa-hint-title{font-weight:600;font-size:.9rem;margin:0}.notif-pwa-steps{margin:0;padding-left:1.3rem;font-size:.85rem;line-height:1.7;color:var(--ink)}.notif-pwa-icon{font-style:normal;font-size:1rem;vertical-align:middle}.profile-admin-center-card{align-content:start}.admin-row-actions{justify-content:flex-start;gap:.35rem}.admin-row-actions button{white-space:nowrap;padding:.44rem .58rem}.admin-user-inactive td{opacity:.78}.admin-actions-menu-wrap{position:relative;display:inline-flex;justify-content:flex-start}.admin-actions-trigger{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1}.admin-actions-menu{position:absolute;top:calc(100% + .2rem);right:0;left:auto;min-width:180px;z-index:45;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 24px #0e274129;padding:.28rem;display:grid;gap:.2rem}.admin-actions-menu button{width:100%;justify-content:flex-start;text-align:left;padding:.42rem .5rem;border-radius:8px}.admin-actions-menu button.danger{color:#8d1b1b}.admin-users-archive{margin-top:1rem;display:grid;gap:.55rem}.admin-users-archive h4{margin:0}.admin-user-archive-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem}.admin-actions-menu button:disabled{opacity:.55;cursor:not-allowed}.admin-update-tools{border:1px solid var(--line);border-radius:10px;padding:.6rem;background:#fff}.admin-update-step-list{margin:0;padding-left:1rem;display:grid;gap:.2rem}.admin-center-title{margin:0 0 1.25rem}.admin-tabs{display:flex;gap:2px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:4px;margin-bottom:1.75rem;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-shrink:0}.admin-tab-btn{background:transparent;border:none;margin-bottom:0;padding:.45rem 1.1rem;font-size:.875rem;font-weight:500;color:var(--muted);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:.45rem;border-radius:8px;transition:color .15s,background-color .15s;font-family:inherit}.admin-tab-btn.active{background:#14293d;color:#fff;font-weight:600}.admin-tab-btn:hover:not(.active){background:var(--back);color:var(--dark)}.admin-tab-btn:focus-visible{background:var(--back);color:var(--dark);outline:none}.admin-tab-count{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:.05rem .45rem;font-size:.72rem;font-weight:600;line-height:1.4;color:var(--muted)}.admin-tab-btn.active .admin-tab-count{background:#ffffff2e;border-color:#ffffff47;color:#fff}.admin-stats-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem}.admin-stat-chip{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:.45rem 1rem;font-size:.82rem;color:var(--muted);text-align:center;min-width:72px}.admin-stat-chip b{display:block;font-size:1.3rem;font-weight:700;color:var(--ink);line-height:1.2}.admin-stat-chip--ok b{color:#1a7a45}.admin-stat-chip--muted b{color:var(--muted)}.admin-user-list{margin-top:1rem}.admin-user-row{display:grid;grid-template-columns:40px 1fr auto auto;align-items:center;gap:.85rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.admin-user-row--archived{opacity:.6}.admin-avatar{width:36px;height:36px;flex-shrink:0}.admin-avatar--muted{opacity:.5}.admin-user-info{min-width:0}.admin-user-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-user-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-top:.1rem}.admin-user-email{font-size:.82rem;color:var(--muted)}.admin-badge{font-size:.72rem;font-weight:600;padding:.1rem .45rem;border-radius:20px;white-space:nowrap}.admin-badge--warn{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.admin-user-controls{display:grid;gap:.45rem;justify-items:end;justify-self:end;min-width:0;width:max-content;max-width:100%}.admin-user-control-row{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;width:auto;max-width:100%;min-width:0}.admin-user-control-label{font-size:.72rem;font-weight:700;color:var(--muted);white-space:nowrap}.admin-role-select{font-size:.82rem;padding:.2rem .4rem;width:140px;max-width:100%}.admin-hours-row{gap:.35rem;align-items:center}.admin-hours-input{width:56px;text-align:center;padding:.2rem .25rem;font-size:.82rem}.admin-hours-unit{font-size:.78rem}.admin-save-btn{font-size:.78rem;padding:.2rem .55rem}.admin-user-actions{display:flex;flex-direction:column;gap:.3rem;position:relative;z-index:1}.admin-btn-danger{color:var(--danger)!important}.admin-btn-danger:hover{background:#fef2f2!important;border-color:#fca5a5!important}.admin-archived-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line)}.admin-archived-list{margin-top:.75rem}.admin-form-section{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1.25rem}.admin-form-title{margin:0 0 .85rem;font-size:.95rem}.admin-form-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.85rem}.admin-form-row label{display:flex;flex-direction:column;gap:.25rem;font-size:.84rem;font-weight:500;flex:1 1 200px}.admin-invite-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin-bottom:.85rem}.admin-invite-row label{display:flex;flex-direction:column;gap:.25rem;font-size:.84rem;font-weight:500;flex:1 1 180px}.admin-invite-row input,.admin-invite-row select{height:2.4rem;box-sizing:border-box}.admin-invite-actions{display:flex;gap:.5rem;flex-shrink:0;align-items:flex-end;padding-bottom:.05rem;flex-wrap:wrap}.admin-group-card{border:1px solid var(--line);border-radius:var(--radius);padding:.85rem 1rem;margin-bottom:.65rem;background:var(--surface)}.admin-group-members{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.6rem}.admin-member-chip{background:var(--surface-2);border:1px solid var(--line);border-radius:20px;padding:.15rem .6rem;font-size:.78rem;white-space:nowrap}.admin-member-chip--inactive{opacity:.5}.admin-group-form{display:flex;flex-direction:column}.admin-group-form-body{flex:1 1 auto}.admin-group-form-footer{padding-top:.75rem;margin-top:0}.admin-member-checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.15rem;max-height:200px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;padding:.5rem;background:var(--surface)}.admin-member-check-row{display:flex;align-items:center;gap:.22rem;padding:.25rem .35rem;font-size:.84rem;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.admin-member-check-row input{width:auto;min-width:1rem;height:1rem;margin:0;padding:0;flex-shrink:0}.admin-member-check-row:hover{background:var(--surface-2)}.admin-user-row-wrap{display:flex;flex-direction:column}.admin-user-perm-panel{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;margin:.25rem 0 .75rem}.admin-user-perm-header{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.85rem}.admin-user-perm-title{font-weight:600;font-size:.9rem}.admin-perm-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.75rem 1rem}.admin-perm-group{display:flex;flex-direction:column;gap:.25rem;min-width:0}.admin-perm-group-label{font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.15rem}.admin-perm-items{display:flex;flex-direction:column;gap:.15rem}.admin-perm-item{display:grid;grid-template-columns:1fr;align-items:start;gap:.5rem;padding:.25rem .4rem;border-radius:5px;font-size:.82rem;transition:background .1s}.admin-perm-item--extra{background:color-mix(in srgb,var(--ok, #22c55e) 12%,transparent)}.admin-perm-item--denied{background:color-mix(in srgb,var(--danger, #ef4444) 12%,transparent)}.admin-perm-item-label{display:flex;align-items:center;gap:.4rem;flex:1 1 0;min-width:0;line-height:1.35}.admin-perm-role-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.admin-perm-role-dot--on{background:var(--ok, #22c55e)}.admin-perm-role-dot--off{background:var(--line)}.admin-perm-toggles{display:grid;grid-auto-flow:column;gap:.75rem;align-items:center;justify-content:start;justify-self:start;min-width:fit-content}.admin-perm-toggle-label{display:flex;align-items:center;gap:.18rem;font-size:.76rem;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.admin-perm-toggle-label input{width:auto;min-width:1rem;height:1rem;margin:0;padding:0;flex-shrink:0}.admin-perm-toggle-label--extra{color:var(--ok, #22c55e)}.admin-perm-toggle-label--deny{color:var(--danger, #ef4444)}.admin-audit-filters{position:relative;flex:1 1 360px;min-width:min(100%,320px)}.admin-audit-filters[open]{z-index:6}.admin-audit-filters-summary{list-style:none;display:flex;align-items:center;gap:.55rem;min-height:42px;padding:.55rem .8rem;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font-size:.88rem;color:var(--ink)}.admin-audit-filters-summary::-webkit-details-marker{display:none}.admin-audit-filter-count{min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:999px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:700}.admin-audit-filter-summary-text{color:var(--muted);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-audit-filters-panel{margin-top:.45rem;padding:.9rem;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 18px 40px #0f172a14;display:grid;gap:.9rem}.admin-audit-filter-group{display:grid;gap:.45rem}.admin-audit-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.admin-audit-filter-label{font-size:.78rem;font-weight:700;color:var(--muted)}.admin-audit-filter-options{display:flex;flex-wrap:wrap;gap:.45rem}.admin-audit-filter-pill{display:inline-flex;align-items:center;gap:.38rem;padding:.38rem .65rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:.82rem;color:var(--ink);cursor:pointer}.admin-audit-filter-pill input,.admin-audit-filter-check input{width:auto;min-width:1rem;margin:0}.admin-audit-filter-check{display:inline-flex;align-items:center;gap:.45rem;min-height:42px;padding:.55rem .75rem;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);font-size:.84rem;color:var(--ink)}.admin-audit-filter-field{display:grid;gap:.35rem}.admin-audit-filter-field select,.admin-audit-filter-field input{width:100%}.admin-audit-filter-actions{display:flex;justify-content:flex-end}.admin-audit-search{flex:1 1 200px;max-width:340px}.admin-audit-code{font-size:.76rem;background:var(--surface-2);border:1px solid var(--line);border-radius:4px;padding:.1rem .35rem;color:var(--accent-2)}@media (max-width: 768px){.admin-audit-filter-grid{grid-template-columns:1fr}.admin-audit-filters-summary{flex-wrap:wrap;align-items:flex-start}.admin-audit-filter-summary-text{width:100%;white-space:normal}}.admin-settings-card{border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;background:var(--surface);margin-bottom:1rem}.admin-settings-card h4{margin:0 0 .35rem}.perm-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.perm-heading{margin:0 0 .25rem;font-size:1rem;font-weight:600}.perm-subline{margin:0;font-size:.84rem;line-height:1.45;color:var(--muted)}.perm-matrix-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--radius)}.perm-matrix{width:100%;border-collapse:collapse;font-size:.84rem;min-width:640px}.perm-matrix thead th{background:var(--surface);border-bottom:2px solid var(--line);padding:.6rem .75rem;text-align:center;white-space:nowrap;font-weight:600}.perm-col-label{text-align:left!important;width:220px;min-width:180px}.perm-col-role{min-width:90px}.perm-role-header{display:flex;flex-direction:column;align-items:center;gap:.3rem}.perm-role-name{font-size:.82rem;font-weight:600}.perm-reset-btn{background:transparent;border:none;border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;padding:.2rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .15s}.perm-reset-btn svg{width:15px;height:15px}.perm-reset-btn:hover:not(:disabled){color:var(--accent)}.perm-reset-btn:disabled{opacity:.35;cursor:default}.perm-group-row{background:var(--surface-raised, var(--surface))}.perm-group-row td{border-top:2px solid var(--line);padding:.45rem .75rem}.perm-group-label{font-weight:600;font-size:.8rem;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.perm-perm-row{border-bottom:1px solid var(--line-faint, var(--line))}.perm-perm-row:last-child{border-bottom:none}.perm-perm-row:hover{background:var(--surface-2)}.perm-perm-label{padding:.45rem .75rem .45rem 1.25rem;color:var(--ink);font-size:.84rem;display:flex;flex-direction:column;gap:.1rem}.perm-key{font-size:.72rem;color:var(--muted);font-family:var(--font-mono, monospace);background:none;padding:0}.perm-tooltip-popup{position:fixed;z-index:300;max-width:260px;background:var(--ink, #1a1814);color:#fff;font-size:.78rem;line-height:1.45;padding:.38rem .62rem;border-radius:6px;box-shadow:0 4px 14px #00000038;pointer-events:none;white-space:normal}.perm-cell{text-align:center;padding:.45rem .5rem;vertical-align:middle}.perm-cell--group{background:var(--surface-raised, var(--surface))}.perm-toggle-label{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.perm-checkbox{width:1.1rem;height:1.1rem;accent-color:var(--accent);cursor:pointer}.perm-checkbox:disabled{cursor:not-allowed;opacity:.45}.perm-locked-badge{font-size:.82rem;line-height:1;opacity:.6}@media (max-width: 768px){.admin-user-row{grid-template-columns:36px 1fr;row-gap:.5rem}.admin-user-controls,.admin-user-actions{grid-column:1 / -1}.admin-user-controls{justify-items:stretch;min-width:0;width:100%}.admin-user-control-row,.admin-user-actions{justify-content:flex-start;flex-wrap:wrap;align-items:center}.admin-role-select{width:min(180px,100%);max-width:100%}.admin-perm-toggles{grid-auto-flow:row;justify-content:start;justify-self:start;gap:.35rem}}.weekday-checkbox-group{display:grid;gap:.38rem;min-width:min(360px,100%)}.weekday-checkbox-row{display:flex;flex-wrap:wrap;gap:.45rem}.weekday-checkbox-item{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line);border-radius:10px;padding:.34rem .52rem;background:#fff}.weekday-checkbox-item input{width:auto}.sidebar-user-meta{min-width:0;display:flex;flex-direction:column;gap:1px;flex:1 1 auto}.sidebar-user-meta b,.sidebar-user-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:"Source Sans 3",system-ui,sans-serif}.sidebar-user-meta b{font-size:13px;font-weight:600;line-height:17px;color:#fff}.sidebar-user-meta .role{color:#fff6;font-size:11px;font-weight:400;line-height:14px}.sidebar-user-btn.active .sidebar-user-meta b,.sidebar-user-btn.active .sidebar-user-meta .role{color:#fff}.signout-btn{margin-left:auto;min-width:72px;height:30px;padding:0;font-size:.73rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap}.project-summary-card{margin-top:.8rem}.project-summary-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,260px);gap:.9rem;align-items:start}.project-summary-info{display:grid;gap:.35rem;min-width:0}.project-summary-grid{display:flex;flex-wrap:wrap;gap:.8rem}.project-map-card{justify-self:stretch;width:100%;max-width:none;padding:.45rem;display:grid;gap:.35rem}.project-map-card-full{min-height:100%}.project-overview-shell{margin-top:1rem;display:grid;gap:.95rem}.project-showcase-card{padding:1.15rem 1.25rem;border:1px solid #d5e0ec;border-radius:20px;background:radial-gradient(circle at top right,rgba(121,178,229,.16),transparent 32%),linear-gradient(180deg,#fff,#f6f9fc);box-shadow:0 16px 32px #1130520f}.project-showcase-head{display:grid;gap:1rem;grid-template-columns:minmax(0,1.6fr) minmax(280px,.95fr);align-items:start}.project-showcase-copy{display:grid;gap:.45rem}.project-showcase-topline{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.project-showcase-number,.project-showcase-status,.project-showcase-context{display:inline-flex;align-items:center;min-height:30px;padding:.15rem .72rem;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.02em}.project-showcase-number{background:#e8f0fb;color:#173b66}.project-showcase-status{background:#eaf6ee;color:#2d744d}.project-showcase-context{background:#eef2f6;color:#516a86}.project-showcase-copy h3{margin:0;font-size:1.55rem;line-height:1.15;color:#143251}.project-showcase-copy p{margin:0;font-size:1rem;font-weight:600;color:#203d5a}.project-showcase-copy small{color:#5c7289}.project-showcase-stats{display:grid;gap:.6rem;grid-template-columns:repeat(3,minmax(0,1fr))}.project-showcase-stat{display:grid;gap:.18rem;padding:.85rem .95rem;border-radius:16px;border:1px solid #dae4ee;background:#ffffffe6}.project-showcase-stat span{font-size:.74rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#657b92}.project-showcase-stat b{font-size:1.42rem;line-height:1.1;color:#143251}.project-overview-grid{margin-top:1rem;display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start}.project-overview-grid-paper{margin-top:0;grid-template-columns:minmax(0,1.45fr) minmax(300px,.9fr);gap:1rem}.project-overview-main-column,.project-overview-side-column{display:grid;gap:1rem;align-content:start}.project-overview-grid .card{align-content:start;align-items:start;padding:1rem 1.05rem;border-radius:18px;border-color:#dce5ee;box-shadow:0 10px 24px #1432510d}.project-overview-grid .project-map-card{gap:.65rem}.project-overview-title,.project-overview-grid .card>h3,.project-overview-card-head h3{margin:0;font-size:1.02rem;line-height:1.25}.project-overview-subheading{margin:0;color:var(--muted)}.project-overview-view-all{font-size:.85rem;font-weight:600}.project-overview-open-task-list{margin-top:.25rem;max-height:220px;overflow:auto;padding-right:.2rem}.project-overview-task-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.project-overview-task-item>div{display:grid;gap:.2rem;min-width:0}.project-overview-task-item>div b{display:block;color:#14293d;font-size:.9rem;font-weight:600;line-height:1.25}.project-overview-task-item>div small{display:block;color:#5c7690;font-size:.78rem;line-height:1.3}.project-overview-task-type{flex-shrink:0;display:inline-flex;align-items:center;min-height:26px;padding:.12rem .7rem;border-radius:999px;background:#fff3cd;border:1px solid #F5E6A5;color:#7a5a00;font-size:.72rem;font-weight:600;text-transform:capitalize}.project-overview-weather{min-height:170px;align-content:start}.project-weather-grid{margin-top:.35rem;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;width:100%;min-width:0;overflow-x:clip;padding-bottom:0}.project-weather-day-card{border:1px solid #dce5ee;border-radius:14px;padding:.5rem;display:grid;gap:.12rem;align-content:start;min-width:0;background:#f8fbfe}.project-weather-day-card img{width:38px;height:38px;display:block}.project-overview-meta,.project-overview-contact,.project-overview-note,.project-overview-office-notes,.project-overview-changes,.project-finance-card,.project-hours-card{align-content:start}.project-overview-note{background:#fff8e1;border:1px solid #F5E6A5}.project-overview-note .project-overview-title{color:#7a5a00}.project-overview-note small{color:#5c4400}.project-overview-note .icon-btn{color:#7a5a00}.project-overview-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.project-overview-card-head h3{margin:0}.project-note-edit{display:grid;gap:.55rem}.project-overview-site-card{display:grid;gap:.8rem}.project-overview-site-address{display:grid;gap:.2rem}.project-overview-site-address b{font-size:.95rem;color:#173b66}.project-overview-site-address small{color:#62798f}.project-change-row{display:grid;gap:.1rem}.project-office-note-row{display:grid;gap:.2rem}.project-office-note-text{white-space:pre-wrap;word-break:break-word}.project-overview-office-notes .overview-list,.project-overview-changes .overview-list{max-height:230px;overflow-y:auto;overflow-x:hidden;padding-right:.2rem}.project-finance-form{display:grid;gap:.6rem}.project-finance-hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(220px,1fr));gap:.9rem;margin-top:.5rem}.project-finance-hero-card{border:1px solid #d8e3ed;border-radius:18px;padding:1rem 1.05rem;display:grid;gap:.3rem}.project-finance-hero-card-primary{background:linear-gradient(135deg,#2d74b8,#3a88c8);color:#fff;border-color:#225c9780}.project-finance-hero-card-success{background:#eef8f0;border-color:#d2e6d3}.project-finance-hero-card-warning{background:#fff6ec;border-color:#ead6bf}.project-finance-hero-card .project-finance-metric-label{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.project-finance-hero-card-primary .project-finance-metric-label,.project-finance-hero-card-primary .project-finance-hero-note,.project-finance-hero-card-primary .project-finance-hero-value{color:#fff}.project-finance-hero-value{font-size:2rem;line-height:1.05;font-weight:800;overflow-wrap:anywhere}.project-finance-hero-note{font-size:.88rem;color:#6f7f91}.project-finance-paper-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.9fr);gap:1rem;margin-top:1rem}.project-finance-milestones-card,.project-finance-breakdown-card,.project-hours-main-panel,.project-hours-summary-card,.project-hours-edit-card{border:1px solid #dce5ee;border-radius:18px;background:#fff;padding:1rem 1.05rem;display:grid;gap:.7rem}.project-finance-milestones-card h4,.project-finance-breakdown-card h4,.project-hours-summary-card h4,.project-hours-edit-card h4{margin:0;font-size:1rem}.project-finance-milestones-list,.project-finance-breakdown-list{display:grid;gap:.55rem}.project-finance-milestone-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.8rem 0;border-bottom:1px solid #edf2f7}.project-finance-milestone-row:last-child{border-bottom:0;padding-bottom:0}.project-finance-milestone-share{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;border-radius:12px;background:#eef4ff;color:#2f70b7;font-weight:800;font-size:.85rem}.project-finance-milestone-copy{display:grid;gap:.1rem}.project-finance-milestone-copy small,.project-finance-breakdown-row small{color:var(--muted)}.project-finance-milestone-value{font-size:1rem;text-align:right}.project-finance-breakdown-row{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.project-finance-warning-box{border:1px solid #ead6bf;border-radius:12px;background:#fff7ea;color:#71481d;padding:.75rem .8rem;line-height:1.35}.project-finance-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));column-gap:.55rem;row-gap:.3rem;margin-top:.5rem}.project-finance-last-update{display:block;margin-top:.4rem}.project-finance-metric{display:grid;gap:.1rem;min-width:0}.project-finance-metric-label{color:var(--muted);font-size:.9rem;line-height:1.2}.project-finance-metric-value{font-size:1.05rem;line-height:1.25;overflow-wrap:anywhere}.project-hours-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.9fr);gap:1rem;align-items:start}.project-hours-metrics{display:grid;gap:.35rem}.project-hours-edit{display:grid;gap:.55rem;max-width:100%}.project-hours-side{display:grid;gap:.75rem;min-width:0}.project-materials-card{align-content:start;border-radius:20px}.project-mat-stats{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--muted)}.project-mat-stats b{color:var(--ink)}.project-mat-stats-sep{color:var(--line)}.project-mat-filter-hint{color:var(--accent);font-weight:600}.project-mat-search{width:100%;max-width:none;min-height:40px}.project-mat-table{overflow-x:auto;display:grid;gap:0;border:1px solid #dce5ee;border-radius:18px;background:#fff;overflow:hidden}.project-mat-row{display:grid;grid-template-columns:minmax(160px,2.5fr) minmax(80px,.9fr) minmax(70px,.8fr) minmax(120px,1.6fr) minmax(80px,.75fr) minmax(90px,.9fr);gap:.55rem;align-items:center;border:0;border-bottom:1px solid #edf2f7;background:#fff;padding:.72rem 1rem;min-width:680px}.project-mat-row--head{background:#edf3fb;padding:.62rem 1rem}.project-mat-col-btn{background:transparent;border:none;padding:0;font-size:.83rem;font-weight:700;color:var(--ink);cursor:pointer;text-align:left;white-space:nowrap}.project-mat-col-btn:hover{color:var(--accent);background:transparent;border:none}.project-mat-col-notes{font-size:.83rem;font-weight:700;color:var(--ink)}.project-mat-sort-arrow{color:var(--accent);font-weight:700}.project-mat-name{font-weight:600;overflow-wrap:anywhere;font-size:.9rem}.project-mat-qty{font-weight:600;color:var(--ink)}.project-mat-notes{color:var(--muted);font-size:.8rem;overflow-wrap:anywhere}.project-mat-counts{color:var(--ink)}.project-mat-report-count{color:var(--muted)}.project-mat-empty{padding:.9rem 1rem;min-width:680px;display:block}.project-materials-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.project-materials-item{grid-template-columns:minmax(0,1fr);gap:.45rem;align-items:start}.project-materials-item .materials-item-main{gap:.24rem}.project-map-frame{width:100%;height:170px;border:0;border-radius:8px;background:#f0f3f9}.project-map-link{display:block;line-height:0;cursor:pointer}.project-map-copy-btn{min-width:30px;width:30px;height:30px;padding:0}@media (max-width: 1240px){.project-weather-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-finance-hero-grid{grid-template-columns:1fr}.project-finance-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 860px){.materials-view-layout,.construction-report-page{grid-template-columns:1fr}.report-form-paper{grid-template-columns:1fr;padding:1.2rem}.materials-catalog-controls{grid-template-columns:1fr}.project-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-finance-paper-layout,.project-hours-layout{grid-template-columns:1fr}.project-hours-edit{max-width:100%}.materials-item{grid-template-columns:58px minmax(0,1fr);align-items:start}.materials-item-actions{justify-items:start;grid-column:1 / -1}}button:disabled{opacity:.6;cursor:not-allowed}.metric-stack{display:grid;gap:.2rem;color:var(--muted)}.metric-grid{display:grid;gap:.35rem;color:var(--muted)}.work-gauge{display:grid;gap:.4rem;border:1px solid var(--line);border-radius:12px;background:#fff;padding:.6rem .7rem}.project-hours-main-panel .work-gauge{border:0;padding:0;box-shadow:none;background:transparent;gap:.9rem}.project-hours-main-panel .work-gauge-head{justify-content:flex-start;gap:.8rem}.project-hours-main-panel .work-gauge-head b{font-size:1.2rem}.project-hours-main-panel .work-gauge-head span{font-size:.9rem;color:#60768d}.project-hours-main-panel .work-gauge-ring{width:200px;height:200px}.project-hours-main-panel .work-gauge-ring-inner strong{font-size:2rem}.project-hours-main-panel .work-gauge-meta{justify-content:center;gap:1rem}.work-gauge.compact{padding:.5rem .6rem}.work-gauge-head{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.work-gauge-head span{font-weight:700;color:var(--accent-2)}.work-gauge-ring{width:132px;height:132px;border-radius:999px;border:1px solid var(--line);padding:10px;display:grid;place-items:center;justify-self:center}.work-gauge.compact .work-gauge-ring{width:108px;height:108px;padding:9px}.work-gauge-ring-inner{width:100%;height:100%;border-radius:999px;background:#fff;border:1px solid #d8d3ca;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.1rem}.work-gauge-ring-inner strong{font-size:1rem;line-height:1.1}.work-gauge-value{transform:translateY(3px)}.work-gauge.compact .work-gauge-ring-inner strong{font-size:.92rem}.work-gauge-ring-inner small{color:var(--muted);font-size:.72rem;line-height:1}.work-gauge-meta{display:flex;flex-wrap:wrap;gap:.6rem;color:var(--muted)}.time-grid{align-items:start}.time-current-card{align-content:start}.time-current-head{justify-content:flex-start;align-items:center;gap:.45rem}.time-current-main{display:flex;align-items:flex-start;gap:.75rem}.time-current-metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));min-width:0}.time-info-wrap{position:relative;margin-left:0}.time-info-trigger{border:0;background:transparent;padding:0}.time-info-trigger small{display:inline-flex;align-items:center;gap:.2rem}.time-info-trigger b{color:var(--ink)}.time-info-popover{position:absolute;left:0;right:auto;top:calc(100% + .4rem);width:min(360px,calc(100vw - 2.1rem));max-width:calc(100vw - 2.1rem);border:1px solid var(--line);background:#fff;border-radius:10px;padding:.62rem;box-shadow:0 10px 24px #100d091f;display:none;gap:.38rem;z-index:35}.time-info-wrap:hover .time-info-popover,.time-info-wrap.open .time-info-popover{display:grid}.time-info-metrics{gap:.23rem}.time-current-actions{align-items:center;gap:.45rem}.time-month-card,.time-requests-card,.time-school-card{align-content:start}.time-month-nav{display:flex;align-items:center;justify-content:center;gap:.7rem}.time-month-nav b{min-width:170px;text-align:center;text-transform:capitalize}.monthly-gauge-wrap{position:relative;width:100%;max-width:300px;margin:0 auto .35rem}.monthly-gauge{width:100%;height:auto;display:block}.monthly-gauge-track{fill:none;stroke:#d5e2ef;stroke-width:18;stroke-linecap:round}.monthly-gauge-fill{fill:none;stroke:#2f6f7f;stroke-width:18;stroke-linecap:round}.monthly-gauge-center{position:absolute;left:50%;bottom:24px;transform:translate(-50%);text-align:center;display:grid;gap:.05rem}.monthly-gauge-center strong{font-size:1.62rem;line-height:1.1}.monthly-gauge-center small{color:var(--muted);font-size:.78rem;line-height:1;white-space:nowrap}.weekly-hours-list{display:grid;gap:.65rem;margin-top:.35rem}.weekly-hours-row{border:1px solid var(--line);border-radius:10px;background:#fff;padding:.5rem .6rem;display:grid;gap:.38rem}.month-holidays-list{margin-top:.75rem;padding-top:.6rem;border-top:1px solid var(--line);display:grid;gap:.3rem}.month-holiday-row{display:flex;align-items:center;gap:.5rem;font-size:.82rem}.month-holiday-date{color:#d97708;font-weight:600;min-width:2.8rem}.month-holiday-name{color:var(--text)}.weekly-hours-row.current{border-color:#8db0d0;box-shadow:inset 0 0 0 1px #c4d8ec}.weekly-hours-head{display:flex;align-items:baseline;justify-content:space-between;gap:.7rem}.weekly-hours-head b{font-size:.84rem;font-weight:600}.weekly-week-number{color:#2d3034}.weekly-hours-values{display:inline-flex;align-items:baseline;gap:.6rem;justify-content:flex-end;font-weight:700}.weekly-hours-values span:last-child{color:var(--muted)}.weekly-hours-separator{color:var(--muted)}.weekly-hours-track{width:100%;height:14px;border-radius:999px;border:1px solid var(--line);background:#edf4fb;overflow:hidden}.weekly-hours-fill{height:100%;border-radius:inherit;background:#2f6f7f}.required-hours-list{display:grid;gap:.5rem}.required-hours-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.5rem .6rem;border:1px solid var(--line);border-radius:10px;background:#fff}.required-hours-row input,.admin-required-hours-cell input{width:90px}.required-hours-row button,.admin-required-hours-cell button{white-space:nowrap}ul{padding-left:1rem;margin:0}li{margin:.35rem 0}.muted{color:var(--muted)}.error,.notice{margin-top:.7rem;padding:.72rem;border-radius:10px;cursor:pointer}.error{border:1px solid #f2c4c4;background:#fff1f1;color:var(--danger)}.notice{border:1px solid var(--ok-line);background:var(--ok-bg);color:#1f4e2d}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a1a308c;display:grid;place-items:center;padding:1rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:300}.modal-card{width:min(760px,100%);max-height:92vh;overflow:auto;background-color:#fff;border:1px solid #c9d9ea;border-radius:16px;box-shadow:0 24px 64px #14293d38,0 4px 12px #14293d14;z-index:301}.modal-card-sm{width:min(440px,100%)}.action-link-dialog{display:grid;gap:.9rem}.action-link-input{width:100%;font-size:.9rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.action-link-actions{display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap}.modal-form{display:grid;gap:.65rem}.modal-subgrid{gap:.6rem}.employee-search-wrap{position:relative;min-width:200px}.employee-search-input-row{display:flex;align-items:center;gap:0;position:relative}.employee-search-input{flex:1;padding-right:2rem}.employee-search-clear{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--muted);padding:0 .25rem;line-height:1}.employee-search-clear:hover{color:var(--text)}.employee-search-dropdown{position:absolute;top:100%;left:0;right:0;z-index:200;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 16px #0000001f;max-height:220px;overflow-y:auto;list-style:none;margin:2px 0 0;padding:.2rem 0}.employee-search-option{padding:.45rem .75rem;cursor:pointer;font-size:.9rem}.employee-search-option:hover{background:var(--surface-2)}.absence-type-badge{display:inline-block;padding:0 .45rem;border-radius:999px;font-size:.75rem;font-weight:600;vertical-align:middle}.absence-type-badge.counts{background:#ecf9f0;color:#1b6333}.absence-type-badge.no-counts{background:#fff2ef;color:#8d250f}.time-entry-list{display:grid;gap:.7rem}.time-entry{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:.6rem;display:grid;gap:.5rem}.planning-grid{align-items:start}.planning-only,.calendar-overview{margin-top:1rem;min-height:calc(100dvh - 210px);align-content:start;padding:1.15rem 1.2rem 1.2rem;border-radius:14px;box-shadow:0 1px 4px #14293d0f}.calendar-toolbar-shell{align-items:center}.planning-toolbar-shell{display:grid;gap:.6rem}.planning-toolbar{justify-content:space-between;align-items:center}.planning-task-type-toggle{margin-top:.3rem;margin-bottom:.55rem}.planning-toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.6rem}.planning-task-type-toggle-paper{margin:0;padding:.18rem;border:0;border-radius:8px;background:#fff;box-shadow:0 1px 3px #14293d0f}.planning-task-type-toggle-paper button{min-width:0;padding:.34rem .75rem;border-radius:6px;border-color:transparent;background:transparent;color:#4f657c;font-size:.78rem}.planning-task-type-toggle-paper button.active{background:#2f70b7;color:#fff}.planning-week-nav{display:flex;align-items:center;gap:.45rem}.planning-week-nav-paper{align-items:center}.planning-week-number{min-width:150px;text-align:center;font-weight:700;padding:.38rem .85rem;border:1px solid #c9d9ea;border-radius:8px;background:#fff;color:#153454;font-size:.81rem}.calendar-range-pill{min-width:170px;text-align:center;font-weight:700;padding:.35rem .85rem;border:1px solid #c9d9ea;border-radius:8px;background:#fff;font-size:.81rem}.planning-week-picker{min-width:min(220px,100%);display:grid;gap:.2rem;justify-items:start}.planning-add-task-btn{min-height:30px;padding:.42rem 1rem;border-radius:8px;border:1px solid #2f70b7;background:#2f70b7;color:#fff;font-weight:700;font-size:.82rem}.planning-page{margin-top:1rem;display:flex;flex-direction:column;gap:16px}.planning-page-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:22px;font-weight:700;color:#14293d}.planning-page .planning-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-start;padding:0;background:transparent;box-shadow:none;border:0;margin:0}.planning-page .planning-filter-pills{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid #c9d9ea;border-radius:12px;background-color:#fff;box-shadow:0 1px 2px #14293d0a}.planning-page .planning-filter-pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:6px 16px;border:0;border-radius:8px;background-color:transparent;color:#5c7895;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer;line-height:18px;min-height:0;transition:background-color .15s ease,color .15s ease}.planning-page .planning-filter-pill:hover:not(.planning-filter-pill--active){background-color:#edf4ff;color:#14293d}.planning-page .planning-filter-pill--active{background-color:#2f70b7;color:#fff}.planning-page .planning-week-nav{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.planning-page .planning-week-nav-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;padding:0;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;color:#5c7895;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;min-height:0;flex-shrink:0;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.planning-page .planning-week-nav-btn:hover{background-color:#edf4ff;border-color:#b7d2ec;color:#2f70b7}.planning-page .planning-week-label{position:relative;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;color:#14293d;white-space:nowrap;min-width:180px;justify-content:center;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.planning-page .planning-week-label:hover{background-color:#f8fbff;border-color:#b7d2ec}.planning-page .planning-week-label-cw{color:#14293d;font-weight:700}.planning-page .planning-week-label-sep{color:#9aaec4}.planning-page .planning-week-label-range{color:#5c7895;font-weight:500}.planning-page .planning-week-date-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;border:0;padding:0;background:transparent;cursor:pointer;min-height:0;font:inherit}.planning-page .planning-add-task-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:0;height:32px;padding:0 16px;border-radius:8px;border:1px solid #14293d;background-color:#14293d;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:background-color .15s ease,border-color .15s ease}.planning-page .planning-add-task-btn:hover{background-color:#0c1e2e;border-color:#0c1e2e}.planning-page .planning-calendar-scroll{overflow-x:auto;border:1px solid #c9d9ea;border-radius:14px;background-color:#fff;box-shadow:0 1px 4px #14293d0a;overflow:hidden}.planning-page .planning-grid-unified{--planning-col-min: 164px;display:grid;grid-template-columns:repeat(7,minmax(var(--planning-col-min),1fr));min-width:max(100%,calc(var(--planning-col-min) * 7));gap:0;background:transparent}.planning-page .planning-col{background-color:#fff;border-right:1px solid #edf4ff;min-height:420px;max-height:none}.planning-page .planning-col:last-child{border-right:0}.planning-page .planning-weekend-col{background-color:#f8fbff}.planning-page .planning-today-col{background-color:#eef5fc}.planning-page .planning-col-head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:14px 8px;background-color:#fff;border-bottom:1px solid #edf4ff;border-right:0}.planning-page .planning-weekend-col .planning-col-head{background-color:#f8fbff}.planning-page .planning-today-col .planning-col-head{background-color:#dbeafe;border-bottom-color:#b7d2ec}.planning-page .planning-col-day-name{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;color:#8fa2ba;text-transform:uppercase}.planning-page .planning-today-col .planning-col-day-name{color:#2f70b7}.planning-page .planning-today-col .planning-col-day-name:after{content:" · TODAY";font-weight:700}.planning-page .planning-col-day-num{font-family:"Source Sans 3",system-ui,sans-serif;font-size:22px;font-weight:700;color:#14293d;line-height:26px;background:transparent;padding:0}.planning-page .planning-today-col .planning-col-day-num,.planning-page .planning-col-day-num.today-num{color:#2f70b7;background:transparent}.planning-page .planning-col ul{list-style:none;padding:10px 8px;margin:0;display:flex;flex-direction:column;gap:6px}.planning-page .planning-task{margin:0;display:flex;flex-direction:column;gap:2px;border:0;border-left:3px solid #f5b000;border-radius:0 6px 6px 0;padding:10px 12px;background-color:#fff8e1;font-family:"Source Sans 3",system-ui,sans-serif}.planning-page .planning-task b{font-size:13px;font-weight:700;color:#14293d;line-height:18px}.planning-page .planning-task small{font-size:11px;color:#5c7895;line-height:15px}.planning-page .planning-task .linklike{font-size:11px;color:#5c7895;font-weight:500}.planning-page .planning-task[data-task-type=customer_appointment]{border-left-color:#2f70b7;background-color:#e8f1fc}.planning-page .planning-task[data-task-type=office]{border-left-color:#6ea54f;background-color:#f1f9ee}.planning-page .planning-task-mine{border-left-color:#2f70b7;background-color:#dbeafe}.planning-page .planning-task-mine b{color:#14293d}.planning-page .planning-task-mine[data-task-type=customer_appointment]{border-left-color:#2f70b7;background-color:#dbeafe}.planning-page .planning-task-mine[data-task-type=office]{border-left-color:#6ea54f;background-color:#e2f1d9}.planning-page .planning-absence{margin:0;display:flex;flex-direction:column;gap:2px;border-left:3px solid #db2777;border-radius:0 6px 6px 0;padding:10px 12px;background-color:#fce7f3}.planning-page .planning-absence b{font-size:13px;font-weight:700;color:#831843}.planning-page .planning-absence small{font-size:11px;color:#9d174d}.planning-page .planning-empty-cell{color:#c9d9ea;font-size:20px;text-align:center;padding:12px 0;-webkit-user-select:none;user-select:none}.planning-page .planning-col-month-label{display:none}@media (max-width: 767px){.planning-page .planning-toolbar{flex-direction:column;align-items:center;gap:10px}.planning-page .planning-week-nav{display:flex;margin-left:0;justify-content:center;align-self:center;order:-1;width:auto;max-width:100%}.planning-page .planning-week-label-sep,.planning-page .planning-week-label-range{display:none}.planning-page .planning-week-label-cw{font-size:16px;font-weight:700}.planning-page .planning-filter-pills{overflow-x:auto;justify-content:flex-start;gap:8px;align-self:stretch}.planning-page .planning-filter-pill{white-space:nowrap;flex-shrink:0}.planning-page .planning-add-task-btn,.planning-page .planning-view-toggle-btn{display:none}.planning-page{gap:10px;overflow-x:hidden;max-width:100%}.planning-page .planning-calendar-scroll{overflow-x:visible;min-width:0;width:100%}}.construction-report{margin-top:1rem;display:flex;flex-direction:column;gap:16px}.construction-report-draft-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;background-color:#fffaed;border:1px solid #f5e6a5;border-radius:10px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#7a5a00}.construction-report-draft-banner-actions{display:flex;gap:8px;flex-shrink:0}.construction-report-drafts-list{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background-color:#f6f9fd;border:1px solid #c9d9ea;border-radius:12px;font-family:"Source Sans 3",system-ui,sans-serif}.construction-report-drafts-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.construction-report-drafts-head h3{margin:0;font-size:14px;font-weight:700;color:#14293d}.construction-report-drafts-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.construction-report-draft-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background-color:#fff;border:1px solid #dce6f1;border-radius:8px}.construction-report-draft-row.is-active{border-color:#2f70b7;box-shadow:0 0 0 2px #2f70b71f}.construction-report-draft-row-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.construction-report-draft-row-main strong{font-size:13px;color:#14293d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.construction-report-draft-row-main small{font-size:11px;color:#5c7895}.construction-report-draft-row-actions{display:flex;gap:6px;flex-shrink:0}.construction-report-btn--danger{background-color:transparent;color:#b91c1c;border:1px solid rgba(185,28,28,.4)}.construction-report-btn--danger:hover:not(:disabled){background-color:#b91c1c14;border-color:#b91c1c}.construction-report-form{background-color:#fff;border:1px solid #c9d9ea;border-radius:14px;box-shadow:0 1px 4px #14293d0a;padding:24px 28px 22px;display:flex;flex-direction:column;gap:18px;font-family:"Source Sans 3",system-ui,sans-serif}.construction-report-task-prefill{padding:8px 12px;background-color:#f8fbff;border:1px solid #e2ecf7;border-radius:8px;font-size:12px;color:#5c7895}.construction-report-field{display:flex;flex-direction:column;gap:6px;min-width:0}.construction-report-field--full{width:100%}.construction-report-label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;color:#4f657c}.construction-report-input{width:100%;height:42px;padding:0 14px;border:1px solid #c9d9ea;border-radius:8px;background-color:#f8fbff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:14px;color:#14293d;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.construction-report-input::placeholder{color:#9aaec4}.construction-report-input:hover:not(:disabled):not(:read-only){border-color:#b7d2ec}.construction-report-input:focus{outline:none;border-color:#2f70b7;background-color:#fff;box-shadow:0 0 0 3px #2f70b726}.construction-report-input:read-only{background-color:#eef2f7;color:#5c7895;cursor:not-allowed}.construction-report-textarea{height:auto;min-height:72px;padding:12px 14px;line-height:20px;resize:vertical}.construction-report-grid--2col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media (max-width: 640px){.construction-report-grid--2col{grid-template-columns:1fr}}.construction-report-project-picker{position:relative;display:flex;flex-direction:column;gap:4px}.construction-report-input-wrap{position:relative;display:flex;align-items:center}.construction-report-project-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none}.construction-report-input--has-icon{padding-left:38px}.construction-report-input-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:24px;height:24px;padding:0;border:0;background:transparent;color:#8fa2ba;font-size:16px;cursor:pointer;border-radius:999px;min-height:0}.construction-report-input-clear:hover{background-color:#edf4ff;color:#14293d}.construction-report-project-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;background-color:#fff;border:1px solid #c9d9ea;border-radius:8px;box-shadow:0 8px 24px #14293d1f;padding:4px;max-height:260px;overflow-y:auto}.construction-report-project-option{padding:8px 12px;border-radius:6px;font-size:13px;color:#14293d;cursor:pointer}.construction-report-project-option:hover{background-color:#edf4ff}.construction-report-project-option--empty{color:#9aaec4;pointer-events:none;font-style:italic}.construction-report-section{display:flex;flex-direction:column;gap:8px}.construction-report-section-head{display:flex;align-items:center;gap:10px}.construction-report-section-label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;color:#4f657c}.construction-report-add-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:2px 10px;height:22px;border:0;border-radius:999px;background-color:#dbeafe;color:#2f70b7;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:700;cursor:pointer;line-height:1;min-height:0;transition:background-color .15s ease,color .15s ease}.construction-report-add-link:hover:not(:disabled){background-color:#2f70b7;color:#fff}.construction-report-add-link:disabled{opacity:.5;cursor:not-allowed}.construction-report-table{display:flex;flex-direction:column;gap:6px;padding:12px;background-color:#f8fbff;border:1px solid #e2ecf7;border-radius:10px}.construction-report-table-head,.construction-report-table-row{display:grid;gap:8px;align-items:center}.construction-report-table--workers .construction-report-table-head,.construction-report-table--workers .construction-report-table-row{grid-template-columns:minmax(0,1fr) 96px 96px 34px}.construction-report-table--materials .construction-report-table-head,.construction-report-table--materials .construction-report-table-row{grid-template-columns:minmax(0,2fr) 72px 88px 110px 34px}@media (max-width: 720px){.construction-report-table--workers .construction-report-table-head,.construction-report-table--workers .construction-report-table-row{grid-template-columns:minmax(0,1fr) 1fr 1fr 34px}.construction-report-table--materials .construction-report-table-head,.construction-report-table--materials .construction-report-table-row{grid-template-columns:minmax(0,1fr) 1fr 34px}.construction-report-table--materials .construction-report-table-row input:nth-of-type(3),.construction-report-table--materials .construction-report-table-row input:nth-of-type(4){grid-column:span 1}}.construction-report-table-head span{font-family:"Source Sans 3",system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8fa2ba;padding:0 6px}.construction-report-table .construction-report-input{height:36px;font-size:13px;background-color:#fff}.construction-report-row-remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;padding:0;border:1px solid #f3c0c0;border-radius:6px;background-color:#fef5f5;color:#c43a3a;font-size:16px;font-weight:400;cursor:pointer;min-height:0;display:inline-flex;align-items:center;justify-content:center}.construction-report-row-remove:hover:not(:disabled){background-color:#fde7e7;border-color:#e34b4b}.construction-report-row-remove:disabled{opacity:.5;cursor:not-allowed}.construction-report-office-divider{display:flex;align-items:center;margin-top:6px}.construction-report-office-divider:before,.construction-report-office-divider:after{content:"";flex:1 1 auto;border-top:1px solid #edf4ff}.construction-report-office-divider span{padding:0 12px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8fa2ba}.construction-report-photos{display:flex;flex-direction:column;gap:10px}.construction-report-photos-input{display:none}.construction-report-photos-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;color:#14293d;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer;min-height:0;transition:background-color .15s ease,border-color .15s ease}.construction-report-photos-btn:hover:not(:disabled){background-color:#edf4ff;border-color:#b7d2ec}.construction-report-photos-btn:disabled{opacity:.5;cursor:not-allowed}.construction-report-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}.construction-report-photo-tile{position:relative;aspect-ratio:4 / 3;border-radius:8px;overflow:hidden;background-color:#f8fbff;border:1px solid #e2ecf7}.construction-report-photo-tile img{width:100%;height:100%;object-fit:cover}.construction-report-photo-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;padding:0;border:0;border-radius:999px;background-color:#e34b4beb;color:#fff;font-size:14px;line-height:1;cursor:pointer;min-height:0;display:inline-flex;align-items:center;justify-content:center}.construction-report-photo-remove:hover:not(:disabled){background-color:#c43a3a}.construction-report-upload-progress{display:flex;flex-direction:column;gap:6px;padding:10px 14px;background-color:#f8fbff;border:1px solid #e2ecf7;border-radius:8px}.construction-report-upload-track{width:100%;height:6px;background-color:#e2ecf7;border-radius:999px;overflow:hidden}.construction-report-upload-fill{display:block;height:100%;background-color:#2f70b7;transition:width .2s ease}.construction-report-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:12px;border-top:1px solid #edf4ff}.construction-report-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:38px;padding:0 18px;border-radius:8px;border:1px solid transparent;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer;min-height:0;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.construction-report-btn--primary{background-color:#2f70b7;border-color:#2f70b7;color:#fff}.construction-report-btn--primary:hover:not(:disabled){background-color:#2861a2;border-color:#2861a2}.construction-report-btn--secondary{background-color:#fff;border-color:#c9d9ea;color:#14293d}.construction-report-btn--secondary:hover:not(:disabled){background-color:#edf4ff;border-color:#b7d2ec}.construction-report-btn--ghost{background-color:transparent;border-color:transparent;color:#5c7895}.construction-report-btn--ghost:hover:not(:disabled){background-color:#edf4ff;color:#14293d}.construction-report-btn:disabled{opacity:.5;cursor:not-allowed}.construction-report-files{background-color:#fff;border:1px solid #c9d9ea;border-radius:14px;box-shadow:0 1px 4px #14293d0a;padding:20px 24px;display:flex;flex-direction:column;gap:10px}.construction-report-files-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:15px;font-weight:700;color:#14293d}.construction-report-files-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.construction-report-files-list li{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d}.construction-report-files-list a{color:#2f70b7;text-decoration:none}.construction-report-files-list a:hover{text-decoration:underline}.tasks-page{margin-top:1rem;display:flex;flex-direction:column;gap:12px}.tasks-page-back-row{display:flex}.tasks-page-back-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;color:#14293d;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer;min-height:0;transition:background-color .15s ease,border-color .15s ease}.tasks-page-back-btn:hover{background-color:#edf4ff;border-color:#b7d2ec}.tasks-page-card{background-color:#fff;border:1px solid #c9d9ea;border-radius:14px;box-shadow:0 1px 4px #14293d0a;overflow:hidden;display:flex;flex-direction:column}.tasks-page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 28px 16px}.tasks-page-head--office{border-bottom:1px solid #edf4ff}.tasks-page-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:22px;font-weight:700;color:#14293d;line-height:28px;letter-spacing:-.01em}.tasks-page-count{display:inline-flex;align-items:center;height:26px;padding:0 14px;border-radius:999px;background-color:#2f70b7;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:700}.tasks-page-add-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border:1px solid #14293d;border-radius:8px;background-color:#14293d;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer;min-height:0;transition:background-color .15s ease}.tasks-page-add-btn:hover{background-color:#0c1e2e;border-color:#0c1e2e}.tasks-page-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.tasks-page-empty{padding:28px 24px;text-align:center;font-size:13px}.tasks-page-row{position:relative;border-bottom:1px solid #edf4ff;background-color:#fff;transition:background-color .15s ease}.tasks-page-row:last-child{border-bottom:0}.tasks-page-row:before{content:"";position:absolute;top:0;bottom:0;left:0;width:4px;background-color:transparent;transition:background-color .15s ease}.tasks-page-row--overdue{background-color:#fef5f5}.tasks-page-row--overdue:before{background-color:#e34b4b}.tasks-page-row--in-progress:before{background-color:#f5b000}.tasks-page-row--done{background-color:#f8fbff}.tasks-page-row--expanded{background-color:#e8f1fc}.tasks-page-row--expanded:before{background-color:#2f70b7}.tasks-page-row--expanded.tasks-page-row--overdue{background-color:#fef0f0}.tasks-page-row--expanded.tasks-page-row--overdue:before{background-color:#e34b4b}.tasks-page-row--office{display:flex;align-items:flex-start;gap:18px;padding:16px 24px}.tasks-page-row--open:before{background-color:#c9d9ea}.tasks-page-row--unassigned{background-color:#fff}.tasks-page-row--unassigned:before{background-color:#f5b000}.tasks-page-row--in_progress:before{background-color:#2f70b7}.tasks-page-row--done{background-color:#f5faf2}.tasks-page-row--done:before{background-color:#6ea54f}.tasks-page-row--done .tasks-page-row-title{color:#5c7895;text-decoration:line-through}.tasks-page-office-row-body{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:5px}.tasks-page-row-project-link{color:#2f70b7;font-weight:500;background:none;border:none;padding:0;font-family:inherit;font-size:inherit;cursor:pointer;text-decoration:none}.tasks-page-row-project-link:hover{text-decoration:underline}.tasks-page-status-pill{display:inline-flex;align-items:center;height:19px;padding:0 8px;border-radius:4px;border:1px solid transparent;font-family:"Source Sans 3",system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:.06em;white-space:nowrap;flex-shrink:0}.tasks-page-status-pill--overdue{background-color:#e34b4b;color:#fff;border-color:#e34b4b}.tasks-page-status-pill--unassigned{background-color:#fff3d1;color:#6b4e00;border-color:#f5b000}.tasks-page-status-pill--in_progress{background-color:#dbeafe;color:#14446f;border-color:#2f70b7}.tasks-page-status-pill--done{background-color:#e2f1d9;color:#395e22;border-color:#6ea54f}.tasks-page-status-pill--open{background-color:#eef2f7;color:#14293d;border-color:#c9d9ea}.tasks-page-row-actions--inline{flex-shrink:0;padding-top:0;gap:8px;align-items:center}.calendar-page{margin-top:1rem;display:flex;flex-direction:column;gap:16px}.calendar-page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.calendar-page-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:22px;font-weight:700;color:#14293d;letter-spacing:-.01em}.calendar-page-range-nav{display:inline-flex;align-items:center;gap:8px}.calendar-page-nav-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;padding:0;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;color:#5c7895;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;min-height:0;flex-shrink:0;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.calendar-page-nav-btn:hover{background-color:#edf4ff;border-color:#b7d2ec;color:#2f70b7}.calendar-page-range-label{position:relative;display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 16px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;color:#14293d;white-space:nowrap;min-width:170px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.calendar-page-range-label:hover{background-color:#f8fbff;border-color:#b7d2ec}.calendar-page-range-date{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;border:0;padding:0;background:transparent;cursor:pointer;min-height:0;font:inherit}.calendar-page-empty{padding:32px;text-align:center;background-color:#fff;border:1px solid #c9d9ea;border-radius:14px;box-shadow:0 1px 4px #14293d0a;font-size:13px}.calendar-page-card{background-color:#fff;border:1px solid #c9d9ea;border-radius:14px;box-shadow:0 1px 4px #14293d0a;overflow:hidden}.calendar-page-grid{display:grid;grid-template-columns:52px repeat(7,minmax(0,1fr));background-color:#edf4ff;gap:1px}.calendar-page-corner{background-color:#fff;min-height:36px}.calendar-page-col-header{background-color:#fff;padding:11px 12px 9px;text-align:center;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;color:#8fa2ba;text-transform:uppercase}.calendar-page-col-header--weekend{color:#9aaec4}.calendar-page-week-num{background-color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 0}.calendar-page-week-num-label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:.06em;color:#8fa2ba;text-transform:uppercase}.calendar-page-week-num-value{font-family:"Source Sans 3",system-ui,sans-serif;font-size:18px;font-weight:700;color:#14293d}.calendar-page-day{background-color:#fff;min-height:180px;padding:8px 8px 10px;display:flex;flex-direction:column;gap:6px}.calendar-page-day--weekend{background-color:#f8fbff}.calendar-page-day--today{background-color:#e8f1fc}.calendar-page-day--holiday{background-color:#fff5f9}.calendar-page-day-head{display:flex;align-items:baseline;gap:6px;padding:0 2px}.calendar-page-day-num{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:700;color:#14293d}.calendar-page-day--weekend .calendar-page-day-num{color:#5c7895}.calendar-page-day--today .calendar-page-day-num{color:#2f70b7}.calendar-page-today-pill{display:inline-flex;align-items:center;height:16px;padding:0 8px;border-radius:999px;background-color:#2f70b7;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:lowercase}.calendar-page-day-month{font-family:"Source Sans 3",system-ui,sans-serif;font-size:10px;font-weight:600;color:#8fa2ba;text-transform:capitalize}.calendar-page-day-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.calendar-page-event{position:relative;padding:4px 8px 4px 10px;border-radius:3px;border-left:3px solid transparent;background-color:#f1f5f9;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;line-height:14px;color:#14293d;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-page-event span{display:block;overflow:hidden;text-overflow:ellipsis}.calendar-page-event--clickable{cursor:pointer;transition:filter .15s ease}.calendar-page-event--clickable:hover{filter:brightness(.96)}.calendar-page-event--construction{background-color:#fff8e1;border-left-color:#f5b000;color:#14293d}.calendar-page-event--customer_appointment{background-color:#dbeafe;border-left-color:#2f70b7;color:#14293d}.calendar-page-event--office{background-color:#e2f1d9;border-left-color:#6ea54f;color:#14293d}.calendar-page-event--absence{background-color:#fce7f3;border-left-color:#db2777;color:#831843}.calendar-page-event--holiday{background-color:#fde7ef;border-left-color:#ec4899;color:#9d174d;font-weight:600}.calendar-page-event--done{background-color:#eef2f7;border-left-color:#9aaec4;color:#8fa2ba;text-decoration:line-through}.calendar-page-event--mine.calendar-page-event--construction{background-color:#fff3d1}.calendar-page-event--mine.calendar-page-event--customer_appointment{background-color:#cfe0f7}.calendar-page-event--mine.calendar-page-event--office{background-color:#d4e8c5}.calendar-view-toggle{display:inline-flex;background-color:#f2f6fb;border:1px solid #C9D9EA;border-radius:10px;padding:3px;gap:2px}.calendar-view-toggle button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:6px 16px;border-radius:8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;color:#5c7895;cursor:pointer;min-height:0;transition:background-color .15s ease,color .15s ease}.calendar-view-toggle button:hover:not(.active){background-color:#e2ecf7}.calendar-view-toggle button.active{background-color:#14293d;color:#fff}.team-calendar-day-nav{display:flex;align-items:center;gap:10px}.team-calendar-today-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:32px;padding:0 14px;border:1px solid #C9D9EA;border-radius:8px;background-color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;color:#14293d;cursor:pointer;min-height:0}.team-calendar-today-btn:hover{background-color:#f2f6fb}.team-calendar{display:flex;flex-direction:column;gap:14px}.team-calendar-picker{position:relative}.team-calendar-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.team-calendar-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 8px;border:1px solid;border-radius:999px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;cursor:pointer;min-height:0;transition:opacity .15s ease}.team-calendar-chip:hover{opacity:.8}.team-calendar-chip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.team-calendar-chip-x{font-size:14px;line-height:1;opacity:.6}.team-calendar-add-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;height:30px;padding:0 14px;border:1px dashed #C9D9EA;border-radius:999px;background-color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;color:#2f70b7;cursor:pointer;min-height:0}.team-calendar-add-btn:hover:not(:disabled){background-color:#f2f6fb;border-color:#2f70b7}.team-calendar-add-btn:disabled{opacity:.4;cursor:not-allowed}.team-calendar-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:20;min-width:220px;max-height:280px;overflow-y:auto;padding:4px;border:1px solid #C9D9EA;border-radius:10px;background-color:#fff;box-shadow:0 12px 28px #14293d1f;display:flex;flex-direction:column;gap:2px}.team-calendar-dropdown-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:8px 12px;border:0;border-radius:6px;background-color:transparent;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:500;color:#14293d;text-align:left;cursor:pointer;min-height:0;display:flex;justify-content:space-between;align-items:center;gap:10px}.team-calendar-dropdown-item:hover{background-color:#f2f6fb}.team-calendar-dropdown-role{font-size:11px;color:#5c7895;text-transform:capitalize}.team-calendar-empty{padding:48px 24px;text-align:center;font-family:"Source Sans 3",system-ui,sans-serif;font-size:14px;color:#5c7895;background-color:#fff;border:1px solid #C9D9EA;border-radius:14px}.team-calendar-absences{display:flex;flex-wrap:wrap;gap:8px;padding:10px 0}.team-calendar-absence-bar{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid;border-radius:8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:500;color:#14293d}.team-calendar-absence-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.team-calendar-grid-wrap{background-color:#fff;border:1px solid #C9D9EA;border-radius:14px;overflow:hidden}.team-calendar-header-row{display:grid;grid-template-columns:60px repeat(var(--team-cols, 1),minmax(120px,1fr));border-bottom:1px solid #e2ecf7;background-color:#f8fbff}.team-calendar-time-header{padding:10px 8px}.team-calendar-user-header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-left:1px solid #eef3fa;border-bottom:3px solid transparent;font-family:"Source Sans 3",system-ui,sans-serif}.team-calendar-user-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.team-calendar-user-name{font-size:13px;font-weight:700;color:#14293d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-calendar-grid{display:grid;grid-template-columns:60px repeat(var(--team-cols, 1),minmax(120px,1fr));overflow-x:auto}.team-calendar-time-col{display:flex;flex-direction:column}.team-calendar-time-slot{height:60px;padding:4px 8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:500;color:#5c7895;border-top:1px solid #eef3fa;box-sizing:border-box}.team-calendar-user-col{position:relative;min-height:720px;border-left:1px solid #eef3fa}.team-calendar-hour-line{position:absolute;left:0;right:0;height:0;border-top:1px solid #eef3fa}.team-calendar-task-block{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;left:4px;right:4px;border:0;border-left:3px solid;border-radius:6px;padding:4px 8px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;gap:2px;text-align:left;min-height:0;font-family:"Source Sans 3",system-ui,sans-serif;transition:opacity .12s ease;z-index:1}.team-calendar-task-block:hover{opacity:.85;z-index:2}.team-calendar-task-title{font-size:12px;font-weight:700;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-calendar-task-time{font-size:10px;font-weight:500;opacity:.75}.team-calendar-unscheduled{position:absolute;left:0;right:0;padding:8px 4px;display:flex;flex-direction:column;gap:4px;border-top:2px dashed #e2ecf7}.team-calendar-unsched-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:4px 8px;border:1px solid;border-radius:4px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;text-align:left;cursor:pointer;min-height:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-calendar-unsched-item:hover{opacity:.8}@media (max-width: 767px){.calendar-view-toggle{align-self:center}.team-calendar-day-nav{flex-wrap:wrap;justify-content:center}.team-calendar-header-row,.team-calendar-grid{grid-template-columns:50px repeat(var(--team-cols, 1),minmax(100px,1fr))}.team-calendar-time-slot{font-size:10px;padding:4px}}@media (min-width: 768px) and (max-width: 899px){.calendar-page-grid{grid-template-columns:38px repeat(7,minmax(85px,1fr))}.calendar-page-day{min-height:130px;padding:6px 4px}.calendar-page-event{font-size:11px;padding:3px 6px}.calendar-page-col-header{font-size:10px;padding:8px 2px}.calendar-page-week-num-value{font-size:14px}}@media (max-width: 767px){.calendar-page-grid{grid-template-columns:40px repeat(7,minmax(92px,1fr));overflow-x:auto}.calendar-page-day{min-height:140px}}.materials-page{margin-top:1rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}@media (max-width: 1100px){.materials-page{grid-template-columns:1fr}}.materials-page-card{background-color:#fff;border:1px solid #c9d9ea;border-radius:14px;box-shadow:0 1px 4px #14293d0a;display:flex;flex-direction:column;overflow:hidden}.materials-page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 28px 16px;border-bottom:1px solid #edf4ff}.materials-page-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:20px;font-weight:700;color:#14293d;letter-spacing:-.01em}.materials-page-refresh-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;background:transparent;border:0;color:#2f70b7;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer;min-height:0}.materials-page-refresh-btn:hover{text-decoration:underline}.materials-page-empty{padding:28px;text-align:center;font-size:13px}.materials-page-needs-list{display:flex;flex-direction:column}.materials-page-group{border-bottom:1px solid #edf4ff}.materials-page-group:last-child{border-bottom:0}.materials-page-group-header{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;display:flex;align-items:center;gap:10px;padding:16px 28px;background-color:#fff;border:0;text-align:left;cursor:pointer;min-height:0;transition:background-color .15s ease;font-family:"Source Sans 3",system-ui,sans-serif}.materials-page-group-header:hover{background-color:#f8fbff}.materials-page-group-chevron{color:#2f70b7;font-size:12px;flex-shrink:0;width:12px;text-align:center}.materials-page-group-title{flex-grow:1;font-family:"Source Sans 3",system-ui,sans-serif;font-size:14px;font-weight:700;color:#14293d;cursor:pointer}.materials-page-group-title:hover{color:#2f70b7}.materials-page-group-count{display:inline-flex;align-items:center;height:22px;padding:0 12px;border-radius:999px;background-color:#dbeafe;color:#2f70b7;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:700;flex-shrink:0}.materials-page-items{list-style:none;margin:0;padding:0 28px 16px;display:flex;flex-direction:column;gap:10px}.materials-page-item{display:flex;align-items:flex-start;gap:12px;padding:2px 0}.materials-page-item-main{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:2px}.materials-page-item-title{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;color:#14293d;line-height:17px}.materials-page-item-meta{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:500;color:#8fa2ba;line-height:16px}.materials-page-note{align-self:flex-start;margin-top:2px;padding:2px 6px;border:0;border-radius:4px;background-color:#fffaed;color:#7a5a00;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:500;cursor:pointer;text-align:left}.materials-page-note:hover{background-color:#fff3d1}.materials-page-note-add{align-self:flex-start;margin-top:2px;padding:0;border:0;background:transparent;color:#8fa2ba;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;cursor:pointer;min-height:0}.materials-page-note-add:hover{color:#2f70b7}.materials-page-note-input{margin-top:4px;width:100%;height:28px;padding:0 10px;border:1px solid #c9d9ea;border-radius:6px;background-color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;color:#14293d}.materials-page-note-input:focus{outline:none;border-color:#2f70b7;box-shadow:0 0 0 3px #2f70b726}.materials-page-item-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.materials-page-status-pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;height:22px;padding:0 12px;border-radius:999px;border:1px solid transparent;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;min-height:0;transition:filter .15s ease}.materials-page-status-pill:hover:not(:disabled){filter:brightness(.96)}.materials-page-status-pill:disabled{opacity:.6;cursor:not-allowed}.materials-page-status-pill--order{background-color:#fff8e1;border-color:#f5e6a5;color:#7a5a00}.materials-page-status-pill--on-the-way{background-color:#dbeafe;border-color:#b7d2ec;color:#2f70b7}.materials-page-status-pill--available{background-color:#e2f1d9;border-color:#c8e6d0;color:#1f6a3e}.materials-page-status-pill--completed{background-color:#eef2f7;border-color:#c9d9ea;color:#5c7895;text-decoration:line-through}.materials-page-complete-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:22px;padding:0 10px;border:1px solid #6ea54f;border-radius:999px;background-color:#6ea54f;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;cursor:pointer;min-height:0;transition:background-color .15s ease}.materials-page-complete-btn:hover:not(:disabled){background-color:#5c8d3e;border-color:#5c8d3e}.materials-page-complete-btn:disabled{opacity:.5;cursor:not-allowed}.materials-page-catalog .materials-page-head{border-bottom:0;padding-bottom:8px}.materials-page-search-wrap{position:relative;display:flex;align-items:center;margin:8px 28px 12px}.materials-page-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none}.materials-page-search-input{width:100%;height:42px;padding:0 14px 0 38px;border:1px solid #c9d9ea;border-radius:8px;background-color:#f8fbff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:14px;color:#14293d;box-sizing:border-box}.materials-page-search-input::placeholder{color:#9aaec4}.materials-page-search-input:focus{outline:none;border-color:#2f70b7;background-color:#fff;box-shadow:0 0 0 3px #2f70b726}.materials-page-search-input:disabled{background-color:#eef2f7;color:#9aaec4}.materials-page-project-filter-wrap{position:relative;display:flex;align-items:center;margin:0 28px 16px}.materials-page-project-filter-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none}.materials-page-project-filter-input{width:100%;height:42px;padding:0 34px 0 40px;border:1px solid #c9d9ea;border-radius:8px;background-color:#f8fbff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:14px;color:#14293d;box-sizing:border-box}.materials-page-project-filter-input::placeholder{color:#9aaec4}.materials-page-project-filter-input:focus{outline:none;border-color:#2f70b7;background-color:#fff;box-shadow:0 0 0 3px #2f70b726}.materials-page-project-filter-chevron{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:#8fa2ba;font-size:10px}.materials-page-project-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;background-color:#fff;border:1px solid #c9d9ea;border-radius:8px;box-shadow:0 8px 24px #14293d1f;padding:4px;max-height:260px;overflow-y:auto}.materials-page-project-suggestion{display:block;width:100%;padding:8px 12px;border:0;border-radius:6px;background-color:transparent;color:#14293d;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;text-align:left;cursor:pointer;min-height:0}.materials-page-project-suggestion:hover{background-color:#edf4ff}.materials-page-catalog-list{list-style:none;margin:0;padding:0 28px 22px;display:flex;flex-direction:column;gap:14px}.materials-page-catalog-item{display:flex;align-items:center;gap:12px;padding:0}.materials-page-catalog-item-main{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:2px}.materials-page-catalog-item-title{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:700;color:#14293d;line-height:17px}.materials-page-catalog-item-meta{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:500;color:#8fa2ba;line-height:14px}.materials-page-catalog-item-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.materials-page-qty-input{width:62px;height:32px;padding:0 10px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d;box-sizing:border-box;text-align:center}.materials-page-qty-input:focus{outline:none;border-color:#2f70b7;box-shadow:0 0 0 3px #2f70b726}.materials-page-qty-input:disabled{background-color:#eef2f7;color:#9aaec4}.materials-page-add-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:32px;padding:0 16px;border:1px solid #2f70b7;border-radius:8px;background-color:#2f70b7;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;cursor:pointer;min-height:0;transition:background-color .15s ease,border-color .15s ease}.materials-page-add-btn:hover:not(:disabled){background-color:#2861a2;border-color:#2861a2}.materials-page-add-btn:disabled{opacity:.5;cursor:not-allowed}.materials-page-import-note{margin:0 28px 18px;padding-top:8px;border-top:1px solid #edf4ff;font-size:11px;display:block}.messages-page{margin:-1.25rem -1.4rem 0;width:calc(100% + 2.8rem);display:grid;grid-template-columns:320px minmax(0,1fr);gap:0;height:calc(100dvh - 80px);min-height:400px}@media (min-width: 768px) and (max-width: 899px){.messages-page{grid-template-columns:260px minmax(0,1fr);gap:0;height:calc(100dvh - 140px)}.messages-page .messages-page-chat,.messages-page .messages-page-threads,.messages-page--thread-active .messages-page-threads,.messages-page--thread-active .messages-page-chat{display:flex}.messages-page-chat-back{display:none}.messages-page-threads-head{padding:16px 14px 12px}.messages-page-thread-list{padding:2px}.messages-page-thread-item{padding:8px 10px;gap:8px}.messages-page-thread-avatar{width:30px;height:30px;font-size:11px}.messages-page-thread-name{font-size:12px}.messages-page-thread-preview{font-size:11px}.messages-page-thread-time{font-size:10px}.messages-page-thread-unread{min-width:16px;height:16px;font-size:9px}.messages-page-chat-head{padding:12px 16px;gap:10px}.messages-page-chat-head-avatar{width:30px;height:30px;font-size:11px}.messages-page-chat-title{font-size:14px}.messages-page-chat-subtitle{font-size:11px}.messages-page-message-list{padding:14px 16px;gap:14px}.messages-page-row-avatar-slot,.messages-page-row-avatar{width:28px;height:28px;font-size:10px}.messages-page-row-avatar-placeholder{width:28px;height:28px}.messages-page-bubble{max-width:380px;font-size:13px;padding:10px 12px}.messages-page-composer{padding:10px 14px 12px;gap:8px}.messages-page-composer-attach,.messages-page-composer-send{width:34px;height:34px}.messages-page-composer-input{height:34px;font-size:13px}}@media (max-width: 767px){.messages-page{grid-template-columns:1fr;gap:0;height:calc(100dvh - 196px - env(safe-area-inset-bottom,0px));margin-top:0}.messages-page .messages-page-chat,.messages-page--thread-active .messages-page-threads{display:none}.messages-page--thread-active .messages-page-chat{display:flex}.messages-page .messages-page-threads{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}.messages-page .messages-page-threads-head{padding:14px 4px 10px;border-bottom:0}.messages-page .messages-page-threads-title{font-size:22px}.messages-page-threads-create{width:36px;height:32px;border-radius:8px}.messages-page-thread-list{padding:0}.messages-page-thread-item{padding:14px 8px;gap:14px;border-radius:10px}.messages-page-thread-item:hover{background-color:#f2f6fb}.messages-page-thread-item--active{background-color:#e8f1fc}.messages-page-thread-avatar{width:44px;height:44px;font-size:14px}.messages-page-thread-name{font-size:15px;font-weight:700}.messages-page-thread-preview{font-size:13px}.messages-page-thread-time{font-size:12px}.messages-page-thread-unread{min-width:22px;height:22px;font-size:11px;padding:0 7px}.messages-page.messages-page--thread-active{margin:-1.25rem -1.4rem -72px;width:calc(100% + 2.8rem);height:calc(100dvh - 120px - env(safe-area-inset-bottom,0px));min-height:0}.messages-page .messages-page-chat{border-radius:0;border:0;box-shadow:none;background:#fff}.messages-page-chat-back{display:inline-flex}.messages-page .messages-page-chat-head{padding:10px 16px;border-bottom:1px solid #edf4ff;gap:10px}.messages-page .messages-page-chat-back{padding:5px 10px;font-size:12px;border-radius:8px;border:1px solid #c9d9ea;background:#fff;color:#14293d;margin-right:4px}.messages-page .messages-page-chat-title{font-size:14px}.messages-page .messages-page-chat-subtitle{font-size:11px}.messages-page .messages-page-chat-head-avatar{width:32px;height:32px;font-size:11px}.messages-page .messages-page-chat-menu-btn{width:30px;height:30px}.messages-page .messages-page-message-list{padding:14px 16px;gap:14px}.messages-page .messages-page-row-sender{padding:0 38px;font-size:10px}.messages-page .messages-page-row-sender--mine{padding:0 38px 0 0}.messages-page .messages-page-row-avatar-slot,.messages-page .messages-page-row-avatar{width:28px;height:28px;font-size:10px}.messages-page .messages-page-row-avatar-placeholder{width:28px;height:28px}.messages-page .messages-page-bubble{max-width:82%;padding:10px 14px;font-size:14px}.messages-page .messages-page-row{max-width:88%}.messages-page .messages-page-composer{padding:10px 16px 12px;gap:10px}.messages-page .messages-page-composer-attach,.messages-page .messages-page-composer-send{width:36px;height:36px}.messages-page .messages-page-composer-input{height:36px;font-size:14px}}.messages-page-threads{background-color:#fff;border:0;border-right:1px solid #e2ecf7;border-radius:0;box-shadow:none;display:flex;flex-direction:column;overflow:hidden;min-height:0}.messages-page-threads-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 20px 14px;border-bottom:1px solid #edf4ff}.messages-page-threads-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:18px;font-weight:700;color:#14293d}.messages-page-threads-actions{display:flex;align-items:center;gap:8px}.messages-page-threads-archive{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;background:transparent;border:0;color:#2f70b7;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer;min-height:0}.messages-page-threads-archive:hover{text-decoration:underline}.messages-page-threads-create{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:34px;height:30px;padding:0;border:1px solid #2f70b7;border-radius:8px;background-color:#2f70b7;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:18px;font-weight:600;line-height:1;cursor:pointer;min-height:0;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease}.messages-page-threads-create:hover{background-color:#2861a2;border-color:#2861a2}.messages-page-thread-list{list-style:none;margin:0;padding:4px;overflow-y:auto;flex:1 1 auto;min-height:0}.messages-page-thread-empty{padding:24px 12px;text-align:center;font-size:13px}.messages-page-thread-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:0;border-radius:8px;background-color:transparent;text-align:left;cursor:pointer;min-height:0;font-family:"Source Sans 3",system-ui,sans-serif;transition:background-color .15s ease}.messages-page-thread-item:hover{background-color:#f8fbff}.messages-page-thread-item--active{background-color:#e8f1fc}.messages-page-thread-item--active:hover{background-color:#dbeafe}.messages-page-thread-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;font-size:12px}.messages-page-thread-body{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:2px}.messages-page-thread-top{display:flex;align-items:baseline;gap:8px;min-width:0}.messages-page-thread-name{flex-grow:1;min-width:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:700;color:#14293d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages-page-thread-time{flex-shrink:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:500;color:#8fa2ba;font-variant-numeric:tabular-nums}.messages-page-thread-bottom{display:flex;align-items:center;gap:8px;min-width:0}.messages-page-thread-preview{flex-grow:1;min-width:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:500;color:#5c7895;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages-page-thread-item--active .messages-page-thread-preview{color:#4f657c}.messages-page-thread-unread{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:999px;background-color:#e34b4b;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:10px;font-weight:700}.messages-page-chat{background-color:#fff;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;overflow:hidden;min-height:0}.messages-page-empty{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:40px}.messages-page-empty-icon{opacity:.7}.messages-page-chat-head{display:flex;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid #edf4ff}.messages-page-chat-back{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:6px 10px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;color:#14293d;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;cursor:pointer;min-height:0;margin-right:8px}@media (max-width: 900px){.messages-page-chat-back{display:inline-flex}}.messages-page-chat-head-avatar{width:36px;height:36px;border-radius:50%;font-size:12px;flex-shrink:0}.messages-page-chat-head-text{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:2px}.messages-page-chat-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:16px;font-weight:700;color:#14293d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages-page-chat-subtitle{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:500;color:#5c7895;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages-page-chat-menu{position:relative;flex-shrink:0}.messages-page-chat-menu-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:34px;height:34px;padding:0;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;color:#5c7895;cursor:pointer;min-height:0;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.messages-page-chat-menu-btn:hover{background-color:#edf4ff;border-color:#b7d2ec;color:#14293d}.messages-page-chat-menu-popup{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:180px;padding:4px;border:1px solid #c9d9ea;border-radius:10px;background-color:#fff;box-shadow:0 12px 28px #14293d1f;display:flex;flex-direction:column;gap:2px}.messages-page-chat-menu-popup button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:8px 12px;border:0;border-radius:6px;background-color:transparent;color:#14293d;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:500;text-align:left;cursor:pointer;min-height:0}.messages-page-chat-menu-popup button:hover{background-color:#edf4ff}.messages-page-chat-menu-popup .messages-page-chat-menu-danger{color:#c43a3a}.messages-page-chat-menu-popup .messages-page-chat-menu-danger:hover{background-color:#fef5f5}.messages-page-message-list{flex:1 1 auto;min-height:0;list-style:none;margin:0;padding:20px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.messages-page-day-divider{align-self:center;padding:4px 14px;border-radius:999px;background-color:#f8fbff;color:#8fa2ba;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;letter-spacing:.04em}.messages-page-row{display:flex;flex-direction:column;gap:4px;max-width:640px}.messages-page-row--mine{align-self:flex-end;align-items:flex-end}.messages-page-row--other{align-self:flex-start;align-items:flex-start}.messages-page-row-sender{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;color:#8fa2ba;padding:0 46px;display:flex;gap:6px}.messages-page-row-sender--mine{padding:0 46px 0 0}.messages-page-row-sender-sep{color:#c9d9ea}.messages-page-row-body{display:flex;gap:10px;align-items:flex-end;max-width:100%}.messages-page-row-avatar-slot{width:32px;height:32px;flex-shrink:0}.messages-page-row-avatar{width:32px;height:32px;border-radius:50%;font-size:11px}.messages-page-row-avatar-placeholder{display:block;width:32px;height:32px}.messages-page-bubble{padding:12px 16px;border-radius:14px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:14px;line-height:20px;color:#14293d;max-width:600px;overflow-wrap:break-word}.messages-page-bubble-text{margin:0;white-space:pre-wrap}.messages-page-bubble--other{background-color:#f8fbff;border:1px solid #e2ecf7;border-top-left-radius:4px}.messages-page-bubble--mine{background-color:#2f70b7;border:1px solid #2861a2;color:#fff;border-top-right-radius:4px}.messages-page-bubble-attachment{margin-top:8px}.messages-page-bubble-attachment img{max-width:240px;max-height:180px;border-radius:8px;display:block}.messages-page-bubble-attachment-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;font-size:11px}.messages-page-bubble-attachment-links a{color:#2f70b7;text-decoration:none}.messages-page-bubble-attachment-links a:hover{text-decoration:underline}.messages-page-bubble--mine .messages-page-bubble-attachment-links a{color:#c9e2ff}.messages-page-bubble--mine .messages-page-bubble-attachment-links a:hover{color:#fff}.messages-page-composer{display:flex;align-items:center;gap:10px;padding:14px 20px 16px;border-top:1px solid #edf4ff;background-color:#fff}.messages-page-composer-attach{flex-shrink:0;width:38px;height:38px;border:1px solid #c9d9ea;border-radius:10px;background-color:#fff;color:#5c7895;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.messages-page-composer-attach:hover{background-color:#edf4ff;border-color:#b7d2ec;color:#2f70b7}.messages-page-composer-attach input[type=file]{display:none}.messages-page-composer-field{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:4px}.messages-page-composer-input{width:100%;height:38px;padding:0 14px;border:1px solid #c9d9ea;border-radius:10px;background-color:#f8fbff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:14px;color:#14293d;box-sizing:border-box}.messages-page-composer-input::placeholder{color:#9aaec4}.messages-page-composer-input:focus{outline:none;border-color:#2f70b7;background-color:#fff;box-shadow:0 0 0 3px #2f70b726}.messages-page-composer-attachment{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;background-color:#edf4ff;font-size:11px;color:#14293d;max-width:fit-content}.messages-page-composer-attachment-remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;padding:0;border:0;background:transparent;color:#8fa2ba;font-size:14px;cursor:pointer;min-height:0}.messages-page-composer-attachment-remove:hover{color:#c43a3a}.messages-page-composer-send{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0;width:38px;height:38px;padding:0;border:1px solid #2f70b7;border-radius:10px;background-color:#2f70b7;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;min-height:0;transition:background-color .15s ease,border-color .15s ease}.messages-page-composer-send:hover:not(:disabled){background-color:#2861a2;border-color:#2861a2}.messages-page-composer-send:disabled{opacity:.5;cursor:not-allowed;background-color:#9aaec4;border-color:#9aaec4}.thread-modal-icon-picker{display:flex;align-items:center;gap:14px}.thread-modal-icon-preview,.thread-modal-icon-placeholder{width:56px;height:56px;border-radius:50%;overflow:hidden;background-color:#f8fbff;border:1px solid #c9d9ea;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.thread-modal-icon-preview img{width:100%;height:100%;object-fit:cover}.thread-modal-icon-upload{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;color:#14293d;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.thread-modal-icon-upload:hover{background-color:#edf4ff;border-color:#b7d2ec}.thread-modal-icon-upload input[type=file]{display:none}.archived-threads-empty{padding:28px;text-align:center;font-size:13px}.archived-threads-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.archived-threads-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background-color:#f8fbff;border:1px solid #e2ecf7;border-radius:10px}.archived-threads-avatar{width:36px;height:36px;border-radius:50%;font-size:12px;flex-shrink:0}.archived-threads-main{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:2px}.archived-threads-title-line{display:flex;align-items:center;gap:8px;min-width:0}.archived-threads-name{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:700;color:#14293d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archived-threads-restricted-badge{display:inline-flex;align-items:center;height:18px;padding:0 8px;border-radius:999px;background-color:#fff8e1;border:1px solid #f5e6a5;color:#7a5a00;font-family:"Source Sans 3",system-ui,sans-serif;font-size:10px;font-weight:700}.archived-threads-subtitle{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;color:#5c7895;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archived-threads-actions{display:flex;gap:8px;flex-shrink:0}.profile-page{margin-top:1rem;display:flex;flex-direction:column;gap:20px}.profile-page-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:22px;font-weight:700;color:#14293d;letter-spacing:-.01em}.profile-page-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;align-items:start}@media (max-width: 1100px){.profile-page-grid{grid-template-columns:1fr}}.profile-page-card{background-color:#fff;border:1px solid #c9d9ea;border-radius:14px;box-shadow:0 1px 4px #14293d0a;padding:26px 30px;display:flex;flex-direction:column;gap:18px}.profile-page-card-head{display:flex;align-items:center;justify-content:space-between}.profile-page-card-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:17px;font-weight:700;color:#14293d}.profile-page-identity{display:flex;align-items:center;gap:18px}.profile-page-avatar-trigger{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:transparent;cursor:pointer;min-height:0;border-radius:999px;overflow:hidden}.profile-page-avatar{width:62px;height:62px;border-radius:999px;background-color:#2f70b7;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:20px;font-weight:700}.profile-page-avatar-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:inline-flex;align-items:center;justify-content:center;background-color:#14293d8c;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;opacity:0;transition:opacity .15s ease;letter-spacing:.04em;text-transform:uppercase}.profile-page-avatar-trigger:hover .profile-page-avatar-overlay,.profile-page-avatar-trigger:focus-visible .profile-page-avatar-overlay{opacity:1}.profile-page-identity-text{display:flex;flex-direction:column;gap:2px;min-width:0}.profile-page-identity-name{font-family:"Source Sans 3",system-ui,sans-serif;font-size:16px;font-weight:700;color:#14293d}.profile-page-identity-email{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:500;color:#5c7895}.profile-page-identity-role{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:500;color:#8fa2ba}.profile-page-form{display:flex;flex-direction:column;gap:14px}.profile-page-field{display:flex;flex-direction:column;gap:6px;min-width:0}.profile-page-field-label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;color:#4f657c}.profile-page-input{width:100%;height:42px;padding:0 14px;border:1px solid #c9d9ea;border-radius:8px;background-color:#f8fbff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:14px;color:#14293d;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.profile-page-input::placeholder{color:#9aaec4}.profile-page-input:hover:not(:disabled){border-color:#b7d2ec}.profile-page-input:focus{outline:none;border-color:#2f70b7;background-color:#fff;box-shadow:0 0 0 3px #2f70b726}.profile-page-field-hint{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;color:#8fa2ba}.profile-page-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media (max-width: 640px){.profile-page-grid-2{grid-template-columns:1fr}}.profile-page-form-actions{display:flex;gap:10px;margin-top:4px}.profile-page-save-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:38px;padding:0 20px;border:1px solid #14293d;border-radius:8px;background-color:#14293d;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer;min-height:0;transition:background-color .15s ease,border-color .15s ease}.profile-page-save-btn:hover{background-color:#0c1e2e;border-color:#0c1e2e}.profile-page-footer-note{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;color:#8fa2ba}.profile-page-card--notifications{gap:14px}.profile-page-notif-intro{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;line-height:19px;color:#5c7895}.profile-page-notif-status{display:flex;align-items:center;gap:8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d}.profile-page-notif-status-label{color:#4f657c;font-weight:500}.profile-page-notif-status-value{font-weight:700;padding:2px 10px;border-radius:999px;border:1px solid transparent;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.profile-page-notif-status-value--granted{background-color:#e2f1d9;border-color:#c8e6d0;color:#1f6a3e}.profile-page-notif-status-value--default{background-color:#eef2f7;border-color:#c9d9ea;color:#5c7895}.profile-page-notif-status-value--denied{background-color:#fef5f5;border-color:#f3c0c0;color:#c43a3a}.profile-page-notif-status-value--unsupported,.profile-page-notif-status-value--requires-pwa{background-color:#fff8e1;border-color:#f5e6a5;color:#7a5a00}.profile-page-notif-body-note{margin:0;padding:12px 14px;background-color:#f8fbff;border:1px solid #e2ecf7;border-radius:10px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;color:#5c7895;line-height:17px}.profile-page-notif-enable-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;align-self:flex-start;height:36px;padding:0 16px;border:1px solid #2f70b7;border-radius:8px;background-color:#2f70b7;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer;min-height:0;transition:background-color .15s ease,border-color .15s ease}.profile-page-notif-enable-btn:hover{background-color:#2861a2;border-color:#2861a2}.profile-page-notif-hint{padding:14px 16px;background-color:#fffaed;border:1px solid #f5e6a5;border-radius:10px;display:flex;flex-direction:column;gap:8px}.profile-page-notif-hint-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:700;color:#7a5a00}.profile-page-notif-hint-body{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;line-height:17px;color:#7a5a00}.profile-page-notif-steps{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;line-height:17px;color:#7a5a00}.profile-page-notif-icon{display:inline-flex;align-items:center;justify-content:center;min-width:16px;padding:0 4px;border-radius:4px;background-color:#f5e6a5;color:#7a5a00;font-weight:700}.admin-page{display:flex;flex-direction:column;gap:22px;padding:32px 40px;max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box}.admin-page-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:26px;font-weight:700;color:#14293d;letter-spacing:-.01em}.admin-page-tabs{display:inline-flex;align-self:flex-start;gap:2px;padding:6px;background-color:#fff;border:1px solid #C9D9EA;border-radius:12px;box-shadow:0 1px 2px #14293d0a}.admin-page-tabs .admin-page-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;height:34px;padding:0 18px;border-radius:8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;color:#5c7895;cursor:pointer;min-height:0;transition:background-color .15s ease,color .15s ease}.admin-page-tabs .admin-page-tab:hover:not(.active){background-color:#f2f6fb;color:#14293d}.admin-page-tabs .admin-page-tab.active{background-color:#14293d;color:#fff}.admin-page-card{background-color:#fff;border:1px solid #C9D9EA;border-radius:14px;box-shadow:0 1px 2px #14293d0a;padding:22px 26px;display:flex;flex-direction:column;gap:14px}.admin-page-card--muted{align-items:center;justify-content:center;min-height:120px;color:#5c7895;font-size:13px}.admin-page-card-title{margin:0 0 4px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:16px;font-weight:700;color:#14293d}.admin-page-muted{color:#5c7895;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px}.admin-page-layout{display:grid;gap:22px}.admin-page-layout--users{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.admin-page-card--users-table{padding:0;overflow:hidden}.admin-users-table{display:flex;flex-direction:column}.admin-users-table-head{display:grid;grid-template-columns:minmax(0,2fr) 120px 100px 120px 100px;gap:12px;padding:16px 22px;background-color:#f8fbff;border-bottom:1px solid #e2ecf7;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#5c7895}.admin-users-table-body{display:flex;flex-direction:column}.admin-users-row-wrap{border-bottom:1px solid #eef3fa}.admin-users-row-wrap:last-child{border-bottom:0}.admin-page .admin-users-row{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;grid-template-columns:minmax(0,2fr) 120px 100px 120px 100px;gap:12px;align-items:center;width:100%;padding:16px 22px;background:transparent;border:0;text-align:left;cursor:pointer;min-height:0;font-family:"Source Sans 3",system-ui,sans-serif;transition:background-color .12s ease}.admin-page .admin-users-row:hover,.admin-page .admin-users-row--open{background-color:#f6faff}.admin-users-col{display:flex;align-items:center;font-size:13px;color:#14293d}.admin-users-col--user{gap:12px;min-width:0}.admin-users-avatar{width:34px;height:34px;flex-shrink:0;font-size:13px}.admin-users-avatar--muted{opacity:.6}.admin-users-user-text{display:flex;flex-direction:column;gap:2px;min-width:0}.admin-users-user-name{font-size:14px;font-weight:700;color:#14293d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-users-user-email{font-size:12px;color:#5c7895;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-users-col--hours,.admin-users-col--vacation{font-weight:600;color:#14293d;gap:2px}.admin-users-unit{font-size:11px;color:#5c7895;font-weight:500}.admin-users-col--actions{gap:8px;justify-content:flex-start}.admin-users-action-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:24px;border-radius:6px;border:1px solid #d5e2f0;background-color:#fff;color:#5c7895;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.admin-users-action-icon svg{width:14px;height:14px;stroke-width:1.8}.admin-users-action-icon:hover{background-color:#eef4ff;color:#14293d;border-color:#b5c8de}.admin-users-action-icon--key{background-color:#fff7e0;color:#8a6b10;border-color:#f1dea0}.admin-users-action-icon--key:hover{background-color:#ffeeb5;border-color:#dcc06b;color:#5a4700}.admin-role-chip{display:inline-flex;align-items:center;padding:3px 12px;border-radius:999px;font-size:12px;font-weight:600;font-family:"Source Sans 3",system-ui,sans-serif;line-height:1.5}.admin-role-chip--admin{background-color:#dbeafe;color:#1e40af}.admin-role-chip--ceo{background-color:#e0e7ff;color:#3730a3}.admin-role-chip--accountant{background-color:#fef3c7;color:#92400e}.admin-role-chip--planning{background-color:#ede9fe;color:#6b21a8}.admin-role-chip--employee{background-color:#d1fae5;color:#065f46}.admin-users-detail{padding:0 22px 22px;background-color:#f8fbff;border-top:1px solid #e2ecf7;display:flex;flex-direction:column;gap:14px}.admin-users-detail-banner{padding:10px 14px;background-color:#eef4ff;border:1px solid #c9d9ea;border-radius:8px;font-size:12px;color:#14293d;margin-top:14px}.admin-users-detail-banner--warn{background-color:#fffaed;border-color:#f5e6a5;color:#7a5a00}.admin-users-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin-top:14px}.admin-users-field{display:flex;flex-direction:column;gap:6px;min-width:0}.admin-users-field--span-2{grid-column:1 / -1}.admin-users-field-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#5c7895}.admin-page .admin-users-select,.admin-page .admin-users-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:36px;padding:0 12px;border:1px solid #C9D9EA;border-radius:8px;background-color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d;min-height:0;width:100%;box-sizing:border-box;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.admin-page .admin-users-select:focus,.admin-page .admin-users-input:focus{border-color:#2f70b7;box-shadow:0 0 0 3px #2f70b726}.admin-page .admin-users-input--short{width:80px}.admin-users-inline-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-users-inline-row--vac{gap:14px}.admin-users-inline-unit{font-size:12px;color:#5c7895}.admin-users-vac-label{display:flex;flex-direction:column;gap:4px}.admin-users-vac-label>span{font-size:11px;font-weight:600;color:#5c7895}.admin-page .admin-users-inline-save{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:32px;padding:0 14px;border:0;border-radius:8px;background-color:#14293d;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;cursor:pointer;min-height:0}.admin-page .admin-users-inline-save:hover:not(:disabled){background-color:#0f2031}.admin-page .admin-users-inline-save:disabled{opacity:.4;cursor:not-allowed}.admin-page .admin-users-inline-save--ghost{background-color:#fff;color:#14293d;border:1px solid #C9D9EA}.admin-page .admin-users-inline-save--ghost:hover:not(:disabled){background-color:#f2f6fb}.admin-users-detail-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-page .admin-users-detail-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border:1px solid #C9D9EA;background-color:#fff;border-radius:8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;color:#14293d;cursor:pointer;min-height:0}.admin-page .admin-users-detail-btn svg{width:14px;height:14px}.admin-page .admin-users-detail-btn:hover:not(:disabled){background-color:#f2f6fb}.admin-page .admin-users-detail-btn:disabled{opacity:.4;cursor:not-allowed}.admin-page .admin-users-detail-btn--active{background-color:#14293d;color:#fff;border-color:#14293d}.admin-page .admin-users-detail-btn--danger{color:#9f1717;border-color:#f1cbcb}.admin-page .admin-users-detail-btn--danger:hover:not(:disabled){background-color:#fdecec}.admin-users-perm-panel{margin-top:10px;padding:16px;background-color:#fff;border:1px solid #C9D9EA;border-radius:10px;display:flex;flex-direction:column;gap:12px}.admin-users-perm-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.admin-users-perm-header b{font-size:13px;color:#14293d}.admin-users-perm-header small{font-size:11px;color:#5c7895}.admin-users-perm-groups{display:flex;flex-direction:column;gap:12px;max-height:340px;overflow-y:auto;padding-right:4px}.admin-users-perm-group{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background-color:#f8fbff;border-radius:8px}.admin-users-perm-group-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#5c7895;margin-bottom:4px}.admin-users-perm-row{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-radius:6px;gap:10px;flex-wrap:wrap}.admin-users-perm-row--extra{background-color:#e7f6ec}.admin-users-perm-row--deny{background-color:#fdecec}.admin-users-perm-label{display:flex;align-items:center;gap:8px;font-size:12px;color:#14293d}.admin-users-perm-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.admin-users-perm-dot--on{background-color:#1a7a45}.admin-users-perm-dot--off{background-color:#c9d9ea}.admin-users-perm-toggles{display:flex;gap:10px}.admin-users-perm-toggles label{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#5c7895}.admin-users-perm-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-users-empty{padding:22px;color:#5c7895;font-size:13px;text-align:center}.admin-users-archived{border-top:1px solid #e2ecf7;padding:16px 22px;display:flex;flex-direction:column;gap:10px}.admin-page .admin-users-archived-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;padding:0;color:#2f70b7;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;cursor:pointer;text-align:left;align-self:flex-start;min-height:0}.admin-users-archived-list{display:flex;flex-direction:column;gap:8px}.admin-users-archived-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background-color:#f8fbff;border-radius:8px}.admin-users-archived-row .admin-users-user-text{flex:1}.admin-page-card--invite,.admin-page-card--group-form{padding:22px 24px;align-self:start}.admin-invite-form,.admin-settings-form{display:flex;flex-direction:column;gap:14px}.admin-invite-field{display:flex;flex-direction:column;gap:6px;min-width:0}.admin-invite-field--short{flex:0 0 110px}.admin-invite-field-label{font-size:12px;font-weight:600;color:#5c7895;font-family:"Source Sans 3",system-ui,sans-serif}.admin-page .admin-invite-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:38px;padding:0 12px;border:1px solid #C9D9EA;border-radius:8px;background-color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d;min-height:0;width:100%;box-sizing:border-box;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.admin-page .admin-invite-input:focus{border-color:#2f70b7;box-shadow:0 0 0 3px #2f70b726}.admin-page .admin-invite-input--file{padding:8px 12px;height:auto;line-height:1.4}.admin-page textarea.admin-invite-input{height:auto;padding:10px 12px;resize:vertical;min-height:72px}.admin-page .admin-invite-submit{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:40px;padding:0 20px;border:0;border-radius:8px;background-color:#14293d;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:700;cursor:pointer;min-height:0;align-self:stretch;transition:background-color .15s ease}.admin-page .admin-invite-submit:hover:not(:disabled){background-color:#0f2031}.admin-page .admin-invite-submit:disabled{opacity:.45;cursor:not-allowed}.admin-page .admin-invite-submit--ghost{background-color:#fff;color:#14293d;border:1px solid #C9D9EA}.admin-page .admin-invite-submit--ghost:hover:not(:disabled){background-color:#f2f6fb}.admin-page-layout--groups{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.admin-groups-main{display:flex;flex-direction:column;gap:18px}.admin-group-card{gap:14px}.admin-group-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.admin-group-card-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:16px;font-weight:700;color:#14293d}.admin-group-card-actions{display:flex;gap:8px}.admin-page .admin-group-edit-btn,.admin-page .admin-group-delete-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:32px;padding:0 14px;border-radius:8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;cursor:pointer;min-height:0;border:1px solid #C9D9EA;background-color:#fff;color:#14293d}.admin-page .admin-group-edit-btn:hover{background-color:#f2f6fb}.admin-page .admin-group-delete-btn{color:#9f1717;border-color:#f1cbcb;background-color:#fdecec}.admin-page .admin-group-delete-btn:hover{background-color:#fad8d8}.admin-group-members{display:flex;gap:8px;flex-wrap:wrap}.admin-group-member-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 4px;background-color:#f2f6fb;border:1px solid #e2ecf7;border-radius:999px;font-size:12px;color:#14293d}.admin-group-member-chip--inactive{opacity:.55;text-decoration:line-through}.admin-group-member-avatar{width:22px;height:22px;font-size:10px}.admin-group-empty{padding:10px 14px;background-color:#f8fbff;border-radius:8px;color:#5c7895;font-size:12px}.admin-group-perm-line{display:flex;align-items:center;gap:8px;font-size:12px;color:#5c7895}.admin-group-perm-dot{width:8px;height:8px;border-radius:50%;background-color:#c9d9ea}.admin-group-perm-dot--on{background-color:#1a7a45}.admin-group-form-section{display:flex;flex-direction:column;gap:8px}.admin-group-member-list{display:flex;flex-direction:column;gap:4px;max-height:240px;overflow-y:auto;padding-right:4px}.admin-group-member-check{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:6px;font-size:13px;color:#14293d;cursor:pointer;width:100%;box-sizing:border-box}.admin-group-member-check>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-group-member-check input[type=checkbox]{flex-shrink:0;width:16px;height:16px;cursor:pointer}.admin-group-member-check:hover{background-color:#f2f6fb}.admin-group-member-check--full{margin-top:4px;padding:10px 14px;border:1px solid #e2ecf7;background-color:#f8fbff;border-radius:8px;font-size:12px;white-space:normal}.admin-group-member-check--full>span{white-space:normal}.admin-group-form-actions{display:flex;gap:8px;margin-top:4px}.admin-roles-card{padding:0;overflow:hidden}.admin-roles-table-wrap{overflow-x:auto}.admin-roles-table{width:100%;border-collapse:collapse;font-family:"Source Sans 3",system-ui,sans-serif}.admin-roles-head{padding:14px 18px;background-color:#f8fbff;border-bottom:1px solid #e2ecf7;font-size:12px;font-weight:700;color:#14293d;text-align:left;white-space:nowrap}.admin-roles-head--role{text-align:center;min-width:110px}.admin-roles-head--admin{background-color:#eef4ff;color:#1e40af}.admin-roles-head--ceo{background-color:#f0f0ff;color:#3730a3}.admin-roles-head--accountant{background-color:#fff8e8;color:#92400e}.admin-roles-head--planning{background-color:#f5f0ff;color:#6b21a8}.admin-roles-head--employee{background-color:#edfaf2;color:#065f46}.admin-roles-head-inner{display:inline-flex;align-items:center;gap:8px;justify-content:center}.admin-roles-lock{font-size:11px}.admin-page .admin-roles-reset-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;padding:0;border:0;border-radius:4px;background-color:transparent;color:#5c7895;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:0}.admin-page .admin-roles-reset-btn:hover:not(:disabled){background-color:#14293d14}.admin-page .admin-roles-reset-btn svg{width:14px;height:14px}.admin-roles-row{border-bottom:1px solid #eef3fa}.admin-roles-row:nth-child(2n){background-color:#fbfdff}.admin-roles-perm-cell{padding:12px 18px;font-size:13px;color:#14293d;vertical-align:middle}.admin-roles-perm-label{font-weight:500}.admin-roles-perm-key{font-family:"Source Sans 3",monospace;font-size:11px;color:#5c7895;background-color:#f2f6fb;padding:2px 6px;border-radius:4px;margin-left:10px}.admin-roles-cell{text-align:center;padding:12px;vertical-align:middle}.admin-page .admin-roles-check{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border-radius:6px;border:1px solid transparent;background-color:transparent;color:#c9d9ea;font-size:16px;font-weight:600;cursor:pointer;min-height:0;display:inline-flex;align-items:center;justify-content:center;padding:0}.admin-page .admin-roles-check--on{color:#1a7a45}.admin-page .admin-roles-check:disabled{cursor:not-allowed}.admin-page .admin-roles-check:hover:not(:disabled){background-color:#f2f6fb}.admin-page-layout--tools{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px;align-items:start}.admin-tools-card{gap:16px}.admin-tools-desc{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;color:#5c7895;line-height:1.55}.admin-tools-step{display:flex;flex-direction:column;gap:10px;padding:14px;background-color:#f8fbff;border:1px solid #e2ecf7;border-radius:10px}.admin-tools-step-label{font-size:12px;font-weight:700;color:#14293d}.admin-page .admin-tools-step-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;align-self:flex-start;height:34px;padding:0 16px;border:1px solid #C9D9EA;background-color:#fff;border-radius:8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;color:#14293d;cursor:pointer;min-height:0}.admin-page .admin-tools-step-btn:hover{background-color:#f2f6fb}.admin-tools-upload{border:1px dashed #c9d9ea;border-radius:10px;padding:18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;background-color:#fff}.admin-tools-upload-icon{font-size:22px}.admin-tools-upload-text{font-size:12px;color:#5c7895}.admin-page .admin-tools-upload-btn{display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 14px;border:1px solid #C9D9EA;border-radius:6px;background-color:#fff;font-size:12px;font-weight:600;color:#14293d;cursor:pointer;min-height:0}.admin-page .admin-tools-upload-btn:hover{background-color:#f2f6fb}.admin-page .admin-tools-upload-btn input[type=file]{display:none}.admin-page .admin-tools-step-primary{-webkit-appearance:none;-moz-appearance:none;appearance:none;align-self:flex-start;height:34px;padding:0 18px;border:0;border-radius:8px;background-color:#2f70b7;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;cursor:pointer;min-height:0}.admin-page .admin-tools-step-primary:hover{background-color:#2861a2}.admin-tools-form{display:flex;flex-direction:column;gap:14px}.admin-tools-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-tools-weekday-row{display:flex;gap:6px;flex-wrap:wrap}.admin-tools-weekday-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border:1px solid #C9D9EA;border-radius:6px;background-color:#fff;font-size:12px;font-weight:600;color:#5c7895;cursor:pointer;min-width:42px}.admin-tools-weekday-pill input{display:none}.admin-tools-weekday-pill--on{background-color:#e6f0ff;border-color:#2f70b7;color:#1e40af}.admin-audit-wrap{display:flex;flex-direction:column;gap:16px}.admin-audit-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.admin-audit-search-wrap{flex:1 1 220px;min-width:220px;max-width:360px}.admin-page .admin-audit-search{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:38px;padding:0 14px;border:1px solid #C9D9EA;border-radius:8px;background-color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d;min-height:0;outline:none}.admin-page .admin-audit-search:focus{border-color:#2f70b7;box-shadow:0 0 0 3px #2f70b726}.admin-page .admin-audit-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:38px;width:auto;min-width:160px;padding:0 30px 0 14px;border:1px solid #C9D9EA;border-radius:8px;background-color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d;min-height:0;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'><path d='M1 1l4 4 4-4' stroke='%235c7895' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center}.admin-page .admin-audit-refresh{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:38px;padding:0 16px;border:0;border-radius:8px;background-color:#14293d;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;cursor:pointer;min-height:0}.admin-page .admin-audit-refresh:hover{background-color:#0f2031}.admin-page .admin-audit-refresh--ghost{background-color:#fff;color:#14293d;border:1px solid #C9D9EA}.admin-page .admin-audit-refresh--ghost:hover{background-color:#f2f6fb}.admin-audit-custom-range{display:flex;gap:12px;padding:12px 14px;background-color:#f8fbff;border:1px solid #e2ecf7;border-radius:10px}.admin-audit-custom-range label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#5c7895}.admin-page .admin-audit-custom-range input{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:34px;padding:0 10px;border:1px solid #C9D9EA;border-radius:6px;font-size:12px;min-height:0}.admin-audit-card{padding:0;overflow:hidden}.admin-audit-table-head{display:grid;grid-template-columns:180px 140px 180px minmax(0,1fr);gap:12px;padding:14px 22px;background-color:#f8fbff;border-bottom:1px solid #e2ecf7;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#5c7895}.admin-audit-row{display:grid;grid-template-columns:180px 140px 180px minmax(0,1fr);gap:12px;align-items:center;padding:12px 22px;border-bottom:1px solid #eef3fa;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d}.admin-audit-row:nth-child(2n of.admin-audit-row){background-color:#fbfdff}.admin-audit-row:last-child{border-bottom:0}.admin-audit-col{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-audit-col--time{font-size:12px;color:#5c7895}.admin-audit-col--event{display:flex;align-items:center;gap:8px;white-space:normal}.admin-audit-chip{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:600;font-family:"Source Sans 3",system-ui,sans-serif}.admin-audit-chip--auth{background:#e0e7ff;color:#3730a3}.admin-audit-chip--files{background:#d1fae5;color:#065f46}.admin-audit-chip--time{background:#fef3c7;color:#92400e}.admin-audit-chip--projects{background:#ede9fe;color:#6b21a8}.admin-audit-chip--users{background:#fecaca;color:#991b1b}.admin-audit-chip--reports{background:#dbeafe;color:#1e40af}.admin-audit-chip--finance{background:#cffafe;color:#155e75}.admin-audit-chip--chat{background:#ffe4e6;color:#9f1239}.admin-audit-chip--groups{background:#fce7f3;color:#9d174d}.admin-audit-chip--permissions{background:#fef9c3;color:#854d0e}.admin-audit-chip--planning{background:#e0f2fe;color:#075985}.admin-audit-chip--settings{background:#e2e8f0;color:#334155}.admin-audit-chip--system{background:#e5e7eb;color:#374151}.admin-audit-chip--tasks{background:#d1fae5;color:#065f46}.admin-audit-chip--tickets{background:#fed7aa;color:#9a3412}.admin-audit-chip--wiki{background:#f3e8ff;color:#7e22ce}.admin-audit-code{font-family:"Source Sans 3",monospace;font-size:11px;color:#5c7895;background-color:#f2f6fb;padding:2px 6px;border-radius:4px}.admin-audit-target{font-size:11px;color:#5c7895}.admin-audit-empty{padding:30px 22px;text-align:center}.admin-page-layout--settings{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}.admin-settings-block{gap:14px}.admin-settings-logo-preview{display:flex;align-items:center;justify-content:center;padding:10px;background-color:#f8fbff;border:1px solid #e2ecf7;border-radius:10px;max-height:100px}.admin-settings-logo-preview img{max-height:60px;max-width:100%;object-fit:contain}.admin-settings-checkbox-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:4px}.admin-settings-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#14293d;cursor:pointer}.admin-settings-checkbox input[type=checkbox]{margin:0;width:16px;height:16px;flex-shrink:0;cursor:pointer}.admin-settings-checkbox span{line-height:1}.admin-settings-status{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#14293d;padding:6px 0}.admin-settings-status--muted{color:#5c7895}.admin-settings-status-dot{width:8px;height:8px;border-radius:50%;background-color:#c9d9ea}.admin-settings-status-dot--ok{background-color:#1a7a45}.admin-page-layout--system{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px;align-items:start}.admin-system-block{gap:14px}.admin-system-warning{display:flex;gap:10px;padding:12px 14px;background-color:#fffaed;border:1px solid #f5e6a5;border-radius:10px;font-size:12px;color:#7a5a00;line-height:1.5}.admin-system-warning-icon{font-size:16px;flex-shrink:0}.admin-page .admin-update-tools button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:34px;padding:0 14px;border-radius:8px;border:1px solid #C9D9EA;background-color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;color:#14293d;cursor:pointer;min-height:0}.admin-page .admin-update-tools button:hover:not(:disabled){background-color:#f2f6fb}.admin-page .admin-update-tools button:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 1100px){.admin-page-layout--users,.admin-page-layout--groups,.admin-page-layout--settings{grid-template-columns:minmax(0,1fr)}.admin-users-table-head,.admin-page .admin-users-row{grid-template-columns:minmax(0,2fr) 100px 80px 100px 90px}}@media (min-width: 768px) and (max-width: 899px){.admin-page{padding:24px}.admin-users-table-head,.admin-page .admin-users-row{grid-template-columns:minmax(0,2fr) 90px 70px 90px 80px;padding:14px 18px}.admin-audit-table-head,.admin-audit-row{grid-template-columns:140px 110px 140px minmax(0,1fr);padding:10px 18px}.admin-page-layout--settings{grid-template-columns:minmax(0,1fr)}}@media (max-width: 767px){.admin-page{padding:20px 18px}.admin-users-table-head{display:none}.admin-page .admin-users-row{grid-template-columns:1fr;gap:8px}.admin-users-detail-grid,.admin-tools-form-row{grid-template-columns:1fr}}.project-hours-page{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start;margin-top:1rem}.project-hours-main-card,.project-hours-summary-card,.project-hours-edit-card{background-color:#fff;border:1px solid #C9D9EA;border-radius:14px;box-shadow:0 1px 2px #14293d0a;padding:22px 26px;display:flex;flex-direction:column;gap:16px}.project-hours-main-card{gap:20px}.project-hours-aside{display:flex;flex-direction:column;gap:18px;align-self:start}.project-hours-card-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:16px;font-weight:700;color:#14293d}.project-hours-card-subtitle{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:15px;font-weight:700;color:#14293d}.project-hours-donut-wrap{position:relative;display:flex;align-items:center;justify-content:center;padding:12px 0 4px;align-self:center}.project-hours-donut{width:220px;height:220px}.project-hours-donut-track{stroke:#e6eef8}.project-hours-donut-fill{stroke:#2f70b7;transition:stroke-dashoffset .4s ease}.project-hours-donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;gap:4px}.project-hours-donut-percent{font-family:"Source Sans 3",system-ui,sans-serif;font-size:38px;font-weight:700;color:#14293d;letter-spacing:-.02em;line-height:1}.project-hours-donut-label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#5c7895;font-weight:500}.project-hours-legend{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d}.project-hours-legend-item{display:inline-flex;align-items:center;gap:8px}.project-hours-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.project-hours-legend-dot--reported{background-color:#2f70b7}.project-hours-legend-dot--planned{background-color:transparent;border:2px solid #c9d9ea}.project-hours-budget-bar{display:flex;flex-direction:column;gap:8px;padding:8px 4px 0}.project-hours-budget-labels{display:flex;justify-content:space-between;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;color:#5c7895}.project-hours-budget-track{position:relative;height:10px;background-color:#e6eef8;border-radius:999px;overflow:hidden}.project-hours-budget-fill{height:100%;background-color:#2f70b7;border-radius:999px;transition:width .4s ease}.project-hours-budget-remaining{text-align:center;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;color:#5c7895;margin-top:4px}.project-hours-summary-list{margin:0;display:flex;flex-direction:column;gap:10px}.project-hours-summary-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:10px;border-bottom:1px solid #eef3fa}.project-hours-summary-row:last-child{border-bottom:0;padding-bottom:0}.project-hours-summary-row dt{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#5c7895;font-weight:500}.project-hours-summary-row dd{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:14px;font-weight:700;color:#14293d}.project-hours-summary-accent{color:#2f70b7!important}.project-hours-edit-form{display:flex;flex-direction:column;gap:14px}.project-hours-edit-field{display:flex;flex-direction:column;gap:6px}.project-hours-edit-field-label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;color:#5c7895}.project-hours-edit-input-wrap{position:relative;display:flex;align-items:center}.project-hours-page .project-hours-edit-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:38px;padding:0 32px 0 12px;border:1px solid #C9D9EA;border-radius:8px;background-color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:14px;color:#14293d;min-height:0;outline:none;transition:border-color .12s ease,box-shadow .12s ease;box-sizing:border-box}.project-hours-page .project-hours-edit-input:focus{border-color:#2f70b7;box-shadow:0 0 0 3px #2f70b726}.project-hours-edit-unit{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#5c7895;pointer-events:none}.project-hours-edit-actions{display:flex;gap:10px}.project-hours-page .project-hours-edit-save,.project-hours-page .project-hours-edit-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;height:38px;border-radius:8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:700;cursor:pointer;min-height:0;border:1px solid #14293D;background-color:#14293d;color:#fff;transition:background-color .15s ease}.project-hours-page .project-hours-edit-save:hover{background-color:#0f2031}.project-hours-page .project-hours-edit-clear{background-color:#fff;color:#14293d;border-color:#c9d9ea}.project-hours-page .project-hours-edit-clear:hover{background-color:#f2f6fb}.project-hours-edit-hint{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;color:#5c7895;line-height:1.5}@media (max-width: 1100px){.project-hours-page{grid-template-columns:minmax(0,1fr)}.project-hours-aside{flex-direction:row;flex-wrap:wrap}.project-hours-aside>section{flex:1 1 260px}}@media (max-width: 720px){.project-hours-donut{width:180px;height:180px}.project-hours-donut-percent{font-size:30px}}.project-mat-tab{display:flex;flex-direction:column;gap:16px;margin-top:1rem}.project-mat-tab-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.project-mat-tab-search{position:relative;flex:1 1 280px;min-width:220px;display:flex;align-items:center}.project-mat-tab-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;color:#5c7895;pointer-events:none}.project-mat-tab-search-icon svg{width:16px;height:16px}.project-mat-tab .project-mat-tab-search input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:40px;padding:0 14px 0 38px;border:1px solid #C9D9EA;border-radius:999px;background-color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d;min-height:0;outline:none;transition:border-color .12s ease,box-shadow .12s ease;box-sizing:border-box}.project-mat-tab .project-mat-tab-search input:focus{border-color:#2f70b7;box-shadow:0 0 0 3px #2f70b726}.project-mat-tab .project-mat-tab-search input::placeholder{color:#8ea3bc}.project-mat-tab-stats{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 16px;background-color:#fff;border:1px solid #C9D9EA;border-radius:10px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#5c7895;box-shadow:0 1px 2px #14293d0a;flex-shrink:0}.project-mat-tab-stats b{color:#14293d;font-weight:700;margin-right:2px}.project-mat-tab-stats-sep{color:#c9d9ea}.project-mat-tab-stats-match{color:#2f70b7;font-weight:600}.project-mat-tab .project-mat-tab-tool-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;border:1px solid #C9D9EA;border-radius:10px;background-color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;color:#14293d;cursor:pointer;min-height:0;box-shadow:0 1px 2px #14293d0a;transition:background-color .12s ease,border-color .12s ease;flex-shrink:0}.project-mat-tab .project-mat-tab-tool-btn:hover:not(:disabled){background-color:#f2f6fb;border-color:#b5c8de}.project-mat-tab .project-mat-tab-tool-btn:disabled{opacity:.4;cursor:not-allowed}.project-mat-tab-tool-btn-icon{font-size:14px;color:#5c7895;line-height:1}.project-mat-tab-card{background-color:#fff;border:1px solid #C9D9EA;border-radius:14px;box-shadow:0 1px 2px #14293d0a;overflow:hidden}.project-mat-tab-table{display:flex;flex-direction:column;min-width:0}.project-mat-tab-table-head,.project-mat-tab-row{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,1.6fr) minmax(0,.9fr) minmax(0,1fr);gap:16px;align-items:center;padding:18px 28px;font-family:"Source Sans 3",system-ui,sans-serif}.project-mat-tab-table-head{padding-top:14px;padding-bottom:14px}.project-mat-tab-table-head{background-color:#f8fbff;border-bottom:1px solid #e2ecf7}.project-mat-tab .project-mat-tab-th{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;padding:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:700;color:#5c7895;text-transform:uppercase;letter-spacing:.06em;text-align:left;cursor:default;min-height:0;display:flex;align-items:center;gap:6px}.project-mat-tab .project-mat-tab-th[type=button]{cursor:pointer;transition:color .12s ease}.project-mat-tab .project-mat-tab-th[type=button]:hover{color:#14293d}.project-mat-tab-sort-arrow{display:inline-block;font-size:11px;color:#2f70b7}.project-mat-tab-row{border-bottom:1px solid #eef3fa;font-size:14px;color:#14293d;transition:background-color .12s ease}.project-mat-tab-row:last-child{border-bottom:0}.project-mat-tab-row:hover{background-color:#f8fbff}.project-mat-tab-td{min-width:0;overflow:hidden;text-overflow:ellipsis}.project-mat-tab-td--item{font-weight:600;color:#14293d}.project-mat-tab-td--article,.project-mat-tab-td--notes,.project-mat-tab-td--count,.project-mat-tab-td--last{color:#5c7895}.project-mat-tab-td--qty{color:#14293d;font-weight:600}.project-mat-tab-td--notes{white-space:normal;line-height:1.4}.project-mat-tab-empty{padding:40px 26px;text-align:center;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#5c7895}@media (max-width: 1100px){.project-mat-tab-table-head,.project-mat-tab-row{grid-template-columns:minmax(0,2fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,.9fr);gap:12px;padding:12px 18px}}@media (max-width: 820px){.project-mat-tab-table-head{display:none}.project-mat-tab-row{grid-template-columns:1fr;gap:4px;padding:14px 18px}.project-mat-tab-td--article:before{content:"Art.: ";color:#5c7895}.project-mat-tab-td--qty:before{content:"Qty: ";color:#5c7895}.project-mat-tab-td--notes:before{content:"Notes: ";color:#5c7895}.project-mat-tab-td--count:before{content:"Entries/Rep.: ";color:#5c7895}.project-mat-tab-td--last:before{content:"Last: ";color:#5c7895}}.map-page{display:flex;flex-direction:column;gap:12px;height:calc(100dvh - 100px);min-height:400px}.map-page-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;position:relative;z-index:1001}.map-page-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:22px;font-weight:700;color:#14293d}.map-page-search-wrap{position:relative;flex:1 1 240px;max-width:400px}.map-page-search{width:100%;height:38px;padding:0 14px;border:1px solid #C9D9EA;border-radius:8px;background-color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d;box-sizing:border-box;outline:none}.map-page-search:focus{border-color:#2f70b7;box-shadow:0 0 0 3px #2f70b726}.map-page-search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:1002;max-height:280px;overflow-y:auto;padding:4px;border:1px solid #C9D9EA;border-radius:10px;background-color:#fff;box-shadow:0 12px 28px #14293d1f;display:flex;flex-direction:column;gap:2px}.map-page-search-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:8px 12px;border:0;border-radius:6px;background-color:transparent;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;text-align:left;cursor:pointer;min-height:0;display:flex;align-items:center;gap:8px}.map-page-search-item:hover:not(:disabled){background-color:#f2f6fb}.map-page-search-item:disabled{opacity:.5;cursor:not-allowed}.map-page-search-item-number{font-weight:700;color:#14293d;flex-shrink:0}.map-page-search-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;align-items:stretch}.map-page-search-item-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5c7895}.map-page-search-item-address{font-size:11px;color:#9aaec4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-page-search-item-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.map-page-search-item-no-loc{font-size:10px;color:#9aaec4}.map-page-geocoding{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;color:#5c7895;animation:map-page-pulse 1.5s ease-in-out infinite}@keyframes map-page-pulse{0%,to{opacity:1}50%{opacity:.5}}.map-page-pin-count{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;color:#5c7895;margin-left:auto}.map-page-container{flex:1;min-height:0;border-radius:14px;overflow:hidden;border:1px solid #C9D9EA;box-shadow:0 1px 4px #14293d0a}.map-page-legend{display:flex;gap:16px;flex-wrap:wrap;padding:4px 0}.map-page-legend-item{display:inline-flex;align-items:center;gap:6px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;color:#5c7895}.map-page-legend-item--toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:4px 10px;border-radius:999px;background:transparent;cursor:pointer;transition:background-color .15s ease,color .15s ease,opacity .15s ease;-webkit-user-select:none;user-select:none}.map-page-legend-item--toggle:hover{background-color:#14293d0f;color:#14293d}.map-page-legend-item--toggle:focus-visible{outline:2px solid #2f70b7;outline-offset:2px}.map-page-legend-item--toggle.is-off{color:#9aaec4;text-decoration:line-through;opacity:.75}.map-page-legend-item--toggle.is-off .map-page-legend-dot{opacity:.3}.map-page-legend-reset{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:4px 10px;border-radius:999px;background:transparent;color:#2f70b7;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;cursor:pointer;margin-left:auto}.map-page-legend-reset:hover,.map-page-legend-reset:focus-visible{background-color:#2f70b71a;outline:none}.map-page-pin-count-filtered{color:#2f70b7;font-weight:600}.map-page-legend-dot{width:10px;height:10px;border-radius:50%;transition:opacity .15s ease}.map-page-pin{background:transparent!important;border:0!important}.map-page-leaflet-popup .leaflet-popup-content-wrapper{border-radius:10px;box-shadow:0 8px 24px #14293d26;padding:0}.map-page-leaflet-popup .leaflet-popup-content{margin:0}.map-page-popup{padding:12px 16px;display:flex;flex-direction:column;gap:4px;min-width:180px}.map-page-popup-number{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;color:#5c7895;text-transform:uppercase;letter-spacing:.04em}.map-page-popup-name{font-family:"Source Sans 3",system-ui,sans-serif;font-size:15px;font-weight:700;color:#14293d}.map-page-popup-customer{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;color:#5c7895}.map-page-popup-status{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600}.map-page-popup-address{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;color:#8fa2ba;margin-top:4px}@media (max-width: 767px){.map-page{height:calc(100dvh - 224px)}.map-page-toolbar{gap:8px}.map-page-title{font-size:18px}.map-page-search-wrap{flex-basis:100%;max-width:none}.map-page-container{border-radius:10px}}.tasks-page-row-header{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;display:flex;align-items:center;gap:14px;padding:16px 24px;background:transparent;border:0;text-align:left;cursor:pointer;min-height:0;font-family:"Source Sans 3",system-ui,sans-serif}.tasks-page-row-title-block{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:4px}.tasks-page-row-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tasks-page-row-title{font-family:"Source Sans 3",system-ui,sans-serif;font-size:15px;font-weight:700;color:#14293d;line-height:18px}.tasks-page-row-badge{display:inline-flex;align-items:center;height:19px;padding:0 8px;border-radius:4px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:.06em}.tasks-page-row-badge--overdue{background-color:#e34b4b;color:#fff}.tasks-page-row-badge--done{background-color:#e2f1d9;color:#1f6a3e;border:1px solid #c8e6d0}.tasks-page-row-meta{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:500;color:#5c7895;line-height:17px}.tasks-page-row--done .tasks-page-row-meta{color:#9aaec4}.tasks-page-row-subtitle{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;color:#9aaec4}.tasks-page-row-chevron{flex-shrink:0;color:#8fa2ba;font-size:13px;line-height:1;padding:0 4px}.tasks-page-row-expanded{padding:0 24px 18px;display:flex;flex-direction:column;gap:10px}.tasks-page-travel-hints{display:flex;flex-wrap:wrap;gap:20px;padding:10px 14px;background-color:#e8f1fc;border:1px solid #b7d2ec;border-radius:8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;color:#14293d}.tasks-page-detail-lines{display:flex;flex-direction:column;gap:3px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d;line-height:18px}.tasks-page-subtask-list{list-style:none;margin:0;padding:6px 0 0 16px;display:flex;flex-direction:column;gap:3px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d}.tasks-page-subtask-list li{position:relative}.tasks-page-subtask-list li:before{content:"·";position:absolute;left:-10px;color:#9aaec4}.tasks-page-row-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:6px}.tasks-page-row-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;color:#14293d;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;cursor:pointer;min-height:0;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.tasks-page-row-action:hover{background-color:#edf4ff;border-color:#b7d2ec}.tasks-page-row-action--icon{width:32px;padding:0;justify-content:center}.tasks-page-row-action--primary{background-color:#2f70b7;border-color:#2f70b7;color:#fff}.tasks-page-row-action--primary:hover{background-color:#2861a2;border-color:#2861a2}.tasks-page-row-action--ghost{background-color:transparent;border-color:transparent;color:#5c7895}.tasks-page-row-action--ghost:hover{background-color:#edf4ff;color:#14293d}.tasks-page-card .office-task-filter-hint{padding:16px 24px 0;margin:0}.tasks-page-card .office-task-filter-row{padding:14px 24px 18px;margin:0;border-bottom:1px solid #edf4ff;background-color:#f8fbff}.tasks-page-card .task-list{list-style:none;margin:0;padding:0}.tasks-page-card .task-list>li.task-list-item{margin:0;border:0;border-bottom:1px solid #edf4ff;border-radius:0;background:transparent;padding:16px 24px;box-shadow:none}.tasks-page-card .task-list>li.task-list-item:last-child{border-bottom:0}.planning-mobile-day-nav{margin-top:-.1rem;margin-bottom:.25rem;justify-content:space-between}.planning-mobile-day-label{min-width:0;text-align:center;font-weight:700;padding:.4rem .55rem;border:1px solid var(--line);border-radius:10px;background:#fff}.planning-mobile-view-toggle{display:none}.calendar-grid-scroll{width:100%;overflow-x:auto;margin-top:.75rem;border-radius:14px;border:0;background:#fff;overflow:hidden;box-shadow:0 1px 4px #14293d0f}.calendar-grid{display:grid;grid-template-columns:44px repeat(7,minmax(140px,1fr));min-width:1024px;gap:1px;background:#edf4ff}.calendar-cell{background:#fff;min-width:0}.calendar-corner{background:#edf2f8}.calendar-col-header{background:#fff;font-size:.69rem;font-weight:700;text-align:center;padding:.48rem .24rem;color:#4f657c;letter-spacing:.07em;text-transform:uppercase;-webkit-user-select:none;user-select:none}.calendar-col-header.calendar-weekend{background:#fff;color:#8ca5bb}.calendar-week-num-cell{background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:.45rem .15rem;gap:0}.calendar-cw-label{font-size:.58rem;font-weight:700;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;line-height:1}.calendar-cw-number{font-size:.98rem;font-weight:700;color:var(--ink);line-height:1.25}.calendar-day-cell{display:grid;grid-template-rows:auto 1fr;gap:.22rem;padding:.38rem .32rem .45rem;min-height:130px;background:#fff}.calendar-day-cell.calendar-weekend{background:#fafbfe}.calendar-day-cell.calendar-today{background:#f8fbff}.calendar-day-cell.calendar-holiday{background:#fff8f0}.calendar-day-head{display:flex;align-items:center;gap:.28rem;min-height:22px}.calendar-day-num{width:auto;height:auto;display:flex;align-items:center;justify-content:center;border-radius:0;font-size:.76rem;font-weight:700;color:#4f657c;flex-shrink:0;line-height:1}.calendar-day-num.today-num{background:transparent;color:#2f70b7}.calendar-day-month-label{font-size:.67rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.calendar-day-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.18rem;overflow-y:auto;max-height:150px;padding-right:.08rem}.calendar-task,.calendar-absence{border-left:2px solid var(--line);border-radius:0 4px 4px 0;padding:.16rem .28rem .16rem .34rem;display:grid;gap:.06rem;background:#f8fbff}.calendar-absence{border-left-color:#c9aa82;background:#fffaf2}.calendar-public-holiday{border-left:3px solid #d97708;border-radius:0 4px 4px 0;padding:.2rem .3rem .2rem .32rem;display:grid;gap:.06rem;background:#fef3c7}.calendar-public-holiday b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;font-size:.78rem;color:#92400e}.calendar-holiday-icon{font-size:.7rem;line-height:1}.calendar-task-mine{border-left-color:var(--accent);background:#eef5ff}.calendar-task-done{opacity:.6}.calendar-task-clickable{cursor:pointer}.calendar-task-clickable:hover,.calendar-task-clickable:focus-visible{background:#e3eefa;outline:none}.calendar-task b,.calendar-absence b,.calendar-task small,.calendar-absence small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;font-size:.68rem;line-height:1.2}.calendar-task small,.calendar-absence small{color:var(--muted)}.calendar-empty-cell{color:var(--muted);font-size:.78rem;opacity:.5;-webkit-user-select:none;user-select:none}.planning-calendar-scroll{width:100%;overflow-x:auto;overflow-y:hidden;margin-top:.75rem;border-radius:14px;border:0;box-shadow:0 1px 4px #14293d0f}.planning-grid-unified{--planning-col-min: 164px;display:grid;grid-template-columns:repeat(7,minmax(var(--planning-col-min),1fr));min-width:max(100%,calc(var(--planning-col-min) * 7));gap:1px;background:#edf4ff}.planning-col{background:#fffffff5;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:360px;max-height:65vh}.planning-weekend-col{background:#fafbfe}.planning-today-col{background:#fffbf5}.planning-col-head{display:grid;gap:.16rem;justify-items:center;padding:.62rem .45rem .56rem;border-bottom:1px solid #edf4ff;background:#ffffffe0;flex-shrink:0}.planning-weekend-col .planning-col-head{background:#f4f7fb}.planning-today-col .planning-col-head{background:#eef5ff}.planning-col-day-name{font-size:.69rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#4f657c}.planning-col-day-num{width:auto;height:auto;display:flex;align-items:center;justify-content:center;border-radius:999px;font-size:1.1rem;font-weight:700;color:#183553;flex-shrink:0;line-height:1}.planning-col-day-num.today-num{background:transparent;color:#2f70b7}.planning-col-month-label{font-size:.65rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.planning-col ul{list-style:none;padding:.5rem;margin:0;display:flex;flex-direction:column;gap:.38rem;align-content:start;min-height:0;overflow-y:auto}.planning-task{margin:0;display:grid;gap:.18rem;border:0;border-left:3px solid #d97706;border-radius:0 6px 6px 0;padding:.44rem .45rem;background:#fef3c7}.planning-absence{margin:0;display:grid;gap:.15rem;border-left:3px solid #db2777;border-radius:0 6px 6px 0;padding:.36rem .4rem .36rem .36rem;background:#fce7f3}.planning-absence b{font-size:.84rem}.planning-absence small{color:var(--muted)}.planning-task-mine{border-left-color:#0284c7;background:#e0f2fe}.planning-project{margin:0;display:grid;gap:.24rem;border:1px solid #edf4ff;border-left:3px solid #2f70b7;border-radius:8px;padding:.48rem .5rem .45rem;background:#f8fbff}.planning-project-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.45rem}.planning-project-count{border:1px solid #dce7f2;border-radius:999px;padding:.14rem .48rem;background:#fff;color:#1e4f86;font-size:.67rem;font-weight:700;line-height:1.2;white-space:nowrap}.planning-col li small{color:var(--muted)}.planning-empty-cell{color:var(--muted);font-size:.8rem;opacity:.5;-webkit-user-select:none;user-select:none}.gantt-layout{margin-top:.75rem;display:grid;gap:.65rem;grid-template-columns:1fr;align-content:start}.gantt-strip{display:flex;align-items:center;gap:1rem;padding:.65rem 1rem;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 4px #100d0908;flex-wrap:wrap}.gantt-strip-left{display:flex;align-items:center;gap:.8rem;flex:1 1 260px;min-width:0}.gantt-strip-left h3{margin:0;font-size:1rem;font-weight:700;color:#14293d;white-space:nowrap}.gantt-strip-progress{display:flex;align-items:center;gap:.45rem;flex:1 1 80px;min-width:80px;max-width:180px}.gantt-strip-progress-track{flex:1;height:5px;background:#e4e9f0;border-radius:99px;overflow:hidden}.gantt-strip-progress-fill{height:100%;border-radius:99px;background:#3a8fd1;transition:width .4s cubic-bezier(.22,1,.36,1);min-width:0}.gantt-strip-progress-complete{background:#4a9e68}.gantt-strip-pct{font-size:.72rem;font-weight:700;color:#3a8fd1;white-space:nowrap;min-width:2ch}.gantt-strip-metrics{display:flex;align-items:center;gap:.35rem}.gantt-chip{display:flex;align-items:baseline;gap:.22rem;padding:.28rem .55rem;border-radius:8px;background:#f3f6fb;border:1px solid transparent;transition:border-color .12s ease,background .12s ease;white-space:nowrap}.gantt-chip:hover{background:#edf2fa;border-color:#d4dff0}.gantt-chip-val{font-size:.82rem;font-weight:700;color:#14293d}.gantt-chip-lbl{font-size:.68rem;color:var(--muted);font-weight:500}.gantt-strip-actions{display:flex;align-items:center;gap:.4rem}.gantt-action-btn{padding:.38rem .72rem;border-radius:8px;border:1px solid #c9d5e4;background:#fff;color:#1e4f86;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .14s ease;white-space:nowrap}.gantt-action-btn:hover{background:#f0f5fd;border-color:#a8c2e0}.gantt-action-btn-primary{background:#1e4f86;color:#fff;border-color:#1e4f86}.gantt-action-btn-primary:hover{background:#173e6d;border-color:#173e6d}.gantt-board-card{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 2px 12px #100d090a;overflow:hidden}.gantt-scroll{overflow:auto;background:#fff;max-height:min(78vh,1040px);position:relative}.gantt-scroll::-webkit-scrollbar{width:6px;height:6px}.gantt-scroll::-webkit-scrollbar-track{background:transparent}.gantt-scroll::-webkit-scrollbar-thumb{background:#648cb938;border-radius:99px}.gantt-scroll::-webkit-scrollbar-thumb:hover{background:#648cb96b}.gantt-scroll::-webkit-scrollbar-corner{background:transparent}.gantt-board{min-width:760px}.gantt-head-row{display:flex;position:sticky;top:0;z-index:8;background:#f7f9fc;border-bottom:2px solid #e2e8f0}.gantt-corner{width:260px;flex-shrink:0;position:sticky;left:0;z-index:10;background:#f3f6fa;padding:.55rem .9rem;display:flex;flex-direction:column;justify-content:center;gap:.1rem;font-weight:700;font-size:.78rem;color:#14293d;border-right:1px solid #e2e8f0}.gantt-corner small{font-weight:500;font-size:.66rem;color:var(--muted)}.gantt-date-strip{display:grid;flex:1;min-width:0}.gantt-date-cell{min-width:172px;padding:.45rem .4rem;background:#f7f9fc;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.08rem;border-right:1px solid #e5e9ef;position:relative}.gantt-date-cell:last-child{border-right:0}.gantt-date-cell small{font-size:.66rem;color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-weight:500}.gantt-date-cell b{font-size:.82rem;font-weight:700;color:#14293d}.gantt-date-cell-weekend{background:#f4f2f8}.gantt-date-cell-weekend small,.gantt-date-cell-weekend b{opacity:.65}.gantt-date-cell-today{background:#fef8ee}.gantt-date-cell-today b{color:#c67a12}.gantt-today-dot{display:block;width:5px;height:5px;border-radius:50%;background:#e8920d;margin-top:1px}@keyframes ganttRowIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.gantt-row{display:flex;min-height:0;animation:ganttRowIn .2s ease both}.gantt-row+.gantt-row{border-top:1px solid #eef1f5}.gantt-row:hover .gantt-label{background:#f6f8fc}.gantt-row:hover .gantt-day-slot{background:#fafbfe}.gantt-row:hover .gantt-day-slot-today{background:#fef8ee}.gantt-row:hover .gantt-day-slot-weekend{background:#f8f6fb}.gantt-row-done .gantt-label{border-left:3px solid #4a9e68}.gantt-row-overdue .gantt-label{border-left:3px solid #d9624a}.gantt-label{width:260px;flex-shrink:0;position:sticky;left:0;z-index:4;background:#fff;padding:.5rem .6rem .5rem .65rem;display:flex;align-items:center;gap:.5rem;border-right:1px solid #e2e8f0;border-left:3px solid transparent;overflow:hidden;transition:background .1s ease}.gantt-label-status-pip{flex-shrink:0}.gantt-pip{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:.6rem;font-weight:700;line-height:1}.gantt-pip-open{border:2px solid #c0cfe0;background:#fff}.gantt-pip-done{background:#4a9e68;color:#fff;border:none}.gantt-pip-overdue{background:#d9624a;color:#fff;border:none}.gantt-label-content{flex:1;min-width:0;display:grid;gap:.12rem}.gantt-label-title{font-size:.8rem;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#14293d;line-height:1.25}.gantt-label-meta{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.gantt-label-meta small{color:var(--muted);font-size:.68rem;white-space:nowrap}.gantt-duration-badge{display:inline-flex;align-items:center;padding:.06rem .32rem;border-radius:5px;background:#eaf2fd;color:#2663a1;font-size:.64rem;font-weight:650;white-space:nowrap;line-height:1.3}.gantt-subtask-badge{display:inline-flex;align-items:center;gap:.12rem;padding:.06rem .32rem;border-radius:5px;background:#f0edf8;color:#5a4a8a;font-size:.64rem;font-weight:650;white-space:nowrap;line-height:1.3}.gantt-label-assignee{font-size:.68rem;color:#738fa9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-track{display:grid;grid-template-rows:minmax(76px,auto);flex:1;min-width:0;align-items:stretch}.gantt-day-slot{grid-row:1;min-height:76px;background:#fff;border-right:1px solid #eef1f5;transition:background 80ms ease}.gantt-day-slot:last-of-type{border-right:0}.gantt-day-slot-today{background:#fffcf5;box-shadow:inset 0 0 0 1px #e8920d14}.gantt-day-slot-weekend{background:#faf8fd}.gantt-bar{grid-row:1;z-index:2;align-self:center;justify-self:stretch;position:relative;margin:.32rem .3rem;border:1px solid #d0dae8;border-left:4px solid #5ba0d4;border-radius:8px;background:#fff;color:#14293d;box-shadow:0 1px 4px #183a600f;overflow:visible;transition:box-shadow .16s ease,transform .16s ease,border-color .16s ease}.gantt-bar:hover,.gantt-bar:focus-within{box-shadow:0 4px 16px #183a6021;transform:translateY(-1px);border-color:#a8c5e6}.gantt-bar-main{width:100%;border:0;background:transparent;color:inherit;display:grid;gap:.08rem;text-align:left;padding:.4rem .55rem;cursor:pointer;overflow:hidden;min-width:0}.gantt-bar-main:disabled{cursor:default;opacity:.82}.gantt-bar-title{font-size:.78rem;font-weight:650;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:1.3}.gantt-bar-detail{font-size:.68rem;color:#5a7a9a;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.gantt-bar-actions{position:absolute;top:-8px;right:4px;display:flex;gap:2px;opacity:0;pointer-events:none;transform:translateY(3px);transition:opacity .12s ease,transform .12s ease}.gantt-bar:hover .gantt-bar-actions,.gantt-bar:focus-within .gantt-bar-actions{opacity:1;pointer-events:auto;transform:translateY(0)}.gantt-bar-act{width:24px;height:24px;border-radius:6px;border:1px solid #d0dae8;background:#fff;display:flex;align-items:center;justify-content:center;font-size:.68rem;cursor:pointer;box-shadow:0 1px 4px #00000014;transition:all .1s ease;padding:0;line-height:1}.gantt-bar-act:hover{background:#edf5ff;border-color:#8cb4e0;transform:scale(1.08)}.gantt-bar-act-done{color:#4a9e68;font-weight:700}.gantt-bar-act-done:hover{background:#e8f5ed;border-color:#8ec8a0}.gantt-bar-mine{border-color:#b8d4f0;border-left-color:#3a8fd1}.gantt-bar-overdue{border-color:#e8c4bc;border-left-color:#d9624a;background:#fffbfa}.gantt-bar-overdue .gantt-bar-title{color:#7a2a1a}.gantt-bar-overdue .gantt-bar-detail{color:#9a4030}.gantt-bar-done{border-color:#c7daca;border-left-color:#4a9e68;background:#fbfdfb}.gantt-bar-done .gantt-bar-title{color:#2e5a3a;text-decoration:line-through;text-decoration-color:#2e5a3a4d}.gantt-bar-done .gantt-bar-detail{color:#5a8068}.gantt-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:3rem 1rem;text-align:center}.gantt-empty-icon{font-size:2rem;opacity:.5}.gantt-empty p{color:var(--muted);font-size:.88rem;margin:0}.gantt-unscheduled{display:grid;gap:.5rem;padding:.8rem 1rem;border-top:1px solid #eef1f5}.gantt-unscheduled h4{font-size:.82rem;color:var(--muted);font-weight:600;margin:0}@media (max-width: 640px){.gantt-strip{padding:.5rem .7rem;gap:.5rem}.gantt-strip-metrics{gap:.2rem}.gantt-chip{padding:.2rem .38rem}.gantt-corner,.gantt-label{width:180px}.gantt-date-cell{min-width:140px}}@media (max-width: 767px){.planning-grid-unified{grid-template-columns:1fr;min-width:0}.planning-day-mobile-hidden{display:none}.planning-mobile-view-toggle{display:flex;gap:.28rem;margin-bottom:.1rem}.planning-mobile-view-toggle button{flex:1 1 0;padding:.35rem .2rem;font-size:.78rem;display:flex;align-items:center;justify-content:center;gap:.22rem;white-space:nowrap}.planning-page .planning-grid-unified.planning-grid-mobile-list{gap:0;background:transparent;border:none;border-radius:0;grid-template-columns:1fr;min-width:0}.planning-page .planning-grid-mobile-list .planning-col{border:0;border-right:0;border-radius:0;background:transparent;min-height:0;max-height:none}.planning-page .planning-grid-mobile-list .planning-col-head{padding:14px 4px 6px;background:transparent;border-bottom:0;gap:8px;justify-content:flex-start;flex-direction:row}.planning-grid-mobile-list .planning-col-day-name{font-size:12px;color:#5c7895;font-weight:600}.planning-grid-mobile-list .planning-col-day-num{font-size:14px;width:auto;height:auto;background:transparent;color:#14293d;font-weight:700}.planning-grid-mobile-list .today-num{background:#2f70b7;color:#fff;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.planning-page .planning-grid-mobile-list .planning-empty-cell{display:none}.planning-grid-mobile-list .planning-col ul{overflow-y:visible;max-height:none;padding:0 0 4px;gap:10px}.planning-grid-mobile-list .planning-task{background:#fff;border:1px solid #C9D9EA;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;position:relative}.planning-grid-mobile-list .planning-task b{font-family:"Source Sans 3",system-ui,sans-serif;font-size:15px;font-weight:700;color:#14293d;padding-right:100px}.planning-grid-mobile-list .planning-task small{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#5c7895}.planning-grid-mobile-list .planning-task:after{content:attr(data-task-type);position:absolute;top:14px;right:16px;padding:3px 12px;border-radius:999px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;text-transform:capitalize;border:1px solid #C9D9EA;color:#5c7895;background:#f8fbff}.planning-grid-mobile-list .planning-task[data-task-type=construction]:after{border-color:#2f70b7;color:#1e40af;background:#dbeafe}.planning-grid-mobile-list .planning-task[data-task-type=office]:after{border-color:#6ea54f;color:#065f46;background:#d1fae5}.planning-grid-mobile-list .planning-task[data-task-type=customer_appointment]:after{border-color:#f5b000;color:#92400e;background:#fef3c7;content:"Appointment"}.planning-grid-mobile-list .planning-absence{background:#fce7f3;border:1px solid #f9a8d4;border-radius:12px;padding:12px 16px}.planning-grid-mobile-list .planning-project{background:#fff;border:1px solid #C9D9EA;border-radius:12px;padding:14px 16px}.planning-grid-mobile-list .task-actions{display:none}.planning-mobile-view-toggle{display:none!important}.planning-grid-unified.planning-grid-mobile-scroll{grid-template-columns:repeat(7,148px);min-width:1036px}.planning-grid-mobile-scroll .planning-col-head{padding:.38rem .3rem;gap:.22rem}.planning-grid-mobile-scroll .planning-col-day-name{font-size:.62rem}.planning-grid-mobile-scroll .planning-col-day-num{width:22px;height:22px;font-size:.82rem}.planning-grid-mobile-scroll .planning-col ul{padding:.35rem;gap:.3rem}.planning-grid-mobile-scroll .planning-task,.planning-grid-mobile-scroll .planning-absence{padding:.3rem .32rem .3rem .3rem;font-size:.82rem}.planning-grid-mobile-scroll .planning-task b,.planning-grid-mobile-scroll .planning-absence b{font-size:.8rem}.planning-project-head{align-items:flex-start}.gantt-summary-metrics{grid-template-columns:repeat(2,1fr)}.gantt-corner,.gantt-label{width:160px}.gantt-board{min-width:620px}.gantt-bar-menu{margin:0 .45rem .45rem}}.task-list{list-style:none;padding:0;display:grid;gap:.55rem}.tasks-list-card ul{list-style:none;margin:0;padding:0;display:grid;gap:.82rem}.tasks-list-card ul li{margin:0}.project-task-create-card{align-content:start}.checkbox-inline{display:flex;align-items:center;gap:.55rem}.checkbox-inline input{width:auto}.project-class-picker{display:grid;gap:.45rem}.project-class-grid{display:grid;gap:.35rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.project-class-option{display:inline-flex;align-items:center;gap:.42rem;border:1px solid var(--line);border-radius:10px;padding:.38rem .48rem;background:#fff}.project-class-option input{width:auto}.assignee-search-block{display:grid;gap:.45rem}.task-overlap-warning{display:grid;gap:.45rem;border:1px solid #e9b76f;background:#fff8ec}.task-overlap-warning-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.task-overlap-warning-list li{display:grid;gap:.08rem;padding:.45rem .55rem;border-radius:8px;background:#ffffffb3}.assignee-suggestions{border:1px solid var(--line);border-radius:10px;background:#fff;max-height:190px;overflow:auto;display:grid;gap:.2rem;padding:.2rem}.assignee-suggestion-btn{width:100%;text-align:left;border:1px solid transparent;background:transparent;border-radius:8px;padding:.42rem .5rem}.assignee-suggestion-btn:hover,.assignee-suggestion-btn:focus-visible{background:var(--surface-2);border-color:var(--line)}.task-assignee-suggestion-btn{display:grid;gap:.08rem}.assignee-primary-label{display:block}.assignee-availability-note{display:block;color:var(--muted);font-size:.72rem;line-height:1.2}.assignee-chip-list{display:flex;flex-wrap:wrap;gap:.35rem}.assignee-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.3rem .56rem;font-size:.8rem;line-height:1.15}.task-assignee-chip{display:grid;gap:.08rem;align-items:start;text-align:left}.tasks-list-card{align-content:start}.tasks-list-head{display:flex;align-items:center;justify-content:flex-start}.tasks-list-head h3{margin:0;text-align:left}.project-tasks-toolbar-actions{margin-left:auto;display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.project-tasks-export-btn{min-height:34px;padding:.42rem .72rem}.project-task-toggle-paper{margin-top:.55rem;margin-bottom:.55rem;padding:.28rem;border:1px solid #d8e2ec;border-radius:12px;background:#fff}.project-task-toggle-paper button{border-color:transparent;background:transparent;color:#60768d}.project-task-toggle-paper button.active{background:#2f70b7;color:#fff}.project-task-type-pill{display:inline-flex;align-items:center;min-height:30px;padding:.12rem .68rem;border-radius:999px;background:#fff4cf;border:1px solid #e2c978;color:#6f5117;font-size:.78rem;font-weight:700}.project-task-type-pill-office{background:#edf3fd;border-color:#c3d4ef;color:#375e97}.project-task-type-pill-appointment{background:#edf9f3;border-color:#c8ead9;color:#2d7758}.task-add-icon-btn{margin-left:auto;min-width:28px;width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;line-height:1}.task-view-toggle{justify-content:flex-start;margin-top:.35rem;margin-bottom:.25rem}.task-actions{justify-content:flex-end;gap:.4rem}.task-actions-left{justify-content:flex-start}.task-list-item{margin:0;border:1px solid #e3e8ef;border-left:4px solid transparent;border-radius:0 12px 12px 0;background:#fff;padding:.82rem .9rem;display:flex;gap:.6rem;justify-content:space-between;align-items:center;flex-wrap:wrap;box-shadow:0 1px #14325105}.task-list-item-mine{border-left-color:#5c93d0;background:#f4f8fe}.task-list-item-overdue{border-left-color:#bb4b42;background:#fff7f6}.task-list-item-clickable{cursor:pointer}.task-list-item-clickable:hover,.task-list-item-clickable:focus-visible{border-color:#5f94d1;box-shadow:0 0 0 1px #5f94d14d}.task-list-item-overdue.task-list-item-clickable:hover,.task-list-item-overdue.task-list-item-clickable:focus-visible{border-color:#d2a09a;box-shadow:0 0 0 1px #d2a09a59}.task-list-main{display:grid;gap:.28rem;min-width:min(250px,100%)}.task-list-title-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.task-list-main small{color:var(--muted)}.tasks-header-row{justify-content:space-between;gap:.7rem;margin-bottom:.25rem}.tasks-header-row h3{margin:0}.my-tasks-section{margin-top:1rem;border-radius:20px;box-shadow:0 14px 26px #1432510d}.my-tasks-header-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.my-tasks-open-pill{display:inline-flex;align-items:center;min-height:28px;padding:.2rem .72rem;border-radius:999px;background:#2f70b7;color:#fff;font-size:.78rem;font-weight:700}.office-task-filter-hint{display:block;margin-bottom:.35rem}.office-task-filter-row{align-items:flex-end;gap:.5rem;margin-bottom:.45rem}.office-task-filter-field{min-width:180px;flex:1 1 180px;display:grid;gap:.2rem}.office-task-no-date-toggle{margin-top:.2rem}.office-task-filter-field-project{min-width:min(360px,100%);flex:2 1 320px}.office-task-filter-field-project .assignee-suggestions{max-height:150px}.office-task-filter-reset{margin-left:auto}.archive-list-item{border:1px solid var(--line);border-radius:10px;background:#fff;padding:.55rem}.archive-list-item.archive-list-item-highlighted{border-color:#6e97c0;background:#e9f1fb;box-shadow:inset 0 0 0 1px #6e97c047}.task-expand-header{width:100%;border:0;background:transparent;padding:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;text-align:left;cursor:pointer}.task-expand-title-wrap{display:inline-flex;align-items:center;gap:.55rem;min-width:0}.task-status-badge{display:inline-flex;align-items:center;min-height:24px;padding:.12rem .48rem;border-radius:7px;background:#eef2f6;color:#5b7187;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.task-status-badge-overdue{background:#b3322f;color:#fff}.task-status-badge-done{background:#dce9e0;color:#2f6b48}.task-expand-chevron{color:var(--muted);font-size:.9rem;line-height:1}.task-expanded-content{display:grid;gap:.5rem;margin-top:.2rem;padding:.85rem .15rem .15rem}.task-travel-hints{display:flex;flex-wrap:wrap;gap:.5rem;padding:.42rem .52rem;border:1px solid #dde8f3;border-radius:10px;background:#eef5ff}.task-expanded-content b{font-weight:700}.task-subtask-list{display:grid;gap:.2rem}.task-detail-grid{display:grid;gap:.28rem}.task-meta-line{display:flex;flex-wrap:wrap;gap:.55rem 1rem}.task-subtask-list ul{margin:0;padding-left:1.1rem;display:grid;gap:.15rem;color:var(--ink)}.task-subtask-list li{font-size:.85rem;line-height:1.3}.task-edit-icon-btn{min-width:34px;width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center}.task-edit-pen-icon{width:15px;height:15px}.planning-task-clickable{cursor:pointer}.planning-task-clickable:hover,.planning-task-clickable:focus-visible{background:#e3eefa;outline:none}.danger-btn{border-color:#d08484;color:#872323;background:#fff6f6}.danger-btn:hover,.danger-btn:focus-visible{border-color:#b75f5f;background:#ffeaea}.assignee-pick{display:grid;gap:.45rem}.assignee-list{border:1px solid var(--line);border-radius:10px;background:#fff;max-height:220px;overflow:auto;padding:.45rem;display:grid;gap:.35rem}.assignee-item{display:flex;align-items:center;gap:.45rem}.assignee-item input{width:auto}.file-explorer{display:grid;gap:.45rem;overflow-x:auto}.file-row{display:grid;grid-template-columns:minmax(140px,1.8fr) minmax(120px,1.2fr) minmax(120px,1fr) minmax(120px,1fr) auto;gap:.5rem;align-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;padding:.5rem .6rem;min-width:820px}.file-row-head{background:var(--surface-2)}.file-row span,.file-row small{overflow-wrap:anywhere}.file-row-actions{gap:.4rem;align-items:center;flex-wrap:wrap}.file-delete-btn{color:var(--muted);font-size:.82rem}.file-delete-btn:hover{color:#c0392b}.file-delete-confirm-btn{font-size:.82rem;padding:.18rem .55rem;border-radius:5px;background:#c0392b;color:#fff;border:none;cursor:pointer}.file-delete-confirm-btn:hover{background:#a93226}.preview-modal{width:min(980px,100%)}.file-preview-image{width:100%;max-height:78vh;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:#fff}.file-preview-frame{width:100%;min-height:68vh;border:1px solid var(--line);border-radius:10px;background:#fff}.file-folder-group{display:contents}.file-folder-header{display:flex;align-items:center;gap:.5rem;min-width:820px;width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:.5rem .75rem;text-align:left;cursor:pointer;font-size:.9rem;font-weight:600;color:var(--ink);transition:background-color .15s}.file-folder-header:hover{background:#e4eef8}.file-folder-header--report{background:#f4f6f8;color:var(--muted);font-weight:500}.file-folder-header--report:hover{background:#eaecef}.file-folder-chevron{font-size:.65rem;flex-shrink:0;color:var(--muted)}.file-folder-name{flex:1 1 auto;min-width:0}.file-folder-count{font-size:.78rem;font-weight:500;background:#2f70b71a;border:1px solid rgba(47,112,183,.2);color:var(--accent);border-radius:999px;padding:.08rem .5rem;white-space:nowrap;flex-shrink:0}.file-folder-header--report .file-folder-count{background:#0000000d;border-color:#0000001a;color:var(--muted)}.file-folder-hint{font-size:.72rem;color:var(--muted);font-weight:400;white-space:nowrap;flex-shrink:0}.file-explorer-head{display:grid;gap:.6rem}.file-explorer-head .row{align-items:center}.file-explorer-head h3{margin:0}.icon-btn{min-width:42px;padding:.55rem .6rem;font-size:1rem;line-height:1}.upload-arrow-btn{min-width:42px;padding:.55rem .6rem;font-size:1rem;font-weight:700}.webdav-help{position:relative}.webdav-tooltip{display:none;position:absolute;right:0;top:calc(100% + .4rem);width:min(360px,calc(100vw - 2.4rem));border:1px solid var(--line);border-radius:10px;background:#fff;padding:.7rem;box-shadow:0 6px 20px #100d0924;z-index:10;gap:.45rem}.webdav-copy-row{display:flex;align-items:center;gap:.4rem}.webdav-copy-row code{flex:1;min-width:0}.webdav-copy-btn{min-width:74px;padding:.35rem .48rem;font-size:.76rem;line-height:1;white-space:nowrap}.webdav-help:hover .webdav-tooltip,.webdav-help:focus-within .webdav-tooltip{display:grid}.chat-layout{margin-top:1rem;--chat-panel-height: calc(100dvh - 180px) ;display:grid;gap:0;grid-template-columns:minmax(260px,300px) minmax(0,1fr)}.thread-panel{align-content:start;border:0;border-right:1px solid #edf4ff;border-radius:14px 0 0 14px;background:#fff;padding:0;display:grid;gap:0;overflow:hidden;box-shadow:0 1px 4px #14293d0f}.thread-panel-head{justify-content:space-between;align-items:center;margin-bottom:0;padding:.95rem 1rem .75rem;border-bottom:1px solid #edf4ff}.thread-panel-head h3{margin:0}.thread-create-btn{margin-left:auto}.thread-panel-actions{display:inline-flex;align-items:center;gap:.35rem}.thread-archive-list-btn{padding:.24rem .45rem;min-height:32px;font-size:.78rem;color:#4f657c}.thread-list{list-style:none;padding:0;margin:0;display:grid;gap:0}.thread-list li{margin:0}.thread-list .thread-item{width:100%;text-align:left;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;align-items:center;padding:.78rem 1rem .78rem .95rem;border:0;border-radius:0;border-left:3px solid transparent}.thread-list .thread-item.active{background:#f1f7ff;border-left-color:#2f70b7}.thread-item-main{min-width:0;display:grid;gap:.2rem}.thread-item-main small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-title-row{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.thread-title-main{min-width:0;display:inline-flex;align-items:center;gap:.35rem}.thread-title-main b{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-visibility-badge{border:1px solid #d6ba77;background:#fff6dc;color:#7a5a1c;border-radius:999px;padding:.1rem .42rem;font-size:.64rem;line-height:1.2;white-space:nowrap}.thread-unread-badge{min-width:1.15rem;height:1.15rem;padding:0 .25rem;border-radius:999px;background:#e74c3c;color:#fff;font-size:.72rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.thread-avatar{width:38px;height:38px;border-radius:50%;background:#e8d7ca;border:1px solid #d4b9a9;position:relative;overflow:hidden;display:grid;place-items:center;color:#5a3e2e;font-size:.74rem;font-weight:700;flex-shrink:0}.thread-avatar img{width:100%;height:100%;object-fit:cover}.thread-avatar img+span{display:none}.thread-avatar-sm{width:32px;height:32px;font-size:.68rem}.thread-modal-icon-preview img{width:72px;height:72px;border-radius:50%;border:1px solid var(--line);object-fit:cover}.chat-panel{border:0;border-radius:0 14px 14px 0;background:#f8fbff;display:grid;grid-template-rows:auto 1fr auto;height:var(--chat-panel-height);overflow:hidden;box-shadow:0 1px 4px #14293d0f}.chat-panel-head{padding:.9rem 1.25rem;border-bottom:1px solid #edf4ff;display:flex;align-items:center;justify-content:space-between;gap:.7rem;background:#fff}.chat-mobile-back-btn{display:none;white-space:nowrap;min-height:32px}.chat-thread-meta{display:flex;align-items:center;gap:.55rem}.chat-thread-meta>div{display:grid;gap:.1rem}.chat-thread-meta small{color:var(--muted)}.thread-head-actions{display:inline-flex;align-items:center;gap:.2rem}.thread-actions-menu-wrap{position:relative;display:inline-flex}.thread-actions-trigger{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1}.thread-actions-menu{position:absolute;top:calc(100% + .2rem);right:0;left:auto;min-width:180px;z-index:45;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 24px #0e274129;padding:.28rem;display:grid;gap:.2rem}.thread-actions-menu button{width:100%;justify-content:flex-start;text-align:left;padding:.42rem .5rem;border-radius:8px}.thread-actions-menu button.danger{color:#8d1b1b}.thread-archive-row{border:1px solid var(--line);border-radius:10px;background:#fff;padding:.5rem .6rem;display:grid;gap:.45rem}.thread-archive-actions{display:flex;flex-wrap:wrap;gap:.4rem}.chat-empty{padding:1rem;color:var(--muted)}.message-list{list-style:none;margin:0;padding:1rem 1.25rem;overflow:auto;min-height:0;display:flex;flex-direction:column;gap:.9rem}.message-list li{margin:0}.message-day-divider{display:flex;justify-content:center;margin:.1rem 0}.message-day-divider span{display:inline-flex;align-items:center;justify-content:center;color:#8ca5bb;font-size:.72rem;padding:.08rem .4rem;background:transparent;border:0}.message-row{display:flex;align-items:flex-end;gap:.4rem;max-width:100%}.message-row.mine{justify-content:flex-end}.message-row.other{justify-content:flex-start}.message-avatar-slot{width:28px;min-width:28px;height:28px}.message-sender-avatar{width:28px;height:28px;font-size:.62rem}.message-avatar-placeholder{display:block;width:28px;height:28px}.message-bubble{border:1px solid #e8f0f8;border-radius:12px;padding:.62rem .82rem;display:inline-grid;gap:.34rem;width:fit-content;max-width:min(84%,620px);box-shadow:0 1px 3px #14293d0a}.message-bubble.other{background:#fff;border-bottom-left-radius:3px}.message-bubble.mine{background:#2f70b7;border-color:#2f70b7;color:#fff;border-bottom-right-radius:3px}.message-bubble.mine p,.message-bubble.mine .message-sender-name,.message-bubble.mine .message-time{color:#fff}.message-sender-name{color:var(--muted);font-size:.72rem}.message-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.message-time{color:var(--muted);font-size:.68rem;line-height:1}.message-time.other{justify-self:end;text-align:right}.message-time.mine{justify-self:start;text-align:left}.chat-attachment{display:grid;gap:.3rem}.chat-attachment img{width:min(220px,100%);border-radius:8px;border:1px solid var(--line)}.chat-compose{border-top:1px solid #edf4ff;padding:.9rem 1.25rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.6rem;align-items:end;background:#fff}.chat-compose-main{display:grid;gap:.35rem;min-width:0}.chat-compose input[name=body]{margin:0;min-height:44px;height:44px;border-radius:12px;border-width:1.5px;background:#f8fbff}.chat-pending-attachment{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;width:fit-content;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);padding:.2rem .45rem}.chat-pending-attachment small{max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-attachment-remove{border:0;background:transparent;color:var(--muted);width:18px;height:18px;min-width:18px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;line-height:1}.chat-attachment-remove:hover,.chat-attachment-remove:focus-visible{background:#00000014;color:var(--ink)}.chat-attach-btn{border:1px solid #c9d9ea;background:#f0f6ff;color:#4f657c;border-radius:10px;width:40px;min-width:40px;height:40px;padding:0;font-size:1.1rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.chat-attach-btn.has-file{background:#d8e9ee;border-color:#aacdd7}.chat-attach-btn input{display:none}.chat-compose .chat-send-btn{width:40px;min-width:40px;height:40px;padding:0;border-radius:10px;border:1px solid var(--accent-2);background:var(--accent-2);color:#fff;display:inline-flex;align-items:center;justify-content:center}.chat-compose .chat-send-btn:disabled{border-color:#b5b5b5;background:#b5b5b5;color:#fff;cursor:not-allowed}.chat-compose .chat-send-btn.is-muted:not(:disabled){border-color:#b5b5b5;background:#b5b5b5;color:#fff}.chat-send-arrow{font-size:1rem;line-height:1}.avatar-crop-section,.avatar-crop-editor{display:grid;gap:.65rem}.avatar-crop-stage{width:min(280px,100%);aspect-ratio:1 / 1;border-radius:12px;border:1px solid var(--line);background:#f6f0e8;overflow:hidden;margin:0 auto;position:relative;touch-action:none;cursor:grab}.avatar-crop-stage.dragging{cursor:grabbing}.avatar-crop-image{width:100%;height:100%;object-fit:cover;transform-origin:center;pointer-events:none;-webkit-user-select:none;user-select:none}.avatar-crop-focus{position:absolute;top:8%;right:8%;bottom:8%;left:8%;border:2px solid rgba(255,255,255,.95);border-radius:50%;box-shadow:0 0 0 9999px #14100b4d;pointer-events:none}.avatar-crop-preview-wrap{width:min(190px,100%);margin:0 auto}.avatar-crop-preview{width:100%;aspect-ratio:1 / 1;border-radius:50%;border:1px solid var(--line);background:#fff;object-fit:cover;display:block}.avatar-crop-placeholder{background:var(--surface-2)}.avatar-crop-controls{display:grid;gap:.5rem}.wiki-page{display:flex;flex-direction:row;height:100%;overflow:hidden;background:var(--back)}.wiki-browser{width:320px;min-width:320px;flex-shrink:0;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--line);height:100%;overflow:hidden}.wiki-browser-head{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.1rem .8rem;border-bottom:1px solid var(--line);gap:.5rem;flex-shrink:0}.wiki-browser-title{font-weight:700;font-size:.9rem;color:var(--dark)}.wiki-refresh-btn{display:flex;align-items:center;gap:.3rem;background:none;border:none;cursor:pointer;color:var(--accent);font-size:.75rem;font-weight:600;padding:0;font-family:inherit}.wiki-refresh-btn:hover{opacity:.75}.wiki-search-wrap{display:flex;align-items:center;gap:.5rem;background:var(--back);border-radius:8px;padding:.5rem .75rem;margin:.75rem .85rem 0;flex-shrink:0}.wiki-search-icon{color:var(--muted);flex-shrink:0}.wiki-search-input{border:none;background:transparent;outline:none;font-size:.8rem;color:var(--text);width:100%;font-family:inherit}.wiki-search-input::placeholder{color:var(--muted)}.wiki-stats{padding:.45rem .85rem;font-size:.74rem;color:var(--muted);flex-shrink:0}.wiki-tree{flex:1;overflow-y:auto;padding:.35rem .6rem .75rem;display:flex;flex-direction:column;gap:2px}.wiki-brand-summary{display:flex;align-items:center;gap:.5rem;padding:.45rem .5rem;border-radius:6px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.wiki-brand-summary::-webkit-details-marker{display:none}.wiki-brand-summary:hover{background:var(--back)}.wiki-brand-name{flex:1;font-weight:700;font-size:.82rem;color:var(--dark)}.wiki-count-badge{font-size:.72rem;color:var(--muted);background:var(--back);border-radius:4px;padding:1px 6px}.wiki-folder-item{margin-left:.85rem;margin-bottom:2px}.wiki-folder-summary{display:flex;align-items:center;gap:.4rem;padding:.35rem .5rem;border-radius:6px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;font-size:.82rem;color:var(--text)}.wiki-folder-summary::-webkit-details-marker{display:none}.wiki-folder-summary:hover{background:var(--back)}.wiki-folder-icon{color:var(--accent);flex-shrink:0}.wiki-folder-name{font-size:.82rem;color:var(--text);font-family:Source Code Pro,Courier New,monospace}.wiki-chevron{color:var(--muted);flex-shrink:0;transition:transform .15s ease}details:not([open])>.wiki-brand-summary .wiki-chevron,details:not([open])>.wiki-folder-summary .wiki-chevron{transform:rotate(-90deg)}.wiki-docs-list{display:flex;flex-direction:column;gap:2px;margin-left:1.5rem;padding-top:2px}.wiki-doc-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:.4rem .5rem .4rem .75rem;border-radius:6px;gap:.5rem}.wiki-doc-row.active{background:#eef3ff}.wiki-doc-info{display:flex;flex-direction:column;gap:1px;min-width:0}.wiki-doc-label{font-size:.82rem;font-weight:600;color:var(--dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wiki-doc-row.active .wiki-doc-label{color:#1e40af}.wiki-doc-variants{font-size:.71rem;color:var(--muted)}.wiki-doc-row.active .wiki-doc-variants{color:#93c5fd}.wiki-doc-badges{display:flex;flex-direction:row;gap:3px;flex-shrink:0}.wiki-type-badge{border:none;border-radius:4px;padding:2px 7px;font-size:.65rem;font-weight:700;letter-spacing:.4px;cursor:pointer;background:var(--line);color:var(--muted);font-family:inherit;transition:opacity .1s}.wiki-type-badge:hover{opacity:.8}.wiki-type-badge.active{background:var(--accent)!important;color:#fff!important}.wiki-type-badge.wiki-type-pdf{background:#fee2e2;color:#dc2626}.wiki-type-badge.wiki-type-html{background:#dbeafe;color:#2563eb}.wiki-type-badge.wiki-type-word{background:#ede9fe;color:#4f46e5}.wiki-type-badge.wiki-type-ppt{background:#fef3c7;color:#d97706}.wiki-type-badge.wiki-type-excel{background:#dcfce7;color:#16a34a}.wiki-empty-msg{font-size:.82rem;color:var(--muted);padding:.5rem}.wiki-preview-panel{flex:1;display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--back);min-width:0}.wiki-preview-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;background:#fff;border-bottom:1px solid var(--line);height:64px;flex-shrink:0;gap:1rem}.wiki-preview-file-info{display:flex;flex-direction:column;gap:2px;min-width:0}.wiki-preview-filename{font-size:.9rem;font-weight:700;color:var(--dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wiki-preview-filepath{font-size:.73rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wiki-preview-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.wiki-action-btn{display:inline-flex;align-items:center;gap:.35rem;padding:0 .875rem;height:34px;border-radius:8px;font-size:.8rem;font-family:inherit;text-decoration:none;white-space:nowrap;cursor:pointer;border:none}.wiki-action-secondary{background:#fff;border:1px solid var(--line)!important;color:var(--text)}.wiki-action-secondary:hover{background:var(--back)}.wiki-action-primary{background:var(--accent);color:#fff;font-weight:600}.wiki-action-primary:hover{opacity:.9}.wiki-meta-strip{display:flex;align-items:center;gap:1.25rem;padding:0 1.5rem;background:#fff;border-bottom:1px solid var(--line);height:40px;flex-shrink:0}.wiki-ext-badge{font-size:.65rem;font-weight:700;letter-spacing:.4px;padding:2px 6px;border-radius:3px;color:#fff}.wiki-ext-badge.wiki-ext-pdf{background:#ef4444}.wiki-ext-badge.wiki-ext-html{background:#2563eb}.wiki-ext-badge.wiki-ext-word{background:#4f46e5}.wiki-ext-badge.wiki-ext-ppt{background:#f97316}.wiki-ext-badge.wiki-ext-excel{background:#16a34a}.wiki-ext-badge.wiki-ext-file{background:#6b7280}.wiki-meta-item{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--muted)}.wiki-meta-item svg{flex-shrink:0}.wiki-preview-body{flex:1;display:flex;flex-direction:column;padding:1.25rem 1.5rem;overflow:hidden;min-height:0}.wiki-preview-iframe{flex:1;width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;min-height:0}.wiki-not-previewable{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem 0}.wiki-preview-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.report-form textarea{min-height:72px}.report-form{border-radius:14px;box-shadow:0 1px 4px #14293d0f;max-width:980px}.construction-report-page{margin-top:1rem;align-items:start;grid-template-columns:minmax(0,980px) minmax(260px,1fr);gap:1rem}.report-form-paper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1.75rem 2rem;background:#fff}.report-form-paper>h3,.report-form-paper>.report-form-subtitle,.report-form-paper>.report-subtask-checklist,.report-form-paper>.report-field-full,.report-form-paper>.report-section-card,.report-form-paper>.report-upload-progress,.report-form-paper>button[type=submit]{grid-column:1 / -1}.report-form-subtitle{margin-top:-.7rem}.report-field{margin:0}.report-field-full textarea{min-height:88px}.report-section-card{border:1px solid #edf4ff;border-radius:12px;padding:1rem 1rem .95rem;background:#fff}.report-files-card{margin-top:0;border-radius:14px;box-shadow:0 1px 4px #14293d0f;align-content:start}.report-draft-banner{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.65rem 1rem;background:#2f70b714;border:1px solid rgba(47,112,183,.25);border-radius:10px;font-size:.88rem;color:var(--ink)}.report-draft-banner span{flex:1;min-width:0}.report-subtask-checklist{border:1px solid var(--line);border-radius:10px;padding:.55rem .65rem;background:#fff;display:grid;gap:.35rem}.report-subtask-checklist-items{display:grid;gap:.3rem}.report-subtask-item{display:inline-flex;align-items:flex-start;gap:.45rem;font-size:.9rem}.report-subtask-item input{width:auto;margin-top:.12rem}.report-image-upload{display:grid;gap:.45rem}.report-image-input{display:none}.report-image-add{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:8px;min-height:40px;padding:.5rem .7rem;font-size:.92rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;width:fit-content}.report-image-add.has-files{background:#d8e9ee;border-color:#aacdd7}.report-image-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,74px));gap:.45rem}.report-image-item{position:relative;width:74px;height:74px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);overflow:hidden}.report-image-thumb{display:block;width:100%;height:100%;object-fit:cover}.report-image-remove{position:absolute;top:4px;right:4px;border:1px solid rgba(0,0,0,.14);background:#ffffffeb;color:#2f3a44;width:20px;height:20px;min-width:20px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;line-height:1}.report-image-remove:hover,.report-image-remove:focus-visible{background:#fff;color:#111}.report-upload-progress{display:grid;gap:.35rem}.report-upload-progress-track{width:100%;height:10px;border-radius:999px;background:#dfe5ec;overflow:hidden}.report-upload-progress-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0f9d58,#57c77b);transition:width .2s ease}.worker-grid{display:grid;gap:.45rem}.worker-grid-head,.worker-grid-row{display:grid;grid-template-columns:1.6fr 1fr 1fr auto;gap:.45rem;align-items:center}.worker-grid-head{font-size:.86rem;color:var(--muted)}.report-material-block{display:grid;gap:.42rem}.report-material-grid{display:grid;gap:.45rem}.report-material-grid-head,.report-material-grid-row{display:grid;grid-template-columns:1.7fr .8fr .85fr 1fr auto;gap:.45rem;align-items:center}.report-material-grid-head{font-size:.86rem;color:var(--muted)}@media (max-width: 860px){.report-material-grid-head{display:none}.report-material-grid-row{grid-template-columns:1fr 1fr}.report-material-grid-row button{grid-column:span 2}}table{width:100%;border-collapse:collapse}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}th,td{border-bottom:1px solid var(--line);text-align:left;padding:.5rem}@media (min-width: 900px){.sidebar-toggle{display:none}.app-shell{grid-template-columns:var(--sidebar-width) 1fr;height:100dvh;overflow:hidden}.sidebar{border-bottom:0;border-right:1px solid rgba(255,255,255,.08);min-height:0;height:100dvh;width:var(--sidebar-width);position:relative;inset:auto;transform:none;box-shadow:none;overflow:hidden}.content{min-height:0;height:100dvh;overflow-y:auto}.grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.wiki-library-grid{grid-template-columns:minmax(320px,1fr) minmax(360px,1.3fr)}.files-grid{grid-template-columns:1fr}.chat-layout{grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.time-entries-card{grid-column:1 / -1}.profile-layout{grid-template-columns:minmax(320px,440px) minmax(0,1fr)}.project-overview-grid-paper{grid-template-columns:minmax(0,1.45fr) minmax(320px,.95fr)}.notification-panel{position:fixed;left:calc(var(--sidebar-width) + .5rem);bottom:1rem;top:auto;right:auto}}@media (max-width: 899px){.project-overview-grid-paper{grid-template-columns:1fr}.project-banner-bottom{overflow-x:auto}.project-banner-tabs{flex-shrink:0}.sidebar-toggle{display:inline-flex}.app-shell{position:relative;min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;width:min(var(--sidebar-mobile-width),calc(100vw - 2rem));height:100dvh;border-right:1px solid var(--line);border-bottom:0;transform:translate(-100%);transition:transform .22s ease;visibility:hidden;pointer-events:none;z-index:var(--z-sidebar);box-shadow:0 10px 32px #0c1d2c38;overflow-y:auto}.sidebar.sidebar--open{transform:none;visibility:visible;pointer-events:auto}.sidebar-overlay.active{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#080f1866;z-index:var(--z-overlay)}.content{min-height:100dvh}.project-weather-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-summary-layout{grid-template-columns:1fr}.project-map-card{justify-self:start;max-width:100%}.projects-all-filters{grid-template-columns:1fr}.notification-panel{position:fixed;left:.75rem;right:.75rem;top:3.75rem;bottom:auto;width:auto;max-height:70dvh;z-index:var(--z-notif-panel)}.profile-avatar{width:52px;height:52px;font-size:.92rem}.profile-avatar-trigger{width:56px;height:56px}.file-row{min-width:620px}.file-preview-frame{min-height:52vh}.chat-panel{--chat-panel-height: calc(100dvh - 250px) }.chat-compose{grid-template-columns:auto minmax(0,1fr) auto}.message-list li{max-width:92%}.time-current-main{grid-template-columns:1fr;display:grid}.required-hours-row{align-items:stretch;flex-direction:column}.workspace-header{flex-wrap:wrap;gap:.5rem}.workspace-header-actions{width:100%;justify-content:flex-end}}@media (max-width: 768px){.project-showcase-card{padding:1rem}.project-showcase-copy h3{font-size:1.3rem}.project-showcase-stats{grid-template-columns:1fr}.project-overview-task-item{flex-direction:column}.task-meta-line,.my-tasks-header-actions{flex-direction:column;align-items:flex-start}.table-responsive table{min-width:600px}.worker-grid-head{display:none}.worker-grid-row{grid-template-columns:1fr 1fr}.worker-grid-row button{grid-column:span 2}.report-material-grid-head{display:none}.report-material-grid-row{grid-template-columns:1fr}.report-material-grid-row button{grid-column:auto}.chat-layout{grid-template-columns:1fr}.chat-thread-list{display:grid}.chat-message-pane,.chat-layout.thread-selected .chat-thread-list{display:none}.chat-layout.thread-selected .chat-message-pane{display:grid}.chat-mobile-back-btn{display:inline-flex}.project-overview-grid{grid-template-columns:1fr}}.mobile-bottom-nav{display:none}.app-shell:has(.modal-backdrop) .mobile-bottom-nav{display:none!important}@media (max-width: 767px){.mobile-bottom-nav{display:flex;justify-content:space-around;align-items:flex-start;position:fixed;bottom:0;left:0;right:0;height:calc(64px + env(safe-area-inset-bottom,0px));padding:0 0 env(safe-area-inset-bottom,0px) 0;background-color:#fff;border-top:1px solid #e2ecf7;z-index:150;box-shadow:0 -2px 8px #14293d0f}.mobile-bottom-nav-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 0 8px;border:0;background:transparent;color:#5c7895;cursor:pointer;min-height:0;-webkit-tap-highlight-color:transparent}.mobile-bottom-nav-tab--active{color:#2f70b7}.mobile-bottom-nav-icon{font-size:20px;line-height:1}.mobile-bottom-nav-label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:10px;font-weight:600;line-height:1}.workspace-header:not(.workspace-header-project){background:linear-gradient(135deg,#2b4c6f,#1a3654);padding:12px 16px;border-radius:0;margin:-1.25rem -1.4rem 1rem;width:calc(100% + 2.8rem)}.workspace-header:not(.workspace-header-project) .sidebar-toggle{color:#fff;border-color:#ffffff26;background-color:#ffffff1a;width:32px;height:32px;min-width:32px;border-radius:8px;font-size:16px}.workspace-header:not(.workspace-header-project) .mobile-header-brand{display:inline;font-family:"Source Sans 3",system-ui,sans-serif;font-size:18px;font-weight:700;color:#fff;letter-spacing:-.01em}.workspace-header:not(.workspace-header-project) .mobile-header-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background-color:#3a77c9;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:700;flex-shrink:0}.workspace-header:not(.workspace-header-project) .workspace-header-title{display:none}.workspace-header:not(.workspace-header-project) .header-back-btn{display:none}.workspace-header:not(.workspace-header-project) .workspace-header-actions{width:auto;margin-left:auto}.content{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.messages-page{height:calc(100dvh - 244px - env(safe-area-inset-bottom,0px))}.modal-card{max-height:calc(100dvh - 2rem);border-radius:14px}.task-modal-form{max-height:calc(100dvh - 2rem)}.modal-backdrop{padding:.5rem}.workspace-header-project{min-height:0;padding:8px 12px}.workspace-header-project .project-header-back-btn{font-size:12px;padding:4px 8px}.workspace-header-project .project-header-action-btn{padding:5px 12px;font-size:11px;border-radius:6px;min-height:0}.project-banner-inner{padding:12px 16px 0}.project-banner-info{gap:4px;padding-bottom:12px}.project-banner-topline{gap:6px}.project-banner-number{font-size:10px}.project-banner-badge{font-size:10px;padding:2px 8px}.project-banner-title{font-size:1.125rem;line-height:1.3}.project-banner-subtitle{font-size:.75rem}.project-banner-bottom{flex-wrap:wrap;gap:0}.project-banner-stat{padding:10px 16px 10px 0;min-width:auto;background:transparent}.project-banner-stat-label{font-size:9px}.project-banner-stat-value{font-size:1.1rem}.project-banner-spacer{display:none}.project-banner-tabs{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-shrink:0;flex-basis:100%;gap:0;border-top:1px solid rgba(255,255,255,.1);width:100%;scrollbar-width:none;position:relative}.project-banner-tabs::-webkit-scrollbar{display:none}.project-banner-tab{padding:10px 16px;font-size:.8rem;white-space:nowrap;flex-shrink:0}.project-banner{overflow:hidden;position:relative}.project-banner:after{content:"›";position:absolute;bottom:0;right:0;width:40px;height:40px;background:linear-gradient(to right,transparent 0%,rgba(42,84,128,.85) 40%,rgba(42,84,128,1) 100%);pointer-events:none;z-index:1;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;font-size:20px;color:#ffffffb3;font-family:"Source Sans 3",system-ui,sans-serif}.project-overview-grid,.project-overview-grid-paper{grid-template-columns:1fr;gap:12px}.project-showcase-card{padding:14px;border-radius:14px}.project-showcase-head{grid-template-columns:1fr;gap:12px}.project-showcase-copy h3{font-size:1.15rem}.project-showcase-stats{grid-template-columns:1fr;gap:8px}.project-overview-task-item{flex-direction:column;gap:6px;padding:12px 0}.project-weather-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.project-summary-layout{grid-template-columns:1fr;gap:12px}.project-overview-task-actions{display:none}.project-task-type-badge{font-size:.72rem;padding:2px 8px}.task-meta-line{flex-direction:column;align-items:flex-start;gap:4px}.project-hours-page{grid-template-columns:1fr;gap:14px;max-width:calc(100vw - 2rem);overflow:hidden}.project-hours-main-card,.project-hours-summary-card,.project-hours-edit-card{padding:16px;max-width:100%;box-sizing:border-box}.project-hours-aside{flex-direction:column}.project-hours-donut-wrap{padding:8px 0}.project-hours-donut{width:180px;height:180px}.project-hours-donut-percent{font-size:30px}.project-hours-legend{flex-wrap:wrap;justify-content:center;gap:12px 20px;font-size:12px}.project-hours-budget-bar{padding:4px 0 0}.project-mat-tab-toolbar{gap:8px}.project-mat-tab-card{border-radius:12px}.project-mat-tab-table-head,.project-mat-tab-row{padding:12px 16px;gap:10px}.ticket-detail-layout,.ticket-detail-meta-grid{grid-template-columns:1fr}.file-row{min-width:500px}.project-finance-paper-layout{grid-template-columns:1fr}.project-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-header-project~.content,.app-shell .content{padding-left:1rem;padding-right:1rem}}@media (max-width: 480px){.project-banner-tabs{overflow-x:auto}.project-banner-tab{padding:12px 14px;font-size:.82rem}.project-banner-stat{padding:12px 16px;min-width:100px}.planning-toolbar-actions{width:100%;justify-content:flex-start}.planning-task-type-toggle-paper{width:100%;overflow-x:auto}.sidebar{width:min(92vw,var(--sidebar-mobile-width))}.planning-calendar{display:block;min-width:100%}.planning-day-col{margin-bottom:.85rem}.planning-day-mobile-hidden{display:none}.planning-day-mobile-active{display:grid}.planning-day{min-height:220px;max-height:none}.planning-mobile-day-nav{margin-bottom:.4rem}.planning-mobile-day-label{flex:1 1 auto}.chat-panel{--chat-panel-height: calc(100dvh - 170px) }}.page-loading-spinner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.page-loading-spinner:after{content:"";width:28px;height:28px;border-radius:50%;border:3px solid var(--color-border, #e5e7eb);border-top-color:var(--color-accent, #6366f1);animation:page-spin .7s linear infinite}@keyframes page-spin{to{transform:rotate(360deg)}}.tickets-tab{display:flex;flex-direction:column;gap:16px;margin-top:1rem}.tickets-tab-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.tickets-tab-filter-group{display:inline-flex;gap:4px;padding:4px;border:1px solid #c9d9ea;border-radius:10px;background-color:#fff}.tickets-tab-filter{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;padding:6px 16px;border-radius:7px;background-color:transparent;color:#14293d;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease}.tickets-tab-filter:hover{background-color:#edf4ff}.tickets-tab-filter--active{background-color:#2f70b7;color:#fff}.tickets-tab-filter--active:hover{background-color:#2f70b7}.tickets-tab-meta{display:flex;align-items:center;gap:12px}.tickets-tab-count{color:#4f657c;font-size:14px;font-weight:500}.tickets-tab-new-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;color:#14293d;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.tickets-tab-new-btn:hover{background-color:#edf4ff;border-color:#b7d2ec}.tickets-tab-creator{display:flex;flex-direction:column;gap:12px;padding:18px 20px;border:1px solid #c9d9ea;border-radius:14px;background-color:#fff;box-shadow:0 1px 4px #14293d0f}.tickets-tab-creator h4{margin:0;font-size:15px;font-weight:700;color:#14293d}.tickets-tab-creator-field{display:flex;flex-direction:column;gap:4px;flex:1 1 240px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;color:#4f657c;text-transform:uppercase;letter-spacing:.4px}.tickets-tab-creator-field input,.tickets-tab-creator-field textarea{border:1px solid #c9d9ea;border-radius:8px;padding:8px 12px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:500;color:#14293d;text-transform:none;letter-spacing:0;background-color:#f8fbff}.tickets-tab-creator-field textarea{resize:vertical;min-height:72px}.tickets-tab-creator-save{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;padding:8px 18px;border-radius:8px;background-color:#2f70b7;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.tickets-tab-creator-save:hover{background-color:#2861a2}.tickets-tab-creator-cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:8px 18px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;color:#14293d;font-size:13px;font-weight:600;cursor:pointer}.tickets-tab-list{display:flex;flex-direction:column;border:1px solid #c9d9ea;border-radius:14px;overflow:hidden;background-color:#f8fbff}.tickets-tab-empty{padding:32px 20px;text-align:center;background-color:#fff}.ticket-row{display:flex;align-items:center;gap:14px;padding:14px 20px;background-color:#fff;border-bottom:1px solid #edf4ff;transition:background-color .15s ease}.ticket-row:last-child{border-bottom:none}.ticket-row:hover{background-color:#f8fbff}.ticket-row--closed .ticket-row-title{color:#4f657c}.ticket-row--closed .ticket-row-meta,.ticket-row--closed .ticket-reference{color:#9aaec4}.ticket-row-id-col{display:flex;flex-direction:column;gap:3px;width:100px;flex-shrink:0}.ticket-reference{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.05em;color:#4f657c}.ticket-status-pill{display:inline-flex;align-self:flex-start;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;border:1px solid transparent;font-size:10px;font-weight:700;line-height:12px}.ticket-status-dot{display:inline-block;width:6px;height:6px;border-radius:999px;background-color:currentColor}.ticket-status-pill--open{background-color:#e8f1fc;border-color:#b7d2ec;color:#2f70b7}.ticket-status-pill--review{background-color:#fff8e1;border-color:#f5e6a5;color:#7a5a00}.ticket-status-pill--closed{background-color:#e8f6ec;border-color:#c8e6d0;color:#1f6a3e}.ticket-row-main{display:flex;flex-direction:column;gap:3px;flex-grow:1;min-width:0}.ticket-row-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:15px;font-weight:700;line-height:18px;color:#14293d}.ticket-row-meta{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;line-height:16px;color:#4f657c}.ticket-row-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.ticket-row-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;padding:6px 14px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;color:#14293d;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.ticket-row-btn:hover{background-color:#edf4ff;border-color:#b7d2ec}.ticket-detail{display:flex;flex-direction:column;gap:18px}.ticket-detail-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ticket-detail-back-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:6px 2px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;color:#2f70b7;cursor:pointer}.ticket-detail-back-btn:hover{text-decoration:underline}.ticket-detail-breadcrumb-sep{color:#9aaec4}.ticket-detail-breadcrumb-current{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:700;letter-spacing:.05em;color:#4f657c}.ticket-detail-breadcrumb-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.ticket-detail-print-btn,.ticket-detail-primary-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;border-radius:8px;transition:background-color .15s ease,border-color .15s ease}.ticket-detail-print-btn{background-color:#fff;border:1px solid #c9d9ea;color:#14293d}.ticket-detail-print-btn:before{content:"🖨";font-size:12px;filter:grayscale(100%) brightness(.5)}.ticket-detail-print-btn:hover{background-color:#edf4ff;border-color:#b7d2ec}.ticket-detail-primary-btn{background-color:#2f70b7;border:1px solid #2f70b7;color:#fff}.ticket-detail-primary-btn:hover{background-color:#2861a2;border-color:#2861a2}.ticket-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:flex-start}@media (max-width: 1100px){.ticket-detail-layout{grid-template-columns:1fr}}.ticket-detail-main{display:flex;flex-direction:column;gap:16px;min-width:0}.ticket-detail-card{background-color:#fff;border:1px solid #c9d9ea;border-radius:14px;padding:22px 24px;box-shadow:0 1px 4px #14293d0a;display:flex;flex-direction:column;gap:16px}.ticket-detail-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.ticket-detail-section-label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#4f657c}.ticket-detail-section-hint{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:500;color:#8fa2ba}.ticket-detail-header-card{gap:10px}.ticket-detail-header-row{display:flex;align-items:center;gap:10px}.ticket-detail-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:22px;line-height:28px;font-weight:700;color:#14293d}.ticket-detail-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:4px}@media (max-width: 640px){.ticket-detail-meta-grid{grid-template-columns:1fr}}.ticket-detail-meta-field{display:flex;flex-direction:column;gap:4px;min-width:0}.ticket-detail-meta-label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;color:#8fa2ba}.ticket-detail-meta-value{font-family:"Source Sans 3",system-ui,sans-serif;font-size:14px;font-weight:600;color:#14293d}.ticket-detail-stepper-card{padding:24px 28px}.ticket-detail-stepper{list-style:none;margin:0;padding:0;display:flex;align-items:flex-start;justify-content:space-between;gap:4px;position:relative}.ticket-detail-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1 1 0;position:relative;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600}.ticket-detail-step:before{content:"";position:absolute;top:12px;left:calc(-50% + 12px);width:calc(100% - 24px);height:2px;background-color:#e2ecf7;z-index:0}.ticket-detail-step:first-child:before{display:none}.ticket-detail-step--done:before,.ticket-detail-step--current:before{background-color:#2f70b7}.ticket-detail-step-dot{position:relative;z-index:1;width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:2px solid #c9d9ea;background-color:#fff;color:transparent;font-size:12px;font-weight:700;line-height:1}.ticket-detail-step--done .ticket-detail-step-dot{background-color:#2f70b7;border-color:#2f70b7;color:#fff}.ticket-detail-step--current .ticket-detail-step-dot{background-color:#fff;border-color:#2f70b7;color:#2f70b7;box-shadow:0 0 0 4px #2f70b726}.ticket-detail-step-label{color:#8fa2ba;text-align:center}.ticket-detail-step--done .ticket-detail-step-label,.ticket-detail-step--current .ticket-detail-step-label{color:#14293d}.ticket-detail-step--current .ticket-detail-step-label{color:#2f70b7}.ticket-detail-notes-body{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:14px;line-height:22px;color:#14293d}.ticket-detail-notes-body.muted{color:#8fa2ba;font-style:italic}.ticket-detail-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.ticket-detail-checklist-item label{display:flex;align-items:center;gap:10px;cursor:pointer;font-family:"Source Sans 3",system-ui,sans-serif;font-size:14px;color:#14293d}.ticket-detail-checklist-item input[type=checkbox]{width:18px;height:18px;accent-color:#2f70b7;cursor:pointer}.ticket-detail-checklist-item--done label{color:#8fa2ba;text-decoration:line-through}.ticket-detail-attachments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.ticket-detail-attachment-tile{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid #e2ecf7;border-radius:10px;background-color:#f8fbff;text-align:center;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;color:#4f657c;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.ticket-detail-attachment-thumb{aspect-ratio:4 / 3;border-radius:8px;background-color:#e2ecf7;display:flex;align-items:center;justify-content:center}.ticket-detail-attachment-name{font-size:11px;color:#4f657c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-detail-attachment-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:120px;border-style:dashed;background-color:#fff;color:#8fa2ba;font-weight:600}.ticket-detail-attachment-add span:first-of-type{font-size:24px;line-height:1}.ticket-detail-attachment-add:hover{border-color:#2f70b7;color:#2f70b7;background-color:#f8fbff}.ticket-detail-sidebar{display:flex;flex-direction:column;gap:14px;background-color:#fff;border:1px solid #c9d9ea;border-radius:14px;padding:22px 20px;position:sticky;top:16px;box-shadow:0 1px 4px #14293d0a;max-height:calc(100vh - 160px);overflow:hidden}.ticket-detail-sidebar-head h3{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:15px;font-weight:700;color:#14293d}.ticket-detail-activity{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;overflow-y:auto;flex:1 1 auto;min-height:0}.ticket-detail-activity-item{display:flex;gap:10px;align-items:flex-start}.ticket-detail-activity-avatar,.ticket-detail-comment-avatar{width:30px;height:30px;border-radius:999px;background-color:#2f70b7;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:"Source Sans 3",system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:.04em;flex-shrink:0}.ticket-detail-activity-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex-grow:1}.ticket-detail-activity-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.ticket-detail-activity-top b{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:700;color:#14293d}.ticket-detail-activity-action{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:500;color:#5c7895}.ticket-detail-activity-note{margin:4px 0 0;padding:10px 12px;background-color:#f8fbff;border:1px solid #e2ecf7;border-radius:10px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;line-height:17px;color:#14293d}.ticket-detail-activity-time{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;color:#8fa2ba}.ticket-detail-comment-box{display:flex;align-items:center;gap:8px;padding-top:14px;border-top:1px solid #edf4ff}.ticket-detail-comment-input{flex-grow:1;height:36px;padding:0 12px;border:1px solid #c9d9ea;border-radius:8px;background-color:#f8fbff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d}.ticket-detail-comment-input:focus{outline:none;border-color:#2f70b7;background-color:#fff}.ticket-detail-comment-send{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:36px;padding:0 14px;border:1px solid #2f70b7;background-color:#2f70b7;color:#fff;border-radius:8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;cursor:pointer}.ticket-detail-comment-send:disabled{opacity:.5;cursor:not-allowed}.ticket-detail-comment-send:hover:not(:disabled){background-color:#2861a2;border-color:#2861a2}.office-task-filter-hint{display:inline-flex;align-items:center;gap:6px;color:#5c7895;font-size:12px;font-weight:500}.office-task-filter-hint:before{content:"";display:inline-block;width:14px;height:14px;border-radius:999px;border:1.8px solid #5c7895;background-image:radial-gradient(circle,#5c7895 1.2px,transparent 1.4px),linear-gradient(#5c7895,#5c7895);background-repeat:no-repeat;background-position:center 3px,center 6.5px;background-size:2px 2px,2px 4px;flex-shrink:0}.office-task-filter-row{align-items:flex-end;gap:12px;padding:14px 20px 18px;margin:0;border-bottom:1px solid #edf4ff;background-color:#f8fbff}.office-task-filter-field{display:flex;flex-direction:column;gap:4px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;color:#5c7895;text-transform:uppercase;letter-spacing:.4px}.office-task-filter-field>span{padding-left:2px}.office-task-filter-field select,.office-task-filter-field input[type=date],.office-task-filter-field input[type=text]{height:34px;padding:0 12px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:500;color:#14293d;text-transform:none;letter-spacing:0;min-width:150px}.office-task-filter-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#5c7895 50%),linear-gradient(135deg,#5c7895 50%,transparent 50%);background-position:calc(100% - 15px) 14px,calc(100% - 10px) 14px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:28px}.office-task-no-date-toggle{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:500;color:#14293d;text-transform:none;letter-spacing:0}.office-task-filter-field-project{flex-grow:1;min-width:260px;position:relative}.office-task-filter-field-project>input{min-height:34px;padding:6px 12px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:500;color:#14293d;width:100%}.office-task-filter-field-project>input::placeholder{color:#8fa2ba;font-weight:400}.office-task-filter-field-project .assignee-chip-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.office-task-filter-field-project .assignee-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border:1px solid #2f70b7;border-radius:999px;background-color:#dbeafe;color:#14293d;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;text-transform:none;letter-spacing:0;cursor:pointer}.office-task-filter-field-project .assignee-chip:after{content:"×";color:#2f70b7;font-weight:700;font-size:12px}.office-task-filter-reset{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:34px;padding:0 16px;align-self:flex-end;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;color:#14293d;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .15s ease}.office-task-filter-reset:hover{background-color:#edf4ff}.modal-card.task-modal-card{width:min(760px,100%);padding:0;gap:0;display:block;overflow:hidden}.task-modal-form{display:flex;flex-direction:column;gap:0;max-height:92vh;overflow-y:auto}.task-modal-head{display:flex;flex-direction:column;gap:8px;padding:32px 32px 20px;border-bottom:1px solid #edf4ff}.task-modal-eyebrow{display:flex;align-items:center;gap:8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;line-height:14px}.task-modal-eyebrow-label{color:#2f70b7;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.task-modal-eyebrow-sep{color:#9aaec4}.task-modal-eyebrow-project{color:#5c7895;font-weight:500;max-width:520px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-modal-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:26px;line-height:32px;font-weight:700;color:#14293d}.task-modal-section{display:flex;flex-direction:column;gap:14px;padding:18px 32px;border-bottom:1px solid #edf4ff}.task-modal-section:last-of-type{border-bottom:none}.task-modal-section--stack{flex-direction:column}.task-modal-section--grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.task-modal-section--grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.task-modal-section--grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}@media (max-width: 720px){.task-modal-section--grid3,.task-modal-section--grid4{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.task-modal-section--grid2,.task-modal-section--grid3,.task-modal-section--grid4{grid-template-columns:1fr}}.task-modal-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.task-modal-section-label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#4f657c}.task-modal-section-hint{font-size:11px;color:#9aaec4;font-weight:500}.task-modal-section-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;color:#2f70b7;cursor:pointer}.task-modal-section-action:hover{text-decoration:underline}.task-modal-field{display:flex;flex-direction:column;gap:6px;min-width:0}.task-modal-field-label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;color:#4f657c}.task-modal-input{width:100%;height:42px;min-height:0;padding:0 14px;border:1px solid #c9d9ea;border-radius:8px;background-color:#f8fbff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:14px;color:#14293d;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.task-modal-input::placeholder{color:#9aaec4}.task-modal-input:hover{border-color:#b7d2ec}.task-modal-input:focus{outline:none;border-color:#2f70b7;background-color:#fff;box-shadow:0 0 0 3px #2f70b726}.task-modal-textarea{height:auto;min-height:72px;padding:12px 14px;line-height:20px;resize:vertical;font-family:"Source Sans 3",system-ui,sans-serif}.task-modal-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:32px;background-image:linear-gradient(45deg,transparent 50%,#5c7895 50%),linear-gradient(135deg,#5c7895 50%,transparent 50%);background-position:calc(100% - 16px) 18px,calc(100% - 11px) 18px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}.task-modal-storage-box{display:flex;flex-direction:column;gap:6px}.task-modal-storage-box-toggle{display:flex;align-items:center;gap:8px;height:42px;padding:0 14px;border:1px solid #c9d9ea;border-radius:8px;background-color:#f8fbff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;line-height:1;color:#14293d;cursor:pointer;min-height:0;box-sizing:border-box;width:100%}.task-modal-storage-box-toggle input{margin:0;flex-shrink:0;width:16px;height:16px}.task-modal-storage-box-toggle span{line-height:42px}.task-modal-storage-box-input{height:42px;min-height:0;box-sizing:border-box}.task-modal-priority-wrap{position:relative}.task-modal-priority-dot{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:999px;pointer-events:none}.task-modal-priority-select{padding-left:30px}.task-modal-project-picker{display:flex;flex-direction:column;gap:8px}.task-modal-create-project-toggle{font-size:12px;color:#4f657c;margin-top:4px}.task-modal-materials{display:flex;flex-direction:column;gap:8px}.task-modal-materials-empty{padding:14px;text-align:center;border:1px dashed #c9d9ea;border-radius:8px;background-color:#f8fbff;font-size:12px}.task-modal-material-row{display:grid;grid-template-columns:minmax(0,2fr) 80px 100px 120px 36px;gap:8px;align-items:center}.task-modal-material-row input{height:38px;padding:0 12px;border:1px solid #c9d9ea;border-radius:8px;background-color:#f8fbff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d;min-width:0;box-sizing:border-box}.task-modal-material-row input:focus{outline:none;border-color:#2f70b7;background-color:#fff}.task-modal-material-remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;min-height:0;padding:0;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;color:#5c7895;font-size:18px;font-weight:400;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.task-modal-material-remove:hover{background-color:#fef5f5;border-color:#e34b4b;color:#e34b4b}@media (max-width: 640px){.task-modal-material-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px}.task-modal-material-row input:nth-child(3),.task-modal-material-row input:nth-child(4){grid-column:span 1}}.task-modal-assignee-picker{display:flex;flex-direction:column;gap:10px}.task-modal-assignee-chip-list{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.task-modal-assignee-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border:1px solid #c9d9ea;border-radius:999px;background-color:#fff;color:#14293d;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.task-modal-assignee-chip:hover{background-color:#fef5f5;border-color:#e34b4b}.task-modal-assignee-avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;background-color:#2f70b7;color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;flex-shrink:0}.task-modal-assignee-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-modal-assignee-remove{color:#9aaec4;font-size:14px;line-height:1;font-weight:500}.task-modal-assignee-chip:hover .task-modal-assignee-remove{color:#e34b4b}.task-modal-overlap-warning{background-color:#fff8e1;border-top:1px solid #f5e6a5;border-bottom:1px solid #f5e6a5}.task-modal-overlap-warning b{color:#7a5a00}.task-modal-footer{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px 32px 24px;background-color:#f8fbff;border-top:1px solid #edf4ff}.task-modal-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:40px;min-height:0;padding:0 20px;border-radius:10px;border:1px solid transparent;font-family:"Source Sans 3",system-ui,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.task-modal-footer .task-modal-btn--ghost{background-color:transparent;border-color:#c9d9ea;color:#14293d}.task-modal-footer .task-modal-btn--ghost:hover{background-color:#edf4ff;border-color:#b7d2ec}.task-modal-btn--ghost{background-color:transparent;border-color:transparent;color:#5c7895}.task-modal-btn--ghost:hover{background-color:#edf4ff;color:#14293d}.task-modal-btn--secondary{background-color:#fff;border-color:#c9d9ea;color:#14293d}.task-modal-btn--secondary:hover:not(:disabled){background-color:#edf4ff;border-color:#b7d2ec}.task-modal-btn--secondary:disabled{opacity:.5;cursor:not-allowed}.task-modal-btn.task-modal-btn--primary{background-color:#2f70b7;border-color:#2f70b7;color:#fff;box-shadow:0 1px 2px #14293d1a}.task-modal-btn.task-modal-btn--primary:hover{background-color:#2861a2;border-color:#2861a2}.modal-card.project-modal-card{width:min(840px,100%)}.project-modal-grid-number-name-status{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr) minmax(0,180px);gap:14px}@media (max-width: 720px){.project-modal-grid-number-name-status{grid-template-columns:1fr 1fr}.project-modal-grid-number-name-status>label:nth-child(2){grid-column:span 2;order:-1}}@media (max-width: 480px){.project-modal-grid-number-name-status{grid-template-columns:1fr}.project-modal-grid-number-name-status>label:nth-child(2){grid-column:span 1}}.project-modal-class-chips{display:flex;flex-wrap:wrap;gap:8px}.project-modal-class-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border:1px solid #c9d9ea;border-radius:999px;background-color:#fff;color:#14293d;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.project-modal-class-chip:hover{background-color:#edf4ff;border-color:#b7d2ec}.project-modal-class-chip--active{background-color:#2f70b7;border-color:#2f70b7;color:#fff}.project-modal-class-chip--active:hover{background-color:#2861a2;border-color:#2861a2}.project-modal-class-chip-check{font-size:11px;line-height:1;font-weight:700}.project-modal-access-note{margin-top:8px;padding:8px 10px;background-color:#fff8e1;border:1px solid #f5e6a5;border-radius:8px}.project-modal-access-note-input{width:100%;height:30px;padding:0 8px;border:none;background-color:transparent;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:500;color:#7a5a00;box-sizing:border-box}.project-modal-access-note-input::placeholder{color:#b5905b}.project-modal-access-note-input:focus{outline:none}.task-modal-field-hint{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:500;color:#8fa2ba;margin-top:2px}.project-modal-footer{justify-content:flex-start}.project-modal-footer-spacer{flex-grow:1}.project-modal-btn--danger{background-color:transparent;border:1px solid #e34b4b;color:#e34b4b}.project-modal-btn--danger:hover{background-color:#fef5f5;border-color:#c43a3a;color:#c43a3a}.time-page{display:flex;flex-direction:column;gap:20px;margin-top:1rem}.time-manager-toolbar{display:flex;align-items:center;gap:16px;padding:14px 18px;background-color:#fff;border:1px solid #c9d9ea;border-radius:14px;box-shadow:0 1px 4px #14293d0a}.time-employee-search{position:relative;display:flex;align-items:center;gap:12px;flex:0 1 380px;min-width:0}.time-employee-search-label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5c7895;flex-shrink:0}.time-employee-search-input-wrap{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center}.time-employee-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);pointer-events:none}.time-employee-search-input{width:100%;height:36px;padding:0 32px;border:1px solid #c9d9ea;border-radius:8px;background-color:#f8fbff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d;box-sizing:border-box}.time-employee-search-input::placeholder{color:#9aaec4}.time-employee-search-input:focus{outline:none;border-color:#2f70b7;background-color:#fff;box-shadow:0 0 0 3px #2f70b726}.time-employee-search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;padding:0;border:none;background:transparent;color:#8fa2ba;font-size:16px;font-weight:400;line-height:1;cursor:pointer;border-radius:999px}.time-employee-search-clear:hover{background-color:#edf4ff;color:#14293d}.time-employee-search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;list-style:none;margin:0;padding:4px;background-color:#fff;border:1px solid #c9d9ea;border-radius:8px;box-shadow:0 8px 24px #14293d1f;z-index:30;max-height:240px;overflow-y:auto}.time-employee-search-option{padding:8px 12px;border-radius:6px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d;cursor:pointer}.time-employee-search-option:hover{background-color:#edf4ff}.time-manager-toolbar-status{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:500;flex-shrink:0}.time-manager-toolbar-status--alt{color:#2f70b7;font-weight:600}.time-manager-toolbar-export{margin-left:auto;display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;color:#14293d;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;text-decoration:none;transition:background-color .15s ease,border-color .15s ease;flex-shrink:0}.time-manager-toolbar-export:hover{background-color:#edf4ff;border-color:#b7d2ec}.time-manager-toolbar-export svg{flex-shrink:0}@media (max-width: 720px){.time-manager-toolbar{flex-direction:column;align-items:stretch}.time-employee-search{flex-basis:auto}.time-manager-toolbar-export{margin-left:0;align-self:flex-start}}.time-kpi-row{display:grid;grid-template-columns:minmax(260px,1.15fr) repeat(3,minmax(220px,1fr));gap:16px}@media (max-width: 1200px){.time-kpi-row{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.time-kpi-row{grid-template-columns:1fr}}.time-kpi-card{background-color:#fff;border:1px solid #c9d9ea;border-radius:14px;padding:20px 24px;box-shadow:0 1px 4px #14293d0a;display:flex;gap:16px;align-items:center;min-height:132px}.time-kpi-card--clocked{flex-direction:column;align-items:flex-start;gap:6px}.time-kpi-clocked-head{display:flex;align-items:center;gap:8px}.time-kpi-clocked-status{display:inline-flex;align-items:center;gap:8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;color:#5c7895}.time-kpi-clocked-status--active{color:#1f6a3e}.time-kpi-clocked-dot{display:inline-block;width:8px;height:8px;border-radius:999px;background-color:#6ea54f;box-shadow:0 0 0 3px #6ea54f2e}.time-kpi-clocked-dot--off{background-color:#9aaec4;box-shadow:0 0 0 3px #9aaec433}.time-kpi-clocked-value{font-family:"Source Sans 3",system-ui,sans-serif;font-size:32px;line-height:36px;font-weight:700;color:#14293d;letter-spacing:-.01em}.time-kpi-clocked-date{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:500;color:#8fa2ba}.time-kpi-clocked-actions{display:flex;gap:8px;margin-top:8px}.time-kpi-btn,.time-vacation-submit-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:38px;padding:0 18px;border-radius:8px;border:1px solid transparent;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;display:inline-flex;align-items:center;justify-content:center}.time-kpi-btn--primary,.time-vacation-submit-btn{background-color:#14293d;border-color:#14293d;color:#fff}.time-kpi-btn--primary:hover:not(:disabled),.time-vacation-submit-btn:hover:not(:disabled){background-color:#0c1e2e;border-color:#0c1e2e}.time-kpi-btn--primary:disabled,.time-vacation-submit-btn:disabled{opacity:.5;cursor:not-allowed}.time-kpi-btn--ghost{background-color:#fff;border-color:#c9d9ea;color:#14293d}.time-kpi-btn--ghost:hover:not(:disabled){background-color:#edf4ff;border-color:#b7d2ec}.time-kpi-btn--ghost:disabled{opacity:.5;cursor:not-allowed}.time-kpi-card--donut{flex-direction:row;align-items:center;gap:18px}.time-kpi-donut{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center}.time-kpi-donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.time-kpi-donut-value{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:700;color:#14293d;line-height:1}.time-kpi-donut-sub{font-family:"Source Sans 3",system-ui,sans-serif;font-size:9px;font-weight:500;color:#8fa2ba;line-height:1}.time-kpi-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto}.time-kpi-info-label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;color:#8fa2ba}.time-kpi-info-value{font-family:"Source Sans 3",system-ui,sans-serif;font-size:17px;font-weight:700;color:#14293d;line-height:22px}.time-kpi-info-foot{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;color:#8fa2ba}.time-kpi-info-foot--ontrack{color:#2f70b7}.time-kpi-info-foot--good{color:#6ea54f}.time-shift-viewer-note{padding-left:4px}.time-kpi-clocked-value-wrap{position:relative;display:inline-block}.time-kpi-clocked-value{cursor:help;border-radius:6px;padding:2px 4px;margin:-2px -4px;transition:background-color .15s ease}.time-kpi-clocked-value:hover,.time-kpi-clocked-value:focus-visible{background-color:#2f70b714;outline:none}.time-kpi-clocked-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:50;display:none;flex-direction:column;gap:4px;min-width:280px;padding:14px 16px;background-color:#fff;border:1px solid #c9d9ea;border-radius:12px;box-shadow:0 12px 32px #14293d29,0 2px 8px #14293d14;font-family:"Source Sans 3",system-ui,sans-serif}.time-kpi-clocked-popover:before{content:"";position:absolute;top:-6px;left:20px;width:10px;height:10px;background-color:#fff;border-top:1px solid #c9d9ea;border-left:1px solid #c9d9ea;transform:rotate(45deg)}.time-kpi-clocked-value-wrap:hover .time-kpi-clocked-popover,.time-kpi-clocked-value-wrap:focus-within .time-kpi-clocked-popover{display:flex}.time-kpi-clocked-popover-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;font-size:12px;color:#5c7895;border-bottom:1px solid #edf4ff}.time-kpi-clocked-popover-row:last-of-type{border-bottom:none}.time-kpi-clocked-popover-row b{color:#14293d;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.time-kpi-clocked-popover-empty{padding:10px 0;font-size:12px;text-align:center}.time-kpi-clocked-popover-foot{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding-top:10px;border-top:1px solid #edf4ff}.time-kpi-clocked-popover-export{display:inline-flex;align-self:flex-start;padding:6px 12px;background-color:#fff;border:1px solid #c9d9ea;border-radius:8px;color:#14293d;font-size:12px;font-weight:600;text-decoration:none;transition:background-color .15s ease,border-color .15s ease}.time-kpi-clocked-popover-export:hover{background-color:#edf4ff;border-color:#b7d2ec}.time-page .time-requests-card,.time-page .time-school-card{background-color:#fff;border:1px solid #c9d9ea;border-radius:14px;padding:24px 28px;box-shadow:0 1px 4px #14293d0a;display:flex;flex-direction:column;gap:16px}.time-page .time-requests-card h3,.time-page .time-school-card h3{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:18px;font-weight:700;color:#14293d}.time-page .time-requests-card>.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:0}@media (max-width: 720px){.time-page .time-requests-card>.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.time-page .time-requests-card>.metric-grid>div{padding:14px 16px;background-color:#f8fbff;border:1px solid #e2ecf7;border-radius:12px;display:flex;flex-direction:column;gap:4px}.time-page .time-requests-card>.metric-grid>div small{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;color:#8fa2ba;text-transform:uppercase;letter-spacing:.04em}.time-page .time-requests-card>.metric-grid>div>div b{font-family:"Source Sans 3",system-ui,sans-serif;font-size:24px;font-weight:700;color:#14293d;line-height:1.2}.time-page .time-month-card,.time-page .time-entries-card{background-color:#fff;border:1px solid #c9d9ea;border-radius:14px;padding:22px 24px;box-shadow:0 1px 4px #14293d0a}.time-page .weekday-checkbox-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.time-page .weekday-checkbox-item{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid #c9d9ea;border-radius:999px;background-color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;color:#14293d;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.time-page .weekday-checkbox-item:hover{background-color:#edf4ff;border-color:#b7d2ec}.time-page .weekday-checkbox-item:has(input:checked){background-color:#dbeafe;border-color:#2f70b7;color:#2f70b7}.time-page .weekday-checkbox-item input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}.time-calendar-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:16px}@media (max-width: 1000px){.time-calendar-row{grid-template-columns:1fr}}.time-calendar-card{background-color:#fff;border:1px solid #c9d9ea;border-radius:14px;padding:20px 22px;box-shadow:0 1px 4px #14293d0a;display:flex;flex-direction:column;gap:16px}.time-calendar-head{display:flex;align-items:center;gap:10px}.time-calendar-nav-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:30px;height:30px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;color:#5c7895;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.time-calendar-nav-btn:hover{background-color:#edf4ff;border-color:#b7d2ec;color:#2f70b7}.time-calendar-nav-btn svg{display:block}.time-calendar-export-btn{margin-left:auto;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;color:#14293d;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;text-decoration:none;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.time-calendar-export-btn:hover{background-color:#edf4ff;border-color:#b7d2ec}.time-calendar-export-btn svg{flex-shrink:0}.time-calendar-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:16px;font-weight:700;color:#14293d;text-transform:capitalize}.time-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.time-calendar-weekday{padding:6px 0 8px;text-align:center;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;color:#8fa2ba;text-transform:uppercase;letter-spacing:.06em}.time-calendar-cell{aspect-ratio:1.35 / 1;min-height:62px;padding:8px 10px 6px;border-radius:8px;background-color:#f5f9fd;border:1px solid transparent;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;transition:background-color .15s ease,border-color .15s ease}.time-calendar-cell--blank{background-color:transparent;border:none;min-height:0}.time-calendar-cell-date{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;color:#14293d;text-align:center;line-height:1.2}.time-calendar-cell-hours{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;color:#2f70b7;text-align:center;line-height:1.2}.time-calendar-cell--has-hours{background-color:#d9e8f7;border-color:#c5dbf0}.time-calendar-cell--has-hours .time-calendar-cell-date{color:#14293d}.time-calendar-cell--empty{background-color:#f5f9fd}.time-calendar-cell--empty .time-calendar-cell-date{color:#9aaec4}.time-calendar-cell--today{background-color:#2f70b7;border-color:#2f70b7}.time-calendar-cell--today .time-calendar-cell-date,.time-calendar-cell--today .time-calendar-cell-hours{color:#fff}.time-calendar-holidays{display:flex;flex-direction:column;gap:6px;padding-top:12px;border-top:1px solid #edf4ff}.time-calendar-holidays-list{display:flex;flex-direction:column;gap:4px}.time-calendar-holiday-row{display:flex;gap:10px;align-items:baseline;font-size:12px;color:#14293d}.time-calendar-holiday-date{font-weight:600;color:#4f657c;font-variant-numeric:tabular-nums}.time-calendar-holiday-name{color:#14293d}.time-recent-card{background-color:#fff;border:1px solid #c9d9ea;border-radius:14px;padding:20px 22px;box-shadow:0 1px 4px #14293d0a;display:flex;flex-direction:column;gap:16px;max-height:560px;overflow:hidden}.time-recent-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:16px;font-weight:700;color:#14293d}.time-recent-list{display:flex;flex-direction:column;gap:18px;overflow-y:auto;flex:1 1 auto;min-height:0}.time-recent-empty{padding:24px 0;text-align:center;font-size:13px}.time-recent-group{display:flex;flex-direction:column;gap:8px}.time-recent-group-label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;color:#8fa2ba;text-transform:uppercase}.time-recent-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}.time-recent-entry-body{display:flex;flex-direction:column;gap:2px;min-width:0}.time-recent-entry-range{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;color:#14293d;font-variant-numeric:tabular-nums}.time-recent-entry-running{color:#2f70b7;font-weight:500}.time-recent-entry-break{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:500;color:#8fa2ba}.time-recent-entry-hours{font-family:"Source Sans 3",system-ui,sans-serif;font-size:15px;font-weight:700;color:#2f70b7;font-variant-numeric:tabular-nums;flex-shrink:0}.time-recent-entry-hours--live{color:#6ea54f}.time-recent-entry-hours--clickable{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:1px solid transparent;padding:4px 8px;margin:-4px -8px;border-radius:8px;cursor:pointer;font-family:"Source Sans 3",system-ui,sans-serif;font-size:15px;font-weight:700;color:#2f70b7;font-variant-numeric:tabular-nums;transition:background-color .15s ease,border-color .15s ease}.time-recent-entry-hours--clickable:hover{background-color:#edf4ff;border-color:#b7d2ec}.time-recent-entry-hours--clickable.time-recent-entry-hours--live{color:#6ea54f}.time-recent-entry-hours--clickable.time-recent-entry-hours--live:hover{background-color:#ecf6e7;border-color:#c8e6d0}.time-recent-locked-hint{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px 0 0;color:#9aaec4}button.time-calendar-cell{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;font-family:inherit;text-align:left;cursor:pointer}.time-calendar-cell--clickable{cursor:pointer}.time-calendar-cell--clickable:hover{border-color:#2f70b7;box-shadow:0 0 0 2px #2f70b72e}.time-calendar-cell--clickable.time-calendar-cell--today:hover{box-shadow:0 0 0 2px #2f70b766}.modal-card.edit-day-modal{width:min(640px,100%);max-height:88vh;display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}.edit-day-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 28px 16px;border-bottom:1px solid #edf4ff}.edit-day-modal-title-block{display:flex;flex-direction:column;gap:4px;min-width:0}.edit-day-modal-eyebrow{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#2f70b7}.edit-day-modal-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:22px;font-weight:700;color:#14293d;text-transform:capitalize}.edit-day-modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;color:#5c7895;font-size:18px;font-weight:400;line-height:1;cursor:pointer;flex-shrink:0}.edit-day-modal-close:hover{background-color:#fef5f5;border-color:#e34b4b;color:#e34b4b}.edit-day-modal-body{flex:1 1 auto;overflow-y:auto;padding:18px 28px 4px;display:flex;flex-direction:column;gap:14px}.edit-day-modal-empty{text-align:center;padding:24px 0;font-size:13px}.edit-day-entry-form{display:flex;flex-direction:column;gap:10px;padding:16px;background-color:#f8fbff;border:1px solid #e2ecf7;border-radius:12px}.edit-day-entry-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.edit-day-entry-title{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:700;color:#14293d}.edit-day-entry-id{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;color:#8fa2ba;letter-spacing:.04em}.edit-day-entry-net{margin-left:auto;font-family:"Source Sans 3",system-ui,sans-serif;font-size:14px;font-weight:700;color:#2f70b7;font-variant-numeric:tabular-nums}.edit-day-entry-grid{display:grid;grid-template-columns:1fr 1fr 110px;gap:10px}@media (max-width: 560px){.edit-day-entry-grid{grid-template-columns:1fr}}.edit-day-entry-field{display:flex;flex-direction:column;gap:4px;min-width:0}.edit-day-entry-field-label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;color:#5c7895}.edit-day-entry-input{width:100%;height:36px;padding:0 10px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d;box-sizing:border-box}.edit-day-entry-input:focus{outline:none;border-color:#2f70b7;box-shadow:0 0 0 3px #2f70b726}.edit-day-entry-input:disabled{background-color:#eef2f7;color:#9aaec4;cursor:not-allowed}.edit-day-entry-foot{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.edit-day-entry-foot small{font-size:11px}.edit-day-entry-save-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-left:auto;height:32px;padding:0 16px;border:1px solid #2f70b7;border-radius:8px;background-color:#2f70b7;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;cursor:pointer}.edit-day-entry-save-btn:hover:not(:disabled){background-color:#2861a2;border-color:#2861a2}.edit-day-entry-save-btn:disabled{opacity:.5;cursor:not-allowed}.edit-day-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 28px 22px;border-top:1px solid #edf4ff;background-color:#f8fbff}.edit-day-modal-export{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;color:#14293d;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;text-decoration:none;transition:background-color .15s ease,border-color .15s ease}.edit-day-modal-export:hover{background-color:#edf4ff;border-color:#b7d2ec}.edit-day-modal-close-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:38px;padding:0 20px;border:1px solid #14293d;border-radius:10px;background-color:#14293d;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer}.edit-day-modal-close-btn:hover{background-color:#0c1e2e;border-color:#0c1e2e}.projects-all{display:flex;flex-direction:column;gap:20px;margin-top:1rem}.projects-all-card{background-color:#fff;border:1px solid #c9d9ea;border-radius:14px;box-shadow:0 1px 4px #14293d0a;overflow:hidden;display:flex;flex-direction:column}.projects-all-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 28px 18px;border-bottom:1px solid #edf4ff}.projects-all-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:20px;font-weight:700;color:#14293d}.projects-all-count{display:inline-flex;align-items:center;height:26px;padding:0 12px;border-radius:999px;background-color:#2f70b7;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600}.projects-all-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:18px 24px 20px;background-color:#f8fbff;border-bottom:1px solid #edf4ff}.projects-all-filter-field{display:flex;flex-direction:column;gap:4px;min-width:0;font-family:"Source Sans 3",system-ui,sans-serif}.projects-all-filter-field--search{flex:1 1 320px}.projects-all-filter-label{font-size:11px;font-weight:600;color:#5c7895;text-transform:uppercase;letter-spacing:.04em;padding-left:2px}.projects-all-search-wrap{position:relative;display:flex;align-items:center}.projects-all-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);pointer-events:none}.projects-all-search-input{width:100%;height:38px;padding:0 12px 0 34px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:500;color:#14293d;box-sizing:border-box}.projects-all-search-input::placeholder{color:#9aaec4}.projects-all-search-input:focus{outline:none;border-color:#2f70b7;box-shadow:0 0 0 3px #2f70b726}.projects-all-filter-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:38px;min-width:170px;padding:0 32px 0 12px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:500;color:#14293d;box-sizing:border-box;background-image:linear-gradient(45deg,transparent 50%,#5c7895 50%),linear-gradient(135deg,#5c7895 50%,transparent 50%);background-position:calc(100% - 16px) 16px,calc(100% - 11px) 16px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}.projects-all-filter-select:focus{outline:none;border-color:#2f70b7;box-shadow:0 0 0 3px #2f70b726}.projects-all-new-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:38px;padding:0 18px;border-radius:8px;border:1px solid #14293d;background-color:#14293d;color:#fff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease;align-self:flex-end}.projects-all-new-btn:hover{background-color:#0c1e2e;border-color:#0c1e2e}.projects-all-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.projects-all-empty{padding:32px 28px;text-align:center;font-size:13px}.projects-all-row{border-bottom:1px solid #edf4ff}.projects-all-row:last-child{border-bottom:none}.projects-all-row-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;display:flex;align-items:center;gap:18px;padding:18px 24px;background-color:#fff;border:none;text-align:left;cursor:pointer;transition:background-color .15s ease;font-family:"Source Sans 3",system-ui,sans-serif}.projects-all-row-btn:hover,.projects-all-row--muted .projects-all-row-btn{background-color:#f8fbff}.projects-all-row-id-col{display:flex;flex-direction:column;gap:4px;width:130px;flex-shrink:0}.projects-all-row-number{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.05em;color:#5c7895}.projects-all-row--muted .projects-all-row-number{color:#9aaec4}.projects-all-status-pill{display:inline-flex;align-self:flex-start;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;border:1px solid transparent;font-family:"Source Sans 3",system-ui,sans-serif;font-size:10px;font-weight:700;line-height:12px}.projects-all-status-dot{display:inline-block;width:6px;height:6px;border-radius:999px;background-color:currentColor}.projects-all-status-pill--active{background-color:#e2f1d9;border-color:#c8e6d0;color:#1f6a3e}.projects-all-status-pill--planning{background-color:#fff8e1;border-color:#f5e6a5;color:#7a5a00}.projects-all-status-pill--hold{background-color:#eef2f7;border-color:#c9d9ea;color:#5c7895}.projects-all-status-pill--completed{background-color:#e8f1fc;border-color:#b7d2ec;color:#2f70b7}.projects-all-status-pill--archived{background-color:#eef2f7;border-color:#c9d9ea;color:#9aaec4}.projects-all-status-pill--default{background-color:#eef2f7;border-color:#c9d9ea;color:#5c7895}.projects-all-row-main{display:flex;flex-direction:column;gap:4px;flex-grow:1;min-width:0}.projects-all-row-title{font-family:"Source Sans 3",system-ui,sans-serif;font-size:15px;font-weight:700;color:#14293d;line-height:18px}.projects-all-row--muted .projects-all-row-title{color:#5c7895}.projects-all-row-meta{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#5c7895;line-height:17px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.projects-all-row--muted .projects-all-row-meta{color:#9aaec4}.projects-all-row-edited{display:flex;flex-direction:column;gap:2px;align-items:flex-end;flex-shrink:0}.projects-all-row-edited-label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;color:#8fa2ba;text-transform:uppercase;letter-spacing:.04em}.projects-all-row-edited-value{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;color:#14293d}.projects-all-row--muted .projects-all-row-edited-value{color:#9aaec4}.projects-all-row-arrow{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #c9d9ea;border-radius:8px;background-color:#fff;color:#5c7895;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;flex-shrink:0;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.projects-all-row-btn:hover .projects-all-row-arrow{background-color:#2f70b7;border-color:#2f70b7;color:#fff}@media (max-width: 720px){.projects-all-row-btn{flex-wrap:wrap}.projects-all-row-edited{align-items:flex-start}.projects-all-row-arrow{margin-left:auto}}.time-vacation-card{background-color:#fff;border:1px solid #c9d9ea;border-radius:14px;padding:28px 32px;box-shadow:0 1px 4px #14293d0a;display:flex;flex-direction:column;gap:18px}.time-vacation-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:20px;font-weight:700;color:#14293d}.time-vacation-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}@media (max-width: 720px){.time-vacation-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.time-vacation-stat{padding:14px 16px;background-color:#f8fbff;border:1px solid #e2ecf7;border-radius:12px;display:flex;flex-direction:column;gap:4px}.time-vacation-stat-label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;color:#8fa2ba;text-transform:uppercase;letter-spacing:.04em}.time-vacation-stat-value{font-family:"Source Sans 3",system-ui,sans-serif;font-size:24px;font-weight:700;color:#14293d;line-height:1.2}.time-vacation-stat-value--accent{color:#2f70b7}.time-vacation-form{display:flex;flex-direction:column;gap:14px}.time-vacation-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media (max-width: 520px){.time-vacation-form-grid{grid-template-columns:1fr}}.time-vacation-field{display:flex;flex-direction:column;gap:6px;min-width:0}.time-vacation-field-label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;color:#4f657c}.time-vacation-input{width:100%;height:42px;padding:0 14px;border:1px solid #c9d9ea;border-radius:8px;background-color:#f8fbff;font-family:"Source Sans 3",system-ui,sans-serif;font-size:14px;color:#14293d;box-sizing:border-box;transition:border-color .15s ease,background-color .15s ease}.time-vacation-input::placeholder{color:#9aaec4}.time-vacation-input:hover{border-color:#b7d2ec}.time-vacation-input:focus{outline:none;border-color:#2f70b7;background-color:#fff;box-shadow:0 0 0 3px #2f70b726}.time-vacation-textarea{height:auto;min-height:60px;padding:12px 14px;line-height:20px;resize:vertical}.time-vacation-section{display:flex;flex-direction:column;gap:8px}.time-vacation-section-label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;color:#14293d}.time-vacation-approved-list{display:flex;flex-direction:column;gap:6px}.time-vacation-approved-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background-color:#f1f9ee;border:1px solid #d4e9c9;border-radius:8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#1f4f18}.time-vacation-approved-name{font-weight:600}.time-vacation-approved-days{font-weight:700;color:#395e22;font-variant-numeric:tabular-nums}.time-vacation-pending-list{display:flex;flex-direction:column;gap:8px}.time-vacation-pending-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background-color:#f8fbff;border:1px solid #e2ecf7;border-radius:8px}.time-vacation-pending-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.time-vacation-pending-main b{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d}.time-vacation-pending-main small{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;color:#5c7895}.time-vacation-pending-actions{display:flex;gap:6px;flex-shrink:0}.time-absences-nested{padding-top:20px;border-top:1px solid #edf4ff;display:flex;flex-direction:column;gap:14px}.time-absences-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:18px;font-weight:700;color:#14293d}.time-absence-recurring{display:flex;flex-direction:column;gap:6px}.time-absence-recurring-chips{display:flex;flex-wrap:wrap;gap:8px}.time-absence-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:6px 16px;border:1px solid #c9d9ea;border-radius:999px;background-color:#fff;color:#14293d;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.time-absence-chip:hover{background-color:#edf4ff;border-color:#b7d2ec}.time-absence-chip--active{background-color:#dbeafe;border-color:#2f70b7;color:#2f70b7}.time-absence-form-actions{display:flex;gap:8px;align-items:center}.time-absence-cancel-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:40px;padding:0 16px;border:1px solid #c9d9ea;border-radius:10px;background-color:#fff;color:#5c7895;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer}.time-absence-cancel-btn:hover{background-color:#edf4ff;border-color:#b7d2ec;color:#14293d}.time-absence-active-list{display:flex;flex-direction:column;gap:8px}.time-absence-active-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 16px;background-color:#fffaed;border:1px solid #f5e6a5;border-radius:8px}.time-absence-active-main{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto}.time-absence-active-main b{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d}.time-absence-active-meta{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;color:#5c7895;margin-left:6px}.time-absence-type-badge{display:inline-block;padding:2px 8px;background-color:#dbeafe;border:1px solid #b7d2ec;border-radius:999px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:10px;font-weight:700;color:#2f70b7;text-transform:uppercase;letter-spacing:.04em}.time-absence-type-badge--muted{background-color:#eef2f7;border-color:#d1dbe6;color:#5c7895}.time-absence-row-actions{display:flex;gap:6px;flex-shrink:0}.time-absence-action-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:6px 12px;border:1px solid #c9d9ea;border-radius:6px;background-color:#fff;color:#14293d;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.time-absence-action-btn:hover{background-color:#edf4ff;border-color:#b7d2ec}.time-absence-action-btn--approve{background-color:#f1f9ee;border-color:#c8e6d0;color:#1f6a3e}.time-absence-action-btn--approve:hover{background-color:#e2f1d9;border-color:#6ea54f}.time-absence-action-btn--reject{background-color:#fff;border-color:#f3c0c0;color:#c43a3a}.time-absence-action-btn--reject:hover{background-color:#fef5f5;border-color:#e34b4b}.time-absence-pending-list{display:flex;flex-direction:column;gap:8px}.time-absence-pending-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 16px;background-color:#f8fbff;border:1px solid #e2ecf7;border-radius:8px}.time-absence-pending-main{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto}.time-absence-pending-main b{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d}.werkstatt-page{margin-top:1rem;display:flex;flex-direction:column;gap:16px}.werkstatt-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 2px 8px}.werkstatt-page-title-block{display:flex;flex-direction:column;gap:2px}.werkstatt-page-eyebrow{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;line-height:14px;color:#5c7895;text-transform:uppercase}.werkstatt-page-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:28px;font-weight:700;letter-spacing:-.01em;line-height:34px;color:#14293d}.werkstatt-page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.werkstatt-action-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;background-color:#fff;border:1px solid #c9d9ea;border-radius:8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;color:#14293d;cursor:pointer;min-height:0;line-height:16px}.werkstatt-action-btn:hover{background-color:#f8fbff}.werkstatt-action-btn svg{color:#5c7895;flex-shrink:0}.werkstatt-action-btn--primary{background-color:#2f70b7;border-color:transparent;color:#fff;padding:0 16px}.werkstatt-action-btn--primary svg{color:#fff}.werkstatt-action-btn--primary:hover{background-color:#2a63a4}.werkstatt-kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}@media (max-width: 1100px){.werkstatt-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.werkstatt-kpi-strip{grid-template-columns:1fr}}.werkstatt-kpi{display:flex;flex-direction:column;gap:8px;padding:18px 20px;background-color:#fff;border-radius:14px;box-shadow:0 1px 4px #14293d0f}.werkstatt-kpi-label-row{display:flex;align-items:center;gap:6px}.werkstatt-kpi-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.werkstatt-kpi-dot--warning{background-color:#d97706}.werkstatt-kpi-dot--info{background-color:#5c7895}.werkstatt-kpi-dot--danger{background-color:#dc2626}.werkstatt-kpi-label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;letter-spacing:.06em;line-height:14px;color:#5c7895;text-transform:uppercase}.werkstatt-kpi-label--warning{color:#d97706}.werkstatt-kpi-label--info{color:#5c7895}.werkstatt-kpi-label--danger{color:#dc2626}.werkstatt-kpi-value-row{display:flex;align-items:baseline;gap:8px}.werkstatt-kpi-value{font-family:"Source Sans 3",system-ui,sans-serif;font-size:32px;font-weight:700;line-height:36px;color:#14293d}.werkstatt-kpi-subtitle{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;line-height:16px;color:#5c7895}.werkstatt-content-grid{display:grid;grid-template-columns:minmax(0,1.41fr) minmax(0,1fr);gap:16px}@media (max-width: 1100px){.werkstatt-content-grid{grid-template-columns:1fr}}.werkstatt-column{display:flex;flex-direction:column;gap:16px;min-width:0}.werkstatt-card{background-color:#fff;border-radius:14px;box-shadow:0 1px 4px #14293d0f;overflow:hidden;display:flex;flex-direction:column}.werkstatt-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid #edf2f8}.werkstatt-card-title-block{display:flex;flex-direction:column;gap:2px}.werkstatt-card-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:17px;font-weight:700;line-height:22px;color:#14293d}.werkstatt-card-subtitle{font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;line-height:16px;color:#5c7895}.werkstatt-card-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;padding:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;line-height:16px;color:#2f70b7;cursor:pointer;min-height:0}.werkstatt-card-action:hover{text-decoration:underline}.werkstatt-segmented{display:inline-flex;gap:4px;padding:3px;background-color:#f1f5fa;border-radius:8px}.werkstatt-segmented-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;padding:5px 12px;border-radius:6px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;line-height:16px;color:#5c7895;cursor:pointer;min-height:0}.werkstatt-segmented-btn--active{background-color:#fff;color:#14293d;box-shadow:0 1px 2px #14293d0a}.werkstatt-reorder-list{list-style:none;margin:0;padding:0}.werkstatt-reorder-row{display:flex;align-items:center;gap:10px;padding:12px 20px;border-bottom:1px solid #f1f5fa}.werkstatt-reorder-row:last-child{border-bottom:0}.werkstatt-reorder-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;background-color:#f6f0e1;border-radius:8px}.werkstatt-reorder-copy{display:flex;flex-direction:column;gap:2px;flex:1 1 0;min-width:0}.werkstatt-reorder-title{font-family:"Source Sans 3",system-ui,sans-serif;font-size:14px;font-weight:600;line-height:18px;color:#14293d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.werkstatt-reorder-meta{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:11px;line-height:14px;color:#5c7895;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.werkstatt-reorder-location{flex-shrink:0;width:110px;text-align:right;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;line-height:16px;color:#5c7895;white-space:pre-wrap}.werkstatt-stock-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;flex-shrink:0;justify-content:center;min-width:110px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:700;line-height:14px}.werkstatt-stock-pill--low{background-color:#fdf3e4;color:#9a4a06}.werkstatt-stock-pill--out{background-color:#fde7e7;color:#a4171c}.werkstatt-stock-pill-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}.werkstatt-stock-pill-dot--low{background-color:#d97706}.werkstatt-stock-pill-dot--out{background-color:#dc2626}.werkstatt-reorder-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0;width:96px;height:32px;padding:0 12px;background-color:#fff;border:1px solid #c9d9ea;border-radius:8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;line-height:16px;color:#14293d;cursor:pointer;min-height:0}.werkstatt-reorder-btn:hover{background-color:#f8fbff}.werkstatt-movement-list{list-style:none;margin:0;padding:0}.werkstatt-movement-row{display:flex;align-items:center;gap:12px;padding:11px 20px;border-bottom:1px solid #f1f5fa}.werkstatt-movement-row:last-child{border-bottom:0}.werkstatt-movement-pip{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:50%}.werkstatt-movement-pip--out{background-color:#fde7e7;color:#a4171c}.werkstatt-movement-pip--in{background-color:#ddf3e8;color:#0e6f45}.werkstatt-movement-pip--adjust{background-color:#e1edf9;color:#1e4e82}.werkstatt-movement-pip--repair{background-color:#f2e6f7;color:#6b2e9a}.werkstatt-movement-copy{display:flex;flex-direction:column;gap:2px;flex:1 1 0;min-width:0}.werkstatt-movement-title{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:500;line-height:16px;color:#14293d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.werkstatt-movement-subtitle{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;line-height:14px;color:#5c7895}.werkstatt-movement-time{flex-shrink:0;width:70px;text-align:right;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;line-height:14px;color:#8fa2ba}.werkstatt-checkout-groups{display:flex;flex-direction:column;padding:6px 0 4px}.werkstatt-checkout-group{display:flex;flex-direction:column;gap:8px;padding:10px 20px 14px;border-bottom:1px solid #f1f5fa}.werkstatt-checkout-group:last-child{border-bottom:0}.werkstatt-checkout-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.werkstatt-checkout-group-title{display:flex;align-items:center;gap:8px;min-width:0}.werkstatt-checkout-group-number{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:11px;font-weight:700;line-height:14px;color:#5c7895}.werkstatt-checkout-group-name{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;line-height:16px;color:#14293d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.werkstatt-checkout-group-count{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;line-height:14px;color:#5c7895;flex-shrink:0}.werkstatt-checkout-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.werkstatt-checkout-item{display:flex;align-items:center;gap:8px}.werkstatt-checkout-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}.werkstatt-checkout-dot--on_site{background-color:#5c7895}.werkstatt-checkout-dot--overdue{background-color:#d97706}.werkstatt-checkout-item-title{flex:1 1 0;min-width:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;line-height:16px;color:#14293d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.werkstatt-checkout-item-trailing{flex-shrink:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;line-height:14px;color:#5c7895}.werkstatt-maintenance-list{list-style:none;margin:0;padding:0}.werkstatt-maintenance-row{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid #f1f5fa}.werkstatt-maintenance-row:last-child{border-bottom:0}.werkstatt-maintenance-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;background-color:#f2e6f7;border-radius:8px}.werkstatt-maintenance-copy{display:flex;flex-direction:column;gap:2px;flex:1 1 0;min-width:0}.werkstatt-maintenance-title{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;line-height:16px;color:#14293d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.werkstatt-maintenance-meta{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;line-height:14px;color:#5c7895}.werkstatt-maintenance-badge{display:inline-block;flex-shrink:0;padding:3px 8px;border-radius:999px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:.04em;line-height:12px;text-transform:uppercase;white-space:nowrap}.werkstatt-maintenance-badge--repair{background-color:#f2e6f7;color:#6b2e9a}.werkstatt-maintenance-badge--inspection{background-color:#fdf3e4;color:#9a4a06}.werkstatt-maintenance-badge--overdue{background-color:#fde7e7;color:#a4171c}@media (max-width: 640px){.werkstatt-page-head{flex-direction:column;align-items:flex-start}.werkstatt-reorder-row{flex-wrap:wrap}.werkstatt-reorder-location{width:auto;text-align:left}.werkstatt-stock-pill{min-width:0}.werkstatt-reorder-btn{margin-left:auto}}.werkstatt-tab-page{display:flex;flex-direction:column;gap:16px;margin-top:1rem}.werkstatt-sub-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 2px 8px}.werkstatt-sub-head-text{display:flex;flex-direction:column;gap:2px}.werkstatt-sub-breadcrumb{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;line-height:14px;color:#5c7895;text-transform:uppercase}.werkstatt-sub-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:26px;font-weight:700;letter-spacing:-.01em;line-height:32px;color:#14293d}.werkstatt-sub-subtitle{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;line-height:18px;color:#5c7895}.werkstatt-orders-filter-bar{display:flex;flex-wrap:wrap;gap:6px;padding:2px 2px 6px}.werkstatt-orders-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:6px 14px;min-height:32px;background-color:#fff;border:1px solid #c9d9ea;border-radius:999px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;color:#14293d;cursor:pointer}.werkstatt-orders-chip:hover{background-color:#f1f6fb}.werkstatt-orders-chip--active{background-color:#14293d;border-color:#14293d;color:#fff}.werkstatt-orders-body{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.werkstatt-orders-body--with-drawer{grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr)}.werkstatt-orders-table-card{background-color:#fff;border-radius:14px;box-shadow:0 1px 4px #14293d0f;overflow:hidden}.werkstatt-orders-table-head,.werkstatt-orders-row-btn{display:grid;grid-template-columns:140px minmax(0,1.4fr) 120px 70px 110px 100px minmax(0,1fr);align-items:center;gap:12px;padding:10px 16px}.werkstatt-orders-table-head{background-color:#f7fafd;border-bottom:1px solid #edf2f8;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;color:#5c7895;text-transform:uppercase}.werkstatt-orders-table-body{list-style:none;margin:0;padding:0}.werkstatt-orders-row{display:flex;align-items:stretch;border-bottom:1px solid #f1f5fa}.werkstatt-orders-row:last-child{border-bottom:0}.werkstatt-orders-row--active{background-color:#f4f9fe}.werkstatt-orders-row-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1 1 0;min-width:0;background:transparent;border:0;padding:12px 16px;cursor:pointer;text-align:left;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d}.werkstatt-orders-row-btn:hover{background-color:#f8fbff}.werkstatt-orders-col{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.werkstatt-orders-col-number{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:12px;color:#5c7895}.werkstatt-orders-col-number--value{font-weight:700;color:#14293d}.werkstatt-orders-col-items,.werkstatt-orders-col-total{font-variant-numeric:tabular-nums}.werkstatt-orders-col-total{font-weight:600}.werkstatt-orders-col-expected{font-size:12px}.werkstatt-orders-col-expected--neutral{color:#5c7895}.werkstatt-orders-col-expected--amber{color:#9a4a06;font-weight:600}.werkstatt-orders-col-expected--red{color:#a4171c;font-weight:700}.werkstatt-orders-col-expected--mint{color:#0e6f45}.werkstatt-orders-status{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.02em;line-height:14px;white-space:nowrap}.werkstatt-orders-status--grey{background-color:#eef2f7;color:#5c7895}.werkstatt-orders-status--amber{background-color:#fdf3e4;color:#9a4a06}.werkstatt-orders-status--mint{background-color:#ddf3e8;color:#0e6f45}.werkstatt-orders-status--red{background-color:#fde7e7;color:#a4171c}.werkstatt-orders-status--neutral{background-color:#eef2f7;color:#14293d}.werkstatt-orders-kebab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;padding:0 12px;cursor:pointer;color:#5c7895;min-height:44px;min-width:44px}.werkstatt-orders-kebab:hover{color:#14293d}.werkstatt-orders-empty{padding:36px 20px;text-align:center;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#5c7895}.werkstatt-orders-drawer{position:sticky;top:16px;display:flex;flex-direction:column;gap:14px;padding:18px 20px 20px;background-color:#fff;border-radius:14px;box-shadow:0 4px 14px #14293d14;max-height:calc(100vh - 64px);overflow-y:auto;animation:werkstatt-orders-drawer-in .18s ease-out}@keyframes werkstatt-orders-drawer-in{0%{transform:translate(12px);opacity:0}to{transform:none;opacity:1}}.werkstatt-orders-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.werkstatt-orders-drawer-title-block{display:flex;flex-direction:column;gap:6px;min-width:0}.werkstatt-orders-drawer-number{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:11px;font-weight:600;letter-spacing:.04em;color:#5c7895}.werkstatt-orders-drawer-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:18px;font-weight:700;line-height:22px;color:#14293d}.werkstatt-orders-drawer-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:#5c7895;padding:8px;cursor:pointer;border-radius:8px;min-height:44px;min-width:44px}.werkstatt-orders-drawer-close:hover{background-color:#f1f6fb;color:#14293d}.werkstatt-orders-drawer-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0;padding:12px 0;border-top:1px solid #edf2f8;border-bottom:1px solid #edf2f8}.werkstatt-orders-drawer-meta>div{display:flex;flex-direction:column;gap:2px}.werkstatt-orders-drawer-meta dt{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;letter-spacing:.06em;color:#5c7895;text-transform:uppercase}.werkstatt-orders-drawer-meta dd{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;color:#14293d}.werkstatt-orders-drawer-section-title{margin:0 0 8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:700;letter-spacing:.06em;color:#5c7895;text-transform:uppercase}.werkstatt-orders-drawer-lines-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.werkstatt-orders-drawer-line{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:10px;background-color:#f7fafd}.werkstatt-orders-drawer-line-main{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:2px}.werkstatt-orders-drawer-line-main b{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;line-height:16px;color:#14293d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.werkstatt-orders-drawer-line-main small{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:11px;color:#5c7895}.werkstatt-orders-drawer-line-qty{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.werkstatt-orders-drawer-line-qty span{font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:700;color:#14293d;font-variant-numeric:tabular-nums}.werkstatt-orders-drawer-line-qty small{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;color:#5c7895}.werkstatt-orders-drawer-actions{display:flex;flex-wrap:wrap;gap:8px}.werkstatt-orders-drawer-actions .werkstatt-action-btn{flex:1 1 0;min-height:44px;justify-content:center}.werkstatt-orders-drawer-actions .werkstatt-action-btn:disabled{opacity:.55;cursor:not-allowed}.werkstatt-availability-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:700;line-height:14px;white-space:nowrap}.werkstatt-availability-badge--available{background-color:#ddf3e8;color:#0e6f45}.werkstatt-availability-badge--eta{background-color:#fdf3e4;color:#9a4a06}.werkstatt-availability-badge--unavailable{background-color:#fde7e7;color:#a4171c}.werkstatt-availability-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}.werkstatt-availability-dot--available{background-color:#0e6f45}.werkstatt-availability-dot--eta{background-color:#d97706}.werkstatt-availability-dot--unavailable{background-color:#dc2626}@media (min-width: 768px) and (max-width: 1279px){.werkstatt-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.werkstatt-content-grid{grid-template-columns:minmax(0,1fr)}.werkstatt-page-head,.werkstatt-sub-head{flex-wrap:wrap}.werkstatt-action-btn,.werkstatt-segmented-btn,.werkstatt-reorder-btn,.werkstatt-orders-chip,.werkstatt-orders-kebab,.werkstatt-orders-drawer-close,.werkstatt-orders-drawer-actions .werkstatt-action-btn{min-height:44px}.werkstatt-action-btn{padding:0 16px}.werkstatt-orders-chip{padding:10px 16px;font-size:13px}.werkstatt-col-manufacturer,.werkstatt-col-ean,.werkstatt-col-category,.werkstatt-col-out,.werkstatt-orders-table-head .werkstatt-orders-col-ordered,.werkstatt-orders-row-btn .werkstatt-orders-col-ordered,.werkstatt-orders-table-head .werkstatt-orders-col-items,.werkstatt-orders-row-btn .werkstatt-orders-col-items{display:none}.werkstatt-orders-table-head,.werkstatt-orders-row-btn{grid-template-columns:140px minmax(0,1.4fr) 120px 110px minmax(0,1fr)}.werkstatt-orders-body--with-drawer{grid-template-columns:minmax(0,1fr)}.werkstatt-orders-drawer{position:static;max-height:none}.modal-card{padding:20px 24px}.modal-card button,.modal-card input[type=button],.modal-card input[type=submit]{min-height:44px}.modal-card input[type=text],.modal-card input[type=number],.modal-card input[type=search],.modal-card select,.modal-card textarea{min-height:44px;font-size:15px}.werkstatt-bedarfe-group:not(.werkstatt-bedarfe-group--open) .werkstatt-bedarfe-group-body{display:none}.werkstatt-bedarfe-group{padding:12px 16px}}@media (max-width: 767px){.werkstatt-orders-table-head{display:none}.werkstatt-orders-row-btn{grid-template-columns:1fr auto;gap:4px 12px}.werkstatt-orders-row-btn>.werkstatt-orders-col-number{grid-column:1 / 2}.werkstatt-orders-row-btn>.werkstatt-orders-col-status{grid-column:2 / 3;justify-self:end}.werkstatt-orders-row-btn>.werkstatt-orders-col-supplier{grid-column:1 / -1;font-weight:600}.werkstatt-orders-row-btn>.werkstatt-orders-col-items,.werkstatt-orders-row-btn>.werkstatt-orders-col-ordered{display:none}.werkstatt-orders-row-btn>.werkstatt-orders-col-total{grid-column:1 / 2}.werkstatt-orders-row-btn>.werkstatt-orders-col-expected{grid-column:2 / 3;justify-self:end}}.werkstatt-banner{margin-top:1rem;background:#fff;border:1px solid #d9e4f2;border-radius:14px;padding:20px 24px;box-shadow:0 2px 10px #14293d0a}.werkstatt-banner-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.werkstatt-banner-info{display:flex;flex-direction:column;gap:2px;min-width:260px}.werkstatt-banner-eyebrow{font-size:11px;font-weight:600;letter-spacing:.08em;color:#5c7895;text-transform:uppercase}.werkstatt-banner-title{margin:0;font-size:26px;font-weight:700;letter-spacing:-.01em;color:#14293d}.werkstatt-banner-tabs{display:flex;flex-wrap:wrap;gap:6px}.werkstatt-banner-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;color:#5c7895;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;padding:8px 12px;border-radius:8px;cursor:pointer}.werkstatt-banner-tab:hover{background:#eaf4ff;color:#14293d}.werkstatt-banner-tab.active{background:#14293d;color:#fff;border-color:transparent}.werkstatt-tab-page{display:flex;flex-direction:column;gap:16px}.werkstatt-sub-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:4px 2px 8px}.werkstatt-sub-head-text{display:flex;flex-direction:column;gap:4px;max-width:720px}.werkstatt-sub-breadcrumb{font-size:11px;font-weight:600;letter-spacing:.08em;color:#5c7895;text-transform:uppercase}.werkstatt-sub-title{margin:0;font-size:26px;font-weight:700;letter-spacing:-.01em;color:#14293d}.werkstatt-sub-subtitle{margin:0;color:#5c7895;font-size:13px;line-height:20px}.werkstatt-sub-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.werkstatt-filter-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #d9e4f2;border-radius:12px;padding:10px 12px}.werkstatt-filter-bar--slim{padding:8px 10px}.werkstatt-search{flex:1 1 320px;display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid #d9e4f2;border-radius:8px;background:#f8fbff;min-width:240px}.werkstatt-search svg{flex-shrink:0}.werkstatt-search input{flex:1;border:none;background:transparent;font-size:13px;color:#14293d;outline:none;min-width:0}.werkstatt-search--katalog{flex-basis:100%}.werkstatt-select{display:flex;align-items:center;gap:6px;color:#5c7895;font-size:12px}.werkstatt-select-label{white-space:nowrap;font-weight:600}.werkstatt-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #d9e4f2;border-radius:8px;padding:6px 28px 6px 10px;font-size:13px;font-weight:600;color:#14293d;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M1 1l4 4 4-4' stroke='%235C7895' stroke-width='1.5' fill='none' stroke-linecap='round'/></svg>") no-repeat right 10px center #fff}.werkstatt-segmented--fill{margin-left:auto}.werkstatt-table-card{background:#fff;border:1px solid #d9e4f2;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px #14293d0a}.werkstatt-table-head{display:grid;grid-template-columns:32px minmax(260px,2.2fr) minmax(140px,1fr) minmax(180px,1.2fr) 120px minmax(160px,1.1fr) 36px;align-items:center;gap:12px;padding:12px 16px;background:#f8fbff;border-bottom:1px solid #e4ecf6;font-size:11px;letter-spacing:.08em;font-weight:700;color:#5c7895;text-transform:uppercase}.werkstatt-table-head--suppliers{grid-template-columns:minmax(220px,1.6fr) minmax(200px,1.3fr) 120px 100px 120px 36px}.werkstatt-table-head--imports{grid-template-columns:160px 180px minmax(220px,1fr) 120px 140px 36px}.werkstatt-table-body{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.werkstatt-row{display:grid;grid-template-columns:32px minmax(260px,2.2fr) minmax(140px,1fr) minmax(180px,1.2fr) 120px minmax(160px,1.1fr) 36px;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #eef3f9;font-size:13px;color:#14293d}.werkstatt-row--suppliers{grid-template-columns:minmax(220px,1.6fr) minmax(200px,1.3fr) 120px 100px 120px 36px}.werkstatt-row--imports{grid-template-columns:160px 180px minmax(220px,1fr) 120px 140px 36px}.werkstatt-row:last-child{border-bottom:none}.werkstatt-row--empty{display:block;padding:24px;text-align:center}.werkstatt-col{min-width:0;display:flex;align-items:center;gap:10px;overflow:hidden;text-overflow:ellipsis}.werkstatt-col--right{justify-content:flex-end}.werkstatt-col-checkbox input,.werkstatt-col-actions{display:flex;align-items:center;justify-content:center;flex-shrink:0}.werkstatt-col-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#5c7895}.werkstatt-row-thumb{width:36px;height:36px;border-radius:8px;background:#f0f6ff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.werkstatt-row-main{display:flex;flex-direction:column;min-width:0}.werkstatt-row-name{color:#14293d;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.werkstatt-row-meta{color:#5c7895;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em}.werkstatt-row-overflow{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#5c7895;font-size:16px;width:28px;height:28px;border-radius:6px;cursor:pointer}.werkstatt-row-overflow:hover{background:#eaf4ff;color:#14293d}.werkstatt-row-out-label{color:#5c7895;font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis}.werkstatt-initials{width:24px;height:24px;border-radius:50%;background:#e0ecff;color:#2f70b7;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.werkstatt-initials--empty{background:#eef3f9}.werkstatt-supplier-name{display:inline-flex;align-items:center;gap:10px}.werkstatt-supplier-chip{width:28px;height:28px;border-radius:8px;background:#f0f6ff;color:#2f70b7;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.werkstatt-stock-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#eaf7ee;color:#1e6b3c}.werkstatt-stock-pill-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.werkstatt-stock-pill--low{background:#fff3df;color:#a4631e}.werkstatt-stock-pill--empty,.werkstatt-stock-pill--out{background:#fde3e3;color:#9e2f2f}.werkstatt-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}@media (max-width: 1100px){.werkstatt-two-col{grid-template-columns:1fr}}.werkstatt-tree-card{padding:0}.werkstatt-tree{list-style:none;margin:0;padding:0}.werkstatt-tree-item{border-top:1px solid #eef3f9}.werkstatt-tree-item:first-child{border-top:none}.werkstatt-tree-row{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;display:grid;grid-template-columns:24px 32px 1fr auto;align-items:center;gap:10px;padding:12px 16px;background:transparent;border:none;text-align:left;cursor:pointer}.werkstatt-tree-row:hover{background:#f8fbff}.werkstatt-tree-chevron{color:#5c7895;width:24px;text-align:center;flex-shrink:0}.werkstatt-tree-icon{width:32px;height:32px;border-radius:8px;background:#eaf4ff;color:#2f70b7;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.werkstatt-tree-icon--vehicle{background:#eef7ee;color:#1e6b3c}.werkstatt-tree-main{display:flex;flex-direction:column;min-width:0}.werkstatt-tree-name{color:#14293d;font-size:14px;font-weight:600}.werkstatt-tree-meta{color:#5c7895;font-size:12px}.werkstatt-tree-trailing{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.werkstatt-tree-trailing .werkstatt-loc-badge{min-width:122px;justify-content:center;display:inline-flex;align-items:center;gap:6px;height:26px;box-sizing:border-box;padding:0 12px}.werkstatt-tree-children{list-style:none;margin:0;padding:4px 16px 12px 72px;display:flex;flex-direction:column;gap:4px;background:#f8fbff}.werkstatt-tree-child{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;font-size:13px;color:#14293d}.werkstatt-tree-child-dot{width:6px;height:6px;border-radius:50%;background:#5c7895;flex-shrink:0}.werkstatt-tree-child-icon{color:#5c7895;display:inline-flex;align-items:center;flex-shrink:0}.werkstatt-tree-child-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.werkstatt-tree-child-count{color:#5c7895;font-size:12px}.werkstatt-loc-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.werkstatt-loc-badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.werkstatt-loc-badge--open{background:#eaf7ee;color:#1e6b3c}.werkstatt-loc-badge--on_route{background:#fff3df;color:#a4631e}.werkstatt-loc-badge--in_workshop{background:#e4ecf6;color:#2f70b7}.werkstatt-loc-badge--closed{background:#f2efec;color:#5d574f}.werkstatt-loc-badge--clickable{border:0;cursor:pointer;font:inherit;transition:filter .12s,transform .04s}.werkstatt-loc-badge--clickable:hover{filter:brightness(.95)}.werkstatt-loc-badge--clickable:active{transform:scale(.97)}.werkstatt-loc-badge--clickable:focus-visible{outline:2px solid #2563be;outline-offset:2px}.werkstatt-loc-status-dot--open{background:#1e6b3c}.werkstatt-loc-status-dot--closed{background:#5d574f}.werkstatt-loc-status-dot--on_route{background:#a4631e}.werkstatt-loc-status-dot--in_workshop{background:#2f70b7}.werkstatt-field-hint{display:block;margin-top:6px;font-size:12px;color:#6b7689;line-height:1.45}.werkstatt-katalog-wrap{padding:16px;display:flex;flex-direction:column;gap:14px}.werkstatt-chips{display:flex;flex-wrap:wrap;gap:8px}.werkstatt-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:1px solid #d9e4f2;background:#fff;color:#14293d;font-size:13px;font-weight:600;cursor:pointer}.werkstatt-chip--active{background:#14293d;color:#fff;border-color:transparent}.werkstatt-chip-count{color:#5c7895;font-size:11px;font-weight:700}.werkstatt-chip--active .werkstatt-chip-count{color:#a6b9cf}.werkstatt-katalog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#5c7895;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.werkstatt-katalog-sort{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#5c7895;font-size:12px;font-weight:600;cursor:pointer}.werkstatt-katalog-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.werkstatt-katalog-card{border:1px solid #d9e4f2;border-radius:14px;background:#fff;overflow:hidden}.werkstatt-katalog-card--hero{border-color:#2f70b7;box-shadow:0 2px 12px #14293d14}.werkstatt-katalog-card--selected{outline:2px solid #2f70b7;outline-offset:-2px}.werkstatt-katalog-card-head{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;grid-template-columns:40px 1fr auto auto;align-items:center;gap:14px;padding:14px 16px;background:transparent;border:none;text-align:left;width:100%;cursor:pointer}.werkstatt-katalog-thumb{width:40px;height:40px;border-radius:10px;background:#eaf4ff;display:inline-flex;align-items:center;justify-content:center}.werkstatt-katalog-title{display:flex;flex-direction:column;gap:2px;min-width:0}.werkstatt-katalog-title b{color:#14293d;font-size:15px;font-weight:600}.werkstatt-katalog-supplier-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:#e4ecf6;color:#2f70b7;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;width:fit-content}.werkstatt-katalog-supplier-tag--single{background:#eaf7ee;color:#1e6b3c}.werkstatt-katalog-meta{color:#5c7895;font-size:12px}.werkstatt-katalog-hero-price{display:flex;flex-direction:column;align-items:flex-end;color:#14293d;font-size:14px}.werkstatt-katalog-hero-price b{font-weight:700}.werkstatt-katalog-hero-price small{color:#5c7895;font-size:11px}.werkstatt-katalog-check{width:24px;height:24px;border-radius:6px;border:1px solid #d9e4f2;color:transparent;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.werkstatt-katalog-check--on{background:#2f70b7;border-color:transparent;color:#fff}.werkstatt-katalog-offers{list-style:none;margin:0;padding:0 16px 14px 66px;display:flex;flex-direction:column;gap:8px}.werkstatt-katalog-offer{display:grid;grid-template-columns:24px 1fr auto auto;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:#f8fbff}.werkstatt-katalog-offer-check{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;border-radius:6px;border:1px solid #d9e4f2;background:#fff;color:transparent;cursor:pointer;font-weight:700}.werkstatt-katalog-offer-check--on{background:#2f70b7;border-color:transparent;color:#fff}.werkstatt-katalog-offer-main{display:flex;flex-direction:column;min-width:0}.werkstatt-katalog-offer-main b{color:#14293d;font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:8px}.werkstatt-katalog-offer-main small{color:#5c7895;font-size:12px}.werkstatt-katalog-preferred{background:#eaf7ee;color:#1e6b3c;padding:1px 6px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.werkstatt-katalog-offer-lead{color:#5c7895;font-size:12px;font-weight:600}.werkstatt-katalog-offer-price{color:#14293d;font-size:14px;font-weight:700}.werkstatt-katalog-empty{padding:24px;text-align:center;list-style:none}.werkstatt-no-ean-warn{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:#fff6e0;border:1px solid #f5d992;color:#7a5915;font-size:12px}.werkstatt-no-ean-warn-icon{width:24px;height:24px;border-radius:50%;background:#f5d992;color:#7a5915;display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.werkstatt-datanorm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:flex-start}@media (max-width: 1100px){.werkstatt-datanorm-grid{grid-template-columns:1fr}}.werkstatt-datanorm-left,.werkstatt-datanorm-right{display:flex;flex-direction:column;gap:16px}.werkstatt-datanorm-step{padding:18px;display:flex;flex-direction:column;gap:12px}.werkstatt-step-dot{width:24px;height:24px;border-radius:50%;background:#eaf4ff;color:#2f70b7;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-right:8px}.werkstatt-field{display:flex;flex-direction:column;gap:6px;min-width:0}.werkstatt-field--grow{flex:1 1 auto}.werkstatt-field-row{display:flex;gap:12px;flex-wrap:wrap}.werkstatt-field-label{font-size:12px;font-weight:600;color:#5c7895}.werkstatt-field-select,.werkstatt-field-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:40px;padding:0 12px;border:1px solid #d9e4f2;border-radius:8px;background:#fff;color:#14293d;font-size:14px;font-weight:500;outline:none}.werkstatt-field-textarea{width:100%;border:1px solid #d9e4f2;border-radius:8px;padding:10px 12px;background:#fff;color:#14293d;font-size:14px;font-family:inherit;resize:vertical;min-height:44px}.werkstatt-field-select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M1 1l4 4 4-4' stroke='%235C7895' stroke-width='1.5' fill='none' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.werkstatt-field-input-wrap{position:relative;display:flex;align-items:center}.werkstatt-field-suffix,.werkstatt-field-prefix{position:absolute;right:12px;font-size:12px;color:#5c7895;font-weight:600;pointer-events:none}.werkstatt-field-prefix{right:auto;left:12px}.werkstatt-field-prefix--dot{width:8px;height:8px;border-radius:50%;background:#2f70b7;display:inline-block}.werkstatt-field-prefix--dot~.werkstatt-field-input,.werkstatt-field-input-wrap .werkstatt-field-prefix--dot+.werkstatt-field-input{padding-left:32px}.werkstatt-link-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:#2f70b7;font-weight:600;font-size:13px;text-align:left;padding:0;cursor:pointer}.werkstatt-dropzone{border:2px dashed #c9d9ea;border-radius:12px;padding:28px;display:flex;flex-direction:column;align-items:center;gap:6px;background:#f8fbff;cursor:pointer;color:#14293d}.werkstatt-dropzone:hover,.werkstatt-dropzone--drag{border-color:#2f70b7;background:#eaf4ff}.werkstatt-dropzone b{font-size:14px;font-weight:600}.werkstatt-dropzone small{color:#5c7895;font-size:12px}.werkstatt-file-chip{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid #d9e4f2;border-radius:10px;background:#fff}.werkstatt-file-chip-icon{width:32px;height:32px;border-radius:8px;background:#eaf4ff;display:inline-flex;align-items:center;justify-content:center}.werkstatt-file-chip-main{display:flex;flex-direction:column;min-width:0}.werkstatt-file-chip-main b{font-size:13px;font-weight:600;color:#14293d}.werkstatt-file-chip-main small{color:#5c7895;font-size:12px}.werkstatt-file-chip-remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#5c7895;cursor:pointer;padding:4px 8px;border-radius:6px}.werkstatt-datanorm-actions{display:flex;justify-content:flex-end}.werkstatt-datanorm-preview{padding:18px;display:flex;flex-direction:column;gap:14px}.werkstatt-preview-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#eaf7ee;color:#1e6b3c;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.werkstatt-preview-badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.werkstatt-preview-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.werkstatt-preview-meta{padding:10px 12px;border:1px solid #e4ecf6;border-radius:10px;display:flex;flex-direction:column;gap:2px;background:#f8fbff}.werkstatt-preview-meta-label{font-size:11px;color:#5c7895;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.werkstatt-preview-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.werkstatt-preview-row{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;background:#f8fbff}.werkstatt-preview-row--ok{background:#eaf7ee}.werkstatt-preview-row--info{background:#eaf4ff}.werkstatt-preview-row--warn{background:#fff6e0}.werkstatt-preview-row-icon{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#2f70b7;font-weight:700}.werkstatt-preview-row--ok .werkstatt-preview-row-icon{color:#1e6b3c}.werkstatt-preview-row--warn .werkstatt-preview-row-icon{color:#7a5915}.werkstatt-preview-row-main{display:flex;flex-direction:column}.werkstatt-preview-row-main b{font-size:14px;color:#14293d}.werkstatt-preview-row-main small{color:#5c7895;font-size:12px}.werkstatt-preview-row-count{font-size:22px;font-weight:700;color:#14293d}.werkstatt-preview-conflicts{padding:12px 14px;border-radius:10px;background:#fffbef;border:1px solid #f5d992;display:flex;flex-direction:column;gap:6px;font-size:13px;color:#7a5915}.werkstatt-preview-conflicts ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;color:#14293d;font-size:12px}.werkstatt-preview-cta{display:flex;justify-content:flex-end;gap:10px}.werkstatt-datanorm-history{padding:0}.werkstatt-import-tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}.werkstatt-import-tag--ok{background:#eaf7ee;color:#1e6b3c}.werkstatt-import-tag--warn{background:#fff3df;color:#a4631e}.werkstatt-import-tag--error{background:#fde3e3;color:#9e2f2f}.werkstatt-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14293d73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.werkstatt-modal{background:#fff;border-radius:18px;box-shadow:0 20px 60px #14293d33;width:min(640px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column}.werkstatt-modal--narrow{width:min(520px,100%)}.werkstatt-modal--wide{width:min(720px,100%)}.werkstatt-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 0}.werkstatt-modal-title{margin:2px 0 0;font-size:22px;font-weight:700;color:#14293d}.werkstatt-modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #d9e4f2;background:#fff;color:#5c7895;border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:14px}.werkstatt-modal-tabs{display:flex;gap:4px;padding:12px 22px 0;border-bottom:1px solid #eef3f9}.werkstatt-modal-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;font-size:13px;font-weight:600;color:#5c7895;padding:8px 12px;border-radius:8px 8px 0 0;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.werkstatt-modal-tab--active{color:#14293d;border-bottom-color:#14293d}.werkstatt-modal-body{padding:18px 22px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.werkstatt-modal-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 22px 18px;border-top:1px solid #eef3f9;flex-wrap:wrap}.werkstatt-modal-foot--right{justify-content:flex-end}.werkstatt-modal-foot-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.werkstatt-modal-hero{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:14px;padding:12px 14px;border:1px solid #eef3f9;border-radius:12px;background:#f8fbff}.werkstatt-modal-hero-thumb{width:40px;height:40px;border-radius:10px;background:#eaf4ff;display:inline-flex;align-items:center;justify-content:center}.werkstatt-modal-hero-main{display:flex;flex-direction:column}.werkstatt-modal-hero-main b{font-size:14px;font-weight:600;color:#14293d}.werkstatt-modal-hero-main small{color:#5c7895;font-size:12px}.werkstatt-modal-hero-stock{display:flex;flex-direction:column;align-items:flex-end;font-size:18px;font-weight:700;color:#14293d;gap:2px}.werkstatt-modal-hero-stock .muted{font-size:10px;letter-spacing:.08em}.werkstatt-stepper{display:inline-flex;align-items:center;border:1px solid #d9e4f2;border-radius:10px;overflow:hidden;height:40px}.werkstatt-stepper button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:36px;height:100%;border:none;background:#f8fbff;color:#14293d;font-size:16px;cursor:pointer}.werkstatt-stepper button:hover{background:#eaf4ff}.werkstatt-stepper-value{padding:0 18px;font-size:16px;font-weight:700;color:#14293d;min-width:48px;text-align:center}.werkstatt-stepper--big .werkstatt-stepper-value{font-size:24px;min-width:100px}.werkstatt-stepper-value--signed{color:#14293d}.werkstatt-new-stock-pill{min-width:120px;align-items:flex-end;justify-content:center;padding:8px 12px;border-radius:10px;background:#eaf7ee;color:#1e6b3c;text-align:center;font-size:18px;font-weight:700}.werkstatt-new-stock-pill b{font-size:20px}.werkstatt-pill-row{display:flex;flex-wrap:wrap;gap:8px}.werkstatt-pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #d9e4f2;border-radius:999px;background:#fff;font-size:13px;font-weight:600;color:#14293d;padding:8px 14px;cursor:pointer}.werkstatt-pill--active{background:#14293d;color:#fff;border-color:transparent}.werkstatt-required{color:#9e2f2f;margin-left:2px}.werkstatt-radio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}@media (max-width: 640px){.werkstatt-radio-grid{grid-template-columns:1fr}}.werkstatt-radio-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #d9e4f2;border-radius:12px;padding:14px;background:#fff;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;text-align:center}.werkstatt-radio-card--active{border-color:#2f70b7;box-shadow:inset 0 0 0 1px #2f70b7}.werkstatt-radio-card b{font-size:14px;color:#14293d}.werkstatt-radio-card small{color:#5c7895;font-size:12px}.werkstatt-radio-glyph{width:36px;height:36px;border-radius:50%;font-size:18px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.werkstatt-radio-glyph--ok{background:#eaf7ee;color:#1e6b3c}.werkstatt-radio-glyph--warn{background:#fde3e3;color:#9e2f2f}.werkstatt-radio-glyph--info{background:#eaf4ff;color:#2f70b7}.werkstatt-hint-card{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:10px 14px;border-radius:10px;background:#fff6e0;color:#7a5915;align-items:center}.werkstatt-hint-icon{width:32px;height:32px;border-radius:8px;background:#f5d992;color:#7a5915;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.werkstatt-hint-main{display:flex;flex-direction:column}.werkstatt-hint-main b{font-size:13px;color:#14293d;font-weight:600}.werkstatt-hint-main small{font-size:12px;color:#5c7895}.werkstatt-modal-form{display:flex;flex-direction:column;gap:14px}.werkstatt-modal-form-split{display:grid;grid-template-columns:160px 1fr;gap:16px;align-items:flex-start}@media (max-width: 560px){.werkstatt-modal-form-split{grid-template-columns:1fr}}.werkstatt-modal-form-column{display:flex;flex-direction:column;gap:12px}.werkstatt-photo-drop{border:2px dashed #c9d9ea;border-radius:12px;background:#f8fbff;padding:22px 12px;display:flex;flex-direction:column;align-items:center;gap:6px;color:#5c7895;cursor:pointer}.werkstatt-photo-drop b{color:#14293d;font-size:13px}.werkstatt-photo-drop-icon{width:32px;height:32px;border-radius:50%;background:#eaf4ff;color:#2f70b7;font-size:18px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.werkstatt-bg-toggle{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;background:#f8fbff;border:1px solid #eef3f9}.werkstatt-bg-icon{width:32px;height:32px;border-radius:8px;background:#eaf4ff;display:inline-flex;align-items:center;justify-content:center}.werkstatt-bg-main b{display:block;font-size:13px;color:#14293d;font-weight:600}.werkstatt-bg-main small{color:#5c7895;font-size:12px}.werkstatt-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:40px;height:22px;border-radius:999px;background:#c9d9ea;border:none;position:relative;cursor:pointer}.werkstatt-switch-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s ease}.werkstatt-switch--on{background:#2f70b7}.werkstatt-switch--on .werkstatt-switch-thumb{transform:translate(18px)}.werkstatt-scan-tab{display:flex;flex-direction:column;gap:14px}.werkstatt-scan-slab{padding:28px;border-radius:14px;background:#eaf4ff;color:#14293d;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.werkstatt-scan-slab b{font-size:15px;color:#14293d}.werkstatt-scan-slab small{color:#5c7895;font-size:12px}.werkstatt-scan-result{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:10px;background:#f8fbff;border:1px solid #d9e4f2}.werkstatt-scan-result-label{font-size:11px;font-weight:600;letter-spacing:.05em;color:#5c7895;text-transform:uppercase}.werkstatt-scan-result code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;color:#14293d}.werkstatt-placeholder-card{padding:40px;text-align:center}.werkstatt-placeholder-card h3{margin:0 0 8px;color:#14293d;font-size:18px}@media (max-width: 1100px){.werkstatt-table-head,.werkstatt-row{grid-template-columns:24px minmax(220px,2fr) minmax(120px,1fr) minmax(140px,1fr) 100px minmax(120px,1fr) 36px}.werkstatt-table-head--suppliers,.werkstatt-row--suppliers{grid-template-columns:minmax(180px,1.6fr) minmax(180px,1.3fr) 120px 100px 100px 36px}}.werkstatt-mobile{display:flex;flex-direction:column;background:#eaf4ff;color:#14293d;font-family:"Source Sans 3",system-ui,sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased;min-height:calc(100dvh - var(--mobile-bottom-nav-height, 64px))}.werkstatt-mobile button{font-family:inherit}.werkstatt-mobile-home-top{background:#1a3f6d;color:#fff;padding:12px 20px 22px;display:flex;flex-direction:column;gap:16px}.werkstatt-mobile-home-greeting{display:flex;align-items:center;gap:10px}.werkstatt-mobile-home-folder-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#ffffff1f;flex-shrink:0}.werkstatt-mobile-home-greeting-text{display:flex;flex-direction:column;flex:1;min-width:0}.werkstatt-mobile-home-eyebrow{font-size:11px;line-height:14px;letter-spacing:.08em;font-weight:600;color:#eaf4ff8c;text-transform:uppercase}.werkstatt-mobile-home-title{font-size:18px;line-height:22px;font-weight:700;color:#fff}.werkstatt-mobile-home-avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#e8b04f;color:#1a3f6d;font-weight:700;font-size:13px;flex-shrink:0}.werkstatt-mobile-home-scan-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:#fff;border-radius:14px;padding:16px 18px;display:flex;align-items:center;gap:14px;cursor:pointer;text-align:left;width:100%}.werkstatt-mobile-home-scan-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:12px;background:#eaf4ff;flex-shrink:0}.werkstatt-mobile-home-scan-text{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px}.werkstatt-mobile-home-scan-title{color:#14293d;font-weight:700;font-size:15px;line-height:18px}.werkstatt-mobile-home-scan-subtitle{color:#5c7895;font-size:12px;line-height:16px}.werkstatt-mobile-home-scan-chevron{display:inline-flex;flex-shrink:0}.werkstatt-mobile-home-body{display:flex;flex-direction:column;gap:18px;padding:20px 16px;flex:1}.werkstatt-mobile-search{display:flex;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:12px 16px;box-shadow:0 1px 4px #14293d0f}.werkstatt-mobile-search-icon,.werkstatt-mobile-search-filter{display:inline-flex;flex-shrink:0}.werkstatt-mobile-search-input{border:0;background:transparent;font-size:14px;line-height:18px;color:#14293d;flex:1;outline:none}.werkstatt-mobile-search-input::placeholder{color:#8fa2ba}.werkstatt-mobile-card{background:#fff;border-radius:14px;box-shadow:0 1px 4px #14293d0f;overflow:hidden}.werkstatt-mobile-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid #F1F5FA}.werkstatt-mobile-card-title{margin:0;font-size:15px;line-height:18px;font-weight:700;color:#14293d}.werkstatt-mobile-card-subtitle{font-size:11px;line-height:14px;color:#5c7895}.werkstatt-mobile-card-action{font-size:12px;line-height:16px;font-weight:600;color:#2f70b7}.werkstatt-mobile-checkouts-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.werkstatt-mobile-checkout-row{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid #F1F5FA}.werkstatt-mobile-checkout-row--last{border-bottom:0}.werkstatt-mobile-checkout-row-main{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;display:flex;align-items:center;gap:12px;flex:1;min-width:0;text-align:left;cursor:pointer}.werkstatt-mobile-checkout-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#f1f5fa;flex-shrink:0}.werkstatt-mobile-checkout-text{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px}.werkstatt-mobile-checkout-title{font-size:13px;line-height:16px;font-weight:700;color:#14293d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.werkstatt-mobile-checkout-meta{font-size:11px;line-height:14px;color:#5c7895}.werkstatt-mobile-checkout-meta--overdue{color:#9a4a06;font-weight:600}.werkstatt-mobile-return-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:#eaf4ff;color:#2f70b7;font-size:12px;line-height:16px;font-weight:700;padding:8px 12px;border-radius:8px;flex-shrink:0;cursor:pointer}.werkstatt-mobile-return-btn--overdue{background:#fdf3e4;color:#9a4a06}.werkstatt-mobile-alert-pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:#fdf3e4;border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;width:100%;text-align:left}.werkstatt-mobile-alert-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#f5e5c8;flex-shrink:0}.werkstatt-mobile-alert-text{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px}.werkstatt-mobile-alert-title{font-size:13px;line-height:16px;font-weight:700;color:#14293d}.werkstatt-mobile-alert-subtitle{font-size:11px;line-height:14px;color:#8b6b2c}.werkstatt-mobile-alert-chevron{display:inline-flex;flex-shrink:0}.werkstatt-mobile--scan{background:#0b1220;color:#fff;flex:1;min-height:100dvh}.werkstatt-mobile-scan-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}.werkstatt-mobile-scan-topbtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;width:38px;height:38px;border-radius:999px;background:#ffffff14;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.werkstatt-mobile-scan-topcenter{display:flex;flex-direction:column;align-items:center;gap:2px}.werkstatt-mobile-scan-eyebrow{font-size:10px;line-height:12px;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c;font-weight:600}.werkstatt-mobile-scan-title{font-size:15px;line-height:18px;font-weight:700;color:#fff}.werkstatt-mobile-scan-viewport{position:relative;flex:1;min-height:320px;background:#050912;display:flex;align-items:center;justify-content:center;overflow:hidden}.werkstatt-mobile-scan-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,#8fcaff1a,#0000 55%,#0000008c);pointer-events:none}.werkstatt-mobile-scan-reticle{position:relative;width:248px;height:248px;flex-shrink:0}.werkstatt-mobile-scan-corner{position:absolute;width:38px;height:38px;box-shadow:0 0 18px #2f70b78c}.werkstatt-mobile-scan-corner--tl{top:0;left:0;border-top:3px solid #FFFFFF;border-left:3px solid #FFFFFF;border-top-left-radius:8px}.werkstatt-mobile-scan-corner--tr{top:0;right:0;border-top:3px solid #FFFFFF;border-right:3px solid #FFFFFF;border-top-right-radius:8px}.werkstatt-mobile-scan-corner--bl{bottom:0;left:0;border-bottom:3px solid #FFFFFF;border-left:3px solid #FFFFFF;border-bottom-left-radius:8px}.werkstatt-mobile-scan-corner--br{bottom:0;right:0;border-bottom:3px solid #FFFFFF;border-right:3px solid #FFFFFF;border-bottom-right-radius:8px}.werkstatt-mobile-scan-line{position:absolute;top:50%;left:12px;right:12px;height:2px;background:linear-gradient(90deg,#8fcaff00,#8fcafff2,#8fcaff00);box-shadow:0 0 12px #8fcaffb3;transform:translateY(-50%)}.werkstatt-mobile-scan-helper{position:absolute;bottom:28px;left:48px;right:48px;text-align:center;color:#ffffffd1;font-size:13px;line-height:18px;font-weight:500;margin:0}.werkstatt-mobile-scan-error{position:absolute;bottom:6px;left:48px;right:48px;margin:0;text-align:center;color:#ffb4b4;font-size:12px;font-weight:600}.werkstatt-mobile-scan-history{padding:18px 16px 8px;display:flex;flex-direction:column;gap:10px}.werkstatt-mobile-scan-history-head{display:flex;align-items:center;justify-content:space-between}.werkstatt-mobile-scan-history-eyebrow{font-size:10px;line-height:12px;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c;font-weight:700}.werkstatt-mobile-scan-history-link{font-size:11px;line-height:14px;font-weight:600;color:#8fcaff}.werkstatt-mobile-scan-history-chips{display:flex;gap:8px;overflow-x:auto}.werkstatt-mobile-scan-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.1);background:#ffffff14;border-radius:999px;padding:8px 12px 8px 10px;display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;cursor:pointer;flex-shrink:0}.werkstatt-mobile-scan-chip-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;background:#2f70b759}.werkstatt-mobile-scan-manual{padding:14px 16px;background:#0b1220}.werkstatt-mobile-scan-manual-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:48px;border-radius:12px;border:1px solid rgba(255,255,255,.22);background:#ffffff0a;color:#fff;font-weight:600;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer}.werkstatt-mobile-scan-manual-form{display:flex;gap:8px;align-items:stretch}.werkstatt-mobile-scan-manual-input{flex:1;min-width:0;height:48px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.22);background:#ffffff14;color:#fff;font-size:15px;font-family:inherit;outline:none}.werkstatt-mobile-scan-manual-input::placeholder{color:#ffffff80}.werkstatt-mobile-scan-manual-submit,.werkstatt-mobile-scan-manual-cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;height:48px;padding:0 14px;border-radius:12px;cursor:pointer;font-weight:700;font-size:13px;font-family:inherit}.werkstatt-mobile-scan-manual-submit{background:#2f70b7;color:#fff}.werkstatt-mobile-scan-manual-cancel{background:transparent;color:#ffffffa6;border:1px solid rgba(255,255,255,.22)}.werkstatt-mobile--artikel{background:#eaf4ff}.werkstatt-mobile-artikel-top{background:#fff;padding:10px 16px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.werkstatt-mobile-icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;width:38px;height:38px;border-radius:10px;background:#f1f5fa;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.werkstatt-mobile-icon-btn--plain{background:transparent}.werkstatt-mobile-artikel-topcenter{display:flex;flex-direction:column;align-items:center;gap:2px}.werkstatt-mobile-artikel-eyebrow{font-size:10px;line-height:12px;letter-spacing:.08em;text-transform:uppercase;color:#5c7895;font-weight:600}.werkstatt-mobile-artikel-topnumber{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;color:#2f70b7;font-size:12px;line-height:16px}.werkstatt-mobile-artikel-hero{position:relative;background:#fff;padding:0;display:flex;align-items:center;justify-content:center;height:220px;flex-shrink:0}.werkstatt-mobile-artikel-hero-img{width:140px;height:140px;border-radius:50%;background:#f1f5fa;display:inline-flex;align-items:center;justify-content:center}.werkstatt-mobile-artikel-hero-badge{position:absolute;top:14px;left:16px}.werkstatt-mobile-artikel-hero-text{position:absolute;left:16px;right:16px;bottom:14px;display:flex;flex-direction:column;gap:2px;min-width:0}.werkstatt-mobile-artikel-name{margin:0;font-size:20px;line-height:24px;font-weight:700;color:#14293d;letter-spacing:-.01em}.werkstatt-mobile-artikel-meta{font-size:12px;line-height:16px;color:#5c7895}.werkstatt-mobile-artikel-body{display:flex;flex-direction:column;gap:14px;padding:16px;flex:1}.werkstatt-mobile-artikel-stats{display:flex;gap:10px}.werkstatt-mobile-artikel-stat{flex:1;background:#fff;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;box-shadow:0 1px 4px #14293d0f}.werkstatt-mobile-artikel-stat-label{font-size:10px;line-height:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:#5c7895}.werkstatt-mobile-artikel-stat-value{font-size:22px;line-height:24px;font-weight:700;color:#14293d}.werkstatt-mobile-artikel-stat--lager .werkstatt-mobile-artikel-stat-label,.werkstatt-mobile-artikel-stat--lager .werkstatt-mobile-artikel-stat-value{color:#0e6f45}.werkstatt-mobile-artikel-stat--unterwegs .werkstatt-mobile-artikel-stat-label,.werkstatt-mobile-artikel-stat--unterwegs .werkstatt-mobile-artikel-stat-value{color:#3a556f}.werkstatt-mobile-artikel-location{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:#fff;border-radius:12px;padding:14px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 1px 4px #14293d0f;cursor:pointer;text-align:left;width:100%}.werkstatt-mobile-artikel-location-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#eaf4ff;flex-shrink:0}.werkstatt-mobile-artikel-location-text{display:flex;flex-direction:column;flex:1;gap:1px;min-width:0}.werkstatt-mobile-artikel-location-name{font-size:13px;line-height:16px;font-weight:700;color:#14293d}.werkstatt-mobile-artikel-location-address{font-size:11px;line-height:14px;color:#5c7895}.werkstatt-mobile-artikel-location-chevron{display:inline-flex;flex-shrink:0}.werkstatt-mobile-artikel-movements{background:#fff;border-radius:12px;box-shadow:0 1px 4px #14293d0f;overflow:hidden}.werkstatt-mobile-artikel-movements-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 10px}.werkstatt-mobile-artikel-movements-title{margin:0;font-size:13px;line-height:16px;font-weight:700;color:#14293d}.werkstatt-mobile-artikel-movements-count{font-size:11px;line-height:14px;color:#5c7895}.werkstatt-mobile-artikel-movements-list{margin:0;padding:0;list-style:none}.werkstatt-mobile-artikel-movement{display:flex;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid #F1F5FA}.werkstatt-mobile-artikel-movement-dot{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.werkstatt-mobile-artikel-movement--checkout .werkstatt-mobile-artikel-movement-dot{background:#fde7e7}.werkstatt-mobile-artikel-movement--return .werkstatt-mobile-artikel-movement-dot{background:#ddf3e8}.werkstatt-mobile-artikel-movement--inspection .werkstatt-mobile-artikel-movement-dot{background:#e1edf9}.werkstatt-mobile-artikel-movement-text{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.werkstatt-mobile-artikel-movement-title{font-size:12px;line-height:16px;font-weight:500;color:#14293d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.werkstatt-mobile-artikel-movement-subtitle{font-size:11px;line-height:14px;color:#5c7895}.werkstatt-mobile-artikel-footer{background:#fff;border-top:1px solid #E3EDF7;padding:14px 16px 28px;display:flex;align-items:center;gap:10px}.werkstatt-mobile-artikel-back{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:48px;height:48px;border-radius:12px;background:#fff;border:1px solid #C9D9EA;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.werkstatt-mobile-artikel-primary{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:#2f70b7;color:#fff;border-radius:12px;flex:1;height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:15px;cursor:pointer}.werkstatt-mobile--nachbestellen{background:#eaf4ff}.werkstatt-mobile-nach-top{background:#fff;padding:10px 16px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.werkstatt-mobile-nach-topcenter{display:flex;flex-direction:column;align-items:center;gap:2px}.werkstatt-mobile-nach-eyebrow{font-size:10px;line-height:12px;letter-spacing:.08em;text-transform:uppercase;color:#5c7895;font-weight:600}.werkstatt-mobile-nach-title{font-size:17px;line-height:20px;font-weight:700;color:#14293d}.werkstatt-mobile-nach-alert{background:#fff;border-top:1px solid #F1F5FA;padding:12px 16px 14px;display:flex;align-items:center;gap:10px}.werkstatt-mobile-nach-alert-dot{width:10px;height:10px;border-radius:50%;background:#e88a2e;box-shadow:0 0 0 3px #e88a2e2e;flex-shrink:0}.werkstatt-mobile-nach-alert-text{font-size:13px;line-height:16px;color:#14293d;flex:1;min-width:0}.werkstatt-mobile-nach-alert-suffix{color:#5c7895;font-weight:500}.werkstatt-mobile-nach-body{display:flex;flex-direction:column;gap:12px;padding:14px 16px 16px;flex:1;overflow-y:auto}.werkstatt-mobile-nach-group{background:#fff;border-radius:14px;box-shadow:0 1px 4px #14293d0f;overflow:hidden}.werkstatt-mobile-nach-group-head{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:#fff;width:100%;padding:14px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;text-align:left}.werkstatt-mobile-nach-group-caret{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;transform:rotate(0);transition:transform .12s ease;flex-shrink:0}.werkstatt-mobile-nach-group-caret--open{transform:rotate(90deg)}.werkstatt-mobile-nach-group-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#eaf4ff;flex-shrink:0}.werkstatt-mobile-nach-group-text{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px}.werkstatt-mobile-nach-group-name{font-size:14px;line-height:18px;font-weight:700;color:#14293d}.werkstatt-mobile-nach-group-meta{font-size:11px;line-height:14px;font-weight:500;color:#5c7895}.werkstatt-mobile-nach-group-total{font-size:14px;line-height:18px;font-weight:700;color:#14293d;flex-shrink:0}.werkstatt-mobile-nach-lines{margin:0;padding:0;list-style:none;border-top:1px solid #F1F5FA}.werkstatt-mobile-nach-line{padding:12px 16px;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid #F1F5FA}.werkstatt-mobile-nach-line:last-child{border-bottom:0}.werkstatt-mobile-nach-line-head{display:flex;align-items:flex-start;gap:10px}.werkstatt-mobile-nach-line-name{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;font-size:14px;line-height:18px;font-weight:700;color:#14293d}.werkstatt-mobile-nach-line-sub{display:flex;align-items:center;gap:8px;font-weight:400}.werkstatt-mobile-nach-line-sku{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;font-size:11px;color:#2f70b7}.werkstatt-mobile-nach-line-price{font-size:11px;color:#5c7895}.werkstatt-mobile-nach-line-pill{display:inline-flex;align-items:center;justify-content:center;height:22px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:700;flex-shrink:0}.werkstatt-mobile-nach-line-pill--out{background:#fce3e2;color:#b2321f}.werkstatt-mobile-nach-line-pill--low{background:#fdf3e4;color:#8b6b2c}.werkstatt-mobile-nach-line-foot{display:flex;align-items:center;gap:12px}.werkstatt-mobile-nach-stepper{display:inline-flex;align-items:center;height:34px;width:108px;border-radius:10px;border:1px solid #C9D9EA;background:#fff;flex-shrink:0;justify-content:space-between}.werkstatt-mobile-nach-stepper-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.werkstatt-mobile-nach-stepper-value{flex:1;text-align:center;font-weight:700;font-size:15px;color:#14293d}.werkstatt-mobile-nach-line-total{margin-left:auto;font-size:14px;font-weight:700;color:#14293d}.werkstatt-mobile-nach-footer{background:#fff;border-top:1px solid #E3EDF7;box-shadow:0 -6px 18px #14293d0f;padding:12px 16px 14px;display:flex;align-items:center;gap:12px}.werkstatt-mobile-nach-total{display:flex;flex-direction:column;gap:1px;flex-shrink:0}.werkstatt-mobile-nach-total-label{font-size:10px;line-height:12px;letter-spacing:.08em;text-transform:uppercase;color:#5c7895;font-weight:600}.werkstatt-mobile-nach-total-value{display:inline-flex;align-items:baseline;gap:6px;font-size:18px;line-height:22px;font-weight:700;color:#14293d}.werkstatt-mobile-nach-total-count{font-size:11px;font-weight:500;color:#5c7895}.werkstatt-mobile-nach-submit{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;margin-left:auto;height:48px;padding:0 18px;border-radius:12px;background:#2f70b7;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:15px;cursor:pointer}.werkstatt-mobile-nach-submit:disabled{opacity:.7;cursor:progress}.werkstatt-nachbestell-page{display:flex;flex-direction:column;gap:20px}.werkstatt-nachbestell-kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.werkstatt-nachbestell-groups{display:flex;flex-direction:column;gap:16px}.werkstatt-nachbestell-group{background:#fff;border-radius:14px;border:1px solid rgba(33,51,82,.08);box-shadow:0 1px 2px #0f1a2d0a;overflow:hidden}.werkstatt-nachbestell-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:18px 22px 16px;background:linear-gradient(180deg,#ecf2f9b3,#ecf2f900);border-bottom:1px solid rgba(33,51,82,.06)}.werkstatt-nachbestell-group-identity{display:flex;gap:12px;align-items:flex-start;min-width:0;flex:1 1 auto}.werkstatt-nachbestell-group-icon{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;color:#213352;background:#21335214;border-radius:10px}.werkstatt-nachbestell-group-name{margin:0;font-size:17px;font-weight:600;color:#0f1a2d;letter-spacing:-.005em}.werkstatt-nachbestell-group-cat{font-size:13px;font-weight:500;color:#6b7689;margin-left:8px}.werkstatt-nachbestell-group-meta{margin:2px 0 0;font-size:13px;color:#6b7689}.werkstatt-nachbestell-group-totals{display:flex;align-items:flex-start;gap:20px;flex:0 0 auto}.werkstatt-nachbestell-group-totals>div{display:flex;flex-direction:column;align-items:flex-end}.werkstatt-nachbestell-group-subtotal-label{font-size:11px;font-weight:600;letter-spacing:.06em;color:#6b7689;text-transform:uppercase}.werkstatt-nachbestell-group-subtotal{font-size:22px;font-weight:700;color:#0f1a2d;letter-spacing:-.01em;margin-top:2px}.werkstatt-nachbestell-lines{list-style:none;padding:0;margin:0}.werkstatt-nachbestell-line{display:grid;grid-template-columns:40px minmax(0,2.2fr) minmax(110px,.9fr) minmax(160px,1fr) minmax(130px,.9fr);align-items:center;gap:18px;padding:14px 22px;border-bottom:1px solid rgba(33,51,82,.05)}.werkstatt-nachbestell-line:last-child{border-bottom:none}.werkstatt-nachbestell-line-icon{width:36px;height:36px;display:grid;place-items:center;color:#213352;background:#2133520f;border-radius:8px}.werkstatt-nachbestell-line-main{min-width:0}.werkstatt-nachbestell-line-title{font-size:14.5px;font-weight:600;color:#0f1a2d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.werkstatt-nachbestell-line-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12.5px;color:#6b7689;margin-top:3px}.werkstatt-nachbestell-line-sp{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;color:#3a4a66}.werkstatt-nachbestell-line-stock,.werkstatt-nachbestell-line-qty,.werkstatt-nachbestell-line-total{display:flex;flex-direction:column;gap:4px;min-width:0}.werkstatt-nachbestell-line-total{align-items:flex-end}.werkstatt-nachbestell-stock-label{font-size:10.5px;font-weight:600;letter-spacing:.06em;color:#6b7689;text-transform:uppercase}.werkstatt-nachbestell-stock--out{background:#d83b3b1a;color:#a02626;border:1px solid rgba(216,59,59,.25)}.werkstatt-nachbestell-stock--low{background:#e094201f;color:#8a5a10;border:1px solid rgba(224,148,32,.3)}.werkstatt-nachbestell-line-total-value{font-size:15px;font-weight:700;color:#0f1a2d;font-variant-numeric:tabular-nums}.werkstatt-nachbestell-line-unit-price{font-size:11px;color:#6b7689;font-variant-numeric:tabular-nums}.werkstatt-stepper{display:inline-flex;align-items:stretch;border:1px solid rgba(33,51,82,.15);border-radius:8px;overflow:hidden;background:#fff;width:max-content}.werkstatt-stepper-btn{width:32px;height:32px;display:grid;place-items:center;background:#f6f8fb;border:0;font-size:15px;font-weight:600;color:#213352;cursor:pointer;transition:background .1s}.werkstatt-stepper-btn:hover{background:#eaf0f7}.werkstatt-stepper-input{width:56px;border:0;border-inline:1px solid rgba(33,51,82,.12);padding:0 4px;text-align:center;font-size:14px;font-weight:600;color:#0f1a2d;font-variant-numeric:tabular-nums;background:#fff;-moz-appearance:textfield}.werkstatt-stepper-input::-webkit-outer-spin-button,.werkstatt-stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.werkstatt-stepper-input:focus-visible{outline:2px solid rgba(37,99,190,.35);outline-offset:-1px}.werkstatt-sub-subtitle{margin:4px 0 0;font-size:13.5px;color:#6b7689;display:flex;align-items:center;gap:8px}@media (max-width: 1100px){.werkstatt-nachbestell-kpi-strip{grid-template-columns:repeat(2,1fr)}.werkstatt-nachbestell-group-head{flex-direction:column;align-items:stretch}.werkstatt-nachbestell-group-totals{justify-content:space-between;width:100%}.werkstatt-nachbestell-line{grid-template-columns:36px minmax(0,1.8fr) minmax(100px,.9fr) auto;row-gap:8px}.werkstatt-nachbestell-line-total{grid-column:1 / -1;flex-direction:row;align-items:center;gap:12px;justify-content:flex-end}}.werkstatt-onsite-page{display:flex;flex-direction:column;gap:20px}.werkstatt-onsite-subtitle-danger{color:#a02626;font-weight:600}.werkstatt-onsite-kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.werkstatt-onsite-groups{display:flex;flex-direction:column;gap:12px}.werkstatt-onsite-group{background:#fff;border-radius:14px;border:1px solid rgba(33,51,82,.08);box-shadow:0 1px 2px #0f1a2d0a;overflow:hidden}.werkstatt-onsite-group-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:linear-gradient(180deg,#ecf2f9b3,#ecf2f900);border-bottom:1px solid rgba(33,51,82,.06)}.werkstatt-onsite-group--collapsed .werkstatt-onsite-group-head{border-bottom:none}.werkstatt-onsite-group-toggle{display:flex;align-items:flex-start;gap:10px;flex:1 1 auto;min-width:0;padding:4px 0;background:transparent;border:0;cursor:pointer;text-align:left;color:inherit}.werkstatt-onsite-caret{flex:0 0 auto;width:14px;color:#5c7895;font-size:12px;line-height:1;padding-top:4px}.werkstatt-onsite-group-identity{min-width:0}.werkstatt-onsite-group-title-row{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.werkstatt-onsite-project-number{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px;font-weight:700;color:#3a4a66;letter-spacing:.01em}.werkstatt-onsite-project-title{font-size:15.5px;font-weight:600;color:#0f1a2d}.werkstatt-onsite-group-meta{margin:2px 0 0;font-size:12.5px;color:#6b7689}.werkstatt-onsite-group-overdue{color:#a02626;font-weight:600}.werkstatt-onsite-items{list-style:none;margin:0;padding:0}.werkstatt-onsite-item{display:grid;grid-template-columns:36px minmax(0,2fr) minmax(160px,1.1fr) minmax(130px,.9fr) auto;align-items:center;gap:16px;padding:12px 18px;border-bottom:1px solid rgba(33,51,82,.05)}.werkstatt-onsite-item:last-child{border-bottom:none}.werkstatt-onsite-item-icon{width:32px;height:32px;display:grid;place-items:center;background:#2133520d;border-radius:7px}.werkstatt-onsite-item-main{min-width:0}.werkstatt-onsite-item-title{font-size:14px;font-weight:600;color:#0f1a2d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.werkstatt-onsite-item-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px;font-size:12.5px;color:#6b7689}.werkstatt-onsite-item-sp{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;color:#3a4a66}.werkstatt-onsite-item-assignee{display:flex;align-items:center;gap:8px;min-width:0}.werkstatt-onsite-assignee-name{font-size:13px;color:#213352;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.werkstatt-onsite-return{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#3a4a66;padding:4px 10px;border-radius:999px;background:#2133520d;white-space:nowrap}.werkstatt-onsite-return--soon{background:#2133520f;color:#213352}.werkstatt-onsite-return--today{background:#e094201f;color:#8a5a10;border:1px solid rgba(224,148,32,.3)}.werkstatt-onsite-return--overdue{background:#d83b3b1a;color:#a02626;border:1px solid rgba(216,59,59,.25)}.werkstatt-onsite-return-dot{width:6px;height:6px;border-radius:50%;background:#d83b3b;display:inline-block}.werkstatt-onsite-item-actions{display:flex;gap:6px;justify-content:flex-end}.werkstatt-action-btn--small{font-size:12.5px;padding:6px 12px;min-height:32px}.werkstatt-action-btn--warn{background:#e094201f;color:#8a5a10;border:1px solid rgba(224,148,32,.3)}.werkstatt-action-btn--warn:hover{background:#e0942033}.werkstatt-onsite-empty{padding:32px 24px;text-align:center}@media (max-width: 1100px){.werkstatt-onsite-kpi-strip{grid-template-columns:repeat(2,1fr)}.werkstatt-onsite-item{grid-template-columns:32px minmax(0,2fr) auto;row-gap:8px}.werkstatt-onsite-item-assignee,.werkstatt-onsite-return,.werkstatt-onsite-item-actions{grid-column:2 / -1;justify-self:start}.werkstatt-onsite-item-actions{justify-self:end}}.werkstatt-modal-title-block{display:flex;flex-direction:column;gap:2px;min-width:0}.werkstatt-modal-eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6b7689}.werkstatt-modal-body--stacked{display:flex;flex-direction:column;gap:18px}.werkstatt-radio-card-group{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.werkstatt-radio-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media (min-width: 720px){.werkstatt-radio-card-grid{grid-template-columns:repeat(4,1fr)}}.werkstatt-radio-card{position:relative;display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid rgba(33,51,82,.15);border-radius:10px;background:#fff;cursor:pointer;transition:border-color .12s,background .12s}.werkstatt-radio-card input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:pointer}.werkstatt-radio-card:hover{border-color:#2563be66}.werkstatt-radio-card--active{border-color:#2563be;background:#2563be0f;box-shadow:0 0 0 1px #2563be inset}.werkstatt-radio-card-label{font-size:14px;font-weight:600;color:#0f1a2d}.werkstatt-radio-card-hint{font-size:12px;color:#6b7689}.werkstatt-action-btn--danger{background:#d83b3b14;color:#a02626;border:1px solid rgba(216,59,59,.3)}.werkstatt-action-btn--danger:hover{background:#d83b3b24}.werkstatt-tree-empty{padding:32px 18px;text-align:center;color:#6b7689;font-size:13.5px}.werkstatt-kebab{position:relative;display:inline-flex;align-items:center}.werkstatt-kebab-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:220px;background:#fff;border:1px solid rgba(33,51,82,.12);border-radius:10px;box-shadow:0 8px 24px #0f1a2d24,0 2px 4px #0f1a2d0f;padding:4px;z-index:40;display:flex;flex-direction:column;gap:0}.werkstatt-kebab-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:transparent;border:0;border-radius:6px;font:inherit;font-size:13.5px;color:#0f1a2d;text-align:left;cursor:pointer;transition:background .08s}.werkstatt-kebab-item:hover:not(:disabled){background:#2133520f}.werkstatt-kebab-item:focus-visible{outline:2px solid #2563be;outline-offset:-2px}.werkstatt-kebab-item:disabled{opacity:.45;cursor:not-allowed}.werkstatt-kebab-item--danger{color:#a02626}.werkstatt-kebab-item--danger:hover:not(:disabled){background:#d83b3b14}.werkstatt-kebab-item-icon{display:inline-flex;width:18px;justify-content:center;flex-shrink:0;font-size:13px}.werkstatt-kebab-item-label{flex:1 1 auto;min-width:0}.werkstatt-archive-section{margin-top:12px;padding:10px 14px 8px;border-top:1px solid rgba(33,51,82,.06)}.werkstatt-archive-toggle{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;background:transparent;border:0;border-radius:6px;font:inherit;font-size:12.5px;font-weight:600;color:#6b7689;cursor:pointer;letter-spacing:.02em;text-transform:uppercase}.werkstatt-archive-toggle:hover{background:#2133520d;color:#3a4a66}.werkstatt-tree--archived{opacity:.8;margin-top:4px}.werkstatt-tree-item--archived .werkstatt-tree-name{color:#6b7689;font-weight:500}.werkstatt-tree-row--static{display:flex;align-items:center;gap:10px;padding:10px 14px;width:100%;cursor:default}.customers-page{margin-top:1rem;display:flex;flex-direction:column;gap:16px}.customers-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:4px 2px 8px;flex-wrap:wrap}.customers-page-title-block{display:flex;flex-direction:column;gap:2px}.customers-page-eyebrow{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;line-height:14px;color:#5c7895;text-transform:uppercase}.customers-page-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:28px;font-weight:700;letter-spacing:-.01em;line-height:34px;color:#14293d}.customers-page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.customers-action-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;background-color:#fff;border:1px solid #c9d9ea;border-radius:8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;color:#14293d;cursor:pointer;min-height:0;line-height:16px}.customers-action-btn:hover{background-color:#f8fbff}.customers-action-btn--primary{background-color:#2f70b7;border-color:transparent;color:#fff;padding:0 16px}.customers-action-btn--primary:hover{background-color:#2a63a4}.customers-page-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.customers-search-wrap{position:relative;flex:1 1 260px;min-width:220px}.customers-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);pointer-events:none}.customers-search-input{width:100%;height:38px;padding:0 12px 0 34px;background-color:#fff;border:1px solid #c9d9ea;border-radius:8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d;line-height:16px}.customers-search-input:focus{outline:none;border-color:#2f70b7;box-shadow:0 0 0 3px #2f70b726}.customers-filter-segmented{display:inline-flex;background-color:#f3f7fc;border:1px solid #c9d9ea;border-radius:8px;padding:3px;gap:2px}.customers-filter-segmented-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;height:30px;padding:0 14px;border-radius:6px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;color:#5c7895;cursor:pointer;min-height:0;line-height:16px}.customers-filter-segmented-btn--active{background-color:#fff;color:#14293d;box-shadow:0 1px 2px #14293d14}.customers-table-wrap{background-color:#fff;border-radius:14px;box-shadow:0 1px 4px #14293d0f;overflow:hidden}.customers-table{width:100%;border-collapse:collapse;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d}.customers-table thead{background-color:#f8fbff}.customer-list-th{text-align:left;padding:12px 16px;font-weight:600;font-size:11px;letter-spacing:.06em;color:#5c7895;text-transform:uppercase;border-bottom:1px solid #e3ecf5}.customer-list-th--name{min-width:220px}.customer-list-th--projects,.customer-list-th--activity{min-width:120px}.customer-list-th--actions{width:1%;white-space:nowrap}.customer-list-row{border-bottom:1px solid #f0f4f9}.customer-list-row:hover{background-color:#f8fbff}.customer-list-cell{padding:14px 16px;vertical-align:top}.customer-list-cell--name{min-width:220px}.customer-list-name-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:0;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px;min-height:0;line-height:1.35}.customer-list-name{font-weight:600;color:#14293d}.customer-list-name-btn:hover .customer-list-name{color:#2f70b7;text-decoration:underline}.customer-list-subname{font-size:12px;color:#5c7895}.customer-list-cell--address{max-width:280px;color:#14293d}.customer-list-cell--contact{display:flex;flex-direction:column;gap:2px;padding-top:12px}.customer-list-contact-link{color:#2f70b7;text-decoration:none;font-size:13px}.customer-list-contact-link:hover{text-decoration:underline}.customer-list-cell--projects{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.customer-list-projects-count{font-size:13px;color:#14293d}.customer-list-projects-badge{display:inline-block;align-self:flex-start;padding:2px 8px;border-radius:999px;background-color:#e7f1d6;color:#3f6521;font-size:11px;font-weight:600}.customer-list-cell--activity{color:#5c7895;white-space:nowrap;flex-shrink:0}.customer-list-cell--actions{display:flex;gap:8px;flex-shrink:0;white-space:nowrap}.customer-list-action-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #c9d9ea;background-color:#fff;color:#14293d;font-family:inherit;font-size:12px;font-weight:600;padding:6px 10px;border-radius:6px;cursor:pointer;min-height:0;line-height:16px}.customer-list-action-btn:hover{background-color:#f8fbff}.customer-list-action-btn--ghost{border-color:transparent;color:#5c7895}.customers-empty{padding:32px;background-color:#fff;border-radius:14px;text-align:center;box-shadow:0 1px 4px #14293d0f}.customer-detail-page{margin-top:1rem;display:flex;flex-direction:column;gap:16px}.customer-detail-head{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;padding:4px 2px 8px}.customer-detail-back{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:#5c7895;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer;padding:4px 0;min-height:0}.customer-detail-back:hover{color:#2f70b7}.customer-detail-title-block{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}.customer-detail-eyebrow{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;line-height:14px;color:#5c7895;text-transform:uppercase}.customer-detail-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:26px;font-weight:700;line-height:32px;color:#14293d}.customer-detail-subtitle{font-size:13px;line-height:18px}.customer-detail-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}.customer-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:16px}@media (max-width: 900px){.customer-detail-grid{grid-template-columns:1fr}}.customer-detail-col{display:flex;flex-direction:column;gap:16px;min-width:0}.customer-contact-card,.customer-notes-card,.customer-projects-card{background-color:#fff;border-radius:14px;box-shadow:0 1px 4px #14293d0f;padding:20px 22px;display:flex;flex-direction:column;gap:14px}.customer-contact-card-head{display:flex;align-items:center;justify-content:space-between}.customer-contact-card-title{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:15px;font-weight:700;color:#14293d}.customer-contact-card-list{margin:0;display:flex;flex-direction:column;gap:8px}.customer-contact-card-row{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:4px 0}.customer-contact-card-label{font-size:11px;font-weight:600;letter-spacing:.06em;color:#5c7895;text-transform:uppercase;align-self:center}.customer-contact-card-value{margin:0;font-size:14px;color:#14293d;word-break:break-word}.customer-contact-card-value a{color:#2f70b7;text-decoration:none}.customer-contact-card-value a:hover{text-decoration:underline}.customer-notes-body{font-size:14px;color:#14293d;white-space:pre-wrap;line-height:1.5}.customer-projects-count{font-size:13px;font-weight:500}.customer-projects-tabs{display:flex;gap:2px;background-color:#f3f7fc;border:1px solid #c9d9ea;border-radius:8px;padding:3px;align-self:flex-start}.customer-projects-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;height:30px;padding:0 12px;border-radius:6px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600;color:#5c7895;cursor:pointer;min-height:0;line-height:16px;display:inline-flex;align-items:center;gap:6px}.customer-projects-tab--active{background-color:#fff;color:#14293d;box-shadow:0 1px 2px #14293d14}.customer-projects-tab-count{font-size:11px;font-weight:700;color:inherit;opacity:.7}.customer-projects-list{display:flex;flex-direction:column;gap:6px}.customer-project-row{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid #eef3f9;border-radius:10px;padding:12px 14px;text-align:left;display:grid;grid-template-columns:90px minmax(0,1fr) 180px 140px;gap:12px;align-items:center;cursor:pointer;font-family:inherit;min-height:0;line-height:1.35}.customer-project-row:hover{border-color:#c9d9ea;background-color:#f8fbff}@media (max-width: 700px){.customer-project-row{grid-template-columns:1fr;gap:4px}}.customer-project-row-number{font-size:12px;font-weight:700;color:#5c7895;flex-shrink:0}.customer-project-row-title{display:flex;flex-direction:column;min-width:0;gap:2px}.customer-project-row-name{font-size:14px;font-weight:600;color:#14293d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-project-row-last{font-size:12px;color:#5c7895;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-project-row-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#14293d;flex-shrink:0}.customer-project-row-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.customer-project-row-date{font-size:12px;color:#5c7895;white-space:nowrap;flex-shrink:0}.customer-combobox{position:relative;width:100%}.customer-combobox-input-wrap{position:relative;display:flex;align-items:center}.customer-combobox-input{width:100%;height:38px;padding:0 36px 0 12px;background-color:#fff;border:1px solid #c9d9ea;border-radius:8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;color:#14293d;line-height:16px}.customer-combobox-input:focus{outline:none;border-color:#2f70b7;box-shadow:0 0 0 3px #2f70b726}.customer-combobox-clear-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;width:24px;height:24px;border-radius:4px;color:#5c7895;cursor:pointer;font-size:13px;min-height:0;line-height:1}.customer-combobox-clear-btn:hover{background-color:#f3f7fc;color:#14293d}.customer-combobox-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background-color:#fff;border:1px solid #c9d9ea;border-radius:10px;box-shadow:0 6px 18px #14293d1f;z-index:50;padding:4px;margin:0;list-style:none;max-height:320px;overflow:auto}.customer-combobox-option{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:2px;padding:8px 10px;border-radius:6px;cursor:pointer;align-items:start}.customer-combobox-option--active{background-color:#eef6ff}.customer-combobox-option-name{font-size:13px;font-weight:600;color:#14293d;grid-column:1 / 2}.customer-combobox-option-meta{font-size:12px;color:#5c7895;grid-column:1 / 2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-combobox-option-count{font-size:11px;font-weight:600;color:#3f6521;align-self:center;grid-column:2 / 3;grid-row:1 / 3;white-space:nowrap}.customer-combobox-divider{height:1px;background-color:#eef3f9;margin:4px 2px;list-style:none}.customer-combobox-create{display:flex;align-items:center;gap:8px;padding:10px;border-radius:6px;cursor:pointer;color:#2f70b7;font-size:13px;font-weight:600}.customer-combobox-create--active{background-color:#eef6ff}.customer-combobox-create-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background-color:#2f70b7;color:#fff;font-size:13px;font-weight:700;line-height:1}.customer-combobox-empty{padding:12px;font-size:13px;text-align:center}.customer-snapshot{background-color:#f8fbff;border:1px dashed #c9d9ea;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.customer-snapshot-head{display:flex;justify-content:flex-start}.customer-snapshot-badge{display:inline-block;padding:3px 8px;border-radius:999px;background-color:#e7effa;color:#2f70b7;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.customer-snapshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:0}@media (max-width: 700px){.customer-snapshot-grid{grid-template-columns:1fr}}.customer-snapshot-row{display:flex;flex-direction:column;gap:2px}.customer-snapshot-row dt{font-size:10px;font-weight:700;letter-spacing:.06em;color:#5c7895;text-transform:uppercase}.customer-snapshot-row dd{margin:0;font-size:13px;color:#14293d;word-break:break-word}.customer-site-toggle{display:flex;align-items:flex-start;gap:10px;width:100%;font-family:"Source Sans 3",system-ui,sans-serif;color:#14293d;cursor:pointer;padding:2px 0}.customer-site-toggle input[type=checkbox]{width:auto;min-width:1rem;height:1rem;margin:2px 0 0;padding:0;border:none;background:transparent;border-radius:0;accent-color:#2f70b7;flex-shrink:0}.customer-site-toggle-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.customer-site-toggle-title{font-size:14px;font-weight:600;line-height:18px;color:#14293d;word-break:break-word;overflow-wrap:break-word}.customer-site-toggle-desc{font-size:12px;font-weight:400;line-height:16px;color:#5c7895;word-break:break-word;overflow-wrap:break-word}.customer-modal-card{max-width:640px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.partner-trade-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:16px;white-space:nowrap}.partner-trade-pill--compact{padding:3px 6px}.partner-trade-pill-icon{font-size:12px;line-height:1;flex-shrink:0}.partner-trade-pill-label{letter-spacing:.01em}.partner-task-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;max-width:180px;font-size:12px;font-weight:600;line-height:16px;white-space:nowrap;overflow:hidden}.partner-task-chip-icon{flex-shrink:0;font-size:12px;line-height:1}.partner-task-chip-name{overflow:hidden;text-overflow:ellipsis;max-width:120px}.partner-task-chip-overflow{flex-shrink:0;padding-left:4px;border-left:1px solid rgba(20,41,61,.12);opacity:.85}.tasks-page-row-partner-line{display:inline-flex;align-items:center;gap:6px;margin-top:4px}.tasks-page-filter-row{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}.tasks-page-filter-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #c9d9ea;background-color:#fff;color:#14293d;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;padding:6px 12px;border-radius:999px;cursor:pointer;min-height:0;line-height:16px}.tasks-page-filter-chip:hover{background-color:#f8fbff}.tasks-page-filter-chip--active{background-color:#e6f2ff;border-color:#2f70b7;color:#14293d}.partner-multi-select{display:flex;flex-direction:column;gap:8px}.partner-multi-suggestions{display:flex;flex-direction:column;gap:2px;border:1px solid #e3ecf5;border-radius:8px;background-color:#fff;padding:4px;max-height:240px;overflow-y:auto}.partner-multi-suggestion-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;text-align:left;padding:8px 10px;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;gap:2px;font-family:inherit;color:#14293d;min-height:0;line-height:18px}.partner-multi-suggestion-btn:hover{background-color:#f3f7fc}.partner-multi-suggestion-main{display:flex;align-items:center;gap:8px}.partner-multi-suggestion-name{font-weight:600;font-size:13px}.partner-multi-suggestion-meta{font-size:12px;color:#5c7895}.partner-multi-divider{height:1px;background-color:#e3ecf5;margin:2px 4px}.partner-multi-create-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;cursor:pointer;padding:8px 10px;border-radius:6px;display:flex;align-items:center;gap:8px;font-family:inherit;font-size:13px;color:#2f70b7;font-weight:600;min-height:0;line-height:18px;text-align:left}.partner-multi-create-btn:hover{background-color:#e6f2ff}.partner-multi-create-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background-color:#e6f2ff;color:#2f70b7;font-weight:700}.partner-multi-chip{border:1px solid #e3ecf5}.partner-multi-chip-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;font-size:11px;line-height:1;flex-shrink:0}.partner-multi-chip-trade{font-size:11px;font-weight:600;letter-spacing:.01em;padding-left:4px;border-left:1px solid rgba(20,41,61,.1)}.partner-tab-content{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;margin-top:12px}@media (max-width: 900px){.partner-tab-content{grid-template-columns:minmax(0,1fr)}}.partner-list-row{border-bottom:1px solid #f0f4f9}.partner-list-row:hover{background-color:#f8fbff}.partner-list-cell{padding:14px 16px;vertical-align:top}.partner-list-cell--name{min-width:220px}.partner-list-name-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:0;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px;min-height:0;line-height:1.35}.partner-list-name{font-weight:600;color:#14293d}.partner-list-name-btn:hover .partner-list-name{color:#2f70b7;text-decoration:underline}.partner-list-subname{font-size:12px;color:#5c7895}.partner-list-cell--trade{white-space:nowrap}.partner-list-cell--contact{display:flex;flex-direction:column;gap:2px;padding-top:12px}.partner-list-contact-link{color:#2f70b7;text-decoration:none;font-size:13px}.partner-list-contact-link:hover{text-decoration:underline}.partner-list-cell--tasks{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.partner-list-tasks-count{font-size:13px;color:#14293d}.partner-list-tasks-badge{display:inline-block;align-self:flex-start;padding:2px 8px;border-radius:999px;background-color:#fef3c7;color:#92400e;font-size:11px;font-weight:600}.partner-list-cell--activity{color:#5c7895;white-space:nowrap;flex-shrink:0}.partner-list-cell--actions{display:flex;gap:8px;flex-shrink:0;white-space:nowrap}.partner-list-action-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #c9d9ea;background-color:#fff;color:#14293d;font-family:inherit;font-size:12px;font-weight:600;padding:6px 10px;border-radius:6px;cursor:pointer;min-height:0;line-height:16px}.partner-list-action-btn:hover{background-color:#f8fbff}.partner-list-action-btn--ghost{border-color:transparent;color:#5c7895}.partner-detail-overlay{width:360px;max-width:100%;border:1px solid #e3ecf5;background-color:#fff;border-radius:14px;box-shadow:0 1px 4px #14293d0f;display:flex;flex-direction:column;gap:14px;padding:16px 18px;position:sticky;top:16px}.partner-detail-overlay-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.partner-detail-overlay-title-block{display:flex;flex-direction:column;gap:4px}.partner-detail-overlay-eyebrow{font-size:11px;letter-spacing:.06em;color:#5c7895;font-weight:600}.partner-detail-overlay-title{font-size:17px;margin:0;color:#14293d}.partner-detail-overlay-trade{margin-top:4px}.partner-detail-overlay-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;font-size:20px;line-height:1;color:#5c7895;cursor:pointer;padding:4px 8px;border-radius:6px}.partner-detail-overlay-close:hover{background-color:#f3f7fc;color:#14293d}.partner-detail-overlay-dl{display:grid;grid-template-columns:1fr;gap:10px;margin:0}.partner-detail-overlay-dl>div{display:flex;flex-direction:column;gap:2px}.partner-detail-overlay-dl dt{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#5c7895;font-weight:600}.partner-detail-overlay-dl dd{margin:0;color:#14293d;font-size:13px;word-wrap:break-word}.partner-detail-overlay-notes{font-size:13px;color:#14293d;background-color:#f8fbff;border:1px solid #e3ecf5;border-radius:8px;padding:10px 12px;margin:0}.partner-detail-overlay-actions{display:flex;gap:8px;flex-wrap:wrap}.partner-detail-overlay-tabs{display:inline-flex;gap:2px;padding:3px;background-color:#f3f7fc;border:1px solid #c9d9ea;border-radius:8px;align-self:flex-start}.partner-detail-overlay-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:6px 12px;border-radius:6px;font-family:inherit;font-size:12px;font-weight:600;color:#5c7895;cursor:pointer;min-height:0;line-height:16px}.partner-detail-overlay-tab--active{background-color:#fff;color:#14293d;box-shadow:0 1px 2px #14293d14}.partner-detail-overlay-task-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.partner-detail-overlay-task-row{display:flex;flex-direction:column;gap:2px;border:1px solid #e3ecf5;border-radius:8px;padding:8px 10px;background-color:#fff}.partner-detail-overlay-task-title{font-weight:600;color:#14293d;font-size:13px}.partner-detail-overlay-task-row small{color:#5c7895;font-size:12px}.partner-modal-card{max-width:640px}
