/* QualityOps V4 — unified visual language for admin, operator and scheduler pages */
body.admin-page,body.operator-page,body.scheduler-page{background:#f4f5f4!important;color:#282d30;font-family:'DM Sans','Segoe UI',sans-serif!important}
body.admin-page a,body.operator-page a,body.scheduler-page a{text-decoration:none}
body.admin-page .page,body.operator-page .page{max-width:1680px;padding:23px 30px 60px}
.quality-nav{background:#1d2024;display:flex;align-items:center;gap:10px;min-height:62px;padding:0 30px;color:#fff}
.quality-nav .quality-logo{margin-right:auto;font-size:14px;letter-spacing:1px;color:#fff;font-weight:800}.quality-nav .quality-logo span{color:#ed3945}
.quality-nav a:not(.quality-logo){color:#b5bcc0;padding:7px 12px;font-size:11px;font-weight:700;border-radius:3px;white-space:nowrap}
.quality-nav a:not(.quality-logo):hover,.quality-nav a.active{background:#353b3f;color:#fff}
.quality-nav .quality-mini{color:#707a7f;font-size:9px;letter-spacing:1.1px;font-weight:700;border-left:1px solid #454b4f;padding-left:14px;margin-left:4px}
/* ADMIN: retain complete import/sync and analysis tools; redesign their surfaces. */
body.admin-page{--steel-950:#202429;--steel-900:#30363b;--steel-800:#3a4147;--steel-line:rgba(255,255,255,.15);--paper:#f4f5f4;--panel:#fff;--hair:#e2e4e4;--ink:#292e32;--muted:#80898d;--faint:#a1a8aa;--amber:#b57b27;--red:#c5202e;--blue:#bd2431;--violet:#68727b;--green:#2c8c72;--red-dim:#fff0f0;--blue-dim:#fff0f0;--amber-dim:#fff6e8}
.admin-page .hero{border-radius:2px;background:#212529;box-shadow:none;border-left:5px solid #d82c38;animation:none}
.admin-page .hero-top{padding:25px 28px}.admin-page .hero-top:before{display:none}
.admin-page .hero h1{font-size:25px;letter-spacing:-.6px}.admin-page .hero p{max-width:610px;color:#acb2b5}.admin-page .status-dot{background:#d72e3b;box-shadow:0 0 0 3px rgba(215,46,59,.17)}.admin-page .status-text{font-size:9px;letter-spacing:1.3px}
.admin-page .sync-box{background:#2f353b;border-radius:3px;color:#c1c7ca}
.admin-page .hero-dashboard-link{background:#fff;color:#252b2e;border-radius:3px;padding:11px 14px;font-size:11px;font-weight:800;display:inline-flex;align-items:center}
.admin-page .btn{border-radius:3px;font-size:11px;min-height:35px;height:35px}.admin-page .btn-white{background:#c62634;color:#fff}.admin-page .btn-white:hover{background:#a81825}
.admin-page .toolbar{border-radius:4px;box-shadow:none;padding:15px;background:#fff;grid-template-columns:repeat(2,142px) repeat(5,minmax(105px,1fr)) minmax(180px,1.2fr) auto}
.admin-page .toolbar .field label{font-size:9px;letter-spacing:1px;font-weight:800}.admin-page .field input,.admin-page .field select{border-radius:3px;background:#fafafa;font-size:11px;height:35px}
.admin-page .stat-strip{border-radius:4px;box-shadow:none}.admin-page .stat{padding:17px 12px}.admin-page .stat:before{left:0;top:0;bottom:auto;width:100%;height:3px;border-radius:0}.admin-page .stat-label{font-weight:800;font-size:9px;padding:0}.admin-page .stat-value{padding:0;font-size:26px}.admin-page .stat-sub{padding:0}
.admin-page .card,.admin-page .insight{border-radius:4px;border-color:#e2e5e5;box-shadow:none;background:#fff}.admin-page .card-head{background:#fff;border-color:#ebeded}.admin-page .card-title{color:#2b3033}.admin-page .section-title{font-weight:800;color:#2c3033}
.admin-page .model-rank-row{border-radius:2px}.admin-page .model-rank-no{border-radius:2px}.admin-page .model-rank-track,.admin-page .model-rank-fill{border-radius:0}.admin-page tbody tr:hover{background:#fff7f7}.admin-page thead th{background:#2a2e32!important;color:#fff!important}
/* OPERATOR: read-only quality data, consistent surfaces and typography. */
body.operator-page{--blue:#c12331;--blue-dark:#ac1825;--navy:#22262b;--bg:#f4f5f4;--card:#fff;--ink:#252a2e;--muted:#838b8e;--border:#dfe3e4;--red:#c92836;--green:#3b9377;--amber:#c38725;--purple:#67717b;--shadow:0 1px 3px rgba(0,0,0,.027)}
.operator-page .hero{background:#22262b;border-left:5px solid #d82736;box-shadow:none;border-radius:3px;padding:21px 25px}.operator-page .hero h1{letter-spacing:-.7px;font-size:25px}.operator-page .hero p{color:#b7bdc0}.operator-page .db-badge{background:#30363b;border:1px solid #495057;border-radius:3px;color:#e4e6e7}
.operator-page .filter-card,.operator-page .model-profile,.operator-page .kpi,.operator-page .card{background:#fff;border-color:#e1e4e5;border-radius:4px;box-shadow:none}
.operator-page .filter-card{padding:16px}.operator-page .filter-grid{grid-template-columns:repeat(7,minmax(100px,1fr)) auto}.operator-page .field label{font-size:9px;letter-spacing:.8px}.operator-page .field input,.operator-page .field select{background:#fafafa;border-radius:3px;height:36px;font-size:11px}
.operator-page .btn{height:36px;border-radius:3px;font-size:11px}.operator-page .btn-light{background:#fff;border:1px solid #dadfdf;color:#414a4e}.operator-page .btn-primary{background:#c22331}
.operator-page .model-profile{background:#fff}.operator-page .profile-head{padding:17px 20px;background:#fff}.operator-page .profile-main,.operator-page .profile-side{padding:20px}.operator-page .mini{border-radius:3px;background:#f8f9f9}.operator-page .rank{border-radius:3px;background:#fff0f1;color:#be2431}
.operator-page .kpis{gap:9px}.operator-page .kpi{border-top:2px solid #d5d9da;padding:15px}.operator-page .kpi.red{border-top-color:#ce2937}.operator-page .kpi-value{font-family:'IBM Plex Mono',monospace;font-weight:600}.operator-page thead th{background:#2b3034;color:white}.operator-page .panel{border-radius:3px}.operator-page .tag,.operator-page .pill{border-radius:3px}
/* SCHEDULER: industrial sync health, accessible status. */
.scheduler-page{--bg:#f4f5f4;--ink:#292e31;--muted:#889195;--line:#e2e5e6;--navy:#1f2327;--blue:#c12331;--teal:#28876c;--radius:4px}
.scheduler-page .shell{grid-template-columns:252px minmax(0,1fr)}
.scheduler-page .side{background:#1d2024;border-right:1px solid #31373c;padding:32px 14px}.scheduler-page .identity{border-bottom:1px solid #383e41;padding:0 10px 25px;border-radius:0;margin-bottom:21px}.scheduler-page .identity .mark{background:#c32330;color:#fff;border-radius:2px;font-weight:900}.scheduler-page .identity b{font-weight:800}.scheduler-page .identity small{letter-spacing:1.3px;color:#8b9397}.scheduler-page .nav-title{font-size:9px;color:#818a8d}
.scheduler-page .navlink{border-radius:3px;font-size:12px;padding:13px;margin-bottom:3px;color:#b7bec1}.scheduler-page .navlink:hover,.scheduler-page .navlink.active{background:#343a3e;color:#fff}.scheduler-page .navlink.active{box-shadow:inset 3px 0 #d62b38}.scheduler-page .side-bottom{margin-top:auto;border-color:#3a4246}
.scheduler-page .top{min-height:70px;padding:18px 33px;background:#fff;border-color:#e2e5e5}.scheduler-page .top h1{font:800 23px 'DM Sans',sans-serif;letter-spacing:-.4px}.scheduler-page .chip{border-radius:3px;background:#f6f7f7;color:#555e61;border-color:#e4e6e6;font-size:9px;letter-spacing:1px}
.scheduler-page .content{max-width:1720px;padding:28px 33px 60px}.scheduler-page .headcard{grid-template-columns:minmax(0,1.5fr) minmax(240px,.8fr);gap:13px}.scheduler-page .status{background:#23272b;border-left:5px solid #ce2a38;padding:26px 30px;border-radius:3px}.scheduler-page .status h2{font:800 25px 'DM Sans',sans-serif;letter-spacing:-.4px}.scheduler-page .status p{color:#adb5ba}.scheduler-page .eyebrow{color:#9aa4a9;font-size:9px;letter-spacing:1.5px}
.scheduler-page .button{border-radius:3px;padding:10px 15px;font-size:11px}.scheduler-page .button.white{background:#fff;color:#282c2f}.scheduler-page .button.primary{background:#c72534;color:#fff}.scheduler-page .button.secondary{background:#f3f4f4;color:#2c3235}
.scheduler-page .sidecard,.scheduler-page .mini,.scheduler-page .step,.scheduler-page .panel{border-radius:3px;box-shadow:none;border-color:#e1e5e5}.scheduler-page .micro{letter-spacing:1px;font-size:9px}.scheduler-page .metric-number{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:23px}.scheduler-page .mini .value{font:600 20px 'IBM Plex Mono',monospace}.scheduler-page .section-title h3{font:800 16px 'DM Sans',sans-serif}
.scheduler-page .step-no{color:#c12230;background:#fff0f0;border-radius:3px}.scheduler-page .panel-heading{border-color:#e7e9e9}.scheduler-page .panel-heading button{background:#f4f5f5;border-radius:3px;color:#c02735}.scheduler-page th{background:#282d31;color:#fff}.scheduler-page td{color:#475053}.scheduler-page .tag{border-radius:3px}.scheduler-page .notice{border-radius:3px;background:#fff9ed;border-left:3px solid #c7872a;color:#77613f}.scheduler-page .notice strong{color:#57401c}.scheduler-page .code{background:#f1f2f2;color:#b92532;border-radius:3px}.scheduler-page .foot{font-size:10px}
@media(max-width:1450px){.admin-page .toolbar{grid-template-columns:repeat(4,1fr)}.operator-page .filter-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1100px){.scheduler-page .shell{grid-template-columns:1fr}.scheduler-page .side{height:auto;position:static;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;padding:13px 16px}.scheduler-page .identity{margin:0;padding:0;border:0}.scheduler-page .side-bottom,.scheduler-page .nav-title{display:none}.scheduler-page .side nav{display:flex;gap:5px}.scheduler-page .navlink{margin:0}.scheduler-page .content{padding:20px}}
@media(max-width:850px){body.admin-page .page,body.operator-page .page{padding:17px 14px 50px}.quality-nav{padding:10px 15px;flex-wrap:wrap;min-height:58px}.quality-nav .quality-mini{display:none}.admin-page .stat-strip{grid-template-columns:repeat(3,1fr)}.operator-page .filter-grid{grid-template-columns:repeat(2,1fr)}.scheduler-page .headcard{grid-template-columns:1fr}.scheduler-page .cards,.scheduler-page .steps,.scheduler-page .panels{grid-template-columns:1fr}}
@media(max-width:500px){.quality-nav .quality-logo{width:100%}.admin-page .toolbar{grid-template-columns:repeat(2,1fr)}.admin-page .stat-strip{grid-template-columns:repeat(2,1fr)}.operator-page .kpis{grid-template-columns:repeat(2,1fr)}.operator-page .profile-body{grid-template-columns:1fr}}
