:root{--bg: #16181d;--surface: #1e2128;--surface-2: #262a33;--border: #333844;--text: #e8eaed;--text-dim: #9aa1ad;--accent: #d4813f;--accent-dim: #a5652f;--slate: #6b7280;--blue: #3b82f6;--violet: #8b5cf6;--amber: #f59e0b;--green: #10b981;--red: #ef4444;--radius: 8px;--gap: 16px;--topbar-height: 64px}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 12px;line-height:1.25;font-weight:600}h1{font-size:24px}h2{font-size:18px}h3{font-size:15px}.app-shell{display:flex;flex-direction:column;min-height:100%}.topbar{display:flex;align-items:center;gap:var(--gap);padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.topbar .brand{display:flex;align-items:center;gap:10px;white-space:nowrap;color:var(--text)}.topbar .brand:hover{text-decoration:none}.topbar .brand-logo{height:26px;width:auto;display:block}.topbar .brand-text{font-weight:700;font-size:14px;letter-spacing:.02em;padding-left:10px;border-left:1px solid var(--border)}.topbar nav{display:flex;gap:4px;flex:1;overflow-x:auto}.topbar nav a{padding:8px 12px;border-radius:var(--radius);color:var(--text-dim);white-space:nowrap;font-size:14px}.topbar nav a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.topbar nav a.router-link-active{background:var(--surface-2);color:var(--text)}.nav-more{position:relative}.nav-more-toggle{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--radius);background:none;border:none;color:var(--text-dim);font-size:14px;white-space:nowrap}.nav-more-toggle:hover,.nav-more-toggle.active{background:var(--surface-2);color:var(--text)}.nav-more-caret{font-size:11px}.nav-more-menu{position:fixed;z-index:25;min-width:200px;display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:6px;box-shadow:0 8px 24px #00000059}.nav-more-menu a{padding:8px 12px;border-radius:6px;color:var(--text-dim);font-size:14px;white-space:nowrap}.nav-more-menu a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav-more-menu a.router-link-active{background:var(--surface-2);color:var(--text)}.topbar .menu-toggle{display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:40px;height:40px;min-height:40px;padding:0;margin-left:auto;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.topbar .menu-toggle span{display:block;width:18px;height:2px;background:var(--text);border-radius:1px}@media(max-width:960px){.topbar{flex-wrap:wrap}.topbar .menu-toggle{display:flex}.topbar nav,.topbar .account-row{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;overflow-x:visible;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.topbar.menu-open nav,.topbar.menu-open .account-row{display:flex}.topbar.menu-open .account-row{margin-top:0;padding-top:10px}.topbar nav a{padding:12px 14px;font-size:15px}.topbar .account-row{gap:10px}.nav-more-toggle{width:100%;justify-content:flex-start;padding:12px 14px;font-size:15px}.nav-more-menu{position:static;margin-top:4px;box-shadow:none;border-color:var(--border)}.nav-more-menu a{padding:12px 14px;font-size:15px}}.page{padding:20px;max-width:1400px;width:100%;margin:0 auto;flex:1}.page-head{display:flex;align-items:center;justify-content:space-between;gap:var(--gap);margin-bottom:var(--gap);flex-wrap:wrap}.grid{display:grid;gap:var(--gap)}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid.cols-4{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.customer-detail-panel{position:sticky;top:calc(var(--topbar-height) + var(--gap));max-height:calc(100vh - var(--topbar-height) - var(--gap) * 2);overflow-y:auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card.tight{padding:12px}.card h2,.card h3{margin-bottom:12px}.stat{text-align:left}.stat .value{font-size:30px;font-weight:700;line-height:1.1}.stat .label{color:var(--text-dim);font-size:13px;margin-top:4px}.muted{color:var(--text-dim)}.small{font-size:13px}.right{text-align:right}.nowrap{white-space:nowrap}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.spacer{flex:1}button,.btn{font:inherit;font-size:14px;padding:9px 14px;min-height:40px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer}button:hover:not(:disabled),.btn:hover{background:#303540;text-decoration:none}button:disabled{opacity:.5;cursor:not-allowed}button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:#16181d;font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-dim)}button.danger{border-color:var(--red);color:var(--red);background:transparent}button.small,.btn.small{min-height:32px;padding:5px 10px;font-size:13px}button.link{background:none;border:none;color:var(--accent);padding:0;min-height:0}input,select,textarea{font:inherit;font-size:15px;width:100%;padding:9px 11px;min-height:40px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius)}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}textarea{min-height:90px;resize:vertical}label{display:block;font-size:13px;color:var(--text-dim);margin-bottom:5px}.field{margin-bottom:14px}.field-row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.checkbox{display:flex;align-items:center;gap:8px}.checkbox input{width:20px;height:20px;min-height:20px;flex:none}.hide-status-field{position:relative}.hide-status-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left}.hide-status-caret{color:var(--text-dim);font-size:11px}.hide-status-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:25;min-width:220px;max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px;box-shadow:0 8px 24px #00000059}.hide-status-menu .checkbox{padding:3px 2px}.customer-search,.customer-search-input-wrap{position:relative}.customer-search-input{padding-right:34px}.customer-search-clear{position:absolute;top:50%;right:4px;transform:translateY(-50%);font-size:20px;line-height:1;padding:4px 9px;min-height:0}.customer-search-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:25;max-height:320px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #00000059}.customer-search-menu ul{list-style:none;margin:0;padding:4px}.customer-search-menu li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 10px;border-radius:6px;cursor:pointer}.customer-search-menu li.highlighted,.customer-search-menu li:hover{background:var(--surface-2)}.customer-search-empty{padding:14px 10px}.customer-contact-field{position:relative}.customer-contact-toggle{display:inline-flex;align-items:center;gap:6px;padding:0;min-height:0;background:none;border:none;color:var(--accent);font:inherit;cursor:pointer}.customer-contact-toggle:hover{text-decoration:underline}.customer-contact-caret{font-size:11px;text-decoration:none}.customer-contact-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:25;min-width:220px;max-width:320px;display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;box-shadow:0 8px 24px #00000059}.status-category-checks{display:flex;align-items:center;flex-wrap:wrap;gap:2px 10px;max-width:260px}@media(max-width:900px){.status-category-checks{flex-wrap:nowrap;max-width:none}}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}th{color:var(--text-dim);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}tbody tr:hover{background:var(--surface-2)}tbody tr.clickable{cursor:pointer}tbody tr.row-highlight.slate{background:#6b72801a;box-shadow:inset 3px 0 0 var(--slate)}tbody tr.row-highlight.blue{background:#3b82f61a;box-shadow:inset 3px 0 0 var(--blue)}tbody tr.row-highlight.violet{background:#8b5cf61a;box-shadow:inset 3px 0 0 var(--violet)}tbody tr.row-highlight.amber{background:#f59e0b1a;box-shadow:inset 3px 0 0 var(--amber)}tbody tr.row-highlight.green{background:#10b9811a;box-shadow:inset 3px 0 0 var(--green)}tbody tr.row-highlight.red{background:#ef44441a;box-shadow:inset 3px 0 0 var(--red)}tbody tr.row-highlight:hover{background:var(--surface-2)}.pill{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;border:1px solid currentColor}.pill.slate{color:var(--slate)}.pill.blue{color:var(--blue)}.pill.violet{color:var(--violet)}.pill.amber{color:var(--amber)}.pill.green{color:var(--green)}.pill.red{color:var(--red)}.tag{display:inline-block;padding:2px 8px;border-radius:4px;background:var(--surface-2);color:var(--text-dim);font-size:12px}.alert{padding:10px 14px;border-radius:var(--radius);border:1px solid var(--red);color:var(--red);background:#ef444414;font-size:14px}.alert.ok{border-color:var(--green);color:var(--green);background:#10b98114}.empty{padding:32px;text-align:center;color:var(--text-dim)}.gallery{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.gallery figure{margin:0}.gallery img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2)}.gallery figcaption{font-size:12px;color:var(--text-dim);margin-top:4px}.checklist{list-style:none;margin:0;padding:0}.checklist li{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.checklist li:last-child{border-bottom:none}.checklist input[type=checkbox]{width:20px;height:20px;min-height:20px;flex:none;margin-top:1px}.checklist .item-note{display:block;font-size:12px;color:var(--text-dim)}.qc-checklist{list-style:disc;margin:0;padding-left:20px;column-count:3;column-gap:24px}.qc-checklist li{padding:4px 0;break-inside:avoid}.qc-checklist .item-note{display:block;font-size:12px;color:var(--text-dim)}@media(max-width:900px){.qc-checklist{column-count:2}}@media(max-width:640px){.qc-checklist{column-count:1}}.timeline{list-style:none;margin:0;padding:0;font-size:14px}.timeline li{padding:8px 0 8px 14px;border-left:2px solid var(--border);position:relative}.timeline li:before{content:"";position:absolute;left:-5px;top:14px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.calendar-weekday{background:var(--surface-2);color:var(--text-dim);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:6px 8px}.calendar-day{background:var(--surface);min-height:92px;padding:6px;display:flex;flex-direction:column;gap:3px}.calendar-day.is-out{background:var(--bg)}.calendar-day.is-out .calendar-day-num{color:var(--text-dim)}.calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--accent)}.calendar-day-num{font-size:12px;font-weight:600;margin-bottom:2px}.calendar-pill{display:block;width:100%;text-align:left;font-size:11px;line-height:1.3;padding:3px 6px;min-height:0;border-radius:4px;border:1px solid currentColor;background:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-pill.kind-start{color:var(--amber)}.calendar-pill.kind-end{color:var(--green)}.calendar-pill.kind-mid{color:var(--violet)}@media(max-width:640px){.calendar-day{min-height:64px}.calendar-weekday{font-size:10px;padding:4px}}.kiosk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:24px}.kiosk-panel{width:100%;max-width:640px;text-align:center;position:relative}.kiosk-panel h1{font-size:22px;margin-bottom:4px}.kiosk-dismiss{position:absolute;top:-48px;right:0}.kiosk-grid{display:grid;gap:12px;margin-top:24px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.kiosk-tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;min-height:120px}.kiosk-avatar{width:44px;height:44px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.kiosk-name{font-size:14px;font-weight:600}.disclosure-toggle{display:inline-flex;align-items:center;gap:8px;background:none;border:none;padding:4px 0;min-height:0;color:var(--text);font:inherit;font-weight:600;cursor:pointer}.disclosure-toggle:hover{color:var(--accent)}.disclosure-caret{display:inline-block;color:var(--text-dim);font-size:11px;transition:transform .15s ease}.disclosure-toggle.open .disclosure-caret{transform:rotate(90deg)}.folder-tabs{display:flex;gap:4px;padding:0 4px;border-bottom:1px solid var(--border)}.folder-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:14px;font-weight:600;cursor:pointer;padding:10px 18px 9px;border:1px solid var(--border);border-bottom:none;border-radius:10px 10px 0 0;background:var(--surface-2);color:var(--text-dim);position:relative;top:1px}.folder-tab:hover{color:var(--text);background:#2c313b}.folder-tab.active{background:var(--surface);color:var(--text);border-bottom:1px solid var(--surface);z-index:1}.folder-tab-panel{background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius) var(--radius);padding:20px}@media(max-width:640px){.page{padding:14px}.topbar{padding:10px 14px;gap:10px}.topbar .brand-text{display:none}.topbar .brand-logo{height:22px}.folder-tab{padding:9px 12px 8px;font-size:13px}.folder-tab-panel{padding:14px}}.tag.fast-track-tag{margin-left:6px;background:#d4813f26;color:var(--accent);font-weight:600;vertical-align:middle}
