/* PLM visual language: blue actions, slate navigation, white surfaces. */
:root{--blue:#2563eb;--bg:#f4f6fa;--navy:#101e37}
html,body{min-width:320px}.content{max-width:none;width:100%;padding:24px}.main{min-width:0}.sidebar{width:224px}.main{margin-left:224px}.brand{letter-spacing:0;font-size:21px}.brand small{letter-spacing:1.1px;font-size:9px}.nav-icon svg{width:19px;height:19px;display:block}.nav-label{letter-spacing:1.3px}.topbar{height:68px;padding:0 28px}.topbar .userbox{gap:12px}.avatar{width:34px;height:34px;display:grid;place-items:center;background:#e9effd;color:var(--blue);border-radius:50%;font-weight:600}.page-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:22px;align-items:center}.page-head h1{font-size:23px}.page-head p{font-size:12px;color:var(--muted);margin-top:5px}.eyebrow{color:var(--muted);font-size:10px;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:5px}.buttons{display:flex;gap:8px;flex-wrap:wrap}.service-intro{display:flex;align-items:center;justify-content:space-between;padding:24px 26px;background:linear-gradient(115deg,#eef4ff,#fff);border:1px solid #dce7fb;border-radius:8px;margin-bottom:20px}.service-intro h2{font-size:20px;color:#193660}.service-intro p{color:#718096;font-size:12px;margin-top:7px}.intro-symbol{font-size:40px;color:#bacdf2;padding:0 24px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.metric{padding:20px;border:1px solid var(--line);background:white;border-radius:8px;box-shadow:none}.metric-label{font-size:12px;color:var(--muted);display:flex;align-items:center;justify-content:space-between}.metric-value{font-size:30px;font-weight:650;color:#1a2c47;margin:10px 0 5px;line-height:1.2}.metric-note{font-size:11px;color:#8c99ac}.metric-marker{width:27px;height:27px;border-radius:7px;background:#edf3ff;color:#3472ef;display:grid;place-items:center}.panel{background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:none;margin-bottom:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line);gap:12px}.panel-head h3{font-size:15px}.panel-body{padding:20px}.toolbar{display:flex;justify-content:space-between;gap:12px;padding:16px 20px;align-items:center;border-bottom:1px solid var(--line);flex-wrap:wrap}.search-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search-group input{width:260px;padding:8px 11px;font-size:12px}.search-group select{width:145px;padding:8px;font-size:12px}.tiny{font-size:12px}.table-wrap{overflow-x:auto;width:100%}table{width:100%;border-collapse:collapse;font-size:12px}th{padding:13px 18px;text-align:left;font-size:11px;white-space:nowrap;background:#f8fafd;color:#7c899d;font-weight:500;border-bottom:1px solid var(--line)}td{padding:16px 18px;border-bottom:1px solid #edf1f6;color:#40516a;vertical-align:middle}tbody tr:hover{background:#fafcff}tbody tr:last-child td{border-bottom:0}td:last-child,th:last-child{text-align:right}.cell-title{color:#243953;font-weight:500}.cell-sub{font-size:11px;color:#8794a8;margin-top:3px}.mono{font-size:11px}.badge{font-size:11px;border-radius:4px;padding:3px 7px;white-space:nowrap;background:#eef2f7;color:#6c7a90}.badge.new,.badge.accepted{background:#fff5e7;color:#b87a23}.badge.dispatched,.badge.in_progress{background:#eaf1ff;color:#3569c9}.badge.pending_parts,.badge.urgent{background:#fceeed;color:#c25650}.badge.pending_acceptance,.badge.pending_settlement{background:#f1edff;color:#815bc1}.badge.closed{background:#e9f6f0;color:#218665}.badge.cancelled{background:#f0f2f5;color:#8c96a5}.badge.normal{background:#eff3f9;color:#687d9b}.badge.high{background:#fff4e5;color:#b67c31}.badge.low{background:#edf6f4;color:#688b82}.pagination{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto;white-space:nowrap}.tabs button{padding:12px 2px;border:0;border-radius:0;background:transparent;font-size:13px;color:var(--muted);border-bottom:2px solid transparent}.tabs button.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.empty-state{text-align:center;padding:58px 20px;color:#8c99ac}.empty-state .empty-icon{font-size:27px;color:#b5c7e5;margin-bottom:10px}.empty-state strong{display:block;font-size:13px;color:#60718a;font-weight:500;margin-bottom:5px}.empty-state p{font-size:12px}.section-stack{display:grid;gap:16px}.section-stack .panel{margin:0}.overview-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.progress-list{padding:4px 0}.progress-row{margin:17px 0}.progress-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px;color:#667791}.progress-track{height:6px;border-radius:8px;background:#edf2fa;overflow:hidden}.progress-fill{height:100%;border-radius:8px;background:#5b86db}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.detail-item label{display:block;color:#91a0b2;font-size:11px;margin-bottom:6px}.detail-item div{font-size:13px;word-break:break-word;white-space:pre-wrap}.detail-description{grid-column:1/-1}.notice{padding:13px 16px;background:#f0f5ff;border:1px solid #dfe9fb;border-radius:6px;color:#587599;font-size:12px;margin-bottom:18px}.error-notice{color:#b74f49;background:#fff3f2;border-color:#f5d8d5}.timeline-row{padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.timeline-row:last-child{border:0}.timeline-row p{margin-top:6px;white-space:pre-wrap;word-break:break-word;color:var(--muted)}.form-error{white-space:pre-wrap;color:#bc4747;font-size:12px;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;color:#66788f}.field input,.field textarea,.field select{font-size:13px}.field small{font-size:11px;color:#8997ac}.dialog-head{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:18px}.dialog-foot{border-top:1px solid var(--line);padding:16px 24px;display:flex;justify-content:flex-end;gap:8px}.form-body{padding:24px}.login-art .brand-mark{margin-bottom:32px}.login-form-area{display:flex;align-items:center;justify-content:center}.login-card{max-width:380px;width:100%}.login-card .field{margin-top:18px}.login-card button.primary{margin-top:24px;width:100%;padding:12px}.login-page{min-height:100vh}.loading-mark{margin:0 auto 18px}.boot p{margin-top:10px}.flow{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-bottom:18px;font-size:11px;color:#96a1b2}.flow span{padding:6px 12px;background:#edf1f7;border-radius:4px}.flow span.current{background:#e5edff;color:var(--blue)}.date-filter{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.date-filter input{width:160px;font-size:12px}.body-error{padding:36px;text-align:center}.body-error p{margin:12px;color:var(--muted);font-size:13px}.body-error button{margin:5px}body.embedded .main{margin-left:0}body.embedded .content{padding:24px}body.embedded .sidebar,body.embedded .topbar{display:none}.content>*,.overview-grid>*{min-width:0}.audit-json{white-space:pre-wrap;word-break:break-word;font:11px/1.7 Consolas,monospace;max-height:280px;overflow:auto;background:#f8fafd;padding:12px;border-radius:5px}
@media(max-width:980px){.content,body.embedded .content{padding:18px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{width:190px}.main{margin-left:190px}}
@media(max-width:700px){.sidebar{width:64px}.main{margin-left:64px}.page-head{align-items:flex-start}.page-head h1{font-size:20px}.page-head .buttons{justify-content:flex-end}.metric{padding:15px}.metric-value{font-size:25px}.topbar{padding:0 18px}.service-intro{padding:20px}.intro-symbol{display:none}.toolbar{padding:14px}.search-group{width:100%}.search-group input{width:100%;flex:1;min-width:100px}.panel-head{padding:16px}.panel-body{padding:16px}.detail-grid{grid-template-columns:1fr 1fr;gap:18px}.form-grid{grid-template-columns:1fr}.field{grid-column:1/-1}th,td{padding:13px;white-space:nowrap}.tabs{gap:20px}.flow span{padding:5px 8px}}

.topbar{margin-left:224px}.main{min-height:calc(100vh - 68px)}body.embedded .main{min-height:100vh}@media(max-width:980px){.topbar{margin-left:190px}}@media(max-width:700px){.topbar{margin-left:64px}}
