/* RepairFlow Hybrid Professional UI — workspace shell + Excel/Airtable data UX */
:root{
  --rf-rail:54px;
  --rf-sidebar:222px;
  --rf-shell:276px;
  --rf-topbar:58px;
  --primary:#1473e6;
  --primary-hover:#0f5fc2;
  --background:#f6f8fb;
  --surface:#ffffff;
  --border:#e3e8ef;
  --text:#172033;
  --text-muted:#697386;
  --gray-50:#f7f9fc;
  --gray-100:#f1f4f8;
  --gray-200:#e6eaf0;
  --gray-300:#d6dce5;
  --gray-600:#667085;
  --gray-700:#475467;
  --gray-800:#344054;
  --gray-950:#101828;
  --blue-50:#f2f7ff;
  --blue-100:#e1edff;
  --blue-500:#2f80ed;
  --blue-600:#1473e6;
  --green:#159455;
  --green-bg:#eaf8f1;
  --red:#d92d20;
  --red-bg:#fff0ee;
  --amber:#d97706;
  --shadow:0 1px 2px rgba(16,24,40,.035),0 2px 8px rgba(16,24,40,.025);
  --shadow-lg:0 20px 46px rgba(16,24,40,.16);
  --radius:12px;
  --topbar:var(--rf-topbar);
}
html{background:var(--background)}
body{background:var(--background);color:var(--text);font-size:13px;letter-spacing:-.005em}
body:not(.auth-body){min-width:320px}
.ui-icon{width:17px;height:17px}

/* Two-level workspace shell inspired by project tools, kept compact for data-heavy work. */
.workspace-rail{position:fixed;z-index:45;inset:0 auto 0 0;width:var(--rf-rail);display:flex;flex-direction:column;align-items:center;padding:8px 7px;background:#101828;border-right:1px solid #1d2939;color:#98a2b3}
.rail-brand{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;margin-bottom:16px;background:linear-gradient(145deg,#218cff,#0b63d1);color:#fff;box-shadow:0 7px 20px rgba(20,115,230,.28)}
.rail-brand span{font-weight:900;font-size:13px;letter-spacing:-.04em}
.rail-links,.rail-bottom{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}
.rail-links{flex:1}
.rail-bottom{margin-top:auto}
.rail-links>a,.rail-bottom>a{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;color:#98a2b3;transition:.16s ease}
.rail-links>a:hover,.rail-bottom>a:hover{background:#1d2939;color:#fff}
.rail-links>a.active,.rail-bottom>a.active{background:#344054;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.rail-links>a.active:before,.rail-bottom>a.active:before{content:"";position:absolute;left:-7px;width:3px;height:20px;border-radius:0 5px 5px 0;background:#53a3ff}
.rail-bottom>a b{position:absolute;right:-2px;top:-2px;min-width:16px;height:16px;padding:0 4px;display:grid;place-items:center;border:2px solid #101828;border-radius:12px;background:#f04438;color:white;font-size:8px}
.rail-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;margin:7px 0 2px;background:#f2f4f7;color:#344054;font-size:11px;font-weight:800}

.sidebar{left:var(--rf-rail);width:var(--rf-sidebar);padding:14px 12px 12px;background:#fff;color:#475467;border-right:1px solid var(--border);box-shadow:none}
.sidebar-workspace-label{padding:1px 9px 8px;color:#98a2b3;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.brand{min-height:52px;gap:9px;padding:6px 8px 12px;margin-bottom:5px;border-bottom:1px solid #eef1f5}
.brand-mark{width:34px;height:34px;border-radius:9px;box-shadow:none;font-size:11px}
.brand strong{color:#1d2939;font-size:14px;letter-spacing:-.02em}.brand small{color:#98a2b3;font-size:9px;margin-top:1px}.workspace-chevron{margin-left:auto;color:#98a2b3;font-size:16px}
.side-nav{gap:2px;overflow-y:auto;padding-right:2px}
.side-nav::-webkit-scrollbar{width:4px}.side-nav::-webkit-scrollbar-thumb{background:#e4e7ec;border-radius:8px}
.nav-label{padding:15px 9px 5px;color:#98a2b3;font-size:9px;letter-spacing:.1em}
.side-nav a{gap:9px;min-height:38px;padding:8px 9px;border-radius:8px;color:#475467;font-size:12px;font-weight:650}
.side-nav a>span{width:auto;font-size:inherit;text-align:left}.side-nav a .ui-icon{width:16px;height:16px;color:#667085;flex:none}
.side-nav a:hover{background:#f6f8fb;color:#1d2939}.side-nav a.active{background:#eaf3ff;color:#175cd3;box-shadow:none}.side-nav a.active .ui-icon{color:#1473e6}
.nav-badge{background:#f04438;color:white;font-size:8px;min-width:18px;text-align:center}
.sidebar-user{border-top:1px solid #eef1f5;padding:12px 8px 1px;color:#344054}.sidebar-user strong{color:#344054}.sidebar-user small{color:#98a2b3}.sidebar-user .avatar{width:30px;height:30px}

.main-area{width:calc(100% - var(--rf-shell));margin-left:var(--rf-shell);min-width:0}
.topbar{height:var(--rf-topbar);padding:0 20px;gap:12px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--border);box-shadow:0 1px 0 rgba(16,24,40,.02)}
.topbar-context{display:flex;align-items:center;gap:6px;white-space:nowrap;color:#98a2b3;font-size:11px}.topbar-context b{color:#344054;font-size:12px}.topbar-context span{color:#d0d5dd}.topbar-context small{font-size:10px}
.global-search{margin-left:auto;margin-right:auto;width:min(500px,42vw);height:36px;padding:0 12px;border:1px solid #e4e7ec;border-radius:18px;background:#f7f8fa;color:#98a2b3}
.global-search input{min-height:0;height:34px;margin:0;padding:0;font-size:12px}
.topbar-date-selector{display:none}
.top-actions{margin-left:0;gap:6px}.icon-button{width:34px;height:34px;border-color:transparent;border-radius:8px;background:transparent;color:#667085}.icon-button:hover{background:#f2f4f7;color:#344054}.quick-scan{min-height:34px;padding:7px 10px;border:1px solid #d0d5dd;border-radius:8px;color:#344054;background:#fff;font-size:11px;font-weight:700}.quick-scan:hover{background:#f9fafb;border-color:#98a2b3}.user-menu summary{gap:6px}.user-menu summary .avatar{width:30px;height:30px}.user-identity{display:none}.user-menu[open] form{top:38px;border-radius:9px}
.content{max-width:none;padding:22px 24px 34px}


/* Desktop sidebar can collapse without sacrificing the quick-access rail. */
body.sidebar-collapsed{--rf-sidebar:68px;--rf-shell:122px}
body.sidebar-collapsed .sidebar{padding-left:8px;padding-right:8px}
body.sidebar-collapsed .sidebar-workspace-label,body.sidebar-collapsed .brand>span:not(.brand-mark),body.sidebar-collapsed .nav-label,body.sidebar-collapsed .side-nav a>span,body.sidebar-collapsed .sidebar-user>span:last-child,body.sidebar-collapsed .nav-badge{display:none}
body.sidebar-collapsed .brand,body.sidebar-collapsed .side-nav a,body.sidebar-collapsed .sidebar-user{justify-content:center}
body.sidebar-collapsed .brand{padding-left:0;padding-right:0}
body.sidebar-collapsed .side-nav a{padding-left:8px;padding-right:8px}
body.sidebar-collapsed .side-nav a .ui-icon{width:18px;height:18px}
body.sidebar-collapsed .topbar-context{display:flex}

/* Page hierarchy */
.page-heading{margin-bottom:17px}.page-heading.split{align-items:center}.eyebrow{margin-bottom:5px;color:#1473e6;font-size:9px;letter-spacing:.105em}.page-heading h1{margin:0 0 4px;font-size:23px;letter-spacing:-.035em;color:#101828}.page-heading p{font-size:12px;color:#667085}.breadcrumb{margin-bottom:6px;color:#98a2b3}.breadcrumb a{color:#475467}
.button{min-height:36px;padding:7px 12px;border-radius:8px;font-size:11px;font-weight:750;box-shadow:none;transition:background .13s,border-color .13s,color .13s,transform .13s}.button:hover{transform:none;box-shadow:none}.button.primary{background:#1473e6}.button.primary:hover{background:#0f63c9}.button.secondary{background:#fff;border-color:#d0d5dd;color:#344054}.button.secondary:hover{background:#f9fafb}.button.ghost{background:#f2f7ff;color:#175cd3}.button.success{background:#159455}.button.danger-outline{background:#fff}

/* Cards / dashboard */
.panel{border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);margin-bottom:16px}.panel-head{padding:14px 16px}.panel-head h2{font-size:14px;color:#1d2939}.panel-head p{font-size:10px}
.kpi-grid{gap:10px;margin-bottom:16px}.kpi-card{min-height:94px;padding:13px 14px;border-color:#e4e7ec;border-radius:11px;box-shadow:none;transition:border-color .13s,box-shadow .13s}.kpi-card:hover{border-color:#cfd7e3;box-shadow:0 4px 16px rgba(16,24,40,.05)}.kpi-card>span{font-size:10px}.kpi-card>strong{font-size:24px;margin:7px 0 2px}.kpi-card>small{font-size:9px}.kpi-icon{width:28px;height:28px;border-radius:8px}.dashboard-grid{gap:16px}.chart{min-height:285px;padding:16px}.chart svg{height:250px}.dashboard-filter-panel{padding:12px 14px!important}.dashboard-filters{gap:8px!important}

/* Excel/Airtable-inspired tables */
.table-panel{overflow:hidden}.table-summary{padding:9px 13px;background:#fbfcfe;font-size:10px}
.table-wrap{border-radius:0;scrollbar-color:#cdd5df transparent;scrollbar-width:thin}.table-wrap table{border-collapse:separate;border-spacing:0;font-size:11px}.table-wrap th{height:36px;padding:8px 11px;background:#f8fafc;color:#667085;border-right:1px solid #e8ecf1;border-bottom:1px solid #dfe4ea;font-size:9px;letter-spacing:.035em;text-transform:none;position:sticky;top:0;z-index:2}.table-wrap th:last-child{border-right:0}.table-wrap td{height:42px;padding:8px 11px;color:#344054;border-right:1px solid #edf0f3;border-bottom:1px solid #edf0f3}.table-wrap td:last-child{border-right:0}.table-wrap tbody tr:hover td{background:#f7fbff}.table-wrap tbody tr:focus-within td{background:#f3f8ff}.click-row{transition:background .1s}.responsive-cards .row-actions-menu{border-color:#e4e7ec;box-shadow:var(--shadow-lg)}
.badge,.severity-pill{border-radius:999px;font-size:9px;font-weight:750;padding:4px 8px;white-space:nowrap}
.pagination{padding:10px}.pagination a{width:30px;height:30px;border-radius:7px}

/* Forms feel like modern project tools rather than oversized cards. */
label{font-size:10px;color:#475467}.form-grid{gap:12px;margin-bottom:13px}input,select,textarea{min-height:38px;margin-top:5px;padding:8px 10px;border-color:#d0d5dd;border-radius:7px;color:#344054;font-size:11px;background:#fff}input:hover,select:hover,textarea:hover{border-color:#b8c1cc}input:focus,select:focus,textarea:focus{border-color:#84adf7;box-shadow:0 0 0 3px rgba(47,128,237,.1)}textarea{line-height:1.45}.helper-box{border-color:#d8dee7;border-radius:8px;background:#fafbfc}.attachment-picker{border-radius:10px;background:#fafcff}

/* Details / analysis */
.detail-layout,.analysis-layout{gap:16px}.detail-kpis{gap:10px}.detail-kpis article{border-radius:10px;border-color:#e4e7ec}.info-grid{padding:16px;gap:16px}.analysis-product-strip{border-radius:10px!important;overflow:hidden}.form-section{padding:18px!important}.section-title{margin-bottom:15px!important}.section-title>span{border-radius:8px!important}.sticky-summary{top:76px!important}.analysis-action-bar{border-color:#e4e7ec!important;border-radius:11px!important;box-shadow:0 12px 28px rgba(16,24,40,.09)!important}.repair-stepper{border-radius:10px!important}.repair-stepper span{font-size:10px!important}

/* Summary, department and admin screens */
.summary-tabs,.admin-tabs>nav{border-bottom-color:#e4e7ec!important}.summary-tabs a,.admin-tabs>nav button{font-size:11px!important}.summary-filter,.master-filter{box-shadow:none}.summary-kpi{border-radius:11px!important;box-shadow:none!important}.summary-chart-grid{gap:16px!important}.department-grid{gap:16px!important}.metric-list article,.metric-list>div{border-color:#edf0f3!important}.admin-layout{gap:16px}.admin-form{padding:16px}.master-actions-menu{box-shadow:var(--shadow-lg)!important}

/* Notifications */
.notification-overview{padding-bottom:5px}.notification-item{border-bottom-color:#edf0f3!important}.notification-item.unread{background:#f6faff!important}.notification-icon{border-radius:9px!important}

/* Repair intake spreadsheet: strongest Excel-like treatment. */
.repair-sheet{margin:0 0 24px;border-radius:11px;box-shadow:none}.repair-sheet-toolbar{grid-template-columns:auto minmax(300px,1fr) auto;padding:10px 12px;background:#fff}.repair-sheet-title h1{font-size:17px}.repair-sheet-title span{font-size:9px}.repair-sheet-search input,.repair-sheet-search .button,.repair-camera-button,.repair-sheet-actions .button{height:34px;min-height:34px}.repair-grid-scroll{max-height:calc(100vh - 128px);border-top:0;background:#fff}.repair-quick-grid{font-size:10px}.repair-quick-grid th{height:34px;padding:6px 7px;background:#f7f8fa;color:#475467;border-color:#dde3ea;font-size:9px}.repair-quick-grid td{height:48px;padding:4px 5px;border-color:#e8edf2}.repair-quick-grid tr:nth-child(even) td{background:#fff}.repair-quick-grid tr:hover td:not(.repair-grid-row-action){background:#f8fbff}.repair-grid-cell-input,.repair-grid-cell-select,.repair-grid-picker-summary{height:28px;min-height:28px;font-size:10px}.repair-grid-cell-input:focus,.repair-grid-cell-select:focus,.repair-grid-picker[open] .repair-grid-picker-summary{border-color:#1473e6;box-shadow:0 0 0 1px #1473e6}.repair-grid-photo{width:34px;height:34px}.repair-grid-delete-row{color:#98a2b3}

/* Login: professional, restrained, product-first. */
.auth-body{background:#f5f7fb}.login-page{min-height:100vh;background:#f5f7fb}.login-visual{background:linear-gradient(155deg,#0f2742 0%,#103b66 55%,#1266aa 100%)!important}.login-card{border:1px solid #e4e7ec!important;border-radius:16px!important;box-shadow:0 24px 54px rgba(16,24,40,.12)!important}.login-panel{background:#f7f9fc!important}

/* Dialogs */
dialog{border-radius:14px!important}.scanner-dialog,.audio-settings-dialog,.ai-proposal-dialog,.repair-grid-preview{box-shadow:0 28px 72px rgba(16,24,40,.24)!important}

/* Responsive shell */
@media(max-width:1180px){
  :root{--rf-sidebar:205px;--rf-shell:259px}
  .topbar-context{display:none}.content{padding:20px}.global-search{width:min(420px,43vw)}
}
@media(max-width:900px){
  :root{--rf-shell:0px}
  body.sidebar-collapsed{--rf-shell:0px}
  body.sidebar-collapsed .sidebar{width:230px}
  body.sidebar-collapsed .sidebar-workspace-label,body.sidebar-collapsed .brand>span:not(.brand-mark),body.sidebar-collapsed .nav-label,body.sidebar-collapsed .side-nav a>span,body.sidebar-collapsed .sidebar-user>span:last-child,body.sidebar-collapsed .nav-badge{display:initial}
  body.sidebar-collapsed .brand,body.sidebar-collapsed .side-nav a,body.sidebar-collapsed .sidebar-user{justify-content:flex-start}
  .workspace-rail{display:none}.sidebar{left:-250px;width:230px;z-index:50}.sidebar.open{left:0}.sidebar-scrim{display:none;position:fixed;inset:0;z-index:49;border:0;background:rgba(16,24,40,.48)}.app-shell:has(.sidebar.open)+.sidebar-scrim{display:block}.main-area{width:100%;margin-left:0}.menu-button{display:inline-grid}.topbar{padding:0 12px}.global-search{margin:0;width:min(100%,520px)}.content{padding:16px 14px 88px}.user-menu{display:none}
  .page-heading.split{align-items:flex-start;flex-direction:column}.page-heading.split .button-row,.page-heading.split .heading-actions{width:100%}
}
@media(max-width:600px){
  .top-actions .quick-scan{display:none}.topbar{gap:7px}.content{padding:13px 10px 84px}.page-heading h1{font-size:21px}.panel{border-radius:10px}.form-section{padding:14px!important}.repair-sheet-toolbar{grid-template-columns:1fr}.repair-grid-scroll{max-height:calc(100dvh - 255px)}
}

/* Empty/error states use the same visual language. */
.error-page{max-width:620px;margin:11vh auto 0;padding:46px 32px;text-align:center;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}
.error-page>b{display:inline-grid;place-items:center;min-width:76px;height:46px;padding:0 14px;border-radius:12px;background:#eef5ff;color:#175cd3;font-size:20px;letter-spacing:.06em}.error-page h1{margin:18px 0 8px}.error-page p{color:#667085;margin-bottom:20px}

/* ==========================================================================\n   V8.1 — readability pass\n   Deliberately small visual scale increase. No business logic changes.\n   ========================================================================== */
@media (min-width:901px){
  :root{
    --rf-rail:56px;
    --rf-sidebar:232px;
    --rf-shell:288px;
    --rf-topbar:60px;
  }
  body{font-size:14px}
  .ui-icon{width:18px;height:18px}
  .workspace-rail{padding:9px 7px}
  .rail-brand,.rail-links>a,.rail-bottom>a{width:41px;height:41px}
  .rail-avatar{width:32px;height:32px;font-size:12px}
  .sidebar{padding:15px 13px 13px}
  .sidebar-workspace-label,.nav-label{font-size:10px}
  .brand{min-height:55px}
  .brand-mark{width:36px;height:36px;font-size:12px}
  .brand strong{font-size:15px}.brand small{font-size:10px}
  .side-nav a{min-height:40px;padding:9px 10px;font-size:13px}
  .side-nav a .ui-icon{width:17px;height:17px}
  .sidebar-user{padding-top:13px}.sidebar-user .avatar{width:32px;height:32px}
  .sidebar-user strong{font-size:12.5px}.sidebar-user small{font-size:10px}
  .topbar{padding:0 22px;gap:13px}
  .topbar-context{font-size:12px}.topbar-context b{font-size:13px}.topbar-context small{font-size:11px}
  .global-search{height:38px;border-radius:19px}
  .global-search input{height:36px;font-size:13px}
  .quick-scan{min-height:36px;padding:8px 11px;font-size:12px}
  .icon-button{width:36px;height:36px}
  .user-menu summary .avatar{width:32px;height:32px}
  .content{padding:24px 26px 38px}

  .page-heading{margin-bottom:19px}
  .eyebrow{font-size:10px}
  .page-heading h1{font-size:25px}
  .page-heading p{font-size:13px}
  .breadcrumb{font-size:12px}
  .button{min-height:38px;padding:8px 13px;font-size:12px}

  .panel-head{padding:15px 17px}.panel-head h2{font-size:15px}.panel-head p{font-size:11px}
  .kpi-card{min-height:100px;padding:14px 15px}.kpi-card>span{font-size:11px}.kpi-card>strong{font-size:26px}.kpi-card>small{font-size:10px}
  .table-summary{padding:10px 14px;font-size:11px}
  .table-wrap table{font-size:12px}
  .table-wrap th{height:39px;padding:9px 12px;font-size:10.5px}
  .table-wrap td{height:45px;padding:9px 12px}
  .badge,.severity-pill{font-size:10px;padding:4px 9px}

  label{font-size:11px}
  input,select,textarea{min-height:40px;padding:9px 11px;font-size:12px}
  .form-grid{gap:13px;margin-bottom:14px}

  .summary-tabs a,.admin-tabs>nav button{font-size:12px!important}
  .repair-stepper span{font-size:11px!important}

  .repair-sheet-toolbar{padding:11px 13px}
  .repair-sheet-title h1{font-size:18px}.repair-sheet-title span{font-size:10px}
  .repair-sheet-search input,.repair-sheet-search .button,.repair-camera-button,.repair-sheet-actions .button{height:36px;min-height:36px}
  .repair-quick-grid{font-size:11px}
  .repair-quick-grid th{height:37px;padding:7px 8px;font-size:10px}
  .repair-quick-grid td{height:52px;padding:5px 6px}
  .repair-grid-cell-input,.repair-grid-cell-select,.repair-grid-picker-summary{height:30px;min-height:30px;font-size:11px}
  .repair-grid-photo{width:38px;height:38px}
}

/* V8.2 account menu and account settings */
.user-menu{position:relative}.user-menu summary{padding:3px;border-radius:10px}.user-menu summary:hover{background:#f2f4f7}.user-menu[open] .account-menu{display:block}.account-menu{position:absolute;right:0;top:44px;width:270px;background:#fff;border:1px solid #e4e7ec;border-radius:12px;box-shadow:0 16px 38px rgba(16,24,40,.16);padding:8px;z-index:80}.account-menu-head{display:flex;align-items:center;gap:11px;padding:9px 9px 4px}.account-menu-head>div{min-width:0}.account-menu-head b{display:block;font-size:13px;color:#101828;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-menu-head small{display:block;margin-top:3px;font-size:11px;color:#667085}.account-menu-avatar{width:38px!important;height:38px!important;font-size:13px}.account-menu-role{padding:0 9px 8px 58px;color:#98a2b3;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-menu-divider{height:1px;background:#eaecf0;margin:5px 0}.account-menu-item{width:100%;min-height:38px;border:0;background:transparent;border-radius:8px;padding:8px 9px;display:flex;align-items:center;gap:10px;color:#344054;font:inherit;font-size:12px;font-weight:650;text-align:left;cursor:pointer}.account-menu-item:hover{background:#f2f4f7;color:#175cd3}.account-menu-item .ui-icon{width:17px;height:17px}.account-menu form{margin:0}.account-menu-item.danger{color:#d92d20}.account-menu-item.danger:hover{background:#fef3f2;color:#b42318}.account-settings-layout{display:grid;grid-template-columns:280px minmax(0,620px);gap:18px;align-items:start}.account-profile-card{padding:22px;display:flex;align-items:center;gap:14px}.account-profile-avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#eaf2ff;color:#175cd3;font-size:19px;font-weight:800}.account-profile-card h2{margin:0;font-size:16px}.account-profile-card p{margin:3px 0;color:#667085;font-size:12px}.account-profile-card span{font-size:11px;color:#98a2b3}.account-form-card{padding-bottom:20px}.account-form{padding:0 20px;display:grid;gap:15px}.account-form label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#344054}.account-form label small{font-weight:400;color:#667085}.account-form input:disabled{background:#f2f4f7;color:#667085;cursor:not-allowed}.account-security-row{margin-top:4px;padding:14px;border:1px solid #eaecf0;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:16px}.account-security-row b,.account-security-row span{display:block}.account-security-row span{margin-top:3px;font-size:11px;color:#667085}.account-actions{justify-content:flex-end;padding-top:3px}.password-card{max-width:620px;padding:22px 0}.password-card .account-form{max-width:520px}@media(max-width:800px){.account-settings-layout{grid-template-columns:1fr}.account-menu{position:fixed;right:12px;top:60px;width:min(300px,calc(100vw - 24px))}}
.account-menu form{position:static!important;inset:auto!important;min-width:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}

/* V8.6 — Excel UX + semantic color system. Keep the sheet mostly neutral; color communicates state. */



.repair-quick-grid td[data-grid-field]{position:relative}
.repair-quick-grid td.is-value-success:not(.is-grid-selected){background:#effaf3!important}
.repair-quick-grid td.is-value-warning:not(.is-grid-selected){background:#fff8e6!important}
.repair-quick-grid td.is-value-danger:not(.is-grid-selected){background:#fff0f0!important}
.repair-quick-grid td.is-value-muted:not(.is-grid-selected){background:#f8fafc!important}
.repair-quick-grid tr.has-grid-error td:not(.repair-grid-row-action){background:#fff3f2}
.repair-quick-grid tr.is-saved td:not(.repair-grid-row-action){animation:repairSavedFlash 1.1s ease-out}
@keyframes repairSavedFlash{0%{background:#dcf7e6}100%{background:inherit}}
.repair-grid-state{display:inline-flex;margin-top:3px;padding:1px 5px;border-radius:999px;background:#eef2f6;color:#52606d;font-weight:650;line-height:1.35}
.repair-grid-photo-pending-badge{background:#fff3cd!important;color:#7a4b00!important;border:1px solid #f2d27a}
.repair-grid-picker-summary:focus-visible,.repair-grid-cell-input:focus-visible,.repair-grid-cell-select:focus-visible{outline:2px solid #1769c2;outline-offset:1px}
.repair-sheet-actions .button.primary,[data-save-repair-grid]{box-shadow:0 1px 2px rgba(16,24,40,.08)}
/* V9 — AI JuyiVN */
.ai-juyivn-trigger{min-height:34px;padding:7px 11px;border:1px solid #b2ccff;border-radius:8px;background:#eff4ff;color:#175cd3;display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.ai-juyivn-trigger:hover{background:#d1e0ff;border-color:#84adff}.ai-spark{font-size:15px;line-height:1}.ai-juyivn-dialog{width:min(720px,calc(100vw - 24px));max-height:min(780px,calc(100dvh - 24px));padding:0;border:0;border-radius:16px;box-shadow:0 24px 80px rgba(16,24,40,.28);overflow:hidden}.ai-juyivn-dialog::backdrop{background:rgba(16,24,40,.48)}.ai-juyivn-shell{display:flex;flex-direction:column;max-height:min(780px,calc(100dvh - 24px));background:#fff}.ai-juyivn-head{display:flex;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid #eaecf0}.ai-juyivn-head h2{margin:2px 0 3px;font-size:20px;color:#101828}.ai-juyivn-head p{margin:0;color:#667085;font-size:12px}.ai-juyivn-privacy{margin:12px 16px 0;padding:9px 11px;border:1px solid #d1e0ff;border-radius:9px;background:#f5f8ff;color:#344054;font-size:11px}.ai-juyivn-messages{min-height:260px;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.ai-message{max-width:88%;padding:10px 12px;border-radius:12px;font-size:12px;line-height:1.55;white-space:pre-wrap}.ai-message p{margin:3px 0 0}.ai-message.assistant{align-self:flex-start;background:#f2f4f7;color:#344054;border-bottom-left-radius:4px}.ai-message.user{align-self:flex-end;background:#175cd3;color:#fff;border-bottom-right-radius:4px}.ai-message.error{background:#fef3f2;color:#b42318}.ai-juyivn-suggestions{padding:0 16px 10px;display:flex;gap:7px;flex-wrap:wrap}.ai-juyivn-suggestions button{border:1px solid #d0d5dd;border-radius:999px;background:#fff;padding:6px 9px;font:inherit;font-size:10px;color:#475467;cursor:pointer}.ai-juyivn-suggestions button:hover{border-color:#84adff;color:#175cd3;background:#f5f8ff}.ai-juyivn-form{display:grid;grid-template-columns:1fr auto;gap:9px;padding:12px 16px;border-top:1px solid #eaecf0}.ai-juyivn-form textarea{resize:none;min-height:46px;max-height:120px;border:1px solid #d0d5dd;border-radius:10px;padding:10px 11px;font:inherit;font-size:12px}.ai-juyivn-form textarea:focus{outline:2px solid #d1e0ff;border-color:#528bff}.ai-juyivn-status{min-height:20px;padding:0 16px 10px;color:#667085;font-size:10px}.ai-juyivn-status.error{color:#b42318}@media(max-width:800px){.ai-juyivn-trigger span:last-child{display:none}.ai-juyivn-trigger{width:34px;padding:0;justify-content:center}.ai-juyivn-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}.ai-juyivn-shell{max-height:calc(100dvh - 12px)}.ai-juyivn-messages{min-height:220px}.ai-message{max-width:94%}}

/* V9.2 canonical Repair Grid selection styles — single source of truth. */

/* V9.3 — typography & visual hierarchy polish.
   System-font first: predictable rendering on Windows/iOS/Android and no external font dependency. */
:root{
  --rf-font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Arial,sans-serif;
  --rf-text-xs:11px;
  --rf-text-sm:12px;
  --rf-text-md:13px;
  --rf-text-base:14px;
  --rf-text-lg:16px;
  --rf-leading:1.5;
}
html{font-family:var(--rf-font-sans);font-size:14px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body{font-family:var(--rf-font-sans);font-size:var(--rf-text-base);line-height:var(--rf-leading);letter-spacing:0}
button,input,select,textarea{font-family:inherit}

/* Clear, restrained information hierarchy. */
.page-heading h1{font-size:26px;line-height:1.25;letter-spacing:-.025em;font-weight:750}
.page-heading p{font-size:13px;line-height:1.55}
.eyebrow{font-size:10px;line-height:1.4;letter-spacing:.09em}
.breadcrumb{font-size:12px;line-height:1.45}
.panel-head h2{font-size:16px;line-height:1.35;font-weight:750}
.panel-head p{font-size:12px;line-height:1.45}

/* Navigation must remain readable during long factory shifts. */
.sidebar-workspace-label,.nav-label{font-size:10px;line-height:1.35}
.brand strong{font-size:15px;line-height:1.25}.brand small{font-size:11px;line-height:1.35}
.side-nav a{font-size:13px;line-height:1.35;font-weight:650}
.topbar-context{font-size:12px}.topbar-context b{font-size:13px}.topbar-context small{font-size:11px}
.global-search input{font-size:13px}.quick-scan,.ai-juyivn-trigger{font-size:12px}

/* Controls: readable without making a data-heavy application feel oversized. */
.button{font-size:13px;line-height:1.25;min-height:38px;padding:8px 13px}
label{font-size:12px;line-height:1.4;font-weight:700}
input,select,textarea{font-size:13px;line-height:1.4;min-height:40px}
.field-hint,.helper-box{font-size:12px;line-height:1.5}
.badge,.severity-pill{font-size:11px;line-height:1.25;font-weight:700}

/* General tables: compact, but never micro-text. */
.table-summary{font-size:12px;line-height:1.4}
.table-wrap table{font-size:13px;line-height:1.4}
.table-wrap th{font-size:11px;line-height:1.3;font-weight:750;letter-spacing:.02em}
.table-wrap td{font-size:13px;line-height:1.4}
.pagination{font-size:12px}

/* KPI/dashboard typography. */
.kpi-card>span{font-size:12px;line-height:1.35}
.kpi-card>strong{font-size:27px;line-height:1.15;font-weight:750}
.kpi-card>small,.legend{font-size:11px;line-height:1.4}
.chart text{font-size:11px}

/* Repair sheet: keep Excel-like density while making values comfortably legible. */
.repair-sheet-title h1{font-size:20px;line-height:1.25}.repair-sheet-title span{font-size:11px;line-height:1.4}
.repair-quick-grid{font-size:12px;line-height:1.35}
.repair-quick-grid th{font-size:11px;line-height:1.25;font-weight:750;height:39px}
.repair-quick-grid td{font-size:12px;line-height:1.35;min-height:52px}
.repair-grid-cell-input,.repair-grid-cell-select,.repair-grid-picker-summary{font-size:12px;line-height:1.3;height:32px;min-height:32px}
.repair-grid-state{font-size:10px}

/* Account and AI surfaces follow the same scale instead of a separate micro-typography. */
.account-menu-head b{font-size:14px}.account-menu-head small{font-size:12px}.account-menu-role{font-size:11px}
.account-menu-item{font-size:13px}.account-profile-card h2{font-size:17px}.account-profile-card p{font-size:13px}.account-profile-card span{font-size:12px}
.account-form label{font-size:12px}.account-security-row span{font-size:12px}
.ai-juyivn-head h2{font-size:20px;line-height:1.3}.ai-juyivn-head p{font-size:13px;line-height:1.5}
.ai-juyivn-privacy{font-size:12px;line-height:1.5}.ai-message{font-size:13px;line-height:1.6}
.ai-juyivn-suggestions button{font-size:11px}.ai-juyivn-form textarea{font-size:13px}.ai-juyivn-status{font-size:11px}

/* Mobile gets a true 14px reading baseline; interactive controls stay touch-friendly. */
@media(max-width:900px){
  body{font-size:14px}
  .page-heading h1{font-size:24px}
  .side-nav a{font-size:14px;min-height:42px}
  .button{font-size:13px;min-height:40px}
  input,select,textarea{font-size:16px;min-height:42px} /* prevents iOS form zoom */
  .table-wrap table{font-size:13px}
  .mobile-nav small{font-size:11px}
  .ai-message{font-size:14px}
  .ai-juyivn-form textarea{font-size:16px}
}
@media(max-width:600px){
  .page-heading h1{font-size:22px}
  .page-heading p{font-size:13px}
  .panel-head h2{font-size:15px}
  .repair-sheet-title h1{font-size:19px}
  .repair-quick-grid,.repair-grid-cell-input,.repair-grid-cell-select,.repair-grid-picker-summary{font-size:12px}
}
