:root{--font-heading: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: Aptos, "Segoe UI Variable Text", "Segoe UI", Arial, sans-serif;--ink: #192129;--muted: #66717f;--line: #d9e0e7;--surface: #ffffff;--panel: #f6f8fa;--brand: #006eb6;--brand-strong: #004f86;--accent: #b7791f;--danger: #b42318;--ok: #15803d;--blue: #006eb6;--shadow: 0 12px 32px rgba(25, 33, 41, .08)}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:var(--font-body);background:#e7eef2;font-size:17px;line-height:1.5}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}.login-shell{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100vh;height:100dvh;overflow:hidden;display:grid;grid-template-columns:minmax(320px,.78fr) minmax(420px,1.22fr)}.login-panel{background:var(--surface);min-height:0;overflow:hidden;padding:clamp(22px,3.6vw,46px);display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--line)}.login-brand-logo{display:block;width:150px;max-width:50%;height:auto;margin:0 auto;object-fit:contain}.login-panel h1,.page-title h1{margin:16px 0 6px;font-size:clamp(29px,4.2vw,42px);letter-spacing:0;line-height:1.02}.login-panel p,.page-title p{color:var(--muted);margin:0;line-height:1.6}.login-form{margin-top:22px;display:grid;gap:12px}.auth-notice{margin-top:16px;padding:11px 13px;border:1px solid #bbf7d0;border-radius:6px;background:#f0fdf4;color:var(--ok);font-size:14px;font-weight:800}.auth-notice.auth-error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.auth-bottom-links{display:flex;justify-content:space-between;gap:16px;margin-top:14px}.auth-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--muted);font-size:14px}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--line)}.microsoft-sign-in{width:100%;min-height:46px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #8a8886;border-radius:3px;background:#fff;color:#1b1b1b;cursor:pointer;font-weight:700;transition:background .16s ease,box-shadow .16s ease,transform .16s ease}.microsoft-sign-in:hover{background:#f3f2f1;box-shadow:0 2px 8px #0000001f}.microsoft-sign-in:active{background:#e1dfdd;transform:translateY(1px)}.microsoft-sign-in:focus-visible{outline:3px solid rgba(0,120,212,.35);outline-offset:2px}.microsoft-mark{width:18px;height:18px;display:grid;grid-template-columns:repeat(2,1fr);gap:2px}.microsoft-mark i:nth-child(1){background:#f25022}.microsoft-mark i:nth-child(2){background:#7fba00}.microsoft-mark i:nth-child(3){background:#00a4ef}.microsoft-mark i:nth-child(4){background:#ffb900}.auth-bottom-links button,.auth-back-link{min-height:auto;padding:0;background:transparent;color:var(--brand);font-size:15px;font-weight:600;line-height:1.4}.auth-bottom-links button:hover,.auth-back-link:hover{color:var(--brand-strong);text-decoration:underline}h1,h2,h3,.brand,.stat b,.paper-logo,.certificate-logo{font-family:var(--font-heading)}.role-step{margin-top:22px;display:grid;gap:10px}label{display:grid;gap:7px;color:#334155;font-weight:700;font-size:15px}label small{color:var(--muted);font-size:13px;font-weight:500}input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:6px;min-height:46px;padding:11px 13px;color:var(--ink)}.password-input-wrap{position:relative;display:block}.password-input-wrap input{padding-right:48px}.password-toggle{position:absolute;top:50%;right:8px;width:34px;height:34px;display:grid;place-items:center;padding:0;border-radius:6px;background:transparent;color:var(--muted);transform:translateY(-50%)}.password-toggle:hover,.password-toggle:focus-visible{background:#eef4f8;color:var(--brand-strong)}.password-eye-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.password-eye-slash{stroke-width:2.4}textarea{min-height:88px;resize:vertical}.hero-art{position:relative;overflow:hidden;background:linear-gradient(#006eb6bd,#004f86d1),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='900' viewBox='0 0 1200 900'%3E%3Crect width='1200' height='900' fill='%23dcecf7'/%3E%3Cg fill='none' stroke='%238eb8d5' stroke-width='3'%3E%3Cpath d='M120 140h330v190H120zM520 120h420v135H520zM180 420h300v220H180zM600 375h410v260H600z'/%3E%3Cpath d='M450 235h70M730 255v120M480 530h120'/%3E%3C/g%3E%3Cg fill='%23ffffff' opacity='.82'%3E%3Crect x='160' y='180' width='210' height='18' rx='4'/%3E%3Crect x='160' y='220' width='250' height='14' rx='3'/%3E%3Crect x='560' y='158' width='300' height='18' rx='4'/%3E%3Crect x='560' y='196' width='250' height='14' rx='3'/%3E%3Crect x='220' y='470' width='210' height='18' rx='4'/%3E%3Crect x='220' y='512' width='170' height='14' rx='3'/%3E%3Crect x='650' y='430' width='300' height='18' rx='4'/%3E%3Crect x='650' y='470' width='220' height='14' rx='3'/%3E%3C/g%3E%3C/svg%3E");background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:clamp(28px,5vw,68px);color:#fff}.hero-art h2{max-width:720px;font-size:clamp(28px,4vw,56px);line-height:1.03;margin:0 0 12px}.hero-art p{max-width:640px;margin:0;color:#ffffffdb;line-height:1.6}.employee-welcome>span{display:inline-block;margin-bottom:14px;font-size:15px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.employee-welcome p{font-weight:700}@media(max-height:760px){.login-panel{padding:18px clamp(22px,3vw,36px)}.login-brand-logo{width:128px}.login-panel h1{margin-top:12px;font-size:clamp(26px,3.4vw,36px)}.login-form{margin-top:16px;gap:9px}.role-step{margin-top:16px}.auth-divider{margin:11px 0}input,select,textarea{min-height:40px;padding:8px 11px}.btn,.microsoft-sign-in{min-height:40px}}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;padding:18px;background:radial-gradient(circle at top right,rgba(0,110,182,.1),transparent 30%),#e7eef2}.sidebar{position:sticky;top:18px;height:calc(100dvh - 36px);overflow:hidden;background:#fff;color:var(--ink);padding:20px 16px;display:flex;flex-direction:column;gap:20px;border:1px solid rgba(15,40,65,.06);border-radius:8px;box-shadow:var(--shadow)}.sidebar .brand{display:flex;align-items:center;min-height:48px;padding:0 6px}.sidebar-brand-logo{display:block;width:175px;max-width:100%;height:auto;object-fit:contain}.user-box{display:flex;align-items:center;gap:11px;border:0;border-radius:8px;padding:12px;background:#edf6fc}.user-avatar{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--brand);color:#fff;font-size:14px;font-weight:900}.user-box span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.nav{display:grid;flex:1 1 auto;min-height:0;align-content:start;gap:8px;overflow-y:auto;padding-right:2px;scrollbar-gutter:stable}.nav button,.logout,.tour-launch{min-height:46px;display:flex;align-items:center;gap:10px;border-radius:8px;background:transparent;color:#536274;text-align:left;padding:10px;font-weight:700;white-space:nowrap}.nav button.active,.nav button:hover,.logout:hover,.tour-launch:hover{background:#e5f3fc;color:var(--brand-strong)}.nav-icon{width:30px;height:30px;display:inline-grid;flex:0 0 30px;place-items:center;border-radius:6px;background:#f4f7fa;color:currentColor}.nav-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.nav button.active .nav-icon,.nav button:hover .nav-icon,.logout:hover .nav-icon,.tour-launch:hover .nav-icon{background:#fff}.logout,.tour-launch{flex:0 0 auto;margin-top:0}.tour-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;pointer-events:none}.tour-spotlight{position:fixed;border:3px solid #38bdf8;border-radius:10px;box-shadow:0 0 0 9999px #020f1fb8,0 0 0 5px #38bdf838;transition:all .18s ease}.tour-card{position:fixed;width:min(360px,calc(100vw - 32px));padding:22px;border-radius:12px;background:#fff;color:#17202b;box-shadow:0 24px 70px #020f1f59;pointer-events:auto}.tour-card h2{margin:6px 0 8px;font-size:22px}.tour-card p{margin:0;color:#526174;line-height:1.55}.tour-count{color:#0574b9;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.tour-actions>div{display:flex;gap:8px}.tour-actions .btn{width:auto;padding:9px 15px}.tour-skip{border:0;background:transparent;color:#526174;font-weight:800}.main{padding:clamp(12px,2vw,26px);overflow:auto}.account-password-card{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,.55fr) minmax(160px,.55fr) auto;gap:12px;align-items:end;margin-bottom:18px;padding:16px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff}.account-password-card strong,.account-password-card span{display:block}.account-password-card strong{color:var(--brand-strong);font-size:18px}.account-password-card span{margin-top:4px;color:#475569;font-size:14px;line-height:1.4}.account-password-card label{gap:5px}.account-password-card input{min-height:42px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.dashboard-topbar{align-items:center}.dashboard-topbar .page-title h1{margin:5px 0 6px;font-size:clamp(30px,3vw,42px)}.eyebrow{color:var(--brand-strong);font-size:13px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.toolbar,.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:10px 17px;border-radius:12px;background:var(--brand);color:#fff;font-weight:800}.btn.secondary{background:#fff;color:var(--ink);border:1px solid #cfd9e2}.client-mode-actions{margin-bottom:2px}.btn.client-mode-button{background:#e0f2fe;border:1px solid #bae6fd;color:#075985}.btn.client-mode-button:hover,.btn.client-mode-button:focus-visible,.btn.client-mode-button.active{background:#bae6fd;border-color:#7dd3fc;color:#0c4a6e}.btn.warning{background:var(--accent)}.btn.danger{background:var(--danger)}.btn:disabled{opacity:.55;cursor:not-allowed}.stats{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;margin-bottom:20px}.stat,.panel,.card{background:var(--surface);border:0;border-radius:8px;box-shadow:var(--shadow)}.stat{position:relative;min-height:145px;display:flex;flex-direction:column;padding:20px;box-shadow:none;overflow:hidden}button.stat{border:1px solid transparent;color:var(--ink);cursor:pointer;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}button.stat.active{border-color:var(--brand);box-shadow:inset 0 0 0 2px var(--brand)}button.stat:hover,button.stat:focus-visible{border-color:var(--brand);box-shadow:inset 0 0 0 2px #006eb638;transform:translateY(-1px)}.stat:nth-child(1){background:#dceff7}.stat:nth-child(2){background:#ffe4e8}.stat:nth-child(3){background:#dff3e6}.stat:nth-child(4){background:#eee5f8}.dashboard-stats .stat,.report-stats .stat{background:#c7e5f1}.stat b{display:block;margin-top:auto;font-size:38px;line-height:1}.stat span{color:#344454;font-size:15px;font-weight:800}.stat .stat-icon{position:absolute;top:16px;right:16px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#ffffffc7;color:var(--ink);font-size:19px}.panel{padding:20px;margin-bottom:18px}.filters{display:grid;grid-template-columns:1.4fr repeat(3,minmax(150px,.6fr));gap:12px}.filter-heading{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.filter-heading strong{display:block;font-size:22px}.filter-heading span{display:block;margin-top:2px;color:var(--muted);font-size:14px}.filters input,.filters select{border-color:transparent;border-radius:12px;background:#f3f6f8}input:focus,select:focus,textarea:focus{outline:3px solid rgba(0,110,182,.14);border-color:var(--brand)}.table-wrap{overflow-x:auto;background:#fff;border:0;border-radius:8px;padding:8px;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:880px}th,td{padding:15px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:14px;color:#475569;background:#fff;text-transform:uppercase;letter-spacing:.04em}tbody tr{transition:background .16s ease}tbody tr:hover{background:#f6fafd}tr:last-child td{border-bottom:0}.status{display:inline-flex;align-items:center;min-height:30px;padding:5px 11px;border-radius:999px;background:#e5f2fa;color:var(--brand-strong);font-size:14px;font-weight:800;white-space:nowrap}.status.returned{background:#fff4e5;color:#92400e}.status.done{background:#dcfce7;color:var(--ok)}.status.draft{background:#f1f5f9;color:#475569}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}.form-grid .wide,.wide{grid-column:1 / -1}.items-list{display:grid;gap:10px}.readonly-equipment{margin-bottom:18px}.readonly-equipment .section-title{margin-bottom:8px}.readonly-equipment-list{display:grid;gap:10px}.readonly-equipment-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:12px;align-items:stretch;padding:10px;border:1px solid var(--line);border-radius:6px;background:#f8fafc}.readonly-equipment-main,.readonly-equipment-meta span{background:#fff;border:1px solid var(--line);border-radius:5px;padding:10px 12px}.readonly-equipment-main span,.readonly-equipment-meta b{display:block;color:var(--muted);font-size:14px;font-weight:700;margin-bottom:6px}.readonly-equipment-main strong{display:block;color:#17212b;font-size:16px;overflow-wrap:anywhere}.readonly-equipment-meta{display:grid;grid-template-columns:90px minmax(140px,1fr) minmax(140px,1fr);gap:10px}.readonly-equipment-meta span{color:#17212b;overflow-wrap:anywhere}.item-row{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(90px,.45fr) minmax(100px,.55fr) minmax(150px,1fr) minmax(150px,.9fr) minmax(110px,.65fr) auto;gap:8px;align-items:end}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:6px 0 14px}.section-title h2,.section-title h3{margin:0}.timeline{display:grid;gap:10px}.history-row{display:grid;grid-template-columns:170px 1fr;gap:12px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fbfcfd}.history-row time{color:var(--muted);font-size:14px}.summary-document{background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px}.summary-head{display:flex;justify-content:space-between;gap:24px;border-bottom:2px solid var(--ink);padding-bottom:16px;margin-bottom:18px}.empty{padding:26px;text-align:center;color:var(--muted)}.toast{position:fixed;right:18px;bottom:18px;background:#0b2239;color:#fff;padding:12px 14px;border-radius:6px;box-shadow:var(--shadow);z-index:20}@media(max-width:1180px){.stats{grid-template-columns:repeat(2,minmax(160px,1fr))}.filters{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media(max-width:900px){.login-shell,.app-shell{grid-template-columns:1fr}.login-shell{grid-template-rows:minmax(0,1fr) clamp(112px,24dvh,180px)}.login-panel{justify-content:center;padding:18px clamp(18px,5vw,32px)}.hero-art{min-height:0;align-items:center;padding:18px clamp(18px,5vw,32px)}.hero-art h2{margin-bottom:6px;font-size:clamp(22px,6vw,32px)}.employee-welcome>span{margin-bottom:6px;font-size:12px}.hero-art p{font-size:14px;line-height:1.35}.sidebar{position:static;height:auto;overflow:visible;z-index:10}.app-shell{gap:12px;padding:10px}.nav{overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr));padding-right:0}.logout{margin-top:0}.dashboard-topbar,.topbar{align-items:flex-start;flex-direction:column}.stats,.filters,.form-grid,.account-password-card,.role-step,.item-row,.readonly-equipment-row,.readonly-equipment-meta{grid-template-columns:1fr}}@media(max-width:900px)and (max-height:720px){.login-shell{grid-template-rows:minmax(0,1fr) 96px}.login-panel{padding-top:12px;padding-bottom:12px}.login-brand-logo{width:104px}.login-panel h1{margin:8px 0 4px;font-size:clamp(23px,5.2vw,30px)}.login-panel p,.hero-art p{font-size:13px;line-height:1.3}.login-form,.role-step{margin-top:10px}.hero-art h2{font-size:clamp(18px,5vw,24px)}}@media print{body{background:#fff}.sidebar,.topbar,.filters,.button-row,.no-print{display:none!important}.app-shell{display:block}.main{padding:0}.summary-document,.panel,.table-wrap{box-shadow:none;border-color:#111}}#root{min-height:100vh}.engineer-items-table table{min-width:720px}.engineer-items-table td input,.engineer-items-table td select{min-width:140px}.engineer-items-table td:first-child{width:64px}.items-list .item-row{grid-template-columns:minmax(220px,1.3fr) minmax(130px,.55fr) minmax(100px,.45fr) minmax(150px,.7fr) minmax(170px,.75fr)}.auto-total{display:grid;align-content:center;min-height:46px;padding:8px 13px;border:1px solid #b8d9eb;border-radius:6px;background:#f1f9fd}.auto-total span{color:#475569;font-size:13px;font-weight:700}.auto-total strong{color:var(--brand-strong);font-size:18px;font-variant-numeric:tabular-nums}.auto-total small{color:var(--muted);font-size:11px}.auto-total.compact{min-height:42px}.equipment-total-bar{display:flex;justify-content:flex-end;gap:24px;padding:12px 14px;border-top:2px solid var(--brand);background:#f1f9fd;color:var(--brand-strong);font-size:17px;font-variant-numeric:tabular-nums}.sales-total-bar{margin-bottom:16px;border-top-color:#005c9f;background:#e8f5fc}.confirmation-upload{display:grid;gap:.75rem;margin-top:1rem;padding:1rem;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc}.confirmation-upload img{display:block;max-width:min(100%,720px);max-height:420px;object-fit:contain;border:1px solid #dbe3ec;background:#fff}.paper-head>h2{text-align:center;white-space:nowrap}.printed-confirmation{margin-top:18px;text-align:center}.printed-confirmation img{width:100%;max-height:760px;object-fit:contain}.money-cell{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}@media(max-width:900px){.items-list .item-row{grid-template-columns:1fr}}.engineer-add-item,.engineer-table-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px}.engineer-table-footer{display:grid;grid-template-columns:1fr auto 1fr;justify-content:stretch;color:var(--muted);font-weight:700}.engineer-add-button{grid-column:3;justify-self:end}.engineer-pagination{grid-column:2;display:flex;align-items:center;justify-content:center;gap:8px}.pagination-arrow{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--brand-strong);border-radius:6px;background:var(--brand);color:#fff;font-size:28px;font-weight:900;line-height:1}.pagination-arrow:disabled{opacity:.45;cursor:not-allowed}.workflow-tracker{display:grid;gap:14px;padding:4px 0}.workflow-stages{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));align-items:start;min-width:0;overflow:visible;padding:2px 0}.workflow-step{position:relative;display:grid;min-width:0;justify-items:center;gap:5px;text-align:center;color:var(--muted)}.workflow-step:not(:last-child):after{position:absolute;top:17px;left:calc(50% + 24px);width:calc(100% - 48px);height:2px;background:var(--line);content:""}.workflow-icon{display:grid;z-index:1;width:36px;height:36px;place-items:center;border:2px solid currentColor;border-radius:50%;background:var(--panel);font-size:20px;font-weight:800;line-height:1}.workflow-step.completed{color:var(--ok)}.workflow-step.completed:not(:last-child):after{background:var(--ok)}.workflow-step.pending{color:var(--accent)}.workflow-step small{color:var(--muted);font-size:12px;font-weight:600}.table-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.dashboard-table-wrap .table-actions{display:grid;grid-template-columns:repeat(2,minmax(70px,max-content));justify-content:end;gap:6px}.table-actions .btn{min-height:38px;padding:7px 11px;border-radius:8px;white-space:nowrap;font-size:14px}.dashboard-table-wrap table{min-width:0;table-layout:fixed}.dashboard-table-wrap th,.dashboard-table-wrap td{vertical-align:middle}.dashboard-table-wrap th:nth-child(1),.dashboard-table-wrap td:nth-child(1){width:13%}.dashboard-table-wrap th:nth-child(2),.dashboard-table-wrap td:nth-child(2){width:17%}.dashboard-table-wrap th:nth-child(3),.dashboard-table-wrap td:nth-child(3){width:19%}.dashboard-table-wrap th:nth-child(4),.dashboard-table-wrap td:nth-child(4){width:17%}.dashboard-table-wrap th:nth-child(5),.dashboard-table-wrap td:nth-child(5){width:13%}.dashboard-table-wrap th:nth-child(6),.dashboard-table-wrap td:nth-child(6){width:19%}.dashboard-table-wrap td:nth-child(1) strong{overflow-wrap:anywhere}.dashboard-table-wrap small{display:block;margin-top:4px;color:var(--muted);line-height:1.35}@media(max-width:760px){.dashboard-table-wrap{overflow-x:hidden;padding:0;background:transparent;box-shadow:none}.dashboard-table-wrap table,.dashboard-table-wrap thead,.dashboard-table-wrap tbody,.dashboard-table-wrap tr,.dashboard-table-wrap th,.dashboard-table-wrap td{display:block;width:100%;min-width:0}.dashboard-table-wrap thead{display:none}.dashboard-table-wrap tr{margin-bottom:12px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.dashboard-table-wrap td{display:grid;grid-template-columns:minmax(86px,.35fr) minmax(0,1fr);gap:12px;align-items:start;padding:11px 13px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.dashboard-table-wrap td:before{content:attr(data-label);color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.dashboard-table-wrap td:last-child{border-bottom:0}.dashboard-table-wrap .table-actions{display:grid;grid-template-columns:repeat(2,minmax(68px,max-content));justify-content:end;align-items:stretch;gap:6px}.dashboard-table-wrap .table-actions .btn{width:auto;min-width:0;min-height:36px;padding:7px 9px;font-size:12px}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:18px;background:#0f172a7a}.workflow-modal{width:min(760px,100%);max-height:calc(100vh - 36px);overflow:hidden;padding:22px;border-radius:12px;background:#fff;box-shadow:0 24px 70px #020f1f59}.workflow-modal .section-title{align-items:flex-start}.workflow-modal p{margin:4px 0 0;color:var(--muted)}.report-tabs{display:inline-grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:5px;margin:0 0 18px;padding:5px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.report-tabs button{min-height:40px;border-radius:6px;background:transparent;color:#334155;font-weight:800}.report-tabs button.active{background:var(--brand);color:#fff}.report-metrics{grid-template-columns:repeat(4,minmax(150px,1fr))}.report-metrics .stat{min-height:128px;text-align:left;color:var(--ink);outline:0;cursor:pointer;border:1px solid transparent;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.report-metrics .stat.active{border-color:var(--brand);box-shadow:inset 0 0 0 2px var(--brand)}.report-metrics .stat:hover,.report-metrics .stat:focus-visible{border-color:var(--brand);box-shadow:inset 0 0 0 2px #006eb638;transform:translateY(-1px)}.compact-table{min-width:0}.reports-table,.status-breakdown-wrap table{min-width:0;table-layout:fixed}.reports-table-wrap small{display:block;margin-top:4px;color:var(--muted);line-height:1.35}.reports-table th,.reports-table td{padding:11px 9px;vertical-align:middle;overflow-wrap:anywhere}.reports-table th{font-size:12px}.reports-table th:nth-child(1),.reports-table td:nth-child(1){width:13%}.reports-table th:nth-child(2),.reports-table td:nth-child(2){width:15%}.reports-table th:nth-child(3),.reports-table td:nth-child(3){width:18%}.reports-table th:nth-child(4),.reports-table td:nth-child(4){width:15%}.reports-table th:nth-child(5),.reports-table td:nth-child(5){width:12%}.reports-table th:nth-child(6),.reports-table td:nth-child(6){width:12%}.reports-table th:nth-child(7),.reports-table td:nth-child(7){width:15%}@media(max-width:820px){.reports-table-wrap{overflow-x:hidden;padding:0;background:transparent;box-shadow:none}.reports-table,.reports-table thead,.reports-table tbody,.reports-table tr,.reports-table th,.reports-table td{display:block;width:100%;min-width:0}.reports-table thead{display:none}.reports-table tr{margin-bottom:12px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.reports-table td{display:grid;grid-template-columns:minmax(86px,.35fr) minmax(0,1fr);gap:12px;align-items:start;padding:11px 13px;border-bottom:1px solid var(--line)}.reports-table td:before{content:attr(data-label);color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.reports-table td:last-child{border-bottom:0}}.panel h2{margin-top:0}.panel fieldset{border:0;margin:0;min-width:0;padding:0}.final-documents{display:grid;gap:16px}.final-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px}.final-toolbar p{margin:4px 0 0;color:var(--muted)}.document-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(360px,1fr));gap:16px;align-items:start}.paper-form{background:#fff;border:1px solid #9aa4b2;border-radius:3px;padding:18px;min-height:720px;box-shadow:var(--shadow)}.paper-head{display:grid;grid-template-columns:1fr 1.4fr .8fr;gap:10px;align-items:center;border:2px solid #6b7280;padding:8px;margin-bottom:8px}.paper-head.stock{grid-template-columns:1fr 2fr;border:0}.paper-head.onboarding-head{grid-template-columns:auto minmax(0,1fr)}.onboarding-title{display:grid;justify-items:center;gap:4px;min-width:0}.onboarding-title h2{white-space:nowrap}.onboarding-title span{color:#66717f;font-size:14px}.paper-logo{color:#aab3bf;font-size:32px;font-weight:800}.paper-head h2{margin:0;text-transform:uppercase;text-decoration:underline;font-size:19px;letter-spacing:0}.paper-head span:last-child,.paper-head p{margin:0;font-size:14px;color:#66717f}.paper-form h3{margin:10px 0 0;padding:5px;text-align:center;border:1px solid #9aa4b2;background:#f8fafc;font-size:15px}.segmented-control{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%;max-width:980px;padding:6px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.segmented-control button{min-height:42px;padding:8px 10px;border-radius:6px;color:#334155;background:transparent;font-weight:800;line-height:1.2;text-align:center}.segmented-control button.active{background:var(--brand);color:#fff}.checkbox-field{align-self:end;min-height:46px;flex-direction:row;align-items:center;gap:9px}.checkbox-field input{width:19px;min-height:19px;accent-color:var(--brand)}.equipment-search{max-width:440px;margin-bottom:14px}.equipment-list-search{margin-top:8px}.equipment-list-search input[type=search]{width:100%}.field-help{color:var(--danger);font-weight:700}.field-guidance{color:var(--muted)}.client-filters{grid-template-columns:1fr}.client-directory-wrap{max-height:70vh}.client-directory-table{min-width:1550px}.client-directory-table th:first-child,.client-directory-table td:first-child{width:56px;text-align:center;font-variant-numeric:tabular-nums}.client-directory-table td{vertical-align:top;white-space:pre-wrap}.location-picker{position:relative}.form-grid>label:has(.client-picker-options){position:relative}.client-picker-options{position:absolute;top:calc(100% - 2px);left:0;z-index:35;display:grid;width:100%;max-height:290px;overflow-y:auto;padding:5px;border:1px solid var(--line);border-radius:0 0 8px 8px;background:#fff;box-shadow:var(--shadow)}.client-picker-option{display:grid;gap:3px;width:100%;padding:9px 10px;border:0;border-radius:5px;background:transparent;color:var(--ink);text-align:left}.client-picker-option:hover,.client-picker-option:focus-visible{background:#e8f3fa;color:var(--brand-strong)}.client-picker-option small,.client-picker-empty{color:var(--muted);overflow-wrap:anywhere}.client-picker-empty{padding:10px}.phone-input-wrap{display:grid;grid-template-columns:minmax(112px,auto) minmax(0,1fr)}.country-code-picker{position:relative;min-width:112px}.country-code-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;padding:9px 11px;border:1px solid var(--line);border-right:0;border-radius:6px 0 0 6px;background:#fff;color:var(--ink);font-weight:800}.country-code-button:after{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #66717f}.country-flag{width:28px;height:20px;flex:0 0 28px;border:1px solid rgba(15,23,42,.16);border-radius:3px;object-fit:cover}.country-code-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;display:grid;grid-template-columns:repeat(2,minmax(92px,1fr));gap:4px;width:min(260px,72vw);max-height:280px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.country-code-menu button{display:flex;align-items:center;gap:8px;min-height:38px;padding:7px 8px;border-radius:6px;background:transparent;color:var(--ink);font-weight:800}.country-code-menu button.active,.country-code-menu button:hover,.country-code-menu button:focus-visible{background:#e8f3fa;color:var(--brand-strong)}.country-code-picker,.phone-input-wrap input{min-width:0}.phone-input-wrap input{border-radius:0 6px 6px 0}.location-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:start}.location-action-buttons{display:flex;gap:9px}.location-action-buttons .btn{min-width:78px;white-space:nowrap}.location-geolocation-error{display:block;margin-top:7px}.location-combobox{position:relative}.location-combobox input{width:100%;padding-left:42px;padding-right:42px}.location-search-icon{position:absolute;z-index:1;left:14px;top:50%;translate:0 -50%;color:#536579;font-size:24px;line-height:1;pointer-events:none}.location-clear{position:absolute;z-index:3;right:12px;top:50%;translate:0 -50%;padding:2px 4px;color:#536579;font-size:25px;line-height:1}.location-clear:hover{color:var(--brand-strong)}.location-suggestions{position:absolute;z-index:20;top:calc(100% + 5px);right:0;left:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 14px 35px #162b3a2e}.location-suggestions button{display:block;width:100%;padding:10px 14px;border:0;border-bottom:1px solid #edf1f4;border-radius:0;background:#fff;text-align:left}.location-suggestions button:hover,.location-suggestions button.active{background:#cce7f5}.location-suggestions span,.location-suggestions small{display:block}.location-suggestions small{overflow:hidden;margin-top:3px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.location-message,.location-attribution{padding:12px 14px;color:var(--muted);font-size:13px}.location-attribution{padding-block:8px;border-top:1px solid #edf1f4;background:#f8fafc;font-size:11px;text-align:right}.location-attribution a{color:var(--brand-strong)}.location-spinner{display:inline-block;width:13px;height:13px;margin-right:8px;border:2px solid #bdd3df;border-top-color:var(--brand);border-radius:50%;vertical-align:-2px;animation:location-spin .7s linear infinite}@keyframes location-spin{to{rotate:360deg}}.location-chips{display:grid;gap:7px;margin-top:10px}.location-chips>span{display:flex;align-items:center;justify-content:space-between;gap:7px;width:100%;min-height:56px;padding:10px 14px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-weight:700}.location-chip-name{min-width:0;overflow-wrap:anywhere}.location-chips button{flex:0 0 auto;padding:2px 6px;border-radius:4px;background:#eef3f7;color:inherit;font-size:18px;line-height:1}@media(max-width:720px){.segmented-control{grid-template-columns:1fr}.phone-input-wrap{grid-template-columns:minmax(88px,.34fr) minmax(0,1fr)}.country-code-button{border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:6px 0 0 6px}.country-code-menu{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.phone-input-wrap input{border-radius:0 6px 6px 0}.location-input-row{grid-template-columns:1fr}.location-action-buttons{display:grid;grid-template-columns:1fr 1fr}.location-action-buttons .btn{width:100%}}.store-equipment-table,.stock-items-table{min-width:600px}.store-equipment-table th,.store-equipment-table td,.stock-items-table th,.stock-items-table td{vertical-align:middle}.stock-items-table{min-width:0;table-layout:fixed}.stock-items-table input{min-width:0;min-height:36px;padding:7px 8px;font-size:13px}.stock-items-table th,.stock-items-table td{padding:8px 7px}.stock-items-table th{font-size:12px;line-height:1.2}.stock-items-table th:nth-child(1),.stock-items-table td:nth-child(1){width:24%}.stock-items-table th:nth-child(2),.stock-items-table td:nth-child(2),.stock-items-table th:nth-child(3),.stock-items-table td:nth-child(3){width:10%}.stock-items-table th:nth-child(4),.stock-items-table td:nth-child(4){width:14%}.stock-items-table th:nth-child(5),.stock-items-table td:nth-child(5){width:18%}.stock-items-table th:nth-child(6),.stock-items-table td:nth-child(6),.stock-items-table th:nth-child(7),.stock-items-table td:nth-child(7){width:12%}.readonly-value{display:flex;align-items:center;min-height:42px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:#f8fafc;color:var(--ink);font-weight:700}.check-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;border:1px solid #9aa4b2;border-top:0;padding:8px;font-size:14px}.paper-check{display:inline-flex;align-items:center;gap:6px}.checked-box,.empty-box{display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid #7b8490;color:var(--brand);font-weight:900}.paper-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-left:1px solid #9aa4b2}.paper-fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.paper-field{min-height:44px;border-right:1px solid #9aa4b2;border-bottom:1px solid #9aa4b2;padding:6px}.paper-field span{display:block;color:#66717f;font-size:13px}.paper-field strong{display:block;margin-top:4px;font-size:14px;font-weight:700;overflow-wrap:break-word;word-break:normal}.paper-table{min-width:0;border:1px solid #7b8490;font-size:13px}.paper-table th,.paper-table td{padding:7px;border:1px solid #9aa4b2}.narration{min-height:94px;border:1px solid #9aa4b2;border-top:0;padding:8px}.narration p{text-align:center;font-size:18px;margin:18px 0 0}.signature-grid{display:grid;gap:12px;margin-top:18px}.signature-row{display:grid;grid-template-columns:105px minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);align-items:baseline;gap:10px;padding:0;border:0;white-space:normal;font-size:11px}.signature-row>strong{min-width:0}.signature-row span,.signature-row b{border:0;padding:0;background:transparent}.client-delivery{color:#1f2937}.client-summary-head{display:flex;justify-content:space-between;gap:16px;border-bottom:2px solid #9aa4b2;padding-bottom:8px;margin-bottom:8px}.company-address{text-align:right;font-size:13px;line-height:1.4}.summary-meta-grid{display:grid;grid-template-columns:120px 1fr;border-top:1px solid #7b8490;border-left:1px solid #7b8490;margin-bottom:18px}.summary-meta-grid .paper-field,.summary-meta-grid label{min-height:34px;border-right:1px solid #7b8490;border-bottom:1px solid #7b8490;padding:5px 8px}.summary-meta-grid label{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:8px;font-size:14px;color:#66717f}.summary-meta-grid input,.delivery-table input,.signature-pair input{min-height:30px;padding:5px 7px;border-radius:3px}.client-delivery h3{text-align:center;font-size:15px;font-weight:600;margin:18px 0 6px}.delivery-table{min-width:880px}.delivery-table th,.delivery-table td{border:1px solid #7b8490;padding:7px}.delivery-table td:nth-child(6),.delivery-table td:nth-child(7){text-align:right}.delivery-table .summary-total-row td:last-child{text-align:right;font-variant-numeric:tabular-nums}.delivery-table .grand-total-row td{font-weight:800}.terms-box{margin-top:16px;display:grid;gap:7px}.terms-box textarea,.terms-box p{min-height:110px;font-size:14px;line-height:1.5}.terms-box p{margin:0;padding:10px;border:1px solid #9aa4b2;white-space:pre-line}.signature-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px;margin:22px 0}.signature-pair label,.signature-pair .paper-field{border-bottom:1px solid #7b8490;padding-bottom:22px}.certificate-form{max-width:820px;margin:0 auto;min-height:980px;padding:38px 42px}.certificate-logo{color:#b8c1cc;font-size:34px;font-weight:800;text-align:right;margin-bottom:48px}.certificate-meta{display:flex;justify-content:space-between;gap:18px;font-size:14px;margin-bottom:28px}.certificate-form h2{margin:0 0 28px;text-align:center;text-transform:uppercase;color:#7b8490;font-size:17px}.certificate-intro{max-width:680px;margin:0 auto 30px;text-align:center;color:#7b8490;font-weight:700;line-height:1.5}.certificate-form h3{text-align:left;border:0;background:transparent;padding:0;margin-top:28px;color:#7b8490;text-transform:uppercase}.certificate-signoff{display:grid;gap:12px;max-width:360px;margin-top:28px;color:#7b8490}.store-print-actions,.section-print-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin:-4px 0 18px}.store-print-actions{grid-column:1 / -1}.section-print-actions{margin-top:10px}.store-print-actions .btn.secondary,.section-print-actions .btn.secondary{border-color:var(--brand);background:var(--brand);color:#fff}.store-print-actions .btn.secondary:hover,.section-print-actions .btn.secondary:hover{background:var(--brand)}.field-error{display:block;margin-top:6px;color:#b91c1c;font-size:12px;font-weight:700}.print-only-document{position:fixed;left:-10000px;top:0;width:210mm;height:0;overflow:hidden;pointer-events:none}.print-root{display:none}@media(max-width:1100px){.segmented-control{grid-template-columns:repeat(3,minmax(130px,1fr))}.report-metrics{grid-template-columns:repeat(2,minmax(160px,1fr))}.document-preview-grid{grid-template-columns:1fr}.final-toolbar{align-items:flex-start;flex-direction:column}.signature-pair{grid-template-columns:1fr;gap:18px}}@media print{.no-print{display:none!important}.onboarding-form{min-height:0}.onboarding-form h3{margin-top:5px;padding:3px;font-size:12px}.onboarding-form .paper-field{min-height:34px;padding:4px}.onboarding-form .paper-field span,.onboarding-form .paper-field strong{font-size:10px}.printed-confirmation{break-before:page;page-break-before:always}@page{size:A4 portrait;margin:9mm}.final-toolbar,.sidebar,.topbar{display:none!important}.document-preview-grid{grid-template-columns:1fr}.paper-form{box-shadow:none;page-break-after:always;min-height:auto}body.printing-document .app-shell{display:none!important}body.printing-document .print-root{display:block!important;position:absolute;inset:0 auto auto 0;padding:0;margin:0;background:#fff}body.printing-document .print-root .print-root-document{display:block!important;position:static;height:auto;overflow:visible;pointer-events:auto;width:100%;margin:0;padding:12mm;border:0;border-radius:0;box-shadow:none;break-before:auto;break-after:auto;page-break-before:auto;page-break-after:auto}body.printing-document .print-root .print-root-document:not(:last-child){break-after:page;page-break-after:always}body.printing-summary .app-shell,body.printing-summary .main{display:block;margin:0;padding:0;background:#fff}body.printing-summary .main>*{display:none!important}body.printing-summary .main>.summary-document.print-target{display:block!important;width:100%;margin:0;padding:2mm;border:0;border-radius:0;box-shadow:none;font-size:16.5px}body.printing-summary .client-summary-head{margin-bottom:7px;padding-bottom:7px}body.printing-summary .paper-logo{font-size:30px}body.printing-summary .company-address{font-size:10px;line-height:1.35}body.printing-summary .summary-meta-grid{grid-template-columns:108px 1fr;margin-bottom:12px}body.printing-summary .summary-meta-grid .paper-field,body.printing-summary .summary-meta-grid label{min-height:29px;padding:3px 6px;font-size:10px}body.printing-summary .summary-meta-grid label{grid-template-columns:108px 1fr;gap:6px}body.printing-summary .client-delivery h3{margin:12px 0 6px;font-size:13px}body.printing-summary .table-wrap{overflow:visible}body.printing-summary .delivery-table{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse;font-size:11px;line-height:1.3}body.printing-summary .delivery-table th,body.printing-summary .delivery-table td{padding:7.5px 9px;overflow-wrap:anywhere}body.printing-summary .terms-box{margin-top:12px;gap:5px;font-size:10px}body.printing-summary .terms-box textarea,body.printing-summary .terms-box p{min-height:58px;margin:0;padding:6px;font-size:9px;line-height:1.35}body.printing-summary .signature-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:14px 0 0}body.printing-summary .signature-pair label,body.printing-summary .signature-pair .paper-field{padding-bottom:14px;font-size:10px}}
