/* RepairFlow V1.1 — JuyiVN unified desktop/mobile visual system.
   Loaded last so legacy page-specific CSS keeps behavior while this file owns visual hierarchy. */
:root{
  --rf-font:-apple-system,BlinkMacSystemFont,"Segoe UI Variable","Segoe UI","Noto Sans",Arial,sans-serif;
  --rf-bg:#f6f8fb;
  --rf-surface:#ffffff;
  --rf-surface-2:#f8fafc;
  --rf-surface-3:#f1f5f9;
  --rf-border:#e2e8f0;
  --rf-border-strong:#cbd5e1;
  --rf-text:#0f172a;
  --rf-text-2:#334155;
  --rf-muted:#64748b;
  --rf-subtle:#94a3b8;
  --rf-primary:#1769c2;
  --rf-primary-hover:#12569f;
  --rf-primary-soft:#eaf3ff;
  --rf-primary-border:#b8d7f4;
  --rf-success:#15803d;
  --rf-success-soft:#ecfdf3;
  --rf-warning:#b45309;
  --rf-warning-soft:#fff7ed;
  --rf-danger:#c62828;
  --rf-danger-soft:#fff1f2;
  --rf-sidebar:#0f2236;
  --rf-sidebar-hover:#173650;
  --rf-sidebar-active:#1b476b;
  --rf-sidebar-text:#c9d7e3;
  --rf-radius-sm:7px;
  --rf-radius:10px;
  --rf-radius-lg:14px;
  --rf-shadow-sm:0 1px 2px rgba(15,23,42,.05);
  --rf-shadow:0 8px 24px rgba(15,23,42,.08);
  --rf-shadow-lg:0 20px 56px rgba(15,23,42,.18);
  --sidebar:244px;
  --topbar:64px;
}

html{font-family:var(--rf-font);font-size:14px;color:var(--rf-text);background:var(--rf-bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body{font-family:var(--rf-font);font-size:14px;line-height:1.48;color:var(--rf-text);background:var(--rf-bg)}
button,input,select,textarea{font-family:inherit;color:inherit}
::selection{background:#cfe5ff;color:#0b3155}
:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}

/* App shell — one navigation system, no duplicate rail. */
.app-shell{display:flex;min-height:100vh;background:var(--rf-bg)}
.workspace-rail{display:none!important}
.sidebar{width:var(--sidebar);padding:18px 14px 16px;background:var(--rf-sidebar);border-right:1px solid rgba(255,255,255,.06);box-shadow:none}
.sidebar-workspace-label{padding:0 10px 10px;color:#7f9aaf;font-size:9px;font-weight:800;letter-spacing:.13em}
.brand{min-height:56px;padding:6px 8px 18px;gap:11px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:10px}
.brand-mark{width:38px;height:38px;border-radius:10px;background:#1976d2;box-shadow:none;font-size:13px;letter-spacing:-.03em}
.brand strong{font-size:15px;font-weight:750;line-height:1.2;letter-spacing:-.01em;color:#f8fbff}.brand small{font-size:10px;line-height:1.35;color:#8ea6ba;margin-top:3px}
.side-nav{gap:3px;overflow:auto;padding-right:2px;scrollbar-width:thin;scrollbar-color:#38536a transparent}
.nav-label{font-size:9px;letter-spacing:.12em;color:#718ba0;font-weight:800;padding:17px 10px 5px}
.side-nav a{min-height:40px;padding:9px 10px;border-radius:8px;gap:10px;color:var(--rf-sidebar-text);font-size:13px;font-weight:600;transition:background .14s ease,color .14s ease,box-shadow .14s ease}
.side-nav a .ui-icon{width:18px;height:18px;opacity:.88;flex:0 0 18px}.side-nav a>span{font-size:13px;width:auto;text-align:left}
.side-nav a:hover{background:var(--rf-sidebar-hover);color:#fff}.side-nav a.active{background:var(--rf-sidebar-active);color:#fff;box-shadow:inset 3px 0 #64b5f6}.side-nav a.active .ui-icon{opacity:1}
.main-area{width:calc(100% - var(--sidebar));margin-left:var(--sidebar);min-width:0;background:var(--rf-bg)}

/* Top bar */
.topbar{height:var(--topbar);padding:0 24px;gap:14px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--rf-border);backdrop-filter:saturate(160%) blur(12px);box-shadow:none}
.topbar-context{display:flex;align-items:center;gap:7px;white-space:nowrap;color:var(--rf-subtle)}.topbar-context b{font-size:13px;color:var(--rf-text);font-weight:750}.topbar-context small{font-size:12px;color:var(--rf-muted)}.topbar-context span{font-size:10px;color:#cbd5e1}
.global-search{height:38px;max-width:440px;width:min(440px,36vw);margin-left:4px;padding:0 11px;border:1px solid var(--rf-border);border-radius:8px;background:#f8fafc;color:var(--rf-subtle)}
.global-search:focus-within{background:#fff;border-color:#8bbbe8;box-shadow:0 0 0 3px rgba(23,105,194,.10)}.global-search .ui-icon{width:16px;height:16px}.global-search input{font-size:13px;margin:0;min-height:0;padding:0;border:0;box-shadow:none;background:transparent}.global-search input::placeholder{color:#94a3b8}
.topbar-date-selector{margin-left:auto}.topbar-date-selector label{height:38px;border:1px solid var(--rf-border);background:#fff;border-radius:8px;padding:0 8px;gap:6px}.topbar-date-selector label span{font-size:11px;color:var(--rf-muted);font-weight:650}.topbar-date-selector input{font-size:12px}.topbar-date-selector button{height:38px;border:1px solid var(--rf-border-strong);border-left:0;border-radius:0 8px 8px 0;background:#f8fafc;color:var(--rf-text-2);font-size:12px;font-weight:700;padding:0 12px}
.top-actions{margin-left:auto;gap:8px}.topbar-date-selector+.top-actions{margin-left:0}
.icon-button{width:38px;height:38px;border-radius:8px;border-color:var(--rf-border);background:#fff;color:var(--rf-text-2);box-shadow:none}.icon-button:hover{background:#f8fafc;border-color:#cbd5e1}.icon-button .ui-icon{width:18px;height:18px}
.ai-juyivn-trigger,.quick-scan{height:38px;min-height:38px;border-radius:8px;padding:0 11px;font-size:12px;font-weight:700;box-shadow:none}.ai-juyivn-trigger{background:var(--rf-primary-soft);border:1px solid var(--rf-primary-border);color:#155a9d}.ai-juyivn-trigger:hover{background:#dcecff;border-color:#8bbbe8}.quick-scan{background:#fff;border:1px solid var(--rf-border);color:var(--rf-text-2)}.quick-scan:hover{background:#f8fafc;border-color:#cbd5e1}
.avatar{background:#e8f2ff;color:#155a9d;font-size:12px}.user-menu summary{padding:2px 3px;border-radius:8px}.user-menu summary:hover{background:#f1f5f9}.account-menu{top:45px;width:286px;border:1px solid var(--rf-border);border-radius:12px;box-shadow:var(--rf-shadow-lg);padding:8px}.account-menu-head b{font-size:13px}.account-menu-head small{font-size:11px}.account-menu-role{font-size:11px}.account-menu-item{font-size:12px;min-height:39px;border-radius:7px}

/* Main content and page headings */
.content{padding:24px 28px 40px;max-width:1720px;margin:0 auto}.page-heading{margin-bottom:18px}.page-heading.split{align-items:center}.page-heading h1{font-size:25px;line-height:1.22;font-weight:760;letter-spacing:-.025em;color:var(--rf-text);margin-bottom:5px}.page-heading p{font-size:13px;color:var(--rf-muted);line-height:1.5}.eyebrow{font-size:9px;line-height:1.35;letter-spacing:.11em;font-weight:800;color:#1769c2;margin-bottom:5px}.breadcrumb{font-size:12px}.title-line{gap:8px}

/* Panels and cards */
.panel{background:var(--rf-surface);border:1px solid var(--rf-border);border-radius:var(--rf-radius);box-shadow:var(--rf-shadow-sm);margin-bottom:16px}.panel-head{min-height:58px;padding:15px 18px;border-bottom:1px solid var(--rf-border);gap:12px}.panel-head h2{font-size:15px;line-height:1.35;font-weight:740;color:var(--rf-text);margin:0}.panel-head p{font-size:12px;color:var(--rf-muted);margin:2px 0 0}.panel>.empty-state{border-radius:0 0 var(--rf-radius) var(--rf-radius)}

/* Buttons */
.button{min-height:38px;padding:8px 13px;border-radius:8px;font-size:13px;line-height:1.2;font-weight:700;box-shadow:none;transition:background .14s,border-color .14s,color .14s,box-shadow .14s,transform .14s}.button:hover{transform:none;box-shadow:none}.button.primary{background:var(--rf-primary);border-color:var(--rf-primary);color:#fff}.button.primary:hover{background:var(--rf-primary-hover);border-color:var(--rf-primary-hover)}.button.secondary{background:#fff;border-color:var(--rf-border-strong);color:var(--rf-text-2)}.button.secondary:hover{background:#f8fafc;border-color:#94a3b8}.button.ghost{background:var(--rf-primary-soft);color:#155a9d}.button.success{background:var(--rf-success)}.button.danger-solid{background:var(--rf-danger)}.button.danger-outline{background:#fff;border-color:#fecaca;color:#b91c1c}.button.large{min-height:42px;padding:9px 16px}.button .ui-icon{width:16px;height:16px}

/* Forms */
label{font-size:12px;line-height:1.4;font-weight:680;color:var(--rf-text-2)}
input,select,textarea{min-height:40px;margin-top:6px;padding:9px 10px;border:1px solid var(--rf-border-strong);border-radius:8px;background:#fff;font-size:13px;line-height:1.4;color:var(--rf-text);box-shadow:none}
input::placeholder,textarea::placeholder{color:#94a3b8}input:hover,select:hover,textarea:hover{border-color:#aab8c7}input:focus,select:focus,textarea:focus{border-color:#5b9bd5;box-shadow:0 0 0 3px rgba(23,105,194,.10)}input:disabled,select:disabled,textarea:disabled{background:#f1f5f9;color:#64748b;border-color:#e2e8f0}.field-hint{font-size:11px;color:var(--rf-muted);line-height:1.45}.helper-box{font-size:12px;line-height:1.48;border-radius:8px;background:#f8fafc}.form-grid{gap:14px}

/* Filter bars */
.dashboard-filter-panel,.filter-panel{box-shadow:none}.dashboard-filters,.filters{gap:10px}.dashboard-filters label,.filters label{font-size:11px;color:var(--rf-muted)}.dashboard-filters select,.dashboard-filters input,.filters select,.filters input{margin-top:4px;min-height:38px;font-size:12px}.search-field{border-radius:8px}.filter-actions{align-self:end}

/* KPI hierarchy */
.kpi-grid{gap:12px;margin-bottom:16px}.kpi-grid.eight{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-card{border:1px solid var(--rf-border);border-radius:10px;padding:14px 15px;box-shadow:none;background:#fff;min-height:112px}.kpi-card>span{font-size:11px;font-weight:650;color:var(--rf-muted);letter-spacing:.01em}.kpi-card>strong{font-size:26px;line-height:1.05;font-weight:760;letter-spacing:-.035em;color:var(--rf-text);margin:11px 0 6px}.kpi-card>small{font-size:10.5px;color:var(--rf-subtle)}.kpi-icon{width:30px;height:30px;border-radius:8px}.kpi-icon .ui-icon{width:16px;height:16px}.severity-kpis .kpi-card{min-height:102px}
.dashboard-grid{gap:16px}.chart{padding:18px;min-height:300px}.chart text{font-size:10.5px}.chart-scroll-hint{font-size:10px;color:var(--rf-subtle)}

/* Tables — consistent 13px data grid; headers compact but legible. */
.table-panel{overflow:hidden}.table-summary{min-height:48px;padding:10px 14px;font-size:12px;color:var(--rf-muted);border-bottom:1px solid var(--rf-border);background:#fbfcfe}.table-summary b{color:var(--rf-text)}.table-summary select{min-height:32px;margin:0;padding:5px 28px 5px 8px;font-size:12px}
.table-wrap{border-radius:0;scrollbar-color:#cbd5e1 transparent}.table-wrap table{font-size:13px;line-height:1.4;border-collapse:separate;border-spacing:0}.table-wrap th{position:relative;background:#f8fafc;color:#526273;font-size:10.5px;line-height:1.3;font-weight:760;letter-spacing:.025em;text-transform:none;padding:10px 12px;border-bottom:1px solid var(--rf-border);white-space:nowrap}.table-wrap td{font-size:13px;color:var(--rf-text-2);padding:11px 12px;border-bottom:1px solid #edf1f5;vertical-align:middle}.table-wrap tbody tr:last-child td{border-bottom:0}.table-wrap tbody tr:hover td{background:#f8fbff}.table-wrap td b{font-weight:690;color:var(--rf-text)}.table-wrap td small{display:block;margin-top:3px;font-size:10.5px;line-height:1.4;color:var(--rf-muted)}.cell-wrap{max-width:360px}.click-row{cursor:pointer}.row-actions summary{width:30px;height:30px;border-radius:7px}.row-actions-menu{border:1px solid var(--rf-border);border-radius:9px;box-shadow:var(--rf-shadow)}
.badge,.severity-pill{font-size:10.5px;line-height:1.2;font-weight:720;padding:4px 7px;border-radius:999px;white-space:nowrap}.pagination{padding:12px 14px;font-size:12px;border-top:1px solid var(--rf-border)}

/* Report creation / detail */
.report-create-shell{max-width:1320px}.report-section{padding-bottom:18px}.report-section-heading{padding:17px 18px 13px}.report-section-heading h2{font-size:15px}.report-section-heading p{font-size:11.5px}.report-section-icon{width:30px;height:30px;border-radius:8px;font-size:10px}.product-picker-trigger,.resolved-product,.attachment-picker{border-radius:9px}.product-picker-trigger:hover,.attachment-picker:hover{border-color:#9fb9d3}.report-submit-row{border-top:1px solid var(--rf-border);padding-top:16px}.report-submit-row>span{font-size:11.5px;color:var(--rf-muted)}
.detail-layout{gap:16px}.detail-side{width:min(360px,32vw)}.info-grid>div{padding:12px 14px;border-color:var(--rf-border)}.info-grid span{font-size:10.5px;color:var(--rf-muted)}.info-grid b{font-size:12.5px}.action-panel{padding:16px}.action-panel h2{font-size:15px}.timeline-panel .panel-head{min-height:50px}.timeline li b{font-size:12px}.timeline li span,.timeline li time,.timeline li p{font-size:10.5px}

/* Repair spreadsheet — dense by design, not tiny. */
.repair-sheet{border-radius:10px;overflow:hidden}.repair-sheet-toolbar{min-height:64px;padding:11px 14px;border-bottom:1px solid var(--rf-border);background:#fff}.repair-sheet-title h1{font-size:18px;line-height:1.25;letter-spacing:-.015em}.repair-sheet-title span{font-size:10.5px;color:var(--rf-muted)}.repair-sheet-search input{height:38px;min-height:38px;margin:0;font-size:12.5px}.repair-grid-scroll{background:#fff;scrollbar-color:#b8c5d1 #eef2f6}.repair-quick-grid{font-size:12.5px}.repair-quick-grid thead th{position:sticky;top:0;z-index:6;height:36px;padding:7px 8px;background:#f4f7fa;color:#46586a;border-color:#dce4eb;font-size:10.5px;font-weight:760;letter-spacing:.015em}.repair-quick-grid tbody td{height:38px;min-height:38px;padding:3px 6px;border-color:#e1e7ed;background:#fff;font-size:12.5px;line-height:1.3}.repair-quick-grid tbody tr:nth-child(even) td:not(.is-grid-selected):not(.is-grid-anchor){background:#fcfdff}.repair-quick-grid tbody tr:hover td:not(.is-grid-selected):not(.is-grid-anchor){background:#f7fbff}.repair-grid-cell-input,.repair-grid-cell-select,.repair-grid-picker-summary{font-size:12px;line-height:1.3}.repair-grid-state{font-size:9.5px}.repair-quick-grid td.is-grid-selected{background:#e8f2ff!important;box-shadow:inset 0 0 0 1px #80b3e8!important}.repair-quick-grid td.is-grid-anchor{background:#d6eaff!important;box-shadow:inset 0 0 0 2px #1769c2!important}.repair-quick-grid td.is-grid-selected input,.repair-quick-grid td.is-grid-selected select,.repair-quick-grid td.is-grid-selected summary{background:transparent}.repair-grid-message{font-size:12px;margin:10px 14px 0}

/* Dialogs */
dialog{font-family:var(--rf-font)}.scanner-dialog,.product-picker-dialog,.ai-juyivn-dialog,.audio-settings-dialog,.notification-popup{border-radius:14px!important;box-shadow:var(--rf-shadow-lg)!important}.modal-head,.product-picker-head,.scanner-dialog-head,.ai-juyivn-head{padding:16px 18px;border-bottom-color:var(--rf-border)}.modal-head h2,.product-picker-head h2,.scanner-dialog-head h2,.ai-juyivn-head h2{font-size:18px;letter-spacing:-.015em}.ai-juyivn-dialog{width:min(760px,calc(100vw - 24px))}.ai-juyivn-privacy{font-size:11.5px;line-height:1.45}.ai-message{font-size:12.5px;line-height:1.55}.ai-juyivn-suggestions button{font-size:11px;padding:7px 10px}.ai-juyivn-form textarea{font-size:13px}

/* Notifications / comments */
.notification-list article,.notification-history-list article{border-color:var(--rf-border)}.notification-title strong{font-size:12.5px}.notification-title time,.notification-meta,.comments time{font-size:10.5px;color:var(--rf-muted)}.comments article p{font-size:12.5px;line-height:1.5}

/* Authentication */
.auth-body{background:#f4f7fb}.login-page{min-height:100dvh;background:#fff}.login-visual{background:#0e2a43;padding:52px clamp(36px,6vw,88px);color:#fff}.login-brand{gap:12px}.login-brand strong{font-size:18px;letter-spacing:-.01em}.login-visual h1{font-size:clamp(36px,4vw,54px);line-height:1.08;letter-spacing:-.045em;font-weight:780;max-width:620px}.login-visual>div>p:not(.eyebrow){max-width:590px;font-size:15px;line-height:1.7;color:#c7d6e3}.login-stats{gap:12px}.login-stats span{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.04);border-radius:9px;font-size:11px}.login-stats b{font-size:13px}.login-panel{background:#f8fafc}.login-card{width:min(420px,calc(100vw - 36px));padding:32px;border:1px solid var(--rf-border);border-radius:14px;background:#fff;box-shadow:0 16px 44px rgba(15,23,42,.08)}.login-card h2{font-size:24px;line-height:1.25;letter-spacing:-.025em}.login-card>.muted{font-size:12.5px;margin-bottom:20px}.login-card label{font-size:12px}.login-card input{min-height:43px}.demo-box{font-size:11px}

/* Flash / offline states */
.flash{border-radius:9px;border:1px solid var(--rf-border);box-shadow:var(--rf-shadow-sm);font-size:12.5px}.connection-banner{font-size:12px;font-weight:650}
.empty-state{min-height:150px;color:var(--rf-muted)}.empty-state .ui-icon{width:26px;height:26px}.empty-state b{font-size:13px;color:var(--rf-text-2)}.empty-state span{font-size:11.5px}

/* Account */
.account-settings-layout{grid-template-columns:280px minmax(0,680px);gap:16px}.account-profile-card{padding:20px}.account-form-card{padding-bottom:20px}.account-form{gap:14px}.account-security-row{border-color:var(--rf-border);border-radius:9px}

/* Tablet */
@media(max-width:1180px){
  :root{--sidebar:220px}.content{padding:22px 20px 36px}.topbar{padding:0 18px}.global-search{width:min(360px,32vw)}
  .kpi-grid.eight{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.detail-side{width:330px}
}

/* Mobile / narrow tablets */
@media(max-width:900px){
  :root{--sidebar:276px;--topbar:58px}
  .sidebar{transform:translateX(-100%);width:var(--sidebar);padding-top:14px;z-index:80}.sidebar.open{transform:translateX(0)}
  .main-area{width:100%;margin-left:0}.topbar{height:var(--topbar);padding:0 12px;gap:8px}.menu-button{display:inline-grid}.topbar-context{display:none}.global-search{flex:1;width:auto;max-width:none;height:38px}.global-search input{font-size:12px}.topbar-date-selector{display:none}.top-actions{margin-left:0;gap:5px}.quick-scan{display:none}.ai-juyivn-trigger{width:38px;padding:0;justify-content:center}.ai-juyivn-trigger span:last-child{display:none}.icon-button{width:38px;height:38px}.top-actions>.icon-button[title="Cài đặt"]{display:none}.user-menu{display:none}
  .content{padding:18px 12px 90px}.page-heading{margin-bottom:14px}.page-heading.split{align-items:flex-start}.page-heading h1{font-size:22px}.page-heading p{font-size:12.5px}.page-heading.split>.button{min-height:36px;padding:7px 10px;font-size:12px}
  .panel{border-radius:9px;margin-bottom:12px}.panel-head{min-height:54px;padding:13px 14px}.panel-head h2{font-size:14px}.panel-head p{font-size:11px}
  input,select,textarea{font-size:16px;min-height:44px}label{font-size:12px}.button{min-height:40px}
  .dashboard-filter-panel{overflow:hidden}.dashboard-filters{padding:12px;display:grid;grid-template-columns:1fr 1fr}.dashboard-filters .custom-range{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.dashboard-filters .button{grid-column:1/-1}.kpi-grid.eight,.kpi-grid.three{display:grid;overflow:visible;scroll-snap-type:none;padding-bottom:0}.kpi-grid.eight{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.kpi-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.kpi-grid.eight .kpi-card,.kpi-grid.three .kpi-card{min-width:0;scroll-snap-align:none}.kpi-card{min-height:102px;padding:12px}.kpi-card>strong{font-size:23px}.kpi-card>span{font-size:10.5px}.kpi-card>small{font-size:9.5px}.severity-kpis .kpi-card{min-height:92px}
  .dashboard-grid{grid-template-columns:1fr;gap:12px}.chart{min-height:270px;padding:12px}.chart svg{min-width:520px}
  .mobile-nav{height:68px;padding-bottom:max(5px,env(safe-area-inset-bottom));background:rgba(255,255,255,.98);border-top:1px solid var(--rf-border);box-shadow:0 -4px 18px rgba(15,23,42,.06)}.mobile-nav a{font-size:10px;color:#64748b}.mobile-nav a .ui-icon{width:20px;height:20px}.mobile-nav a.active{color:#1769c2}.mobile-nav .mobile-primary span{background:#1769c2;box-shadow:0 6px 14px rgba(23,105,194,.22)}
  .responsive-cards table{font-size:12px}.responsive-cards tbody tr{border:1px solid var(--rf-border);border-radius:10px;box-shadow:none;background:#fff}.responsive-cards td{font-size:12.5px;padding:9px 10px}.responsive-cards td::before{font-size:10px;color:var(--rf-muted)}
  .detail-layout{grid-template-columns:1fr}.detail-side{width:auto}.report-details-grid{grid-template-columns:1fr}.report-product-grid{grid-template-columns:1fr}.report-submit-row{align-items:flex-start;gap:10px}
  .repair-sheet{margin-left:-12px;margin-right:-12px;border-left:0;border-right:0;border-radius:0}.repair-sheet-toolbar{display:grid;grid-template-columns:1fr auto;gap:9px;padding:10px 12px}.repair-sheet-title{grid-column:1/-1}.repair-sheet-search{grid-column:1/-1}.repair-sheet-actions{grid-column:1/-1;justify-content:flex-end}.repair-grid-scroll{max-height:calc(100dvh - 255px)}.repair-quick-grid tbody td{font-size:12px}.repair-quick-grid thead th{font-size:10px}
  .account-settings-layout{grid-template-columns:1fr}.login-page{display:block}.login-visual{display:none}.login-panel{min-height:100dvh;padding:24px 0}.login-card{padding:26px 22px}.mobile-login-brand{display:flex}.login-card h2{font-size:22px}
  .ai-juyivn-dialog{width:calc(100vw - 8px);max-height:calc(100dvh - 8px);border-radius:12px!important}.ai-juyivn-shell{max-height:calc(100dvh - 8px)}
}

@media(max-width:560px){
  .content{padding-left:10px;padding-right:10px}.page-heading.split{display:grid;grid-template-columns:1fr}.page-heading.split>.button{justify-self:start}.dashboard-filters{grid-template-columns:1fr}.dashboard-filters .custom-range{grid-template-columns:1fr}.kpi-grid.three{grid-template-columns:1fr}.severity-kpis .kpi-card{min-height:84px}.form-grid.two,.two-columns{grid-template-columns:1fr}.report-submit-row{display:grid}.report-submit-row .button{width:100%}.notification-detail-grid{grid-template-columns:1fr}.account-menu{right:8px;width:calc(100vw - 16px)}
}

/* Printing remains clean. */
@media print{.sidebar,.topbar,.mobile-nav,.sidebar-scrim,.connection-banner{display:none!important}.main-area{width:100%;margin:0}.content{max-width:none;padding:0}.panel{box-shadow:none}}

/* V10 compatibility overrides for legacy hybrid shell rules. */
.sidebar{left:0}
.global-search{margin-right:0}
.topbar-date-selector{display:flex;align-items:center}
body.sidebar-collapsed{--sidebar:72px}
body.sidebar-collapsed .sidebar{left:0;width:var(--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 .nav-badge{display:none}
body.sidebar-collapsed .brand,body.sidebar-collapsed .side-nav a{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 .main-area{width:calc(100% - var(--sidebar));margin-left:var(--sidebar)}
.summary-tabs a,.admin-tabs>nav button{font-size:12px!important}
.repair-stepper span{font-size:10.5px!important}
.recent-repair-tags i{font-size:10px}
.file-preview button{font-size:10px}
@media(max-width:900px){.topbar-date-selector{display:none}body.sidebar-collapsed{--sidebar:276px}.sidebar{left:0}}
.side-nav a .ui-icon,.side-nav a.active .ui-icon{color:currentColor}

/* V1.2 — Notification UX: readable, explicit read/ack states, compact pagination. */
.notification-title strong{font-size:14px;line-height:1.35}.notification-title time{font-size:11.5px}.notification-message{font-size:13px;line-height:1.5}.notification-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.notification-tags>span{font-size:10.5px;line-height:1.25;padding:3px 7px;border-radius:999px;background:#f1f5f9;color:#475569}.notification-state.waiting{background:#fff7ed;color:#9a3412}.notification-state.acknowledged{background:#ecfdf5;color:#047857}.notification-state.unread{background:#eff6ff;color:#1d4ed8}.notification-state-legend{display:flex;gap:16px;flex-wrap:wrap;margin:-6px 0 12px;color:#64748b;font-size:12px}.state-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.state-dot.unread{background:#2563eb}.notification-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:12px;color:#64748b}.notification-pagination>div{display:flex;gap:8px}.notification-item.pending-ack{box-shadow:inset 3px 0 0 #f59e0b}.notification-popup-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.notification-confirm-error{margin-right:auto}.notification-popup h2{font-size:19px;line-height:1.3}.notification-popup-body{font-size:13.5px}.notification-popup.urgent{box-shadow:0 24px 70px rgba(127,29,29,.28)}
@media(max-width:760px){.notification-pagination{align-items:stretch;flex-direction:column}.notification-pagination>div{display:grid;grid-template-columns:1fr 1fr}.notification-state-legend{gap:10px}.notification-popup-actions .button{flex:1}}

.notification-live-toast{position:fixed;z-index:125;top:76px;right:20px;width:min(420px,calc(100vw - 28px));padding:14px;border:1px solid #fed7aa;border-radius:12px;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.18)}.notification-live-toast[hidden]{display:none}.notification-live-toast-head{display:grid;grid-template-columns:34px 1fr 32px;gap:9px;align-items:start}.notification-live-toast-head>span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#fff7ed;color:#c2410c}.notification-live-toast-head small{display:block;font-size:10px;font-weight:800;letter-spacing:.7px;color:#c2410c}.notification-live-toast-head strong{display:block;margin-top:2px;font-size:14px;line-height:1.35}.notification-live-toast>p{margin:10px 0 6px;font-size:13px;line-height:1.45;color:#475569}.notification-live-toast-meta{font-size:11px;color:#64748b}.notification-live-toast-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.notification-live-toast-actions .button{min-height:36px;padding:7px 11px;font-size:12px}@media(max-width:760px){.notification-live-toast{top:66px;right:12px}.notification-live-toast-actions{display:grid;grid-template-columns:1fr 1fr}.notification-live-toast-actions .button{width:100%}}

/* V1.3 canonical row-resize affordance */
.repair-grid-row-resizer{position:absolute;left:0;right:0;bottom:-4px;height:9px;z-index:9;cursor:row-resize;touch-action:none}.repair-grid-row-resizer::after{position:absolute;left:7px;right:7px;top:4px;height:1px;background:transparent;content:""}.repair-grid-row-action:hover>.repair-grid-row-resizer::after,.repair-grid-row-resizer.is-resizing::after{background:#4b91c8}body.is-resizing-repair-row,body.is-resizing-repair-row *{cursor:row-resize!important;-webkit-user-select:none!important;user-select:none!important}
