:root { color-scheme: light; --ink:#13231f; --muted:#66746f; --line:#dfe7e3; --paper:#fff; --canvas:#f3f6f4; --brand:#087f5b; --brand-dark:#075e45; --accent:#d9f4e9; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:var(--canvas); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:inherit; }
.topbar { min-height:72px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; background:var(--paper); border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:12px; font-weight:750; text-decoration:none; letter-spacing:-.02em; }
.brand-large { font-size:1.1rem; }
.brand-mark { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; color:white; background:var(--brand); box-shadow:0 8px 22px #087f5b33; }
.user-menu { display:flex; align-items:center; gap:22px; color:var(--muted); font-size:.9rem; }
.user-menu a,.link-button { border:0; padding:0; background:none; color:var(--brand-dark); font:inherit; cursor:pointer; text-decoration:none; }
.page-shell { width:min(1180px,90vw); margin:0 auto; padding:54px 0; }
.welcome { display:flex; align-items:flex-start; justify-content:space-between; gap:30px; margin-bottom:32px; }
h1,h2,p { margin-top:0; } h1 { margin-bottom:10px; font-size:clamp(2rem,4vw,3.25rem); line-height:1.08; letter-spacing:-.045em; } h2 { margin-bottom:10px; letter-spacing:-.025em; }
.eyebrow { margin-bottom:10px; color:var(--brand); text-transform:uppercase; font-size:.75rem; font-weight:800; letter-spacing:.14em; }
.muted { color:var(--muted); }
.status-pill,.tag { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; padding:8px 12px; border-radius:999px; background:var(--accent); color:var(--brand-dark); font-size:.8rem; font-weight:700; }
.status-pill span { width:8px; height:8px; border-radius:50%; background:#20a873; box-shadow:0 0 0 4px #20a87320; }
.stat-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:16px; }
.stat-card,.panel { background:var(--paper); border:1px solid var(--line); border-radius:18px; box-shadow:0 12px 35px #263b3310; }
.stat-card { padding:24px; } .stat-card span,.stat-card small { display:block; color:var(--muted); } .stat-card strong { display:block; margin:12px 0 8px; font-size:2.4rem; line-height:1; }
.stat-card-link { color:inherit; text-decoration:none; transition:transform .15s,border-color .15s; }.stat-card-link:hover { transform:translateY(-2px); border-color:#9bcab9; }
.dashboard-actions { display:flex; align-items:center; gap:12px; }.call-search-button { display:inline-flex; align-items:center; min-height:46px; padding:0 18px; border-radius:12px; background:var(--brand); color:#fff; font-weight:850; text-decoration:none; box-shadow:0 10px 24px #087f5b30; }.call-search-button:hover { background:var(--brand-dark); }
.offline-heading-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:flex-end; }.offline-order-button { display:inline-flex; align-items:center; min-height:42px; padding:0 15px; border:1px solid var(--brand); border-radius:10px; color:var(--brand-dark); background:#fff; font-weight:800; text-decoration:none; }.offline-order-button:hover { background:#e8f7f1; }.offline-mode-banner { display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:14px; margin:0 0 18px; padding:14px 18px; border:2px solid #d08a15; border-radius:12px; background:#fff6df; }.offline-mode-banner strong { color:#815000; }.offline-mode-banner span { color:#5f5544; }.offline-mode-banner button { min-height:40px; padding:0 13px; border:0; border-radius:9px; background:#9b650c; color:#fff; font-weight:800; cursor:pointer; }.offline-mode-banner [data-offline-delete] { background:#fff; color:#8a302c; border:1px solid #b74a43; }.offline-mode-banner[data-state="ready"] { border-color:#16835f; background:#e8f7f1; }.offline-mode-banner[data-state="error"] { border-color:#b63b35; background:#fdebea; }
@media (max-width:800px){.offline-mode-banner{grid-template-columns:1fr}.offline-heading-actions{justify-content:flex-start}}
.urgent-stat-card { background:#b63b35; border-color:#9d2d28; color:#fff; box-shadow:0 14px 34px #8d24252e; }.urgent-stat-card span,.urgent-stat-card small { color:#fff; }.urgent-stat-card strong { color:#fff; }.urgent-stat-card:hover { border-color:#7e211d; background:#a8322d; }
.content-grid { display:grid; grid-template-columns:1.35fr 1fr; gap:18px; margin-top:18px; }
.content-grid-single { grid-template-columns:1fr; }
.planning-summary-grid { display:grid; grid-template-columns:minmax(220px,.45fr) minmax(420px,1.55fr); gap:18px; }
.planning-summary-grid .panel { padding:24px; }
.planning-start-form { display:flex; align-items:end; gap:12px; flex-wrap:wrap; }.planning-start-form label { width:100%; font-weight:750; }.planning-start-form input { padding:11px 13px; border:1px solid #cad6d1; border-radius:9px; font:inherit; }
.planning-history { margin-top:18px; }.planning-confirm { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-bottom:20px; padding:22px 26px; border:1px solid #9bcab9; border-radius:16px; background:#eefaf5; }.planning-confirm p { margin:6px 0 0; }
.planning-issues { margin-bottom:20px; padding:24px; border:1px solid #e8c766; border-radius:16px; background:#fffaf0; }.issue-row { display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-top:1px solid #efdfaf; }.issue-row span { display:block; color:var(--muted); }.issue-row>div:last-child { text-align:right; }
.planning-day { margin-top:18px; padding:24px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 12px 35px #263b3310; }.planning-day-title { display:flex; justify-content:space-between; }.planning-route { margin-top:18px; }.planning-route h3 { margin:0 0 10px; }.planning-stop { display:grid; grid-template-columns:42px 90px minmax(260px,1fr) 130px; align-items:center; gap:14px; padding:14px 0; border-top:1px solid var(--line); }.planning-sequence { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--brand); color:#fff; font-weight:800; }.planning-time span,.planning-customer span,.planning-customer small,.planning-travel span { display:block; color:var(--muted); }.planning-travel { text-align:right; }.tour-heading { display:flex; justify-content:space-between; align-items:center; gap:18px; }.tour-heading h3 { margin-bottom:4px; }.planning-leg { display:grid; grid-template-columns:42px minmax(260px,1fr) 130px; align-items:center; gap:14px; padding:13px 16px; border-top:1px solid var(--line); background:#f7faf8; }.planning-leg span { display:block; color:var(--muted); }.return-leg { border-bottom:1px solid var(--line); }.tour-summary { display:flex; justify-content:flex-end; gap:24px; padding:12px 0; color:var(--muted); font-size:.9rem; }
.day-tabs { position:sticky; top:0; z-index:5; display:flex; gap:8px; margin:18px 0; padding:10px; overflow-x:auto; background:#fff; border:1px solid var(--line); border-radius:15px; box-shadow:0 10px 30px #263b3310; }.day-tab { min-width:92px; padding:10px 14px; border:1px solid transparent; border-radius:10px; background:#f4f7f5; color:var(--muted); cursor:pointer; font:inherit; text-align:left; }.day-tab strong,.day-tab span,.day-tab small { display:block; }.day-tab strong { color:var(--ink); }.day-tab span { margin:2px 0; font-weight:750; }.day-tab small { font-size:.72rem; }.day-tab.active { border-color:var(--brand); background:var(--accent); color:var(--brand-dark); }.tabs-ready .planning-day { display:none; }.tabs-ready .planning-day.active { display:block; }
.confirm-tour-button { padding:10px 14px; border:0; border-radius:9px; background:var(--brand); color:#fff; cursor:pointer; font:inherit; font-weight:800; }.planned-tour { padding:16px; border:2px solid #64b596; border-radius:14px; background:#f5fcf9; }.planning-board-wrap { overflow:auto; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 12px 35px #263b3310; }.planning-board { min-width:1200px; width:100%; border-collapse:separate; border-spacing:0; }.planning-board th,.planning-board td { min-width:135px; padding:9px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); vertical-align:top; }.planning-board thead th { position:sticky; top:0; z-index:2; background:#f7f9f8; text-align:left; }.planning-board thead th span,.employee-column span { display:block; color:var(--muted); font-size:.75rem; }.planning-board .employee-column { position:sticky; left:0; z-index:3; min-width:190px; background:#fff; }.planning-board thead .employee-column { z-index:4; background:#f7f9f8; }.planning-board .weekend,.planning-board .off-day { background:#f1f2f1; }.board-cell { height:92px; }.board-cell.gap { background:#fffdf4; }.board-tour,.board-absence,.board-gap { display:block; margin-bottom:5px; padding:8px; border-radius:8px; text-decoration:none; font-size:.78rem; }.board-tour strong,.board-tour span,.board-absence strong,.board-absence span,.board-gap strong,.board-gap span { display:block; }.board-tour span,.board-absence span,.board-gap span { margin-top:3px; opacity:.78; }.board-tour.planned { background:#ccefe1; color:#075e45; }.board-tour.suggestion { border:1px dashed #4d83b8; background:#edf6ff; color:#24557f; }.board-absence { background:#f7deda; color:#873d34; }.board-gap { color:#8b7118; }.board-off { color:#9ca5a1; font-size:.75rem; }.board-legend { display:flex; flex-wrap:wrap; gap:18px; margin-top:14px; color:var(--muted); font-size:.82rem; }.board-legend i { display:inline-block; width:12px; height:12px; margin-right:5px; border-radius:3px; }.board-legend .planned { background:#8ed1b5; }.board-legend .suggestion { background:#a9d1f5; }.board-legend .gap { background:#fff0a8; }.board-legend .absence { background:#ebb0a8; }
.overnight-bar { display:flex; align-items:center; gap:14px; margin:4px 0; padding:13px 18px; border-top:2px solid #315f89; border-bottom:2px solid #315f89; background:#eaf3fb; color:#244d71; }.overnight-symbol { width:42px; height:42px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; background:#315f89; color:#fff; font-size:.78rem; font-weight:900; }.overnight-bar strong,.overnight-bar div>span { display:block; }.overnight-bar div>span { margin-top:3px; color:#55738d; font-size:.84rem; }
.overnight-content { flex:1; min-width:0; }.overnight-booking-form { display:grid; grid-template-columns:1fr 1.45fr 1fr 1fr auto; align-items:end; gap:9px; margin-top:12px; }.overnight-booking-form label { display:grid; gap:4px; color:#244d71; font-size:.74rem; font-weight:750; }.overnight-booking-form input { min-width:0; width:100%; padding:9px 10px; border:1px solid #adc2d4; border-radius:8px; background:#fff; color:var(--ink); font:inherit; }.overnight-booking-form button { padding:10px 13px; border:0; border-radius:8px; background:#315f89; color:#fff; cursor:pointer; font:inherit; font-weight:800; }
.planning-guide { margin-bottom:22px; padding:24px; border:2px solid #9bcab9; border-radius:18px; background:#eefaf5; }.guide-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.guide-steps>div { padding:14px; background:#fff; border-radius:12px; }.guide-steps b { width:28px; height:28px; display:grid; place-items:center; margin-bottom:9px; border-radius:50%; background:var(--brand); color:#fff; }.guide-steps strong,.guide-steps span { display:block; }.guide-steps span { margin-top:5px; color:var(--muted); font-size:.82rem; }.coordination-stop { grid-template-columns:42px 90px minmax(260px,1fr) minmax(230px,300px); align-items:start; }.call-data { margin-top:12px; padding:10px; border-radius:8px; background:#fff7d6; color:#5e4a00; }.coordination-note { margin-top:8px; color:var(--muted); font-size:.85rem; }.coordination-actions { display:grid; gap:8px; }.coordination-actions small { color:var(--muted); }.coordination-form { display:grid; gap:7px; }.coordination-form input,.coordination-form button,.inline-form select,.inline-form button { width:100%; padding:9px 10px; border:1px solid #cbd7d2; border-radius:8px; background:#fff; font:inherit; }.coordination-form button { cursor:pointer; font-weight:750; }.coordination-form .confirm-button { border-color:var(--brand); background:var(--brand); color:#fff; }.alternative-row { display:grid; grid-template-columns:1fr 1fr; gap:6px; }.state.warning { background:#fff0c2; color:#725500; }
.panel { padding:28px; } .panel-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.action-link { display:flex; justify-content:space-between; padding:15px 0 0; color:var(--brand-dark); font-weight:700; text-decoration:none; border-top:1px solid var(--line); }
.secondary-action { margin-top:15px; color:var(--muted); }
.main-nav { background:#fff; border-bottom:1px solid var(--line); }
.main-nav-inner { width:min(1180px,90vw); min-height:52px; margin:auto; display:flex; align-items:center; gap:26px; }
.main-nav a { color:var(--ink); font-size:.9rem; font-weight:700; text-decoration:none; }
.nav-group { position:relative; flex:0 0 auto; }
.nav-group summary { display:flex; align-items:center; min-height:44px; color:var(--ink); cursor:pointer; font-size:.9rem; font-weight:800; list-style:none; white-space:nowrap; }
.nav-group summary::-webkit-details-marker { display:none; }
.nav-group summary::after { content:"⌄"; margin-left:7px; color:var(--brand); font-size:.85rem; }
.nav-group[open] summary::after { transform:rotate(180deg); }
.nav-group-menu { position:absolute; left:0; top:calc(100% + 4px); z-index:30; min-width:230px; padding:8px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 18px 45px #263b3326; }
.nav-group-menu a { display:block; padding:11px 12px; border-radius:8px; white-space:nowrap; }
.nav-group-menu a:hover,.nav-group-menu a:focus { background:var(--accent); color:var(--brand-dark); outline:none; }
.employee-main-actions { display:flex; align-items:center; gap:10px; }.main-nav .employee-nav-button { min-height:44px; display:flex; align-items:center; padding:10px 16px; border:1px solid #b9cbc4; border-radius:10px; background:#fff; color:var(--brand-dark); font-size:.9rem; font-weight:800; white-space:nowrap; touch-action:manipulation; }.main-nav .employee-nav-button:hover,.main-nav .employee-nav-button:focus { border-color:var(--brand); background:#eefaf5; outline:none; }.main-nav .employee-nav-button.active { border-color:var(--brand); background:var(--brand); color:#fff; box-shadow:0 6px 16px #087f5b25; }
.nav-disabled { color:#a2aea9; font-size:.9rem; }
.tenant-switcher { margin-left:auto; display:flex; align-items:center; gap:8px; color:var(--muted); font-size:.84rem; }
.tenant-switcher strong,.tenant-switcher summary { color:var(--ink); font-weight:750; cursor:pointer; }
.role-label { padding:4px 8px; border-radius:999px; background:var(--accent); color:var(--brand-dark); font-size:.72rem; font-weight:750; white-space:nowrap; }
.tenant-switcher details { position:relative; }
.tenant-menu { position:absolute; right:0; z-index:10; min-width:220px; margin-top:10px; padding:8px; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 16px 40px #263b3320; }
.tenant-menu a { display:block; padding:10px; border-radius:8px; }
.tenant-menu a:hover { background:var(--canvas); }
.messages { margin-bottom:20px; }.message { padding:13px 16px; border-radius:10px; background:var(--accent); color:var(--brand-dark); font-weight:650; }
.message.error { border:1px solid #d89a94; background:#fff0ee; color:#8c2f28; }
.page-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:28px; margin-bottom:28px; }
.page-heading h1 { margin-bottom:8px; }.tenant-name-stat { font-size:1.15rem!important; line-height:1.25!important; }
.search-bar { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; padding:14px; background:#fff; border:1px solid var(--line); border-radius:14px; }
.search-bar input { flex:1; min-width:150px; }.search-bar input,.search-bar select { padding:12px 14px; border:1px solid #cad6d1; border-radius:9px; background:#fff; font:inherit; }
.search-bar button,.small-button,.secondary-button { padding:11px 16px; border:1px solid var(--brand); border-radius:9px; background:#fff; color:var(--brand-dark); font:inherit; font-weight:750; text-decoration:none; cursor:pointer; }
.search-bar a { align-self:center; color:var(--muted); font-size:.85rem; }
.data-panel { overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 12px 35px #263b3310; }
.table-wrap { overflow-x:auto; }.data-table { width:100%; border-collapse:collapse; }.data-table th { padding:14px 18px; background:#f7f9f8; color:var(--muted); font-size:.75rem; text-align:left; text-transform:uppercase; letter-spacing:.06em; }.data-table td { padding:17px 18px; border-top:1px solid var(--line); }.row-link,.back-link { color:var(--brand-dark); font-weight:750; text-decoration:none; white-space:nowrap; }
.state { display:inline-block; padding:5px 9px; border-radius:999px; background:#eef1ef; color:var(--muted); font-size:.75rem; font-weight:750; }.state.active { background:var(--accent); color:var(--brand-dark); }
.call-assistant { margin-bottom:24px; padding:26px; border:2px solid #83c5ad; border-radius:18px; background:#f7fffb; box-shadow:0 14px 38px #263b3312; }.call-assistant-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }.call-assistant-heading h2 { margin-bottom:6px; font-size:1.65rem; }.call-assistant-heading p:last-child { margin:0; color:var(--muted); }.call-live { padding:7px 11px; border-radius:999px; background:#d9f4e9; color:var(--brand-dark); font-size:.75rem; font-weight:850; text-transform:uppercase; letter-spacing:.05em; }.call-action-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:22px; }.call-action { position:relative; min-height:142px; padding:18px; border:1px solid #c5d8d0; border-radius:13px; background:#fff; color:var(--ink); text-decoration:none; transition:transform .15s,border-color .15s,box-shadow .15s; }.call-action:hover,.call-action:focus { transform:translateY(-2px); border-color:var(--brand); box-shadow:0 9px 24px #087f5b1b; outline:none; }.call-action>span { width:29px; height:29px; display:grid; place-items:center; margin-bottom:13px; border-radius:50%; background:var(--brand); color:#fff; font-size:.8rem; font-weight:900; }.call-action strong,.call-action small { display:block; }.call-action strong { line-height:1.25; }.call-action small { margin-top:7px; color:var(--muted); line-height:1.35; }.call-action-alert { border-color:#e7afaa; background:#fff9f8; }.call-action-alert>span { background:#a83e35; }.call-action-info { border-color:#a9c9e4; background:#f7fbff; }.call-action-info>span { background:#315f89; }.call-order-summary { margin-top:18px; border:1px solid var(--line); border-radius:12px; background:#fff; scroll-margin-top:24px; }.call-order-heading { display:flex; justify-content:space-between; gap:18px; padding:14px 16px; }.call-order-heading a { color:var(--brand-dark); font-size:.82rem; font-weight:800; text-decoration:none; }.call-order-row { display:grid; grid-template-columns:auto minmax(260px,1fr) minmax(150px,.45fr) auto; align-items:center; gap:14px; padding:13px 16px; border-top:1px solid var(--line); text-decoration:none; }.call-order-row strong,.call-order-row small { display:block; }.call-order-row small { margin-top:3px; color:var(--muted); }.call-order-row>b { color:var(--brand-dark); white-space:nowrap; }.call-order-empty { margin:0; padding:17px 16px; border-top:1px solid var(--line); color:var(--muted); }
.empty-state { padding:65px 30px; text-align:center; }.empty-state p { color:var(--muted); }
.detail-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:18px; }.details { display:grid; grid-template-columns:140px 1fr; gap:15px; margin:22px 0 0; }.details dt { color:var(--muted); }.details dd { margin:0; font-weight:650; }
.location-row { display:flex; justify-content:space-between; gap:20px; padding:15px 0; border-top:1px solid var(--line); }.location-row strong,.location-row span { display:block; }.location-row span { margin-top:4px; color:var(--muted); font-size:.88rem; }.location-row a { color:var(--brand-dark); font-weight:700; text-decoration:none; }.compact-empty { padding:24px 0; color:var(--muted); border-top:1px solid var(--line); }
.location-block { border-top:1px solid var(--line); }.location-block .location-row { border-top:0; }.row-actions { display:flex; flex-direction:column; align-items:flex-end; gap:7px; white-space:nowrap; }.installation-list { margin:0 0 12px 16px; padding-left:16px; border-left:3px solid var(--accent); }.installation-row { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:12px 0; border-top:1px solid #edf1ef; }.installation-row:first-child { border-top:0; }.installation-row strong,.installation-row span { display:block; }.installation-row span:not(.state) { margin-top:3px; color:var(--muted); font-size:.82rem; }.installation-row>div:last-child { display:flex; align-items:center; gap:12px; }.installation-row a { color:var(--brand-dark); font-size:.85rem; font-weight:700; text-decoration:none; }.field-help { color:var(--muted); font-size:.78rem; }
.installation-block { border-top:1px solid #edf1ef; }.installation-block:first-child { border-top:0; }.installation-block .installation-row { border-top:0; }.installation-row>div:last-child { flex-wrap:wrap; justify-content:flex-end; }.contract-list { margin:0 0 10px 18px; padding-left:14px; border-left:2px solid #dfe7e3; }.contract-row { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:9px 0; border-top:1px dashed #e2e9e6; font-size:.86rem; }.contract-row:first-child { border-top:0; }.contract-row strong,.contract-row span { display:block; }.contract-row span:not(.state) { margin-top:2px; color:var(--muted); font-size:.78rem; }.contract-row>div:last-child { display:flex; align-items:center; gap:10px; }.contract-row a { color:var(--brand-dark); font-weight:700; text-decoration:none; }.contract-empty { padding:8px 0 12px; color:var(--muted); font-size:.82rem; }
.checklist-card { max-width:1050px; }.section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:36px 0 14px; padding-top:28px; border-top:1px solid var(--line); }.section-heading h2 { margin:0; }.checklist-items { display:grid; gap:12px; }.checklist-item-form { display:grid; grid-template-columns:90px 1fr; gap:12px 18px; padding:18px; background:#f7f9f8; border:1px solid var(--line); border-radius:12px; }.checklist-item-form label { display:block; margin-bottom:6px; font-size:.8rem; font-weight:750; }.checklist-item-form input[type="number"],.checklist-item-form textarea { width:100%; padding:10px 11px; border:1px solid #cbd7d2; border-radius:8px; font:inherit; }.check-options { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:22px; }.check-options label { display:flex; align-items:center; gap:7px; margin:0; color:var(--muted); font-weight:650; }.delete-option { color:#a43b34!important; }
.planning-row { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:12px 0; border-top:1px solid var(--line); }.planning-row strong,.planning-row span { display:block; }.planning-row span { margin-top:3px; color:var(--muted); font-size:.82rem; }.planning-row a { color:var(--brand-dark); font-weight:700; text-decoration:none; white-space:nowrap; }
.form-card { max-width:850px; margin:18px auto; padding:36px; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:0 18px 50px #263b3314; }.form-card h1 { font-size:2.35rem; }.master-form { margin-top:30px; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.form-field { display:flex; flex-direction:column; gap:7px; }.form-field label { font-size:.84rem; font-weight:750; }.form-field input,.form-field textarea,.form-field select { width:100%; padding:12px 13px; border:1px solid #cbd7d2; border-radius:9px; font:inherit; }.form-field input:focus,.form-field textarea:focus { outline:0; border-color:var(--brand); box-shadow:0 0 0 4px #087f5b15; }.wide-field { grid-column:1/-1; }.checkbox-field { flex-direction:row-reverse; justify-content:flex-end; align-items:center; }.checkbox-field input { width:auto; }.field-error { color:#a43b34; font-size:.8rem; }.form-actions { margin-top:28px; padding-top:22px; border-top:1px solid var(--line); }.back-link { display:inline-block; margin-bottom:22px; }
.order-form-card { max-width:980px; }.order-section { margin:28px 0 0; padding:22px; border:1px solid var(--line); border-radius:14px; }.order-section legend { padding:0 8px; color:var(--brand-dark); font-size:1.15rem; font-weight:800; }.section-help { margin:-4px 0 20px; color:var(--muted); }.priority-help { color:#8a3b25; font-size:.85rem; }.order-advanced { margin-top:20px; padding:16px 20px; border:1px solid var(--line); border-radius:12px; }.order-advanced summary { cursor:pointer; font-weight:750; }.order-advanced .form-grid { margin-top:16px; }
.weekday-grid { display:grid; grid-template-columns:repeat(4,minmax(120px,1fr)); gap:16px; }
.login-page { background:linear-gradient(125deg,#0b2d25 0%,#0c4938 48%,var(--canvas) 48%); }
.login-layout { width:min(1120px,90vw); min-height:100vh; margin:auto; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:9vw; }
.login-intro { color:white; max-width:540px; } .login-intro .brand { margin-bottom:100px; } .login-intro .eyebrow { color:#8de0c4; } .login-intro p:last-child { max-width:480px; color:#c8ddd6; font-size:1.12rem; line-height:1.7; }
.login-card { padding:44px; background:#ffffffed; backdrop-filter:blur(12px); border:1px solid #fff; border-radius:24px; box-shadow:0 30px 80px #081e182e; }
.login-card h2 { font-size:2rem; }
.login-form { display:grid; gap:10px; margin-top:28px; } .login-form label { margin-top:9px; font-size:.86rem; font-weight:700; }
.login-form input { width:100%; padding:14px 15px; border:1px solid #cdd8d3; border-radius:10px; background:white; color:var(--ink); font:inherit; outline:none; } .login-form input:focus { border-color:var(--brand); box-shadow:0 0 0 4px #087f5b18; }
.primary-button { margin-top:18px; padding:15px; border:0; border-radius:10px; background:var(--brand); color:white; font:inherit; font-weight:750; cursor:pointer; box-shadow:0 10px 24px #087f5b30; }
.primary-button:hover { background:var(--brand-dark); }
.alert { margin-top:18px; padding:12px 14px; border-radius:10px; background:#fff1f0; color:#a43b34; font-size:.9rem; }
.forgotten-link { display:inline-block; margin-top:20px; color:var(--brand-dark); font-size:.9rem; font-weight:700; text-decoration:none; }
.narrow-card { width:min(620px,100%); margin:30px auto; padding:42px; background:var(--paper); border:1px solid var(--line); border-radius:22px; box-shadow:0 18px 50px #263b3314; }
.narrow-card h1 { font-size:clamp(2rem,4vw,2.8rem); }
.primary-link { display:inline-block; margin-top:18px; padding:13px 18px; border-radius:10px; background:var(--brand); color:white; font-weight:750; text-decoration:none; }
.section-navigation { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 28px; padding:10px; background:#fff; border:1px solid var(--line); border-radius:14px; }.section-navigation a { padding:9px 12px; border-radius:9px; color:var(--brand-dark); font-size:.85rem; font-weight:750; text-decoration:none; }.section-navigation a:hover { background:var(--accent); }
.danger-link { color:#a43b34; font-weight:750; text-decoration:none; }.danger-button { margin-top:18px; padding:13px 18px; border:0; border-radius:10px; background:#a43b34; color:#fff; font:inherit; font-weight:750; cursor:pointer; }
.service-day { margin-bottom:20px; padding:26px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 12px 35px #263b3310; }.today-day { border-top:5px solid var(--brand); }.overdue-day { border-top:5px solid #b34a42; }.service-day-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:15px; }.service-day-heading h2 { margin:0; }.today-order { display:grid; grid-template-columns:95px 1fr; gap:20px; padding:22px 0; border-top:1px solid var(--line); }.order-time strong,.order-time span { display:block; }.order-time strong { font-size:1.45rem; }.order-time span { margin-top:4px; color:var(--muted); font-size:.82rem; }.order-title { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }.order-title h3 { margin:8px 0 12px; font-size:1.25rem; }.order-main p { margin:6px 0; }.order-address { font-weight:650; }.order-description { margin:14px 0; padding:14px; background:#f4f7f5; border-radius:10px; line-height:1.55; }.future-order { display:grid; grid-template-columns:70px 1fr auto; align-items:center; gap:16px; padding:14px 0; border-top:1px solid var(--line); }.future-order time { font-weight:800; }.future-order strong,.future-order span:not(.state) { display:block; }.future-order span:not(.state) { margin-top:3px; color:var(--muted); font-size:.84rem; }.empty-day { padding:28px 0 12px; color:var(--muted); }.empty-day h3 { color:var(--ink); }
.master-data-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.master-data-card { position:relative; min-height:190px; padding:26px; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:18px; color:var(--ink); text-decoration:none; box-shadow:0 12px 35px #263b3310; }.master-data-card:hover { border-color:#9bcab9; transform:translateY(-1px); }.master-data-card span,.master-data-card small,.master-data-card strong { display:block; }.master-data-card span { color:var(--brand); font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.master-data-card strong { margin-top:12px; font-size:1.45rem; }.master-data-card b { position:absolute; right:24px; top:23px; color:#dbe8e3; font-size:3.4rem; line-height:1; }.master-data-card small { margin-top:34px; color:var(--muted); }.filter-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }.filter-tabs a { padding:9px 13px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--muted); font-size:.85rem; font-weight:700; text-decoration:none; }.filter-tabs a.selected { border-color:var(--brand); background:var(--accent); color:var(--brand-dark); }.table-actions { display:flex; flex-wrap:wrap; gap:14px; }
@media (max-width:800px) { .login-page { background:#0c4938; } .login-layout { grid-template-columns:1fr; padding:38px 0; gap:35px; } .login-intro .brand { margin-bottom:45px; } .stat-grid { grid-template-columns:repeat(2,1fr); } .content-grid,.detail-grid,.master-data-grid,.planning-summary-grid,.guide-steps,.weekday-grid { grid-template-columns:1fr; } .user-menu>span { display:none; } .main-nav-inner { overflow-x:auto; }.tenant-switcher { position:sticky; right:0; background:#fff; padding-left:12px; }.form-grid { grid-template-columns:1fr; }.wide-field { grid-column:auto; }.planning-stop,.coordination-stop { grid-template-columns:38px 72px 1fr; }.planning-travel,.coordination-actions { grid-column:2/-1; text-align:left; } }
@media (max-width:950px) { .call-action-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.call-order-row { grid-template-columns:auto 1fr auto; }.call-order-row>span:nth-child(3) { grid-column:2; }.call-order-row>b { grid-column:3; grid-row:1/3; } }
@media (max-width:560px) { .call-assistant { padding:20px; }.call-action-grid { grid-template-columns:1fr; }.call-order-heading { display:block; }.call-order-heading a { display:block; margin-top:7px; }.call-order-row { grid-template-columns:auto 1fr; }.call-order-row>b { grid-column:2; grid-row:auto; }.call-order-row>span:nth-child(3) { grid-column:2; } }
@media (max-width:520px) { .topbar { padding:0 18px; } .brand>span:last-child { display:none; } .page-shell { width:auto; padding:32px 18px; } .welcome { display:block; } .status-pill { margin-top:10px; } .stat-grid { grid-template-columns:1fr; } .login-card { padding:28px 22px; } }
@media (max-width:1000px) { .overnight-booking-form { grid-template-columns:1fr 1fr; }.overnight-booking-form button { grid-column:1/-1; } }
.tenant-holiday,.customer-holiday { display:block; margin-top:6px; padding:5px 6px; border-radius:6px; font-size:.68rem; line-height:1.25; }.tenant-holiday { background:#f7deda; color:#873d34!important; }.customer-holiday { background:#fff0c2; color:#725500!important; }.board-holiday { display:block; padding:8px; border-radius:8px; background:#f7deda; color:#873d34; font-size:.78rem; }.board-holiday strong,.board-holiday span { display:block; }.board-holiday span { margin-top:3px; }.board-legend .holiday { background:#ebb0a8; }
.confirmed-stop { margin:4px 0; padding-left:10px; padding-right:10px; border:2px solid #46a884; border-radius:12px; background:#f0fbf7; scroll-margin-top:125px; }.confirmed-result { padding:11px 12px; border-radius:9px; background:#ccefe1; color:#075e45; }.confirmed-result strong,.confirmed-result span { display:block; }.confirmed-result span { margin-top:4px; font-size:.78rem; }
.planning-board-scroll-top { height:20px; margin-bottom:6px; overflow-x:auto; overflow-y:hidden; border:1px solid var(--line); border-radius:8px; background:#fff; }.planning-board-scroll-top>div { height:1px; }
.employee-day-nav { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:12px; padding:14px 18px; border:1px solid var(--line); border-radius:14px; background:#fff; }.employee-day-nav a { color:var(--brand-dark); font-weight:800; text-decoration:none; }.employee-day-nav input { margin-left:8px; padding:9px; border:1px solid #cbd7d2; border-radius:8px; }.employee-week-tabs { display:grid; grid-template-columns:repeat(7,1fr); gap:8px; margin-bottom:22px; }.employee-week-tabs a { padding:12px; border:1px solid var(--line); border-radius:10px; background:#fff; text-decoration:none; }.employee-week-tabs strong,.employee-week-tabs span,.employee-week-tabs small { display:block; }.employee-week-tabs span { margin:3px 0; }.employee-week-tabs small { color:var(--muted); }.employee-week-tabs a.active { border-color:var(--brand); background:var(--accent); }.employee-tour { margin-bottom:22px; padding:24px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 12px 35px #263b3310; }.employee-tour>header { display:flex; justify-content:space-between; }.employee-stop { display:grid; grid-template-columns:42px 82px 1fr auto; align-items:center; gap:14px; padding:18px 0; border-top:1px solid var(--line); }.employee-stop h3,.employee-stop p { margin:0 0 5px; }.employee-stop small { color:var(--muted); }.employee-stop .primary-link { margin:0; }.employee-leg { display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:14px; padding:14px; border-top:1px solid var(--line); background:#f7faf8; }.employee-leg>b { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--brand); color:#fff; }.employee-leg span,.employee-leg>div:last-child>* { display:block; color:var(--muted); text-align:right; }.service-status-panel { margin-bottom:18px; padding:24px; border:2px solid #8fc9b4; border-radius:18px; background:#eefaf5; }.service-status-buttons { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.service-status-buttons button { padding:14px; border:1px solid var(--brand); border-radius:10px; background:#fff; color:var(--brand-dark); cursor:pointer; font:inherit; font-weight:800; }.service-status-buttons button:hover { background:var(--brand); color:#fff; }.service-order-grid { grid-template-columns:1fr 1fr; }.status-history,.material-row { display:flex; justify-content:space-between; gap:15px; padding:10px 0; border-top:1px solid var(--line); }.status-history time,.material-row span { color:var(--muted); }.material-form { display:grid; grid-template-columns:1fr 100px; gap:12px; margin:18px 0; }.material-form label { display:grid; gap:5px; font-size:.8rem; font-weight:750; }.material-form input,.material-form select { min-width:0; padding:10px; border:1px solid #cbd7d2; border-radius:8px; font:inherit; }.material-form button { grid-column:1/-1; padding:12px; border:0; border-radius:9px; background:var(--brand); color:#fff; font:inherit; font-weight:800; }.report-card { max-width:none; }.signature-field { margin-top:20px; }.signature-field label { display:block; margin-bottom:7px; font-weight:750; }.signature-field canvas { display:block; width:100%; max-width:760px; height:180px; margin-bottom:10px; border:2px solid #aabbb4; border-radius:10px; background:#fff; touch-action:none; }
@media (max-width:800px) { .employee-week-tabs { display:flex; overflow-x:auto; }.employee-week-tabs a { min-width:90px; }.employee-stop { grid-template-columns:36px 65px 1fr; }.employee-stop .primary-link { grid-column:2/-1; }.service-status-buttons,.service-order-grid { grid-template-columns:1fr; }.employee-day-nav { flex-wrap:wrap; } }
.planning-board .board-tour.planned { border:1px solid #65b997; background:#d8f5e9; color:#075e45; }.planning-board .board-tour.suggestion { border:1px solid #6aa6dc; background:#ddecfb; color:#174f7d; }
.purchase-heading { align-items:center; }.purchase-heading .state { padding:8px 14px; }.purchase-panel { margin-bottom:20px; }.purchase-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:25px 28px 20px; }.purchase-section-heading h2 { margin:0; font-size:1.45rem; }.purchase-section-heading .eyebrow { margin-bottom:7px; }.purchase-header-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin:0; padding:0 28px 26px; }.purchase-header-grid>div { padding:16px 0; border-top:1px solid var(--line); }.purchase-header-grid>div:nth-child(odd) { padding-right:30px; }.purchase-header-grid>div:nth-child(even) { padding-left:30px; border-left:1px solid var(--line); }.purchase-header-grid dt { margin-bottom:6px; color:var(--muted); font-size:.78rem; font-weight:750; text-transform:uppercase; letter-spacing:.05em; }.purchase-header-grid dd { margin:0; font-size:1.05rem; font-weight:800; }.purchase-header-grid .purchase-wide { grid-column:1/-1; padding-right:0; }.purchase-count { padding:7px 11px; border-radius:999px; background:var(--accent); color:var(--brand-dark); font-size:.78rem; font-weight:800; }.purchase-lines .table-wrap { border-top:1px solid var(--line); }.purchase-empty { padding:28px!important; color:var(--muted); text-align:center; }.purchase-entry { border:2px solid #9bcab9; background:#fbfffd; }.purchase-line-form { display:grid; grid-template-columns:minmax(300px,1fr) 180px auto; align-items:end; gap:16px; padding:0 28px 28px; }.purchase-line-form>div { display:grid; gap:7px; }.purchase-line-form label { font-size:.82rem; font-weight:800; }.purchase-line-form select,.purchase-line-form input { width:100%; min-height:46px; padding:11px 13px; border:1px solid #bdcec7; border-radius:9px; background:#fff; font:inherit; }.purchase-line-form select:focus,.purchase-line-form input:focus { outline:0; border-color:var(--brand); box-shadow:0 0 0 4px #087f5b18; }.purchase-line-form button { min-height:46px; padding:11px 18px; border:0; border-radius:9px; background:var(--brand); color:#fff; cursor:pointer; font:inherit; font-weight:800; box-shadow:0 8px 20px #087f5b25; }
@media (max-width:800px) { .purchase-header-grid { grid-template-columns:1fr; }.purchase-header-grid>div:nth-child(odd),.purchase-header-grid>div:nth-child(even) { padding:14px 0; border-left:0; }.purchase-header-grid .purchase-wide { grid-column:auto; }.purchase-line-form { grid-template-columns:1fr; }.purchase-line-form button { width:100%; } }
.purchase-heading-actions { display:flex; align-items:center; gap:12px; }.purchase-heading-actions .primary-button { margin:0; padding:11px 15px; }.purchase-entry { overflow:hidden; }.purchase-entry>summary { padding:18px 24px; background:var(--brand); color:#fff; cursor:pointer; list-style:none; font-size:1rem; font-weight:850; }.purchase-entry>summary::-webkit-details-marker { display:none; }.purchase-entry>summary::before { content:"+"; display:inline-grid; place-items:center; width:25px; height:25px; margin-right:10px; border-radius:50%; background:#ffffff25; }.purchase-entry[open]>summary::before { content:"−"; }.purchase-entry-body { background:#fbfffd; }.purchase-locked { display:flex; justify-content:space-between; gap:20px; margin-bottom:20px; padding:18px 22px; border:1px solid #d3ddd8; border-radius:12px; background:#eef1ef; color:var(--muted); }.purchase-locked strong { color:var(--ink); }
.warehouse-heading { align-items:center; }.warehouse-booking,.warehouse-table { margin-bottom:20px; }.warehouse-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:26px 28px 21px; }.warehouse-section-heading h2 { margin:0; font-size:1.45rem; }.warehouse-section-heading p:last-child { margin:7px 0 0; }.warehouse-booking-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 22px; padding:0 28px 28px; }.warehouse-booking-form>div { display:grid; align-content:start; gap:7px; }.warehouse-booking-form label { font-size:.8rem; font-weight:800; }.warehouse-booking-form input,.warehouse-booking-form select { width:100%; min-height:46px; padding:11px 13px; border:1px solid #bdcec7; border-radius:9px; background:#fff; font:inherit; }.warehouse-booking-form input:focus,.warehouse-booking-form select:focus { outline:0; border-color:var(--brand); box-shadow:0 0 0 4px #087f5b18; }.warehouse-booking-action { grid-column:1/-1; padding-top:5px; }.warehouse-booking-action button { width:100%; min-height:48px; border:0; border-radius:9px; background:var(--brand); color:#fff; cursor:pointer; font:inherit; font-weight:850; box-shadow:0 9px 22px #087f5b27; }.warehouse-empty { padding:30px!important; color:var(--muted); text-align:center; }.stock-in { color:#087f5b; }.stock-out { color:#a43b34; }
@media (max-width:800px) { .warehouse-booking-form { grid-template-columns:1fr; }.warehouse-booking-action { grid-column:auto; } }
.employee-stock-card,.reservation-list { margin-bottom:24px; }.inventory-search-heading { margin:32px 0 16px; }.employee-inventory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-bottom:24px; }.employee-inventory-card { padding:22px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 12px 35px #263b3310; }.employee-inventory-card header { display:flex; justify-content:space-between; gap:14px; }.employee-inventory-card header span,.employee-inventory-card header small { color:var(--muted); font-size:.76rem; }.employee-inventory-card h3 { margin:5px 0 0; }.inventory-numbers { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:18px 0; }.inventory-numbers>div { padding:12px; border-radius:10px; background:#f4f7f5; }.inventory-numbers span,.inventory-numbers strong { display:block; }.inventory-numbers span { color:var(--muted); font-size:.7rem; }.inventory-numbers strong { margin-top:5px; font-size:1.25rem; }.incoming-stock { margin-bottom:16px; padding:12px; border-radius:10px; background:#edf6ff; color:#24557f; }.incoming-stock strong,.incoming-stock span { display:block; }.incoming-stock span { margin-top:5px; font-size:.78rem; }.reservation-form { display:grid; grid-template-columns:100px 145px 1fr; gap:10px; padding-top:16px; border-top:1px solid var(--line); }.reservation-form label { display:grid; gap:5px; font-size:.72rem; font-weight:800; }.reservation-form input { min-width:0; width:100%; padding:9px; border:1px solid #bdcec7; border-radius:8px; font:inherit; }.reservation-form button { grid-column:1/-1; padding:11px; border:0; border-radius:8px; background:var(--brand); color:#fff; cursor:pointer; font:inherit; font-weight:800; }.reservation-form button:disabled { background:#aab7b2; cursor:not-allowed; }
@media (max-width:800px) { .employee-inventory-grid { grid-template-columns:1fr; }.reservation-form { grid-template-columns:1fr; }.reservation-form button { grid-column:auto; } }
.inventory-filters { flex-wrap:wrap; }.inventory-filters input { min-width:300px; }.inventory-table { margin-bottom:24px; }.inventory-table td { vertical-align:top; }.inventory-table td>small,.incoming-line,.incoming-line small { display:block; }.inventory-table td>small,.incoming-line small { margin-top:3px; color:var(--muted); font-size:.72rem; }.incoming-line { margin-bottom:7px; white-space:nowrap; }.inventory-action { position:relative; min-width:125px; }.inventory-action>summary { padding:9px 11px; border:1px solid var(--brand); border-radius:8px; color:var(--brand-dark); cursor:pointer; list-style:none; font-size:.8rem; font-weight:800; text-align:center; }.inventory-action[open] { min-width:245px; }.inventory-action form { display:grid; gap:8px; margin-top:9px; padding:12px; border:1px solid var(--line); border-radius:9px; background:#f7faf8; }.inventory-action label { display:grid; gap:4px; font-size:.7rem; font-weight:800; }.inventory-action input { min-width:0; width:100%; padding:8px; border:1px solid #bdcec7; border-radius:7px; font:inherit; }.inventory-action button { padding:9px; border:0; border-radius:7px; background:var(--brand); color:#fff; font:inherit; font-weight:800; }
@media (max-width:900px) { .main-nav-inner { gap:12px; padding:8px 0; overflow-x:auto; overflow-y:visible; scrollbar-width:thin; }.nav-group summary { min-height:48px; padding:0 8px; }.nav-group-menu { position:fixed; top:112px; left:5vw; right:5vw; min-width:0; }.nav-group-menu a { min-height:46px; display:flex; align-items:center; }.employee-main-actions { flex:0 0 auto; }.main-nav .employee-nav-button { min-height:48px; padding:12px 18px; font-size:.95rem; }.tenant-switcher { flex:0 0 auto; } }
.service-checklist { margin:22px 0; }.checklist-work-items { padding:0 28px; }.checklist-work-row { display:grid; grid-template-columns:minmax(240px,1fr) minmax(330px,1fr) minmax(220px,.8fr); align-items:center; gap:16px; padding:17px 0; border-top:1px solid var(--line); }.checklist-work-row>div:first-child span { display:block; margin-top:4px; color:var(--muted); font-size:.72rem; }.checklist-result-options { display:flex; flex-wrap:wrap; gap:10px; }.checklist-result-options label { padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:#f7faf8; font-size:.78rem; font-weight:750; }.checklist-work-row>input { width:100%; padding:10px; border:1px solid #bdcec7; border-radius:8px; font:inherit; }.checklist-save { padding:20px 28px 28px; }.checklist-save button { width:100%; min-height:46px; border:0; border-radius:9px; background:var(--brand); color:#fff; font:inherit; font-weight:850; }.small-button { min-height:42px; touch-action:manipulation; }
@media (max-width:900px) { .checklist-work-row { grid-template-columns:1fr; }.checklist-result-options label { min-height:44px; display:flex; align-items:center; } }
.employee-status-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.employee-status-card { padding:24px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 12px 35px #263b3310; }.employee-status-card header { display:flex; justify-content:space-between; gap:15px; }.employee-status-card h2 { margin:0; }.employee-current-order { margin-top:18px; padding:16px; border-radius:10px; background:#f4f7f5; }.employee-current-order strong,.employee-current-order span,.employee-current-order small { display:block; }.employee-current-order span,.employee-current-order small { margin-top:5px; color:var(--muted); }.employee-current-order small { font-size:.75rem; }
@media (max-width:800px) { .employee-status-grid { grid-template-columns:1fr; } }
.compact-action { min-height:42px; margin:0; padding:9px 12px; }.data-table td>small { display:block; margin-top:4px; color:var(--muted); }
.environment-form { max-width:980px; }.environment-form fieldset { margin:0 0 24px; padding:22px; border:1px solid var(--line); border-radius:14px; }.environment-form legend { padding:0 8px; color:var(--brand-dark); font-size:1.15rem; font-weight:800; }.environment-form .form-grid>div { display:grid; gap:7px; }.environment-form label { font-size:.82rem; font-weight:800; }.environment-form input { width:100%; min-height:46px; padding:11px 13px; border:1px solid #bdcec7; border-radius:9px; background:#fff; font:inherit; }.environment-form input:focus { outline:0; border-color:var(--brand); box-shadow:0 0 0 4px #087f5b18; }.environment-form .helptext { color:var(--muted); font-size:.76rem; }.check-row { display:flex; flex-wrap:wrap; gap:20px; margin-top:18px; }.check-row label { display:flex; align-items:center; gap:8px; }.check-row input { width:auto; min-height:0; }.environment-form .form-actions { display:flex; flex-wrap:wrap; gap:12px; }.environment-form .form-actions button { margin:0; min-height:48px; }
.work-environment-banner { padding:8px 18px; background:#a43b34; color:#fff; font-size:.78rem; font-weight:850; letter-spacing:.04em; text-align:center; }
.deployment-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.deployment-grid .panel { margin:0; padding:26px; }.deployment-confirm { grid-column:1/-1; border:2px solid #d6a453!important; }.deployment-confirm form { display:grid; grid-template-columns:1fr auto; align-items:end; gap:16px; margin-top:20px; }.deployment-confirm label { display:grid; gap:7px; font-weight:800; }.deployment-confirm input { min-height:48px; padding:11px 13px; border:1px solid #bdcec7; border-radius:9px; font:inherit; letter-spacing:.2em; }.deployment-confirm .primary-button { margin:0; }
.employee-order-link { display:inline-flex; align-self:flex-start; margin-top:14px; text-decoration:none; }.readonly-order-banner { display:flex; gap:10px 24px; align-items:center; margin:0 0 18px; padding:16px 20px; border:1px solid #75b69d; border-radius:12px; background:#e6f6ef; color:#075a40; }.readonly-order-banner span { color:#45665b; }.readonly-form { opacity:.72; }.readonly-form button { cursor:not-allowed; }
.application-footer { position:fixed; z-index:80; left:0; right:0; bottom:0; display:flex; justify-content:space-between; align-items:center; gap:18px; margin:0; padding:8px max(18px,calc((100vw - 1180px)/2)); border-top:1px solid var(--line); background:rgba(255,255,255,.96); box-shadow:0 -6px 20px #173d3112; backdrop-filter:blur(8px); color:var(--muted); font-size:.82rem; }.environment-version { padding:6px 10px; border-radius:999px; background:#e2f4ec; color:#076244; font-weight:850; letter-spacing:.03em; }.environment-version.work { background:#fee5e5; color:#a1271e; }
.page-shell { padding-bottom:70px; }
.login-version-footer { position:fixed; left:0; right:0; bottom:18px; display:flex; justify-content:center; pointer-events:none; }
.release-changelog { margin-bottom:20px; }.release-changelog-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }.release-changelog-heading h2 { margin-bottom:0; }.release-changelog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:22px; }.release-changelog-grid article { padding:20px; border:1px solid var(--line); border-radius:14px; background:#f7faf8; }.release-changelog-grid h3 { margin:0 0 12px; }.release-changelog-grid ul { margin:0; padding-left:20px; }.release-changelog-grid li+li { margin-top:8px; }
@media (max-width:800px) { .deployment-grid,.release-changelog-grid { grid-template-columns:1fr; }.release-changelog-heading { display:block; }.release-changelog-heading .state { display:inline-block; margin-top:12px; }.deployment-confirm { grid-column:auto; }.deployment-confirm form { grid-template-columns:1fr; } }
.photo-panel { margin-top: 24px; }
.photo-upload-form, .installation-photo-upload { display: grid; grid-template-columns: minmax(160px, .7fr) minmax(220px, 1.4fr) auto auto; gap: 12px; align-items: end; margin: 18px 0 24px; }
.photo-upload-form label, .installation-photo-upload label { display: grid; gap: 6px; font-weight: 700; }
.camera-button { min-height: 48px; padding: 12px 16px; border: 1px solid #07845f; border-radius: 10px; color: #006b4f; background: #effaf6; cursor: pointer; place-items: center; text-align: center; }
.camera-button input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; }
.photo-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; }
.photo-card { overflow: hidden; border: 1px solid #d7e0dc; border-radius: 14px; background: #fff; color: inherit; text-decoration: none; box-shadow: 0 8px 24px rgba(8, 52, 42, .07); }
.photo-card img { display: block; width: 100%; height: 170px; object-fit: cover; background: #eef3f1; }
.photo-card span { display: grid; gap: 4px; padding: 12px; }
.photo-card small { color: #63736e; }
.installation-photo-upload { grid-template-columns: minmax(200px, 1fr) auto auto; padding: 10px 0 16px; border-bottom: 1px solid #e2e9e6; }
@media (max-width: 800px) {
  .photo-upload-form, .installation-photo-upload { grid-template-columns: 1fr; }
  .photo-upload-form button, .installation-photo-upload button, .camera-button { width: 100%; min-height: 52px; }
  .photo-card img { height: 210px; }
}
.work-login-page .login-intro { border-top: 6px solid #c47b00; }
.work-login-page .login-card { border-top: 6px solid #c47b00; }
.work-environment-login { background:linear-gradient(125deg,#4b0b11 0%,#8b1c27 48%,var(--canvas) 48%); }
.work-environment-login .login-intro { background:transparent; }
.work-environment-login .brand-mark, .work-environment-login .primary-button { background:#b4232f; }
.work-environment-login .login-card { border-top:7px solid #b4232f; }
.work-environment-login .eyebrow, .work-environment-login .forgotten-link { color:#a01824; }
.work-environment-login .login-form input:focus { border-color:#b4232f; box-shadow:0 0 0 4px #b4232f22; }
.work-login-label { display:inline-block; margin:0 0 18px; padding:8px 14px; border:2px solid #fff; border-radius:8px; color:#fff; font-size:1.15rem; font-weight:950; letter-spacing:.12em; }
.order-tabs { position:sticky; top:0; z-index:8; display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin:0 0 22px; padding:10px; border:1px solid var(--line); border-radius:16px; background:#f4f7f5ee; backdrop-filter:blur(8px); }
.order-tabs button { min-height:68px; display:flex; align-items:center; justify-content:center; gap:9px; padding:10px; border:1px solid #cbd8d3; border-radius:11px; background:#fff; color:var(--brand-dark); font:inherit; font-weight:850; cursor:pointer; }
.order-tabs button b { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:#e5eeea; }
.order-tabs button.active { border-color:var(--brand); background:var(--accent); box-shadow:inset 0 -3px 0 var(--brand); }
.order-tabs button.active b { background:var(--brand); color:#fff; }
.order-tab-panel { min-height:360px; }
.order-tab-panel[hidden] { display:none!important; }
.signature-card { max-width:none; margin-top:20px; }
.signature-card>form>label { display:grid; max-width:520px; gap:6px; font-weight:750; }
.completion-card { padding:32px; border:2px solid #8fc9b4; border-radius:18px; background:#fff; }
.completion-checks { display:grid; gap:12px; margin:24px 0; }
.completion-checks>div { display:grid; grid-template-columns:42px 1fr; align-items:center; gap:14px; padding:16px; border:1px solid #e2b1ad; border-radius:12px; background:#fff5f4; }
.completion-checks b { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:#b63a31; color:#fff; }
.completion-checks span,.completion-checks strong { display:block; }
.completion-checks .done { border-color:#9fd2bf; background:#effaf5; }
.completion-checks .done b { background:var(--brand); }
.completion-button { width:100%; min-height:58px; font-size:1.05rem; }
.completion-outcome-form fieldset { display:grid; gap:12px; margin:22px 0; padding:0; border:0; }
.completion-outcome-form legend { margin-bottom:10px; font-size:1.1rem; font-weight:850; }
.outcome-option { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:14px; min-height:72px; padding:15px 18px; border:2px solid #ccd8d4; border-radius:13px; background:#f8faf9; cursor:pointer; }
.outcome-option:has(input:checked) { border-color:var(--brand); background:#e9f7f1; }
.outcome-option input { width:22px; height:22px; accent-color:var(--brand); }
.outcome-option span,.outcome-option strong { display:block; }
.completion-outcome-form textarea { width:100%; margin-top:7px; padding:12px; border:1px solid #cbd8d3; border-radius:10px; font:inherit; }
.priority-badge { display:inline-flex; min-width:38px; justify-content:center; padding:6px 9px; border-radius:999px; font-size:.78rem; font-weight:900; }
.priority-1 { background:#fde0dc; color:#92271f; }.priority-2 { background:#fff0bf; color:#735500; }.priority-3 { background:#e2eee9; color:#31574a; }
.employee-check-list ul { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:8px; margin:8px 0 0; padding:0; list-style:none; }
.employee-check-list label { display:flex; align-items:center; gap:10px; min-height:48px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:#f7f9f8; }
.employee-check-list input { width:20px; height:20px; accent-color:var(--brand); }
.team-order { border-top-color:#2f75b5; }.team-assignment { border-left:4px solid #2f75b5; }
.planning-scope-note { display:grid; max-width:290px; gap:3px; padding:9px 12px; border-radius:9px; background:#eef5f2; }.planning-scope-note span { color:var(--muted); font-size:.85rem; }
.billing-total td { border-top:2px solid var(--brand); font-size:1.05rem; }
@media print { header,.page-footer,.page-actions,.filter-card,.no-print { display:none!important; } body { background:#fff; } .data-panel { box-shadow:none; border:1px solid #bbb; } }
@media(max-width:850px){.order-tabs{display:flex;overflow-x:auto;position:static}.order-tabs button{min-width:150px}.order-tabs button span{white-space:nowrap}.completion-card{padding:20px}}
@media(max-width:800px){.work-environment-login{background:#72151e}}
.deployment-feedback {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  margin: 0 0 1.5rem;
  padding: 1rem 1.25rem;
  border: 2px solid #9fb3ad;
  border-radius: 14px;
  background: #fff;
}
.deployment-feedback div { display: grid; gap: .2rem; }
.deployment-feedback strong { font-size: 1.05rem; }
.deployment-feedback small { white-space: nowrap; color: #52645f; }
.deployment-feedback--queued,
.deployment-feedback--running { border-color: #d18a00; background: #fff6db; }
.deployment-feedback--complete { border-color: #07855f; background: #e4f7ef; }
.deployment-feedback--error { border-color: #b13c34; background: #fdebea; color: #7d211d; }
@media (max-width: 760px) {
  .deployment-feedback { align-items: flex-start; flex-direction: column; }
}
.tour-repair { margin: 1rem 0; padding: 1rem; border: 2px solid #d18a00; border-radius: 16px; background: #fff9e8; }
.tour-repair-heading, .repair-gap-summary, .repair-candidate, .repair-keep-form { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.tour-repair-heading h4 { margin: .15rem 0; font-size: 1.25rem; }
.tour-repair-heading p { margin: .25rem 0 0; }
.repair-gap { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #e4c878; }
.repair-gap-summary div, .repair-candidate div { display: grid; gap: .15rem; }
.repair-candidates { margin-top: .8rem; }
.repair-candidate { padding: .75rem; margin-top: .5rem; border: 1px solid #d7dfdc; border-radius: 10px; background: #fff; }
.repair-candidate > div:first-of-type { flex: 1; }
.repair-candidate button { min-height: 44px; }
.repair-keep-form { margin-top: .8rem; justify-content: flex-start; }
@media (max-width: 850px) {
  .tour-repair-heading, .repair-gap-summary, .repair-candidate, .repair-keep-form { align-items: stretch; flex-direction: column; }
}
.incoming-call{position:fixed;z-index:1000;right:24px;top:92px;width:min(460px,calc(100vw - 32px));display:flex;align-items:center;gap:18px;padding:18px 20px;background:#fff;border:3px solid #07865f;border-radius:16px;box-shadow:0 20px 55px rgba(8,45,32,.28)}
.incoming-call[hidden]{display:none}.incoming-call>div{display:grid;gap:3px;flex:1}.incoming-call-label{color:#07865f;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.incoming-call strong{font-size:1.15rem}.incoming-call-open{display:inline-flex;min-height:44px;align-items:center;padding:0 16px;border-radius:10px;background:#07865f;color:#fff;text-decoration:none;font-weight:800;white-space:nowrap}.incoming-call button{border:0;background:transparent;font-size:1.8rem;cursor:pointer;color:#52615b}
.incoming-call.claimed{border-color:#315f89;background:#f2f8fd}.incoming-call.claimed .incoming-call-label{color:#315f89}
.planning-progress{position:fixed;z-index:2000;inset:0;display:grid;place-items:center;padding:24px;background:rgba(19,35,31,.72);backdrop-filter:blur(4px)}.planning-progress[hidden]{display:none}.planning-progress-card{width:min(560px,100%);padding:38px;border-radius:20px;background:#fff;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.32)}.planning-progress-card h2{font-size:1.8rem}.planning-progress-card>p:not(.eyebrow){color:var(--muted);line-height:1.55}.planning-progress-card>strong{display:block;margin-top:20px;color:var(--brand-dark)}.planning-spinner{width:62px;height:62px;margin:0 auto 24px;border:7px solid #d9f4e9;border-top-color:var(--brand);border-radius:50%;animation:planning-spin .85s linear infinite}@keyframes planning-spin{to{transform:rotate(360deg)}}
.planning-selection-form{display:grid;grid-template-columns:1fr 1fr}.planning-selection-form>.planning-choice{grid-column:1/-1;width:100%;margin:4px 0;padding:16px;border:1px solid var(--line);border-radius:12px}.planning-choice legend{padding:0 7px;color:var(--brand-dark);font-weight:850}.planning-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.planning-check-grid label{display:flex;align-items:flex-start;gap:9px;min-height:48px;padding:11px;border:1px solid #cfdbd6;border-radius:9px;background:#fff;cursor:pointer}.planning-check-grid input{margin-top:3px;accent-color:var(--brand)}.planning-check-grid span,.planning-check-grid small{display:block}.planning-check-grid small{margin-top:3px;color:var(--muted);font-size:.72rem}.planning-check-grid label.disabled{background:#eef1ef;color:var(--muted);cursor:not-allowed}.planning-selection-form>.planning-scope-note{grid-column:1/-1}.planning-selection-form>button{grid-column:1/-1}@media(max-width:800px){.planning-selection-form,.planning-check-grid{grid-template-columns:1fr}.planning-selection-form>*{grid-column:1!important}}
