:root{--canvas:#f2f2f7;--bg-elevated:#fff;--surface-grouped:#f2f2f7;--separator:#3c3c432e;--text:#1d1d1f;--text-2:#3c3c43c7;--text-3:#3c3c438c;--accent:#ff2d55;--accent-soft:#ff2d551f;--ok:#007aff;--ok-soft:#007aff1f;--warn:#ff9500;--warn-soft:#ff950024;--bad:#ff3b30;--bad-soft:#ff3b3024;--mat-thin:#fff9;--mat-reg:#ffffffc7;--mat-border:#fff9;--shadow:0 1px 0 #0000000a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--canvas:#000;--bg-elevated:#1c1c1e;--surface-grouped:#2c2c2e;--separator:#545458a6;--text:#f5f5f7;--text-2:#ebebf599;--text-3:#ebebf54d;--accent:#ff375f;--accent-soft:#ff375f2e;--ok:#0a84ff;--ok-soft:#0a84ff33;--warn:#ff9f0a;--warn-soft:#ff9f0a33;--bad:#ff453a;--bad-soft:#ff453a33;--mat-thin:#1c1c1e8c;--mat-reg:#1c1c1ebf;--mat-border:#ffffff14}}:root[data-theme=dark]{--canvas:#000;--bg-elevated:#1c1c1e;--surface-grouped:#2c2c2e;--separator:#545458a6;--text:#f5f5f7;--text-2:#ebebf599;--text-3:#ebebf54d;--accent:#ff375f;--accent-soft:#ff375f2e;--ok:#0a84ff;--ok-soft:#0a84ff33;--warn:#ff9f0a;--warn-soft:#ff9f0a33;--bad:#ff453a;--bad-soft:#ff453a33;--mat-thin:#1c1c1e8c;--mat-reg:#1c1c1ebf;--mat-border:#ffffff14}*{box-sizing:border-box}html,body{height:100%}body{background:var(--canvas);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,system-ui,Segoe UI,Roboto,sans-serif}#app{height:100%}.login-screen{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--bg-elevated);width:min(360px,100%);box-shadow:var(--shadow);border-radius:18px;padding:28px 24px}.login-card h1{margin:0 0 2px;font-size:20px}.login-card h1 span{color:var(--accent)}.login-card .sub{color:var(--text-3);margin:0 0 20px;font-size:13px}.field{margin-bottom:14px}.field label{color:var(--text-2);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.field input{border:1px solid var(--separator);background:var(--surface-grouped);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:10px 12px}.field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn{font:inherit;cursor:pointer;border:none;border-radius:12px;padding:10px 20px;font-size:15px;font-weight:600}.btn.primary{background:var(--accent);color:#fff;width:100%}.btn.primary:disabled{opacity:.5;cursor:default}.form-error{color:var(--bad);margin:0 0 14px;font-size:13px}.login-hint{color:var(--text-3);margin-top:16px;font-size:11px}.app-shell{grid-template-columns:264px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--mat-thin);-webkit-backdrop-filter:blur(24px)saturate(180%);border-right:1px solid var(--separator);flex-direction:column;gap:16px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.brand-row{justify-content:space-between;align-items:center;padding:0 4px;display:flex}.brand{padding:4px 8px;font-size:17px;font-weight:700}.brand span{color:var(--accent)}.theme-toggle{border:1px solid var(--separator);background:var(--surface-grouped);width:30px;height:30px;color:var(--text-2);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.theme-toggle:hover{color:var(--text)}.theme-toggle svg{width:16px;height:16px}.nav{flex-direction:column;gap:2px;display:flex}.nav a,.nav .nav-disabled{color:var(--text-2);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;font-size:13.5px;font-weight:590;text-decoration:none;display:flex}.nav a span,.nav .nav-disabled span:first-of-type{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-icon{flex-shrink:0;width:17px;height:17px}.nav a:hover{background:var(--surface-grouped);color:var(--text)}.nav a.active{background:var(--accent-soft);color:var(--accent)}.nav a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.nav .nav-disabled{color:var(--text-3);cursor:default}.nav .soon{background:var(--surface-grouped);color:var(--text-3);border-radius:99px;flex-shrink:0;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:700}.sidebar-footer{border-top:1px solid var(--separator);color:var(--text-3);margin-top:auto;padding:10px 8px;font-size:12px}.sidebar-user{overflow-wrap:anywhere}.sidebar-footer button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;margin-top:6px;padding:0;display:block}.main{max-width:1200px;padding:28px clamp(20px,4vw,44px) 60px}.main h1{margin:0 0 4px;font-size:24px}.main .lede{color:var(--text-2);margin:0 0 24px;font-size:13.5px}.equip-toolbar{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.chip{background:var(--surface-grouped);color:var(--text-2);cursor:pointer;border:1px solid #0000;border-radius:99px;padding:6px 12px;font-size:12px;font-weight:600}.chip.active{background:var(--accent-soft);color:var(--accent)}.table-scroll{border-radius:14px;max-width:100%;overflow-x:auto}table.equip-table{border-collapse:collapse;background:var(--bg-elevated);width:100%;min-width:560px;box-shadow:var(--shadow);border-radius:14px;overflow:hidden}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th.sortable:hover{color:var(--text)}.task-desc{color:var(--text-3);margin-top:2px;font-size:11.5px}.task-order-link{margin-top:2px;font-size:11.5px}table.equip-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);border-bottom:1px solid var(--separator);padding:10px 14px;font-size:11px}table.equip-table td{border-bottom:1px solid var(--separator);padding:10px 14px;font-size:13.5px}table.equip-table tr:last-child td{border-bottom:none}table.equip-table tr:hover td{background:var(--surface-grouped)}table.equip-table tr.clickable-row{cursor:pointer}.pager{color:var(--text-2);justify-content:center;align-items:center;gap:14px;margin-top:16px;font-size:12.5px;display:flex}.pager .btn{padding:7px 14px;font-size:12.5px}.pager .btn:disabled{opacity:.4;cursor:default}.badge{background:var(--surface-grouped);white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.row-actions .btn{white-space:nowrap}.finance-toggle-btn .chevron{color:var(--text-3);transition:transform .15s;display:inline-block}.finance-row td{background:var(--surface-grouped)}.badge .dot{border-radius:50%;width:7px;height:7px}.badge.ok .dot{background:var(--ok)}.badge.warn .dot{background:var(--warn)}.badge.bad .dot{background:var(--bad)}.badge.neutral .dot{background:var(--text-3)}.loading,.empty{text-align:center;color:var(--text-3);padding:40px;font-size:13.5px}@media (width<=760px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--separator);height:auto;position:static}.nav{flex-direction:row;overflow-x:auto}.nav .soon{display:none}}.feedback-fab{z-index:40;cursor:pointer;background:var(--accent);color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 6px 20px #ff2d5559}.feedback-fab:hover{filter:brightness(1.05)}.feedback-fab svg{width:22px;height:22px}.feedback-overlay{z-index:50;background:#00000047;justify-content:flex-end;display:flex;position:fixed;inset:0}.feedback-drawer{background:var(--mat-reg);-webkit-backdrop-filter:blur(28px)saturate(180%);border-left:1px solid var(--mat-border);flex-direction:column;gap:14px;width:min(380px,100%);height:100%;padding:20px;display:flex;overflow-y:auto;box-shadow:-8px 0 30px #0000001f}.feedback-drawer h3{margin:0;font-size:17px}.feedback-drawer .helper{color:var(--text-3);margin:0;font-size:12.5px}.feedback-drawer textarea{border:1px solid var(--separator);background:var(--surface-grouped);width:100%;min-height:110px;color:var(--text);font:inherit;resize:vertical;border-radius:10px;padding:10px 12px}.feedback-drawer textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.feedback-shot-zone{border:1.5px dashed var(--separator);text-align:center;color:var(--text-3);cursor:pointer;border-radius:10px;padding:16px;font-size:12.5px;display:block}.feedback-shot-zone:hover{border-color:var(--text-3)}.feedback-shot-preview{border:1px solid var(--separator);border-radius:10px;position:relative;overflow:hidden}.feedback-shot-preview img{object-fit:contain;background:var(--surface-grouped);width:100%;max-height:200px;display:block}.feedback-shot-remove{background:var(--bg-elevated);cursor:pointer;width:26px;height:26px;color:var(--text-2);border:none;border-radius:8px;position:absolute;top:6px;right:6px}.feedback-voice-btn{border:1.5px dashed var(--separator);width:100%;color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:12.5px;display:flex}.feedback-voice-btn:hover{border-color:var(--text-3);color:var(--text)}.feedback-voice-btn svg{flex-shrink:0;width:17px;height:17px}.feedback-voice-btn.recording{border-style:solid;border-color:var(--bad);color:var(--bad);background:var(--bad-soft)}.rec-dot{background:var(--bad);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.1s ease-in-out infinite rec-pulse}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.35}}.feedback-voice-preview{align-items:center;gap:8px;display:flex}.feedback-voice-preview audio{flex:1;min-width:0;height:34px}.feedback-drawer .row{gap:10px;margin-top:auto;display:flex}.feedback-toast{z-index:60;background:var(--text);color:var(--canvas);box-shadow:var(--shadow);border-radius:10px;padding:10px 16px;font-size:13px;position:fixed;bottom:84px;right:22px}.btn.bordered{color:var(--text);border:1px solid var(--separator);background:0 0}.btn.bordered:hover{background:var(--surface-grouped)}.btn.plain{color:var(--accent);background:0 0;border:none}.btn.plain:hover{text-decoration:underline}.btn.destructive{background:var(--bad-soft);color:var(--bad)}.btn.destructive:hover{background:var(--bad);color:#fff}.equip-card{background:var(--bg-elevated);box-shadow:var(--shadow);border-radius:14px;padding:16px 18px}.equip-card h4{margin:0 0 10px;font-size:13px}.equip-card .row1{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.equip-card .row1 h4{overflow-wrap:anywhere;margin:0;font-size:15px}.equip-card .meta{color:var(--text-2);margin:4px 0;font-size:12.5px}.tasklist{flex-direction:column;gap:8px;display:flex}.task{align-items:flex-start;gap:10px;display:flex}.task .box{background:var(--text-3);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.task.done .box{background:var(--ok)}.task .body{flex:1}.task .t{font-size:13px}.task .n{color:var(--text-3);font-size:11px}.stat-row{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.stat-card{background:var(--bg-elevated);box-shadow:var(--shadow);border-radius:14px;flex:140px;min-width:140px;padding:14px 18px}.stat-value{overflow-wrap:anywhere;font-size:22px;font-weight:700}.stat-label{color:var(--text-3);margin-top:2px;font-size:11.5px}.grid-2{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:8px;display:grid}@media (width<=760px){.grid-2{grid-template-columns:1fr}}.kv-row{border-bottom:1px solid var(--separator);justify-content:space-between;gap:12px;padding:6px 0;font-size:13px;display:flex}.kv-row:last-child{border-bottom:none}.kv-row span{overflow-wrap:anywhere}.kv-row b{text-align:right;overflow-wrap:anywhere}.cal-weekdays{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:6px;font-size:11px;font-weight:700;display:grid}.cal-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.cal-cell{background:var(--bg-elevated);min-height:92px;box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:3px;padding:6px 8px;display:flex;overflow:hidden}.cal-cell-empty{box-shadow:none;background:0 0}.cal-daynum{color:var(--text-2);font-size:12px;font-weight:600}.cal-chip{background:var(--accent-soft);color:var(--accent);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:2px 6px;font-size:10.5px;overflow:hidden}.cal-more{color:var(--text-3);font-size:10.5px}@media (width<=760px){.cal-weekdays,.cal-grid{grid-template-columns:repeat(7,minmax(34px,1fr))}.cal-cell{min-height:56px;padding:4px}.cal-chip{display:none}}.tour-overlay{z-index:80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.tour-card{background:var(--mat-reg);-webkit-backdrop-filter:blur(28px)saturate(180%);border:1px solid var(--mat-border);text-align:center;border-radius:22px;width:min(480px,100%);max-height:90vh;padding:36px 32px 28px;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.tour-skip{color:var(--text-3);cursor:pointer;background:0 0;border:none;font-size:12px;position:absolute;top:16px;right:18px}.tour-skip:hover{color:var(--text)}.tour-icon{background:var(--accent-soft);width:56px;height:56px;color:var(--accent);border-radius:16px;justify-content:center;align-items:center;margin:0 auto 18px;display:flex}.tour-icon svg{width:28px;height:28px}.tour-card h2{margin:0 0 10px;font-size:19px}.tour-card p{color:var(--text-2);margin:0;font-size:13.5px;line-height:1.5}.tour-badges{flex-wrap:wrap;justify-content:center;gap:6px;margin:16px 0 6px;display:flex}.tour-note{color:var(--text-3)!important;font-size:12px!important}.tour-dots{justify-content:center;gap:6px;margin:22px 0 18px;display:flex}.tour-dot{background:var(--separator);border-radius:50%;width:6px;height:6px}.tour-dot.active{background:var(--accent);border-radius:3px;width:16px}.tour-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.tour-actions .btn{padding:10px 20px}.onboarding-screen{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.onboarding-card{background:var(--bg-elevated);width:min(560px,100%);box-shadow:var(--shadow);border-radius:20px;padding:36px 32px}.onboarding-card h1{margin:0 0 8px;font-size:22px}.onboarding-card .lede{color:var(--text-2);margin:0 0 22px;font-size:13.5px}.onboarding-list{flex-direction:column;gap:12px;margin:0 0 26px;padding-left:20px;font-size:13.5px;display:flex}.onboarding-list li{padding-left:4px}.onboarding-card .btn.primary{width:auto;padding:11px 24px}.danger-zone{border:1px solid var(--bad-soft);background:var(--bad-soft);border-radius:14px;margin-top:20px;padding:16px 18px}.danger-zone h4{color:var(--bad);margin:0 0 6px;font-size:13px}.danger-zone p{color:var(--text-2);margin:0 0 12px;font-size:12.5px}
