:root{--nav:#0d1b2f;--mint:#1cc7a5;--blue:#2563eb;--bg:#f4f7fb;--line:#dbe3ef;--text:#132238;--muted:#64748b}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,'Noto Sans KR',sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.app{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.side{background:var(--nav);color:#dbe7f7;padding:22px 16px}.brand{font-size:23px;font-weight:900;margin-bottom:30px}.brand span{color:var(--mint)}.side a{display:block;padding:11px 12px;border-radius:9px;margin:5px 0}.side a:hover,.side a.on{background:#17304f}.main{padding:24px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 2px 8px #0f172a0a}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat b{font-size:28px}.muted{color:var(--muted)}table{width:100%;border-collapse:collapse}th,td{padding:11px;border-bottom:1px solid #e7edf5;text-align:left;font-size:14px}th{background:#f8fafc}.btn{display:inline-block;border:0;border-radius:9px;padding:10px 14px;background:var(--blue);color:white;font-weight:700;cursor:pointer}.btn.gray{background:#e9eef6;color:#334155}.btn.green{background:#0f9f7c}.search{padding:10px 12px;border:1px solid var(--line);border-radius:8px;min-width:300px}.doc-layout{display:grid;grid-template-columns:250px minmax(650px,1fr) 300px;gap:16px;align-items:start}.doc{background:white;border:1px solid #cbd5e1;min-height:900px;padding:30px;box-shadow:0 5px 20px #0f172a18}.doc h2{text-align:center}.doc table td,.doc table th{border:1px solid #334155;padding:7px;font-size:12px}.pill{display:inline-block;padding:4px 9px;border-radius:999px;background:#e8f7f3;color:#0f766e;font-size:12px;font-weight:800}.form input,.form select,.form textarea{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;margin:4px 0 10px}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0d1b2f,#17304f)}.loginbox{width:380px;background:white;padding:32px;border-radius:18px}.loginbox input{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;margin:7px 0 14px}.err{background:#fee2e2;color:#991b1b;padding:10px;border-radius:8px;margin-bottom:12px}.section-title{font-weight:900;margin:4px 0 12px}.kv{display:grid;grid-template-columns:110px 1fr;gap:7px;font-size:13px;margin-bottom:8px}.ops{display:grid;gap:8px}.op{padding:10px;border:1px solid var(--line);border-radius:9px;background:white}@media(max-width:1100px){.doc-layout{grid-template-columns:1fr}.app{grid-template-columns:1fr}.side{display:none}}
.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.page-head h1{margin:0}.progress{height:8px;background:#e8eef6;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:#2563eb}.op{display:flex;justify-content:space-between;align-items:center;color:inherit}.op small{display:block;color:#64748b;margin-top:4px}.op.selected{border-color:#2563eb;background:#eff6ff}.status{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.status.pass{background:#dcfce7;color:#166534}.status.fail{background:#fee2e2;color:#991b1b}.status.pending{background:#f1f5f9;color:#64748b}.status.na{background:#e0e7ff;color:#3730a3}.rs-head{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;border-bottom:2px solid #111;padding-bottom:10px}.rs-head h2{text-align:center;margin:0}.rs-head div:last-child{font-size:12px;text-align:right}.route-table th,.route-table td{font-size:11px;vertical-align:top}.route-table .row-selected td{background:#eff6ff}.form2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sticky{position:sticky;top:16px}.coc-band{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;background:#f8fafc;border:1px solid #dbe3ef;padding:12px;border-radius:8px}.coc-readiness{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.btn:disabled,input:disabled{opacity:.5;cursor:not-allowed}

/* FactoX AD v0.3 process-specific workflow */
.subtle-note{font-size:12px;color:#637083;background:#f6f8fb;border:1px solid #e5eaf1;border-radius:8px;padding:8px 10px;margin:0 0 10px}.process-fields{margin:14px 0;padding:12px;border:1px solid #dbe4ef;border-radius:10px;background:#f9fbfd}.process-fields-title{font-weight:800;color:#12345b;margin-bottom:8px}.required-mark{color:#e04a4a}.time-row{display:flex;gap:6px;align-items:center}.time-row input{min-width:0;flex:1}.mini-btn{border:1px solid #cad5e2;background:white;border-radius:7px;padding:8px 9px;font-weight:700;color:#36516f;cursor:pointer}.okmsg{background:#edf9f3;color:#16724b;border:1px solid #bfe9d5;padding:9px 10px;border-radius:8px;margin:8px 0}.ready-text{color:#11855b;font-weight:800}.op small{display:block;margin-top:4px;color:#718096}.route-table td:nth-child(7){max-width:180px;white-space:normal}.route-table td,.route-table th{vertical-align:top}
.rs-only{grid-template-columns:230px minmax(680px,1fr) 260px}.flowbox{display:flex;flex-direction:column;gap:8px;align-items:center;padding:14px;background:#f8fafc;border-radius:10px}.pl-layout{display:grid;grid-template-columns:250px minmax(520px,1fr) 360px;gap:14px;align-items:start}.compact-doc{min-height:560px}.pl-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.pl-summary>div,.basis-grid>div{padding:10px;border:1px solid #dbe3ef;border-radius:8px;background:#f8fafc}.pl-summary span,.basis-grid span{display:block;font-size:11px;color:#64748b;margin-bottom:4px}.tech-basis{margin-top:18px;padding:14px;border:1px solid #dbe3ef;border-radius:10px}.basis-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.auto-note{margin-top:16px;padding:12px;border-radius:8px;background:#ecfdf5;color:#065f46;font-weight:700}.search-row{display:flex;gap:8px}.search-row input{min-width:360px}@media(max-width:1100px){.pl-layout,.rs-only{grid-template-columns:1fr}.sticky{position:static}}

/* FactoX AD v0.5 team workspace + product dashboard */
.app{grid-template-columns:270px 1fr}.side{overflow-y:auto;position:sticky;top:0;height:100vh}.tenant{color:#9fb0c7;font-size:12px;margin:-18px 12px 14px}.menu-home{background:#17304f;margin-bottom:12px!important}.menu-group{margin:10px 0 14px;border-top:1px solid #21344f;padding-top:10px}.menu-group>b{display:block;color:#7fe3cf;font-size:12px;padding:0 12px 4px;letter-spacing:.02em}.menu-group a{padding:7px 12px;margin:2px 0;font-size:13px}.logout{margin-top:20px!important;border-top:1px solid #21344f}.user-chip{display:flex;align-items:center;gap:9px;padding:5px 8px;border-radius:10px}.user-chip:hover{background:#eef3f8}.user-chip img,.avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#17304f;color:white;font-weight:900}.user-chip span:last-child{display:flex;flex-direction:column}.user-chip small{color:#64748b;margin-top:2px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.product-list{display:grid;gap:10px;margin-top:18px}.product-row{display:grid;grid-template-columns:92px minmax(420px,1fr) 190px 110px;gap:16px;align-items:center;background:white;border:1px solid var(--line);border-radius:14px;padding:12px 14px;box-shadow:0 2px 8px #0f172a08}.product-row:hover{border-color:#a8b9cd;box-shadow:0 4px 14px #0f172a12}.drawing-thumb,.mini-drawing{background:#f5f7fa;border:1px solid #dbe3ef;border-radius:8px;overflow:hidden;display:grid;place-items:center;color:#8391a4;font-size:10px;font-weight:800;text-align:center}.drawing-thumb{width:86px;height:66px}.mini-drawing{width:56px;height:42px}.drawing-thumb img,.mini-drawing img{width:100%;height:100%;object-fit:cover}.product-title{font-size:16px;margin-bottom:5px}.stage-line{display:flex;align-items:center;gap:6px;margin-top:12px;white-space:nowrap}.stage-line span{font-size:10px;color:#64748b}.stage-line i{width:18px;height:3px;background:#dbe3ef;border-radius:4px}.stage-line i.done{background:#16a085}.product-progress>b{font-size:22px}.product-progress small{display:block;color:#64748b;margin-top:5px;line-height:1.3}.badge{display:inline-block;padding:6px 10px;border-radius:999px;font-weight:900;font-size:11px}.badge.success{background:#dcfce7;color:#166534}.badge.danger{background:#fee2e2;color:#991b1b}.badge.warning{background:#fef3c7;color:#92400e}.badge.info{background:#dbeafe;color:#1d4ed8}.badge.purple{background:#ede9fe;color:#6d28d9}.empty{text-align:center;padding:40px;color:#64748b}.queue-card{overflow:auto}.queue-card .btn{font-size:12px;padding:8px 10px}.staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.staff-card{display:grid;grid-template-columns:82px 1fr;gap:14px;align-items:center}.staff-photo{width:78px;height:78px;border-radius:14px;object-fit:cover;background:#e8eef6}.staff-photo.placeholder,.profile-big.placeholder{display:grid;place-items:center;font-size:28px;font-weight:900;color:white;background:#17304f}.staff-card h3{margin:0 0 4px}.staff-sign{margin-top:10px;border-top:1px solid #edf1f6;padding-top:8px}.staff-sign img{max-height:34px;max-width:120px;object-fit:contain}.profile-preview{text-align:center}.profile-big{width:150px;height:150px;border-radius:24px;object-fit:cover;margin:6px auto 12px}.signature-box{margin:16px 0;padding:12px;border:1px dashed #cbd5e1;border-radius:10px;background:#fafafa}.signature-box span{display:block;font-size:11px;color:#64748b;margin-bottom:8px}.signature-box img{max-width:200px;max-height:70px;object-fit:contain}.approval-user{display:flex;align-items:center;gap:12px;margin-bottom:12px}.approval-user img,.avatar.big{width:54px;height:54px;border-radius:12px;object-fit:cover}.warn{padding:10px;border-radius:8px;background:#fff7ed;color:#9a3412;margin:10px 0}.member-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #eee}.member-row img{width:38px;height:38px;border-radius:50%;object-fit:cover}.drawing-upload-bar{display:grid;grid-template-columns:1fr 110px minmax(280px,420px);align-items:center;gap:12px;margin-bottom:14px}.drawing-current{height:70px;background:#f6f8fb;border:1px solid #e1e7ef;border-radius:8px;display:grid;place-items:center;font-size:11px;color:#64748b;overflow:hidden}.drawing-current img{width:100%;height:100%;object-fit:cover}.drawing-upload-bar form{display:flex;gap:8px;align-items:center}.drawing-upload-bar input{max-width:220px}.card input,.card textarea,.card select{border:1px solid var(--line);border-radius:7px;padding:8px}.card table input,.card table textarea{width:100%}
@media(max-width:1200px){.product-row{grid-template-columns:78px 1fr 150px}.product-row>div:last-child{grid-column:2/4}.grid4{grid-template-columns:1fr 1fr}.drawing-upload-bar{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}}

/* FactoX AD v0.5.1 - desktop sidebar restore + collapsible team menus */
.app{grid-template-columns:248px minmax(0,1fr)}
.side{display:block!important;width:248px;min-width:248px;padding:20px 14px;overflow-y:auto;position:sticky;top:0;height:100vh}
.main{min-width:0;padding:22px 24px}
.menu-group{margin:8px 0;border-top:1px solid #21344f;padding-top:7px}
.menu-group summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-radius:8px;color:#7fe3cf;font-size:13px;font-weight:900;user-select:none}
.menu-group summary::-webkit-details-marker{display:none}
.menu-group summary::after{content:'›';font-size:18px;line-height:1;transform:rotate(0deg);transition:transform .15s ease;color:#91a5bf}
.menu-group[open] summary::after{transform:rotate(90deg)}
.menu-group summary:hover{background:#142944}
.menu-children{padding:2px 0 5px 8px}
.menu-children a{padding:7px 11px!important;margin:1px 0!important;font-size:12.5px!important;color:#d6e2f0}
.menu-group:not([open]) .menu-children{display:none}
.grid4{grid-template-columns:repeat(4,minmax(135px,1fr))}
.product-row{grid-template-columns:86px minmax(320px,1fr) 150px 100px}

/* Do not hide the team sidebar on normal laptop widths. */
@media(max-width:1100px){
  .app{grid-template-columns:228px minmax(0,1fr)!important}
  .side{display:block!important;width:228px;min-width:228px;padding:18px 12px}
  .main{padding:18px}
  .grid4{grid-template-columns:repeat(4,minmax(110px,1fr))}
  .product-row{grid-template-columns:72px minmax(260px,1fr) 130px}
  .product-row>div:last-child{grid-column:auto}
  .doc-layout,.pl-layout,.rs-only{grid-template-columns:1fr}
  .sticky{position:static}
}
@media(max-width:860px){
  .grid4{grid-template-columns:1fr 1fr}
  .product-row{grid-template-columns:64px 1fr}
  .product-progress,.product-row>div:last-child{grid-column:2}
}
@media(max-width:720px){
  .app{grid-template-columns:1fr!important}
  .side{display:none!important}
  .main{padding:14px}
}
/* v0.6 quality workforce management */
.staff-assets{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}.asset-chip{font-size:10px;padding:4px 7px;border-radius:999px;background:#f1f5f9;color:#64748b}.asset-chip.ok{background:#dcfce7;color:#166534}.person-assets{display:grid;grid-template-columns:160px 1fr 1fr;gap:14px;align-items:end;margin-bottom:16px}.person-assets>div{text-align:center}.person-assets small{display:block;color:#64748b;margin-top:6px}.asset-preview,.asset-empty{width:100%;height:90px;border:1px dashed #cbd5e1;border-radius:10px;object-fit:contain;background:#fff;display:grid;place-items:center;color:#94a3b8}.staff-card{color:inherit}.staff-card:hover{border-color:#9fb2ca;box-shadow:0 5px 16px #0f172a12}@media(max-width:900px){.person-assets{grid-template-columns:1fr 1fr}.person-assets>div:first-child{grid-column:1/3}}

/* v0.9 workflow */
.workflow-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.workflow-step{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #dbe3ee;border-radius:10px;background:#f8fafc}.workflow-step b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#cbd5e1;color:#fff}.workflow-step.done b{background:#10a37f}.workflow-step.active{border-color:#3b82f6;background:#eff6ff}.workflow-step.active b{background:#2563eb}.workflow-arrow{color:#94a3b8;font-weight:700}

/* FactoX AD v0.13 - inline drawing preview */
.drawing-preview-card{margin-bottom:14px;padding:14px 16px}.drawing-preview-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.drawing-preview-body{height:360px;border:1px solid #dbe3ef;border-radius:10px;background:#eef2f7;overflow:hidden;display:grid;place-items:center}.drawing-preview-body iframe{width:100%;height:100%;border:0;background:white}.drawing-preview-body a{width:100%;height:100%;display:grid;place-items:center}.drawing-preview-body img{width:100%;height:100%;object-fit:contain;background:white}.drawing-preview-card .btn{white-space:nowrap}@media(max-width:900px){.drawing-preview-head{align-items:flex-start;flex-direction:column}.drawing-preview-body{height:300px}}


/* FactoX AD v0.14 - dashboard drawing thumbnail preview */
.drawing-thumb{position:relative;background:#fff!important}
.drawing-thumb img{object-fit:contain!important;background:#fff}
.drawing-thumb-pdf{width:100%;height:100%;border:0;background:#fff;pointer-events:none;display:block}
.drawing-type-chip{position:absolute;right:3px;bottom:3px;padding:2px 4px;border-radius:4px;background:rgba(15,35,60,.82);color:#fff;font-size:8px;font-weight:900;line-height:1}
.product-row:hover .drawing-thumb{border-color:#8fa8c5;box-shadow:0 2px 7px #0f172a1a}
/* FactoX AD v0.16 - Spec upload & automatic extraction */
.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.page-head h1{margin:0 0 5px}.page-head p{margin:0;color:#64748b}.btn{display:inline-block;border:0;border-radius:9px;padding:10px 14px;background:#e8eef5;color:#13243c;text-decoration:none;font-weight:800;cursor:pointer;margin-left:6px}.btn.primary{background:#0fa77e;color:#fff}.btn.big{font-size:15px;padding:13px 18px;margin:16px 0 0}.card{background:#fff;border:1px solid #dbe4ef;border-radius:15px;padding:18px;margin-bottom:16px;box-shadow:0 3px 12px rgba(15,35,60,.04)}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:12px;border-bottom:1px solid #e7edf4;text-align:left}.data-table a{color:#153b6a}.spec-upload-card{max-width:900px}.upload-drop{display:flex;flex-direction:column;gap:7px;border:2px dashed #b9c9dc;border-radius:14px;padding:34px;background:#f8fbff;cursor:pointer}.upload-drop span{color:#64748b}.upload-drop input{margin-top:12px}.hint-box{margin-top:18px;border-radius:12px;background:#eef8f5;padding:16px;line-height:1.8}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.spec-grid .card{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{font-weight:800;font-size:13px}.form-grid input,.spec-grid textarea{box-sizing:border-box;width:100%;margin-top:6px;border:1px solid #ccd7e4;border-radius:8px;padding:10px;font:inherit}.span2{grid-column:1/-1}.spec-grid h2{margin:0 0 12px;font-size:18px}.sticky-actions{position:sticky;bottom:0;margin-top:18px;background:#10253c;color:#fff;padding:13px 16px;border-radius:12px;display:flex;justify-content:flex-end;align-items:center;gap:10px;z-index:5}.sticky-actions span{margin-right:auto}.success,.alert{padding:12px 15px;border-radius:10px;margin-bottom:14px}.success{background:#e8f7f1;color:#086d52}.alert{background:#fff0f0;color:#9b1c1c}@media(max-width:900px){.spec-grid{grid-template-columns:1fr}.page-head{flex-direction:column}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}}

/* FactoX AD v0.43 - workflow handoff / team dashboards */
.workflow-alert-bar{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;margin:-4px 0 18px;padding:13px 15px;border:2px solid #f59e0b;border-radius:13px;background:#fff7ed;box-shadow:0 8px 22px rgba(146,64,14,.13)}
.workflow-alert-bar.hold{border-color:#ef4444;background:#fff1f2}.workflow-alert-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f59e0b;color:#fff;font-size:20px;font-weight:900}.workflow-alert-bar.hold .workflow-alert-icon{background:#dc2626}.workflow-alert-copy{display:flex;flex-direction:column;gap:3px}.workflow-alert-copy b{font-size:15px}.workflow-alert-copy span{font-size:12px;color:#7c2d12}.workflow-alert-action{background:#132238;color:#fff;padding:9px 12px;border-radius:9px;font-weight:800;font-size:12px;white-space:nowrap}
.team-hero{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start;margin-bottom:16px}.team-hero h1{margin:0 0 6px;font-size:28px}.team-focus{font-size:12px;font-weight:900;color:#0f766e;background:#e8f7f3;padding:7px 10px;border-radius:999px}.work-stats{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;margin-bottom:16px}.work-stat{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px}.work-stat span{display:block;color:#64748b;font-size:12px}.work-stat b{display:block;font-size:25px;margin-top:6px}.work-stat.ready{border-color:#fbbf24}.work-stat.ack{border-color:#60a5fa}.work-stat.progressing{border-color:#34d399}.work-stat.hold{border-color:#f87171}.work-queue{display:grid;gap:10px}.work-item{display:grid;grid-template-columns:100px minmax(240px,1fr) 150px 150px 120px auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px 14px}.work-item.ready{border-left:5px solid #f59e0b}.work-item.acknowledged{border-left:5px solid #3b82f6}.work-item.in_progress{border-left:5px solid #10b981}.work-item.hold{border-left:5px solid #dc2626;background:#fffafa}.work-status{font-size:11px;font-weight:900;border-radius:999px;padding:5px 8px;text-align:center}.work-status.ready{background:#fef3c7;color:#92400e}.work-status.acknowledged{background:#dbeafe;color:#1d4ed8}.work-status.in_progress{background:#d1fae5;color:#047857}.work-status.hold{background:#fee2e2;color:#991b1b}.work-main b{font-size:15px}.work-main small,.work-meta small{display:block;color:#64748b;margin-top:3px}.work-wait{font-weight:800;font-size:12px}.work-wait.long{color:#b45309}.handoff-chip{display:inline-flex;gap:5px;align-items:center;padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:800}.work-actions{display:flex;gap:6px;justify-content:flex-end}.work-actions form{margin:0}.btn.ack-btn{background:#f59e0b;color:#fff}.task-gate{border:2px solid #f59e0b;background:#fff7ed;border-radius:12px;padding:14px;margin-bottom:14px}.task-gate.ok{border-color:#34d399;background:#ecfdf5}.task-gate h3{margin:0 0 6px;font-size:16px}.task-gate p{margin:0 0 10px;color:#64748b;font-size:13px}.digital-sign{display:flex;align-items:flex-start;gap:9px;border:1px solid #cbd5e1;background:#f8fafc;padding:11px;border-radius:9px;margin:10px 0}.digital-sign input{width:auto!important;margin-top:2px!important}.digital-sign b{display:block}.digital-sign small{display:block;color:#64748b;margin-top:2px}.handoff-result{margin-top:8px;padding:9px 10px;border-radius:9px;background:#eff6ff;color:#1e3a8a;font-size:12px;font-weight:800}.handoff-result.wait{background:#fff7ed;color:#9a3412}
@media(max-width:1200px){.work-item{grid-template-columns:90px 1fr 130px 110px auto}.work-item .work-source{display:none}.work-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.team-hero{grid-template-columns:1fr}.work-stats{grid-template-columns:1fr 1fr}.work-item{grid-template-columns:1fr}.work-actions{justify-content:flex-start}.workflow-alert-bar{grid-template-columns:34px 1fr}.workflow-alert-action{grid-column:1/3;text-align:center}}
@keyframes workflowPulse{0%{transform:scale(1);box-shadow:0 8px 22px rgba(146,64,14,.13)}35%{transform:scale(1.012);box-shadow:0 0 0 6px rgba(245,158,11,.18),0 10px 28px rgba(146,64,14,.18)}100%{transform:scale(1)}}
.workflow-alert-pulse{animation:workflowPulse .75s ease 2}

/* FactoX AD v0.44 - simple team navigation: title opens dashboard, arrow only toggles submenu */
.team-menu-group{margin:8px 0;border-top:1px solid #21344f;padding-top:7px}
.team-menu-row{display:grid;grid-template-columns:1fr 38px;align-items:center;border-radius:8px;overflow:hidden}
.team-menu-title{display:block!important;padding:10px 12px!important;margin:0!important;color:#7fe3cf!important;font-size:13px!important;font-weight:900!important;border-radius:8px 0 0 8px!important;text-decoration:none}
.team-menu-title:hover,.team-menu-row:hover{background:#142944}
.team-menu-toggle{width:38px;height:36px;border:0;background:transparent;color:#91a5bf;font-size:21px;line-height:1;cursor:pointer;transition:transform .15s ease;display:grid;place-items:center;padding:0}
.team-menu-toggle:hover{background:#1a3557;color:#fff}
.team-menu-group.open .team-menu-toggle{transform:rotate(90deg)}
.team-menu-group .menu-children{display:none;padding:4px 0 2px 8px}
.team-menu-group.open .menu-children{display:block}
.team-menu-group .menu-children a{display:block;padding:7px 12px!important;margin:2px 0!important;font-size:12px!important;color:#d7e1ee!important}
.team-menu-group.no-children .team-menu-row{grid-template-columns:1fr}
.team-menu-group.no-children .team-menu-title{border-radius:8px!important}
/* v0.44: top alert is intentionally summary-only; detail lives in the team queue. */
.workflow-alert-copy span{white-space:normal}
.login-account-card{border:1px solid #cbd5e1;background:#f8fafc}
.login-account-card .account-email{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:9px 10px;margin:8px 0 12px;word-break:break-all}
.work-stats.compact{grid-template-columns:repeat(4,minmax(120px,1fr));max-width:780px}
.work-status.completed{background:#e2e8f0;color:#475569}
.work-item.completed{border-left:5px solid #94a3b8;background:#fbfcfd}


/* FactoX AD v0.45 - de-duplicated team navigation / clean role workspaces */
.team-menu-row{display:flex!important;align-items:center!important;gap:2px!important;overflow:visible!important;background:transparent!important}
.team-menu-title{flex:1;min-width:0;border-radius:8px!important}
.team-menu-toggle{appearance:none!important;-webkit-appearance:none!important;flex:0 0 26px!important;width:26px!important;height:26px!important;min-width:26px!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:#93a7c2!important;border-radius:6px!important;padding:0!important;margin:0 4px 0 0!important;font-family:Arial,sans-serif!important;font-size:0!important;position:relative!important;transform:none!important}
.team-menu-toggle::before{content:"›";position:absolute;inset:0;display:grid;place-items:center;font-size:18px;line-height:1;color:inherit;transition:transform .15s ease}
.team-menu-toggle:hover{background:#17304f!important;color:#fff!important}
.team-menu-group.open .team-menu-toggle::before{transform:rotate(90deg)}
.team-menu-group.no-children .team-menu-title{padding-right:42px!important}
.admin-account-layout{display:grid;grid-template-columns:minmax(300px,380px) minmax(560px,1fr);gap:16px;align-items:start}
.admin-add-card{position:sticky;top:18px}.account-table-wrap{overflow:auto}.account-person{display:flex;align-items:center;gap:10px}.account-person img{width:38px;height:38px;border-radius:50%;object-fit:cover}.account-person small{display:block;color:#64748b;margin-top:2px}
.rs-setup-list{display:grid;gap:9px}.rs-setup-row{display:grid;grid-template-columns:minmax(200px,1.3fr) minmax(220px,1.4fr) 130px auto;gap:14px;align-items:center;padding:12px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.rs-setup-row small,.rs-setup-row span{display:block;color:#64748b;font-size:12px;margin-top:3px}.status-chip{display:inline-block;padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px}.status-chip.ready{background:#fef3c7;color:#92400e}.status-chip.acknowledged,.status-chip.in_progress{background:#dbeafe;color:#1d4ed8}.status-chip.hold{background:#fee2e2;color:#991b1b}
.po-table-wrap{overflow:auto}.po-table input{width:100%;min-width:150px;padding:9px 10px;border:1px solid #cbd5e1;border-radius:8px}.po-actions{display:flex;justify-content:flex-end;padding-top:14px}
@media(max-width:1100px){.admin-account-layout{grid-template-columns:1fr}.admin-add-card{position:static}.rs-setup-row{grid-template-columns:1fr 1fr}.rs-setup-row .btn{justify-self:start}}

/* v0.46 — clean team menu + management account access */
.team-menu-group{margin:7px 0!important;padding-top:6px!important;border-top:1px solid #21344f!important}
.team-menu-row{display:flex!important;align-items:center!important;width:100%!important;gap:4px!important;background:transparent!important;border:0!important;overflow:visible!important}
.team-menu-title{flex:1!important;min-width:0!important;display:block!important;padding:10px 10px!important;margin:0!important;border-radius:8px!important;color:#7fe3cf!important;text-decoration:none!important;font-size:14px!important;font-weight:850!important;line-height:1.25!important}
.team-menu-title:hover{background:#17304f!important;color:#fff!important}
.team-menu-toggle{flex:0 0 28px!important;width:28px!important;height:28px!important;margin-right:4px!important;display:grid!important;place-items:center!important;cursor:pointer!important;border-radius:7px!important;background:transparent!important;color:#93a7c2!important;position:relative!important;user-select:none!important;-webkit-user-select:none!important}
.team-menu-toggle::before{content:"›"!important;font-family:Arial,sans-serif!important;font-size:20px!important;line-height:1!important;display:block!important;transform:rotate(0deg)!important;transition:transform .15s ease!important}
.team-menu-toggle:hover,.team-menu-toggle:focus{background:#17304f!important;color:#fff!important;outline:none!important}
.team-menu-group.open .team-menu-toggle::before{transform:rotate(90deg)!important}
.team-menu-group .menu-children{display:none!important;padding:3px 0 3px 10px!important}
.team-menu-group.open .menu-children{display:block!important}
.team-menu-group .menu-children a{display:block!important;padding:7px 10px!important;margin:1px 0!important;font-size:12px!important;color:#d7e1ee!important;border-radius:7px!important}
.team-menu-group .menu-children a:hover{background:#17304f!important;color:#fff!important}

.management-module-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:16px;max-width:980px}
.management-module-card{display:flex;gap:16px;align-items:flex-start;padding:22px;background:#fff;border:1px solid #dbe4ef;border-radius:16px;text-decoration:none;color:#13243c;box-shadow:0 3px 12px rgba(15,35,60,.04)}
.management-module-card:hover{border-color:#93b4d7;box-shadow:0 7px 20px rgba(15,35,60,.09)}
.management-module-card h2{margin:1px 0 7px;font-size:20px}.management-module-card p{margin:0 0 10px;color:#64748b;line-height:1.55}
.module-icon{flex:0 0 48px;height:48px;border-radius:13px;display:grid;place-items:center;background:#e9f7f2;color:#08775c;font-weight:950}
.module-stat{display:inline-block;background:#f1f5f9;border-radius:999px;padding:5px 9px;font-size:12px;color:#475569;font-weight:800}

.account-list{padding:0!important;overflow:hidden}
.account-list-head,.account-list-row{display:grid;grid-template-columns:minmax(240px,1.35fr) 120px minmax(180px,1fr) 170px 130px 80px;gap:14px;align-items:center;padding:13px 16px}
.account-list-head{background:#f7f9fc;color:#64748b;font-size:12px;font-weight:900;border-bottom:1px solid #e5ebf2}
.account-list-row{border-bottom:1px solid #edf1f5}.account-list-row:last-child{border-bottom:0}
.account-person{display:flex!important;align-items:center!important;gap:11px!important;min-width:0}.account-person img,.account-person .avatar{flex:0 0 42px;width:42px;height:42px;border-radius:50%;object-fit:cover;display:grid;place-items:center}
.account-person>div{min-width:0}.account-person b{display:block}.account-person small{display:block;color:#64748b;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:310px}
.account-sub{display:block;color:#64748b;margin-top:5px;font-size:11px}
.access-chip-wrap{display:flex;flex-wrap:wrap;gap:5px}.access-chip{display:inline-block;padding:4px 7px;border-radius:999px;background:#edf4fb;color:#34506f;font-size:11px;font-weight:800}

.account-summary-strip{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin-bottom:16px}.account-summary-strip>div{background:#fff;border:1px solid #dbe4ef;border-radius:12px;padding:13px 14px}.account-summary-strip span{display:block;color:#64748b;font-size:11px;margin-bottom:6px}.account-summary-strip b{font-size:14px;color:#152740}
.account-detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:16px}.team-access-checks{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:8px;margin:7px 0 13px}.team-access-checks label,.account-toggle-row label{display:flex;align-items:center;gap:7px;border:1px solid #dbe4ef;border-radius:9px;padding:9px 10px;background:#fff;font-weight:700}.team-access-checks input,.account-toggle-row input{width:auto!important;margin:0!important}.account-toggle-row{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.permission-note{font-size:12px;color:#64748b;line-height:1.6;background:#f8fafc;border-radius:9px;padding:10px;margin:10px 0 13px}
.account-security-meta{display:grid;gap:8px;margin:14px 0}.account-security-meta>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #edf1f5}.account-security-meta span{color:#64748b}.danger-btn{background:#fff1f2!important;color:#9f1239!important;border:1px solid #fecdd3!important;margin-left:0!important}.account-history-wrap{overflow:auto}.ua-cell{max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.readonly-field{border:1px solid #dbe4ef;border-radius:7px;padding:9px 10px;background:#f8fafc;color:#475569}

@media(max-width:1180px){.account-list-head{display:none}.account-list-row{grid-template-columns:1fr 1fr 1fr}.account-list-row>div:first-child{grid-column:1/-1}.account-detail-grid{grid-template-columns:1fr}.account-summary-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.management-module-grid{grid-template-columns:1fr}.account-list-row{grid-template-columns:1fr}.account-list-row>div:first-child{grid-column:auto}.account-summary-strip{grid-template-columns:1fr}.team-access-checks{grid-template-columns:1fr}}


/* FactoX AD v0.48 - public entry + company signup */
.public-page{min-height:100vh;background:#0d1b2f;color:#fff}.public-header{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,5vw);border-bottom:1px solid #ffffff18}.public-brand,.auth-brand{font-size:23px;font-weight:950;letter-spacing:-.02em}.public-brand span,.auth-brand span{color:var(--mint)}.public-header nav{display:flex;align-items:center;gap:18px}.public-header nav>a:first-child{color:#d9e3ef;font-weight:700}.public-cta{display:inline-flex;align-items:center;justify-content:center;background:var(--mint);color:#08251f!important;padding:13px 18px;border-radius:10px;font-weight:900}.public-cta.small{padding:9px 13px;font-size:13px}.public-hero{max-width:1220px;margin:0 auto;padding:88px 34px 70px;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:70px;align-items:center}.public-kicker{color:#76e7d0;font-size:12px;font-weight:900;letter-spacing:.13em}.public-hero h1{font-size:50px;line-height:1.18;letter-spacing:-.045em;margin:16px 0 18px}.public-hero-copy>p{font-size:18px;line-height:1.8;color:#b8c7d9;max-width:650px}.public-actions{display:flex;gap:10px;margin:30px 0 20px}.public-secondary{display:inline-flex;align-items:center;padding:13px 18px;border:1px solid #ffffff34;border-radius:10px;color:#eef5fb;font-weight:800}.public-note{font-size:13px;color:#91a6bd}.public-preview{border:1px solid #ffffff26;background:#eef3f8;border-radius:18px;overflow:hidden;box-shadow:0 30px 70px #0006;color:#152740}.preview-top{height:42px;background:#fff;display:flex;align-items:center;gap:6px;padding:0 13px;border-bottom:1px solid #dbe4ef}.preview-top span{width:8px;height:8px;border-radius:50%;background:#cbd5e1}.preview-top b{margin-left:8px;font-size:12px}.preview-body{min-height:330px;display:grid;grid-template-columns:120px 1fr}.preview-side{background:#10223a;color:#b9c9dc;padding:18px 12px;display:flex;flex-direction:column;gap:8px;font-size:11px}.preview-side>*{padding:7px;border-radius:6px}.preview-side b,.preview-side .on{background:#193655;color:#fff}.preview-content{padding:28px}.preview-content small{color:#64748b}.preview-content h3{font-size:24px;margin:5px 0 20px}.preview-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.preview-cards>div{background:#fff;border:1px solid #dbe4ef;border-radius:12px;padding:18px}.preview-cards b,.preview-cards span{display:block}.preview-cards span{color:#64748b;font-size:11px;margin-top:7px}.authbox{width:min(430px,calc(100vw - 28px));padding:34px}.authbox h1{font-size:27px;margin:18px 0 6px}.auth-brand{display:inline-block;color:#132238}.authbox label{display:block;font-size:13px;font-weight:850;margin-top:2px}.auth-submit{width:100%;margin:5px 0 0!important;padding:12px 14px!important;background:#0f9f7c!important}.auth-links{display:flex;justify-content:center;gap:7px;border-top:1px solid #edf1f5;margin-top:20px;padding-top:18px;font-size:13px;color:#64748b}.auth-links a{font-weight:900;color:#0b7f64}.auth-home{display:block;text-align:center;margin-top:16px;color:#718096;font-size:12px}.signup-bg{padding:28px 0}.signup-box{width:min(520px,calc(100vw - 28px))}.signup-step{display:inline-block;margin-top:17px;padding:5px 8px;background:#e8f7f3;color:#08775c;border-radius:999px;font-size:11px;font-weight:900}.auth-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.signup-policy{font-size:12px;line-height:1.6;color:#64748b;background:#f8fafc;border:1px solid #e6ecf2;border-radius:9px;padding:10px 11px;margin:2px 0 13px}.signup-welcome{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:#e9f8f3;border:1px solid #bfe9da;border-radius:12px;color:#08654f;margin-bottom:16px}.signup-welcome span{font-size:13px;line-height:1.55}
@media(max-width:900px){.public-hero{grid-template-columns:1fr;padding-top:55px}.public-hero h1{font-size:39px}.public-preview{display:none}}@media(max-width:560px){.public-header{padding:0 16px}.public-header nav>a:first-child{display:none}.public-hero{padding:45px 20px}.public-hero h1{font-size:34px}.public-actions{flex-direction:column}.auth-two{grid-template-columns:1fr}}


/* FactoX AD v0.50 - invitation UI + deployment prep + newest-first lists */
.page-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.invite-list-card{padding:0!important;overflow:hidden}.invite-list-head,.invite-list-row{display:grid;grid-template-columns:minmax(190px,1.1fr) minmax(170px,.9fr) 100px 170px minmax(310px,1.4fr);gap:14px;align-items:center;padding:13px 16px}.invite-list-head{background:#f7f9fc;border-bottom:1px solid #e5ebf2;color:#64748b;font-size:12px;font-weight:900}.invite-list-row{border-bottom:1px solid #edf1f5}.invite-list-row:last-child{border-bottom:0}.invite-list-row b,.invite-list-row small{display:block}.invite-list-row small{color:#64748b;margin-top:4px}.invite-actions{min-width:0}.invite-link-row{display:flex;gap:6px;align-items:center}.invite-link-row input{min-width:0;flex:1;font-size:11px;background:#f8fafc}.text-danger-btn{border:0;background:transparent;color:#b4233a;font-size:11px;font-weight:800;padding:7px 0 0;cursor:pointer}.badge.warning{background:#fff7dc;color:#8a6500}.invite-form-layout{display:grid;grid-template-columns:minmax(580px,760px) minmax(270px,320px);gap:18px;align-items:start;max-width:1120px}.invite-form-card{min-width:0}.invite-form-card .form2{gap:14px}.invite-form-card .btn.green{margin-top:4px;min-width:180px}.invite-form-card .team-access-checks{grid-template-columns:repeat(3,minmax(120px,1fr));gap:9px}.invite-side-note{padding:16px}.invite-side-note .section-title{margin-bottom:6px}.invite-section-gap{margin-top:22px}.optional{font-size:10px;color:#94a3b8;font-weight:700}.field-help{margin:-2px 0 12px;color:#64748b;font-size:11px;line-height:1.55}.invite-side-note ol{padding-left:21px;margin:8px 0 18px;line-height:1.9;color:#415269}.invite-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:18px 0}.invite-summary>div{background:#f8fafc;border:1px solid #e4eaf1;border-radius:9px;padding:10px}.invite-summary span,.invite-summary b{display:block}.invite-summary span{font-size:10px;color:#64748b;margin-bottom:5px}.invite-summary b{font-size:13px}.invite-accept-box{width:min(560px,calc(100vw - 28px))}
@media(max-width:1380px){.invite-form-layout{grid-template-columns:minmax(0,780px);max-width:780px}.invite-side-note{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:start}.invite-side-note .section-title{grid-column:1/-1}.invite-side-note ol{margin:0}.invite-side-note .hint-box{margin:0}}@media(max-width:1100px){.invite-list-head{display:none}.invite-list-row{grid-template-columns:1fr 1fr}.invite-list-row>div:first-child,.invite-list-row>div:last-child{grid-column:1/-1}}@media(max-width:760px){.invite-form-layout{grid-template-columns:1fr;max-width:none}.invite-form-card .form2{grid-template-columns:1fr}.invite-form-card .team-access-checks{grid-template-columns:1fr 1fr}.invite-side-note{display:block}.invite-list-row{grid-template-columns:1fr}.invite-list-row>div:first-child,.invite-list-row>div:last-child{grid-column:auto}.invite-summary{grid-template-columns:1fr}.page-actions{width:100%}.invite-form-card .btn.green{width:100%}}@media(max-width:520px){.invite-form-card .team-access-checks{grid-template-columns:1fr}}
/* v0.51 R/S authoring */
.rs-status-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rs-state{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid #d0d5dd;background:#f8fafc}.rs-state.issued{background:#ecfdf3;border-color:#abefc6;color:#067647}.rs-state.draft{background:#fff7ed;border-color:#fed7aa;color:#b54708}.rs-issued-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;border-left:4px solid #12b76a}.rs-issued-banner div{display:flex;flex-direction:column;gap:4px}.rs-issued-banner small{color:#667085}.rs-header-card{margin-bottom:14px}.rs-header-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}.rs-header-grid label,.rs-lot-grid label,.rs-header-card>label{font-size:12px;font-weight:700;color:#475467}.rs-header-grid input,.rs-lot-grid input,.rs-header-card textarea{width:100%;box-sizing:border-box;margin-top:5px;border:1px solid #d0d5dd;border-radius:8px;padding:9px 10px;background:#fff}.rs-header-grid .span2{grid-column:span 2}.rs-lot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}.rs-editor-card{padding:0;overflow:hidden}.rs-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #eaecf0}.rs-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.rs-column-guide{display:grid;grid-template-columns:80px 110px 280px minmax(420px,1fr);gap:10px;padding:9px 16px;background:#f8fafc;border-bottom:1px solid #eaecf0;font-size:11px;font-weight:800;color:#667085}.rs-route-row{position:relative;padding:14px 16px;border-bottom:1px solid #eaecf0;background:#fff}.rs-route-row:last-child{border-bottom:0}.rs-route-main{display:grid;grid-template-columns:80px 110px 280px minmax(0,1fr);gap:10px;align-items:start}.rs-route-main label{font-size:11px;font-weight:800;color:#667085;display:block;margin-bottom:5px}.rs-route-main input,.rs-route-main select,.rs-route-main textarea,.rs-field-row input,.rs-field-row select{width:100%;box-sizing:border-box;border:1px solid #d0d5dd;border-radius:7px;padding:8px;background:#fff}.rs-route-main textarea{resize:vertical;min-height:88px}.rs-route-selects{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.required-toggle{margin-top:8px!important;display:flex!important;gap:6px;align-items:center}.required-toggle input,.fld-required input{width:auto}.record-head{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px dashed #d0d5dd}.record-head span{font-size:11px;color:#667085;flex:1}.record-head button{border:1px solid #b2ccff;background:#eff4ff;color:#175cd3;border-radius:7px;padding:6px 9px;font-weight:700;cursor:pointer}.rs-fields{margin-top:7px;display:flex;flex-direction:column;gap:6px}.rs-field-row{display:grid;grid-template-columns:minmax(130px,1.1fr) 110px 76px minmax(150px,1.4fr) 60px 58px 70px 70px 34px;gap:6px;align-items:center}.fld-required{font-size:11px!important;margin:0!important;display:flex!important;align-items:center;gap:4px}.rs-icon,.rs-row-actions button{border:1px solid #d0d5dd;background:#fff;border-radius:7px;padding:7px;cursor:pointer}.rs-icon.danger,.danger-mini{color:#b42318}.always-fields{margin-top:8px;padding:7px 9px;border-radius:7px;background:#f8fafc;color:#667085;font-size:11px}.rs-row-actions{position:absolute;right:16px;top:8px;display:flex;gap:5px}.rs-savebar{position:sticky;bottom:0;z-index:20;margin-top:14px;border:1px solid #d0d5dd;border-radius:12px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -6px 18px rgba(16,24,40,.06)}.rs-savebar>div:first-child{display:flex;flex-direction:column;gap:2px}.rs-savebar small{color:#667085}.rs-save-actions{display:flex;gap:8px}.quantity-card{margin-top:12px;padding:12px;background:#f8fafc;border:1px solid #e4e7ec;border-radius:10px}.quantity-card .quantity-title{font-weight:800;margin-bottom:8px}.quantity-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.metric-set{padding:10px;border:1px solid #e4e7ec;border-radius:9px;background:#fff}.metric-points{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:6px}.metric-summary{font-size:11px;color:#667085;margin-top:5px}.field-criteria{font-size:11px;color:#667085;margin-top:4px}.phase-tag{display:inline-flex;border-radius:999px;padding:3px 7px;background:#f2f4f7;color:#475467;font-size:10px;font-weight:700}.rs-tech-instruction{white-space:pre-wrap;line-height:1.6}
@media(max-width:1250px){.rs-column-guide{display:none}.rs-route-main{grid-template-columns:72px 100px minmax(220px,1fr);}.rs-route-content{grid-column:1/-1}.rs-field-row{grid-template-columns:1.2fr 110px 70px 1.5fr 60px 58px 70px 70px 34px}.rs-header-grid,.rs-lot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rs-header-grid .span2{grid-column:span 2}}
@media(max-width:760px){.rs-route-main{grid-template-columns:1fr 1fr}.rs-route-identity,.rs-route-content{grid-column:1/-1}.rs-field-row{grid-template-columns:1fr 1fr}.rs-field-row>*{min-width:0}.rs-field-row .fld-criteria{grid-column:1/-1}.rs-row-actions{position:static;margin-top:8px}.rs-header-grid,.rs-lot-grid{grid-template-columns:1fr}.rs-header-grid .span2{grid-column:auto}.rs-editor-toolbar,.rs-savebar{align-items:stretch;flex-direction:column}.rs-save-actions{display:grid;grid-template-columns:1fr 1fr}.quantity-grid{grid-template-columns:1fr 1fr}.metric-points{grid-template-columns:repeat(2,1fr)}}
.record-field-block{margin:10px 0}.record-field-block>label{display:block;font-weight:700;margin-bottom:4px}.record-field-block>input,.record-field-block>select{width:100%;box-sizing:border-box;border:1px solid #d0d5dd;border-radius:8px;padding:9px}.quantity-card label{font-size:11px;font-weight:700;color:#475467}.quantity-card input{width:100%;box-sizing:border-box;margin-top:4px;border:1px solid #d0d5dd;border-radius:7px;padding:8px;background:#fff}

/* v0.51.1 — active R/S operation header: make current process and W/C unmistakable */
.rs-current-operation{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:2px 0 16px;padding:12px 14px;border:1px solid #dbe4ee;border-radius:11px;background:#f8fafc}
.rs-current-operation-title{font-size:22px;line-height:1.25;font-weight:900;color:#172033;letter-spacing:-.02em}
.rs-current-wc{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;border-radius:9px;background:#e9f2ff;border:1px solid #b9d3fa;color:#174ea6;font-size:14px;line-height:1;font-weight:900;white-space:nowrap}
@media(max-width:760px){.rs-current-operation{gap:9px;padding:11px 12px}.rs-current-operation-title{font-size:19px}.rs-current-wc{font-size:13px;min-height:32px;padding:6px 10px}}

/* v0.51.2 — field-first input UX: fewer keystrokes, previous record reference, one-click start */
.prev-record-card{margin-top:14px;padding:13px 14px;border:1px solid #d9e3ef;border-radius:11px;background:#fbfdff}
.prev-record-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.prev-record-head>div{display:flex;flex-direction:column;gap:3px}.prev-record-head b{font-size:14px}.prev-record-head small{font-size:11px;color:#667085}.prev-record-head>span{font-size:12px;font-weight:800;color:#31557c;white-space:nowrap}
.prev-record-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px}.prev-record-values>div{padding:8px 9px;border-radius:7px;background:#fff;border:1px solid #e7edf4;font-size:12px}
.prev-record-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.prev-record-meta span{padding:5px 8px;border-radius:999px;background:#eef4fa;color:#41566f;font-size:11px;font-weight:700}.prev-record-ncr{margin-top:8px;color:#b42318;font-size:12px;font-weight:800}.prev-record-note{margin-top:8px;padding-top:8px;border-top:1px dashed #d8e0e8;color:#475467;font-size:12px}
.start-confirm-card{margin-top:14px;padding:15px;border:2px solid #c9d9ee;border-radius:12px;background:#f8fbff}.start-confirm-title{font-size:17px;font-weight:900;margin-bottom:12px}.start-confirm-card>label{font-size:12px;font-weight:800;color:#475467}.start-time-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:8px;align-items:center}.start-time-row input{width:100%;padding:10px 11px;border:1px solid #cdd8e5;border-radius:8px;background:#fff}.start-time-row .btn{min-height:42px}.start-confirmed{margin-top:14px;padding:11px 13px;border-radius:10px;background:#edf9f3;border:1px solid #bfe9d5;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.start-confirmed b{color:#116149}.start-confirmed span{font-size:12px;font-weight:800;color:#174ea6}.start-confirmed small{margin-left:auto;color:#667085}
.drawing-confirm-box{display:grid;grid-template-columns:150px minmax(140px,1fr) auto auto;gap:8px;align-items:center;margin-bottom:12px;padding:11px 12px;border:1px solid #dbe6f2;border-radius:9px;background:#fff}.drawing-confirm-box>span{font-size:12px;color:#667085;font-weight:800}.drawing-confirm-box>b{font-size:17px;letter-spacing:.01em}.drawing-confirm-box>small{color:#667085}.one-click-confirm{margin:0!important}.one-click-confirm input{position:absolute;opacity:0;pointer-events:none}.one-click-confirm span{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 11px;border:1px solid #b9c7d8;border-radius:8px;background:#fff;color:#41566f;font-size:12px;font-weight:900;cursor:pointer;white-space:nowrap}.one-click-confirm input:checked+span{background:#e8f8f2;border-color:#72d3b5;color:#08765d}
.process-fields-title{display:flex;align-items:baseline;gap:8px}.process-fields-title span{font-size:11px;color:#667085;font-weight:500}
.quick-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-choice-item{margin:0!important}.quick-choice-item input{position:absolute;opacity:0;pointer-events:none}.quick-choice-item span{display:flex;align-items:center;justify-content:center;min-height:42px;border:1px solid #ced8e4;border-radius:8px;background:#fff;font-size:12px;font-weight:900;cursor:pointer}.quick-choice-item.pass input:checked+span{background:#eaf8f0;border-color:#7bd4a3;color:#166534}.quick-choice-item.fail input:checked+span{background:#fff0f0;border-color:#f0a8a8;color:#991b1b}
.easy-time-range{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:center}.easy-time-range>div{display:grid;grid-template-columns:1fr auto;gap:5px}.easy-time-range input{width:100%;padding:9px;border:1px solid #d0d5dd;border-radius:8px}.easy-time-range>span{text-align:center;color:#98a2b3}
.easy-quantity .quantity-title{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.easy-quantity-grid{display:grid;grid-template-columns:1fr 1fr 150px;gap:10px;align-items:end}.qty-input-wrap{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid #d0d5dd;border-radius:8px;background:#fff;overflow:hidden;margin-top:4px}.qty-input-wrap input{border:0!important;margin:0!important;border-radius:0!important}.qty-input-wrap span{padding:0 10px;color:#667085;font-size:12px;font-weight:800}.qty-output{min-height:59px;border:1px solid #d9e3ef;border-radius:8px;background:#fff;padding:8px 10px;display:grid;grid-template-columns:1fr auto auto;gap:5px;align-items:end}.qty-output span{grid-column:1/-1;font-size:11px;color:#667085;font-weight:700}.qty-output b{font-size:21px}.qty-output small{color:#667085;font-weight:800;padding-bottom:3px}.ncr-auto{display:none;margin-top:10px}.ncr-auto.show{display:block}.field-entry-form{margin-top:14px}.field-complete-btn{width:100%;min-height:44px;font-size:14px}
@media(max-width:760px){.prev-record-head{flex-direction:column}.prev-record-head>span{white-space:normal}.prev-record-values{grid-template-columns:1fr}.start-time-row{grid-template-columns:1fr 1fr}.start-time-row input{grid-column:1/-1}.drawing-confirm-box{grid-template-columns:1fr 1fr}.drawing-confirm-box .one-click-confirm{grid-column:1/-1}.one-click-confirm span{width:100%}.easy-quantity-grid{grid-template-columns:1fr 1fr}.qty-output{grid-column:1/-1}.quick-choice{grid-template-columns:1fr}.start-confirmed small{margin-left:0;width:100%}}

/* v0.51.3 — completed record lock, editable drawing/WC confirmation, signature preview */
.inspection-workspace.is-completed> .card:last-child{border:2px solid #7bcba6;background:linear-gradient(180deg,#f2fbf6 0,#fff 190px);box-shadow:0 8px 24px rgba(22,101,52,.08)}
.record-completed-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;margin:0 0 16px;padding:15px 16px;border:1px solid #86d5ae;border-radius:12px;background:#eaf8f0;color:#14532d}.record-completed-banner h3{margin:0 0 4px;font-size:17px}.record-completed-banner p{margin:0;font-size:12px;color:#39704f}.record-completed-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#22a06b;color:#fff;font-size:22px;font-weight:900}.record-completed-banner form{margin:0}
.planned-wc{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f2f4f7;color:#667085;font-size:11px;font-weight:800}
.drawing-confirm-box.editable{grid-template-columns:minmax(220px,1.5fr) minmax(100px,.55fr) auto}.drawing-confirm-box.editable label{margin:0;display:flex;flex-direction:column;gap:5px}.drawing-confirm-box.editable label>span{font-size:11px;font-weight:800;color:#667085}.drawing-confirm-box.editable input[type="text"],.drawing-confirm-box.editable input:not([type]){width:100%}.drawing-confirm-box.editable .one-click-confirm{align-self:end;display:block}.drawing-confirm-box.editable .one-click-confirm span{min-height:40px}
.wc-confirm-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end;margin:0 0 12px}.wc-confirm-row label{margin:0;font-size:12px;font-weight:800;color:#475467}.wc-confirm-row label input{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:10px;border:1px solid #cdd8e5;border-radius:8px;background:#fff}.wc-confirm-row small{padding-bottom:10px;color:#667085;font-size:11px;font-weight:700}
.start-info-edit{margin-top:8px;border:1px solid #dbe4ef;border-radius:9px;background:#fff}.start-info-edit summary{cursor:pointer;padding:9px 11px;font-size:12px;font-weight:800;color:#475467}.start-info-edit form{padding:0 11px 11px}
.inspector-sign-preview{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:12px;align-items:center;margin:14px 0;padding:12px;border:1px solid #dbe4ef;border-radius:10px;background:#fbfdff}.inspector-id{display:flex;align-items:center;gap:11px}.inspector-id small{display:block;margin-top:4px;color:#9a6700;font-size:11px}.signature-live-preview{min-height:70px;border:1px dashed #b9c7d8;border-radius:9px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:7px}.signature-live-preview>span{font-size:10px;color:#667085;margin-bottom:5px}.signature-live-preview img{max-width:180px;max-height:48px;object-fit:contain}.no-signature{color:#b42318;font-size:12px}.hold-note{color:#b42318!important;font-weight:800!important;margin-top:5px!important}
@media(max-width:760px){.record-completed-banner{grid-template-columns:auto 1fr}.record-completed-banner form{grid-column:1/-1}.record-completed-banner .btn{width:100%}.drawing-confirm-box.editable{grid-template-columns:1fr}.drawing-confirm-box.editable .one-click-confirm{align-self:stretch}.wc-confirm-row{grid-template-columns:1fr}.wc-confirm-row small{padding-bottom:0}.inspector-sign-preview{grid-template-columns:1fr}.signature-live-preview{min-height:62px}}
.workflow-alert-bar.notice{background:#fff7ed;border-color:#fdba74}.notification-list{display:grid;gap:12px}.notice-card{border-left:4px solid #cbd5e1}.notice-card.unread{border-left-color:#f59e0b;background:#fffdf7}.notice-head,.notice-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.notice-head small{display:block;color:#64748b;margin-top:4px}.notice-message{margin:12px 0;line-height:1.6}.notice-changes{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;line-height:1.65}.notice-foot{margin-top:12px}.notice-foot form{margin:0}

/* v0.53 personal dashboard + field lock clarity */
.blocked-work-banner{display:grid;grid-template-columns:62px 1fr;gap:16px;align-items:center;border:3px solid #dc2626;background:#fff1f2;color:#7f1d1d;border-radius:16px;padding:18px 20px;margin:0 0 18px;box-shadow:0 10px 28px rgba(220,38,38,.16)}
.blocked-work-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#dc2626;color:#fff;font-size:34px;font-weight:1000;line-height:1}
.blocked-work-copy h2{margin:0 0 4px;font-size:24px;line-height:1.15;color:#991b1b}.blocked-work-copy>b{display:block;font-size:18px;margin-bottom:7px}.blocked-work-copy p{margin:0 0 5px;font-size:14px;line-height:1.5}.blocked-work-copy p span{display:inline-block;background:#fecaca;color:#991b1b;border-radius:999px;padding:2px 7px;font-weight:900}.blocked-work-copy small{display:block;color:#991b1b;font-weight:700}
.op.waiting-lock{border:2px solid #fecaca;background:#fff7f7}.op.waiting-lock small{color:#b91c1c;font-weight:800}.op.waiting-lock .status{background:#fee2e2!important;color:#991b1b!important}
.locked-input-area{position:relative;opacity:.58;filter:grayscale(.15)}.locked-input-area:before{content:'선행공정 완료 전 입력 잠금';display:block;margin-bottom:10px;padding:10px 12px;border-radius:10px;background:#fee2e2;color:#991b1b;font-weight:900;text-align:center}

.personal-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 24px;margin-bottom:16px;background:linear-gradient(135deg,#ffffff 0%,#f7fbff 100%)}
.personal-identity{display:flex;align-items:center;gap:16px}.personal-photo{width:70px;height:70px;border-radius:18px;object-fit:cover;background:#132238;color:#fff;display:grid;place-items:center;font-size:28px;font-weight:900}.personal-kicker{font-size:12px;color:#0f766e;font-weight:900;letter-spacing:.03em;margin-bottom:4px}.personal-hero h1{margin:0;font-size:30px;line-height:1.1}.personal-login-line{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;color:#64748b;font-size:12px}.personal-hero-actions{display:flex;gap:8px;flex-wrap:wrap}
.personal-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.personal-summary{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:0 2px 8px #0f172a08}.personal-summary span{display:block;font-size:12px;color:#64748b;font-weight:800}.personal-summary b{display:block;font-size:30px;line-height:1;margin:9px 0 6px}.personal-summary small{font-size:11px;color:#94a3b8}.personal-summary.ready{border-top:4px solid #f59e0b}.personal-summary.work{border-top:4px solid #10b981}.personal-summary.waiting{border-top:4px solid #ef4444}.personal-summary.hold{border-top:4px solid #991b1b;background:#fffafa}.personal-summary.notice{border-top:4px solid #3b82f6}
.personal-grid-main{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:16px;margin-bottom:16px}.personal-grid-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.personal-panel{padding:18px}.personal-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.personal-section-head h2{margin:0 0 4px;font-size:19px}.personal-section-head p{margin:0;color:#64748b;font-size:12px}.personal-section-head>a{font-size:12px;font-weight:800}
.personal-task-list,.waiting-list,.personal-notice-list,.equipment-due-list,.activity-mini-list{display:grid;gap:10px}.personal-task{display:grid;grid-template-columns:112px 1fr auto;gap:14px;align-items:center;border:1px solid #e2e8f0;border-radius:13px;padding:13px 14px;color:inherit;text-decoration:none;background:#fff;transition:.15s}.personal-task:hover{border-color:#93c5fd;box-shadow:0 5px 16px #1d4ed812}.personal-task.ready{border-left:5px solid #f59e0b}.personal-task.acknowledged{border-left:5px solid #3b82f6}.personal-task.in_progress{border-left:5px solid #10b981}.personal-task.hold{border-left:5px solid #dc2626;background:#fffafa}.personal-task-status strong{display:block;font-size:13px}.personal-task-status small{display:block;color:#64748b;margin-top:4px;font-size:11px}.personal-task-copy h3{margin:0 0 4px;font-size:15px}.personal-task-copy p{margin:0;color:#475569;font-size:12px}.personal-meta-line{display:flex;gap:12px;flex-wrap:wrap;margin-top:7px;font-size:11px;color:#64748b}.due-date{color:#9a3412;font-weight:900}.task-note{display:block;margin-top:6px;color:#b91c1c}.personal-open{font-size:12px;font-weight:900;color:#1d4ed8;background:#eff6ff;border-radius:8px;padding:7px 9px}
.waiting-row{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:start;border:1px solid #fecaca;background:#fff8f8;border-radius:12px;padding:12px}.waiting-lock{height:36px;border-radius:8px;background:#dc2626;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:1000;letter-spacing:.05em}.waiting-copy>b{display:block;font-size:14px}.waiting-copy>small{display:block;color:#64748b;margin-top:3px}.waiting-copy p{margin:8px 0 4px;font-size:12px;line-height:1.45;color:#7f1d1d}.waiting-copy p span{font-weight:900}.personal-empty{padding:24px 12px;text-align:center;color:#64748b;background:#f8fafc;border-radius:10px;font-size:12px}
.personal-notice{display:block;text-decoration:none;color:inherit;border-bottom:1px solid #edf2f7;padding:0 0 10px}.personal-notice:last-child{border-bottom:0;padding-bottom:0}.personal-notice>div:first-child{display:flex;justify-content:space-between;gap:10px}.personal-notice b{font-size:13px}.personal-notice small{color:#94a3b8;font-size:10px}.personal-notice p{margin:5px 0 0;font-size:12px;color:#475569;line-height:1.45}.notice-mini-change{margin-top:6px;padding:6px 8px;background:#f8fafc;border-radius:7px;color:#475569;font-size:11px}
.equipment-due-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #e2e8f0;border-radius:11px;padding:10px 11px}.equipment-due-row small{display:block;color:#64748b;margin-top:2px;font-size:10px}.equipment-due-date{text-align:right}.equipment-due-row.soon{border-color:#fbbf24;background:#fffbeb}.equipment-due-row.overdue{border-color:#ef4444;background:#fff1f2}.equipment-due-row.overdue .equipment-due-date{color:#b91c1c}
.activity-mini{display:grid;grid-template-columns:74px 1fr;gap:10px;align-items:start;padding:8px 0;border-bottom:1px solid #edf2f7}.activity-mini:last-child{border-bottom:0}.activity-time{font-size:11px;color:#64748b}.activity-mini b{display:block;font-size:12px;line-height:1.4}.activity-mini small{display:block;color:#94a3b8;margin-top:2px;font-size:10px}
@media(max-width:1250px){.personal-summary-grid{grid-template-columns:repeat(3,1fr)}.personal-grid-main{grid-template-columns:1fr}.personal-grid-bottom{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.blocked-work-banner{grid-template-columns:48px 1fr;padding:14px}.blocked-work-icon{width:44px;height:44px;font-size:26px}.blocked-work-copy h2{font-size:20px}.personal-hero{align-items:flex-start;flex-direction:column}.personal-summary-grid{grid-template-columns:1fr 1fr}.personal-grid-bottom{grid-template-columns:1fr}.personal-task{grid-template-columns:1fr}.personal-open{justify-self:start}.personal-login-line{flex-direction:column;gap:3px}}
.equipment-manage-list{display:grid;gap:10px}.equipment-manage-card{border:1px solid #e2e8f0;border-radius:12px;padding:12px}.equipment-manage-head,.equipment-manage-dates{display:flex;justify-content:space-between;gap:12px;align-items:center}.equipment-manage-head small{display:block;color:#64748b;margin-top:3px}.equipment-manage-dates{margin:10px 0;color:#64748b;font-size:12px}.equipment-manage-card details summary{cursor:pointer;color:#2563eb;font-weight:800;font-size:12px}.compact-equipment-form{margin-top:10px;padding-top:10px;border-top:1px solid #e2e8f0}
.fx-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.fx-metric-card{position:relative;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;background:#fff;border:1px solid #e1e7ef;border-radius:13px;padding:17px;box-shadow:0 4px 16px rgba(15,31,54,.04)}.fx-metric-card:hover{transform:translateY(-1px);box-shadow:0 7px 20px rgba(15,31,54,.07)}.fx-metric-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:18px;font-weight:950}.fx-metric-card.green .fx-metric-icon{background:#e8f8ef;color:#159d55}.fx-metric-card.blue .fx-metric-icon{background:#eaf1ff;color:#2563eb}.fx-metric-card.red .fx-metric-icon{background:#fff0f1;color:#e33d46}.fx-metric-card.orange .fx-metric-icon{background:#fff2e4;color:#f37c13}.fx-metric-card span{display:block;font-size:12px;color:#43546c;font-weight:800}.fx-metric-card b{font-size:29px;color:#0d274b}.fx-metric-card b em{font-size:12px;font-style:normal;margin-left:2px;color:#65758a}.fx-metric-card small{display:block;color:#8a98aa;font-size:10px;margin-top:3px}.fx-metric-card>i{font-style:normal;color:#55718f}@media(max-width:900px){.fx-metric-grid{grid-template-columns:1fr 1fr}}@media(max-width:540px){.fx-metric-grid{grid-template-columns:1fr}}

/* v0.54.1 Routing Sheet workspace */
.fx-page-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.fx-page-title-row h1{margin:0;font-size:28px;color:#0d274b}.fx-page-title-row p{margin:6px 0 0;color:#718096}.fx-mode-switch{display:flex;background:#eaf0f7;border-radius:10px;padding:3px}.fx-mode-switch a{padding:8px 13px;border-radius:8px;font-size:12px;font-weight:900;color:#586b82}.fx-mode-switch a.on{background:#fff;color:#0b4ccb;box-shadow:0 1px 4px #0f172a12}.fx-rs-list{display:grid;gap:10px}.fx-rs-list-card{display:grid;grid-template-columns:1.1fr 1.5fr .8fr auto;gap:20px;align-items:center;background:#fff;border:1px solid #dfe6ef;border-radius:13px;padding:16px 18px;box-shadow:0 3px 12px rgba(15,31,54,.04)}.fx-rs-list-card:hover{border-color:#8eb6f0;box-shadow:0 6px 20px rgba(25,73,141,.08)}.fx-rs-list-card small,.fx-rs-list-card span{display:block;color:#78879a;font-size:11px}.fx-rs-list-card b{display:block;color:#0d274b;margin:4px 0}.fx-rs-state{display:inline-block!important;width:max-content;padding:4px 8px;border-radius:999px;background:#eef3f8;font-size:11px!important}.fx-rs-state.issued{background:#e8f7ef;color:#137a48}.fx-rs-open{font-weight:900;color:#165dcc;white-space:nowrap}
.fx-rs-workspace{display:grid;grid-template-columns:205px minmax(620px,1fr) 340px;gap:12px;align-items:start}.fx-rs-left,.fx-rs-right{display:grid;gap:12px}.fx-card{background:#fff;border:1px solid #dfe6ef;border-radius:12px;padding:14px;box-shadow:0 3px 12px rgba(15,31,54,.035)}.fx-panel-title{font-weight:900;color:#0d274b;margin-bottom:12px}.fx-panel-title span{float:right;font-size:11px;color:#6c7b8e}.fx-rs-info dl{margin:0}.fx-rs-info dt{font-size:10px;color:#7b8a9d;margin-top:9px}.fx-rs-info dd{margin:2px 0 0;font-size:12px;font-weight:850;color:#102b51}.fx-tree-list{display:grid;gap:4px}.fx-tree-row{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:8px;border-radius:9px;color:#183150}.fx-tree-row:hover,.fx-tree-row.active{background:#edf4ff}.fx-tree-row.waiting{opacity:.67}.fx-tree-dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#94a3b8;color:#fff;font-size:9px;font-weight:900}.fx-tree-dot.done{background:#14a05a}.fx-tree-dot.live{background:#2563eb}.fx-tree-dot.hold{background:#dc2626}.fx-tree-row b{display:block;font-size:11px}.fx-tree-row small{display:block;font-size:9px;color:#7c8b9f;margin-top:2px}.fx-tree-row em{font-style:normal;font-size:8px;color:#75859a}.fx-doc-toolbar{height:43px;background:#fff;border:1px solid #dfe6ef;border-radius:10px 10px 0 0;display:flex;align-items:center;justify-content:space-between;padding:6px 10px}.fx-doc-toolbar>div{display:flex;align-items:center;gap:12px}.fx-doc-toolbar a:not(.btn),.fx-doc-toolbar span{font-size:11px;color:#52657e}.fx-rs-document{position:relative;background:#fff;border:1px solid #d2dae5;border-top:0;min-height:720px;padding:34px 24px;box-shadow:0 6px 22px rgba(15,31,54,.07)}.fx-rs-document h2{text-align:center;margin:0 0 18px;letter-spacing:.02em;color:#111827}.fx-rs-doc-brand{position:absolute;right:28px;top:18px;font-weight:900;color:#0c2749}.fx-rs-doc-brand span{color:#13b792}.fx-rs-doc-meta{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #657080;border-left:1px solid #657080;margin-bottom:12px}.fx-rs-doc-meta>div{min-height:54px;padding:7px 8px;border-right:1px solid #657080;border-bottom:1px solid #657080}.fx-rs-doc-meta span{display:block;font-size:8px;color:#515c68}.fx-rs-doc-meta b{display:block;margin-top:5px;font-size:10px;color:#111827}.fx-rs-table-wrap{overflow:auto}.fx-rs-table{table-layout:fixed;border-collapse:collapse;min-width:780px}.fx-rs-table th,.fx-rs-table td{border:1px solid #7a8490;padding:6px 5px;font-size:9px;vertical-align:top;background:#fff}.fx-rs-table th{background:#f7f8fa;text-align:center}.fx-rs-table th:nth-child(1){width:40px}.fx-rs-table th:nth-child(2){width:62px}.fx-rs-table th:nth-child(3){width:94px}.fx-rs-table th:nth-child(4){width:34%}.fx-rs-table th:nth-child(5),.fx-rs-table th:nth-child(6){width:70px}.fx-rs-table th:nth-child(7){width:62px}.fx-rs-table th:nth-child(8){width:64px}.fx-rs-table tr.selected td{background:#eef5ff}.fx-context-tabs{padding:0}.fx-context-tab{padding:13px 14px;border-bottom:2px solid transparent;font-weight:900;font-size:12px}.fx-context-tab.on{border-bottom-color:#2563eb;color:#1552b8}.fx-full-btn{display:block;width:100%;text-align:center;margin-top:12px}.fx-revision-row{border-top:1px solid #edf1f6;padding:10px 0}.fx-revision-row:first-of-type{border-top:0}.fx-revision-row b,.fx-revision-row span,.fx-revision-row small{display:block}.fx-revision-row span,.fx-revision-row small{font-size:10px;color:#78879a;margin-top:3px}.fx-current-op{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.fx-current-op b{font-size:16px;color:#0d274b}.fx-current-op span{background:#eaf1ff;color:#1e56b2;border-radius:999px;padding:5px 8px;font-weight:900;font-size:10px}.blocked-work-banner.compact{grid-template-columns:36px 1fr;padding:11px 12px;margin:8px 0}.blocked-work-banner.compact .blocked-work-icon{width:32px;height:32px;font-size:18px}.blocked-work-banner.compact .blocked-work-copy h2{font-size:15px}.blocked-work-banner.compact .blocked-work-copy b,.blocked-work-banner.compact .blocked-work-copy p{font-size:11px}.record-completed-banner.compact{padding:10px;grid-template-columns:36px 1fr auto}.fx-quality-state{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #edf1f6}.fx-quality-state span{font-size:11px;color:#78879a}.fx-quality-state b{font-size:11px;color:#183150}
@media(max-width:1350px){.fx-rs-workspace{grid-template-columns:190px minmax(560px,1fr) 300px}.fx-rs-list-card{grid-template-columns:1fr 1.2fr .8fr auto}}@media(max-width:1080px){.fx-rs-workspace{grid-template-columns:1fr}.fx-rs-left{grid-template-columns:1fr 1fr}.fx-rs-right{grid-template-columns:1fr}.fx-rs-list-card{grid-template-columns:1fr 1fr}.fx-rs-open{justify-self:start}}@media(max-width:650px){.fx-rs-left,.fx-rs-list-card{grid-template-columns:1fr}.fx-rs-doc-meta{grid-template-columns:1fr 1fr}}

/* ============================================================
   v0.55 - Reference UI system
   Reference: personal dashboard / Routing Sheet / Process Log
   ============================================================ */
:root{--fx-navy:#082e5f;--fx-navy-deep:#05254e;--fx-blue:#1766e8;--fx-green:#14a66a;--fx-mint:#14c79a;--fx-orange:#ff7a16;--fx-red:#ef3d46;--fx-text:#112444;--fx-muted:#718096;--fx-line:#e4eaf2;--fx-bg:#f7f9fc;--fx-card:#fff}
html,body{background:var(--fx-bg);color:var(--fx-text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",Arial,sans-serif}
a{color:inherit}.fx-app-shell{grid-template-columns:220px minmax(0,1fr);background:var(--fx-bg)}
.fx-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#083362 0%,#052750 100%);padding:23px 14px 16px;border-right:1px solid rgba(255,255,255,.04);box-shadow:8px 0 28px rgba(8,36,75,.06)}
.fx-brand-wrap{padding:0 14px 16px}.fx-brand{font-size:28px;line-height:1;font-weight:900;letter-spacing:-1.1px}.fx-brand-sub{font-size:11px;color:#d2dfef;margin-top:6px;letter-spacing:.01em}.fx-nav{margin-top:8px;flex:1}.fx-nav-label{margin:19px 12px 7px;color:#8ea7c3;font-size:9px;letter-spacing:.12em;font-weight:800}.fx-nav-item{min-height:44px;padding:10px 12px;border-radius:8px;margin:3px 0;color:#eef5ff;font-size:13px;font-weight:650;transition:.16s ease;border-left:3px solid transparent}.fx-nav-item:hover{background:rgba(255,255,255,.065);color:#fff}.fx-nav-item.active{background:linear-gradient(90deg,#173e70,#173863);border-left-color:#18cb96;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}.fx-nav-svg{width:20px;height:20px;flex:0 0 20px}.fx-nav-badge{margin-left:auto;background:#ef3d46;color:#fff;border-radius:999px;min-width:20px;height:20px;display:grid;place-items:center;font-size:10px}.fx-sidebar-bottom{padding-top:14px;border-top:1px solid rgba(255,255,255,.14);margin-top:auto}
.fx-workspace{background:var(--fx-bg)}.fx-topbar{height:72px;min-height:72px;padding:0 27px;background:rgba(255,255,255,.96);border-bottom:1px solid #e7ebf2;box-shadow:0 1px 0 rgba(16,36,68,.02)}.fx-top-context{display:flex;align-items:center;gap:9px;color:#183c75;font-size:13px;font-weight:800}.fx-top-actions{display:flex;align-items:center;gap:11px}.fx-top-icon{position:relative;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#1b365f}.fx-top-icon:hover{background:#f0f4f9}.fx-top-icon .fx-nav-svg{width:21px;height:21px}.fx-top-icon>b{position:absolute;right:0;top:1px;min-width:16px;height:16px;border-radius:999px;background:#ef2f38;color:#fff;font-size:9px;display:grid;place-items:center;border:2px solid #fff}.fx-help-mark{font-size:15px;font-weight:900;border:1.6px solid #314b70;border-radius:50%;width:20px;height:20px;display:grid;place-items:center}.fx-user-menu{padding:5px 7px;border-radius:10px;min-width:172px}.fx-user-menu:hover{background:#f4f7fb}.fx-user-menu>span:not(.fx-avatar){display:grid;line-height:1.15}.fx-user-menu b{font-size:12px;color:#112747}.fx-user-menu small{margin-top:3px;font-size:9px;color:#8090a4}.fx-user-menu i{margin-left:auto;font-size:11px;color:#6f8095}.fx-avatar{background:#edf1f7;color:#17345c;font-weight:900}.fx-main{padding:28px 30px 34px;max-width:1540px;width:100%;margin:0 auto}

/* personal / management dashboard */
.fx-home-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:3px 8px 21px}.fx-home-head h1{margin:0;font-size:27px;letter-spacing:-.7px;color:#10264b}.fx-home-head p{margin:7px 0 0;color:#6d7f95;font-size:13px}.fx-wave{font-size:20px}.fx-login-line{display:flex;align-items:center;gap:8px;margin-top:10px;color:#8b98aa;font-size:10px}.fx-login-line span:first-child{font-weight:850;color:#3c587a}.fx-login-line i{width:3px;height:3px;border-radius:50%;background:#aeb9c7}.fx-primary-task-button{height:44px;min-width:178px;border-radius:9px;padding:0 14px 0 17px;background:linear-gradient(135deg,#0b315f,#071f43);color:#fff;display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:850;box-shadow:0 8px 20px rgba(8,44,92,.15)}.fx-primary-task-button b{display:grid;place-items:center;min-width:23px;height:23px;border-radius:50%;background:#f13c44;font-size:11px}.fx-primary-task-button span{margin-left:auto;color:#d7e3f1}
.fx-home-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:15px}.fx-home-kpi{min-height:134px;display:grid;grid-template-columns:62px 1fr auto;gap:13px;align-items:center;background:#fff;border:1px solid #e0e6ef;border-radius:12px;padding:18px 17px;box-shadow:0 3px 13px rgba(19,45,78,.035);transition:.18s ease}.fx-home-kpi:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(19,45,78,.075);border-color:#d1dbea}.fx-kpi-icon{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;font-size:24px;font-weight:900}.fx-home-kpi.green .fx-kpi-icon{background:#eaf8f1;color:#12a05d}.fx-home-kpi.orange .fx-kpi-icon{background:#fff1e6;color:#ff7a16}.fx-home-kpi.red .fx-kpi-icon{background:#ffeff0;color:#ef3d46}.fx-home-kpi.blue .fx-kpi-icon{background:#edf3ff;color:#1766e8}.fx-home-kpi small{display:block;color:#354b68;font-size:12px;font-weight:750}.fx-home-kpi b{display:block;margin:3px 0;font-size:31px;color:#0c294f;line-height:1}.fx-home-kpi.green b{color:#15a75d}.fx-home-kpi.orange b{color:#ff7b12}.fx-home-kpi.red b{color:#ef3c45}.fx-home-kpi.blue b{color:#1766e8}.fx-home-kpi b em{font-size:12px;font-style:normal;margin-left:3px}.fx-home-kpi p{margin:8px 0 0;color:#7a899c;font-size:10px}.fx-home-kpi>i{font-style:normal;color:#506d90;font-size:20px}
.fx-home-layout{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:15px;align-items:start}.fx-home-maincol,.fx-home-sidecol{display:grid;gap:15px}.fx-home-card{background:#fff;border:1px solid #e0e6ef;border-radius:12px;padding:16px 17px;box-shadow:0 3px 13px rgba(19,45,78,.03)}.fx-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.fx-card-head>div h2,.fx-card-head h2{margin:0;font-size:14px;color:#172d4f}.fx-card-head p{margin:4px 0 0;color:#8895a6;font-size:10px}.fx-card-head>a{color:#1766e8;font-size:10px;font-weight:850}.fx-card-head>span{font-size:10px;color:#8090a5}
.fx-shortcut-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.fx-shortcut{position:relative;min-height:135px;border:1px solid #e0e6ee;border-radius:10px;padding:16px 12px 13px;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;background:#fff;transition:.18s ease}.fx-shortcut:hover{border-color:#c6d5e8;box-shadow:0 6px 18px rgba(31,68,111,.06);transform:translateY(-1px)}.sc-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;margin-bottom:10px;font-weight:900;font-size:17px}.sc-icon.green{background:#e9f8f1;color:#14a65f}.sc-icon.blue{background:#ebf2ff;color:#1766e8}.sc-icon.purple{background:#f1ecff;color:#6f45dc}.sc-icon.orange{background:#fff0e4;color:#ff7814}.fx-shortcut b{font-size:12px;color:#172d50}.fx-shortcut small{margin-top:4px;color:#8b98aa;font-size:9px}.fx-shortcut i{margin-top:9px;font-style:normal;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#1766e8;font-size:10px}.fx-shortcut:nth-child(1) i{background:#14a65f}.fx-shortcut:nth-child(3) i{background:#6f45dc}.fx-shortcut:nth-child(4) i{background:#ff7814}
.fx-priority-card{padding-bottom:8px}.fx-priority-list{display:grid}.fx-priority-row{display:grid;grid-template-columns:90px minmax(0,1fr) 170px;gap:12px;align-items:center;padding:13px 5px;border-top:1px solid #edf1f6}.fx-priority-row:first-child{border-top:0}.fx-priority-row:hover{background:#fbfcfe}.fx-status-pill{display:inline-flex;width:max-content;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900;background:#edf2f7;color:#63748a}.fx-status-pill.ready{background:#e8f7ef;color:#168951}.fx-status-pill.acknowledged,.fx-status-pill.in_progress{background:#eaf2ff;color:#1766e8}.fx-status-pill.hold{background:#ffe9eb;color:#d9343f}.fx-priority-copy b{display:block;font-size:12px;color:#172c4d}.fx-priority-copy small{display:block;margin-top:4px;color:#8997a8;font-size:9px}.fx-priority-meta{text-align:right}.fx-priority-meta small{display:block;color:#8997a8;font-size:9px}.fx-priority-meta strong{display:block;margin-top:5px;color:#1766e8;font-size:10px}.fx-empty-state{padding:26px;text-align:center;color:#8594a7;font-size:11px}.fx-empty-state.small{padding:14px}
.fx-notice-list{display:grid}.fx-notice-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid #edf1f6}.fx-notice-item:first-child{border-top:0}.fx-notice-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:900}.fx-notice-icon.red{background:#ffedef;color:#e93d45}.fx-notice-icon.orange{background:#fff1e7;color:#ff7714}.fx-notice-icon.blue{background:#edf3ff;color:#1766e8}.fx-notice-icon.green{background:#eaf8f1;color:#14a65f}.fx-notice-item b{display:block;font-size:11px;color:#1d3150}.fx-notice-item small{display:block;margin-top:3px;color:#8492a4;font-size:9px;line-height:1.4}.fx-notice-item i{font-style:normal;color:#69809e}.fx-schedule-list{display:grid;gap:8px}.fx-schedule-row{display:grid;grid-template-columns:51px 1fr;gap:11px;align-items:center;border-top:1px solid #edf1f6;padding:10px 0}.fx-schedule-row:first-child{border-top:0}.date-box{height:47px;border-radius:9px;background:#eef5ff;color:#1766e8;display:grid;place-items:center;align-content:center}.date-box b{font-size:14px}.date-box span{font-size:9px}.fx-schedule-row strong{display:block;font-size:11px;color:#1a2f4f}.fx-schedule-row small{display:block;margin-top:3px;color:#8492a4;font-size:9px}.fx-schedule-row.soon .date-box{background:#fff6e9;color:#e87912}.fx-schedule-row.danger .date-box{background:#ffedef;color:#df3340}
.fx-waiting-panel,.fx-recent-card{margin-top:15px}.fx-red-count{padding:5px 9px;border-radius:999px;background:#ffeaec;color:#dc3541;font-size:10px;font-weight:900}.fx-wait-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fx-wait-card{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;border:1px solid #ffd4d8;background:#fff8f8;border-radius:10px;padding:12px}.fx-stop{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#ed3c47;color:#fff;font-size:20px;font-weight:950}.fx-wait-card b{display:block;font-size:11px;color:#862531}.fx-wait-card small{display:block;color:#9f6f76;font-size:9px;margin-top:2px}.fx-wait-card p{margin:5px 0 0;font-size:10px;color:#6b4b50}.fx-wait-card em{font-style:normal;font-weight:900;color:#dc3541}.fx-wait-card i{font-style:normal;color:#bf3a45}.fx-recent-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fx-recent-item{border:1px solid #e4eaf1;border-radius:9px;padding:10px 11px;background:#fbfcfe}.fx-recent-item time{display:block;color:#8b99aa;font-size:9px}.fx-recent-item span{display:block;margin-top:5px;color:#263a57;font-size:10px;line-height:1.45}

/* keep blocked work impossible to miss for shop-floor users */
.blocked-work-banner{border:2px solid #e83b47!important;background:linear-gradient(135deg,#fff1f2,#fff9f9)!important;box-shadow:0 8px 24px rgba(211,45,56,.10)!important}.blocked-work-copy h2{color:#c82331!important;font-size:24px!important}.blocked-work-copy>b{color:#d52f3b!important;font-size:14px!important}.blocked-work-copy p{font-size:13px!important}.blocked-work-icon{background:#e83b47!important;color:#fff!important}

@media(max-width:1220px){.fx-home-layout{grid-template-columns:1fr}.fx-home-sidecol{grid-template-columns:1fr 1fr}.fx-shortcut-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.fx-home-kpis{grid-template-columns:1fr 1fr}.fx-priority-row{grid-template-columns:78px 1fr}.fx-priority-meta{grid-column:2;text-align:left}.fx-wait-grid{grid-template-columns:1fr}.fx-recent-strip{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.fx-sidebar{display:none;position:fixed;z-index:80;width:220px}.sidebar-open .fx-sidebar{display:flex}.fx-main{padding:18px}.fx-home-head{margin-left:0;margin-right:0}.fx-home-sidecol{grid-template-columns:1fr}}
@media(max-width:620px){.fx-home-head{flex-direction:column}.fx-primary-task-button{width:100%}.fx-home-kpis{grid-template-columns:1fr}.fx-shortcut-grid{grid-template-columns:1fr 1fr}.fx-home-kpi{min-height:112px}.fx-recent-strip{grid-template-columns:1fr}.fx-priority-row{grid-template-columns:1fr}.fx-priority-meta{grid-column:auto;text-align:left}}

/* v0.56 - Routing Sheet workspace based on approved reference UI */
.fx-main:has(.fx-rs-workspace){max-width:none;padding:18px 18px 24px;background:#f7f9fc}
.fx-rs-workspace{grid-template-columns:230px minmax(720px,1fr) 330px;gap:12px;min-height:calc(100vh - 112px)}
.fx-rs-left,.fx-rs-right{position:sticky;top:90px;align-self:start;max-height:calc(100vh - 108px);overflow:auto;padding-bottom:4px}
.fx-rs-left .fx-card,.fx-rs-right .fx-card{border-radius:8px;box-shadow:none;border-color:#dce3ec}
.fx-rs-left .fx-card{padding:12px}
.fx-rs-info{background:#fff}
.fx-rs-info .fx-panel-title{font-size:12px;border-bottom:1px solid #e7ecf2;padding-bottom:9px;margin-bottom:8px}
.fx-rs-info dl{display:grid;grid-template-columns:1fr;gap:0}.fx-rs-info dt{font-size:9px;color:#708198;margin-top:7px}.fx-rs-info dd{font-size:12px;line-height:1.35;margin-top:1px}
.fx-route-tree{padding:10px 8px!important}.fx-route-tree .fx-panel-title{padding:2px 5px 9px;border-bottom:1px solid #e7ecf2;margin-bottom:7px;font-size:12px}.fx-route-tree .fx-panel-title span{font-weight:700}
.fx-tree-list{gap:2px}.fx-tree-row{grid-template-columns:22px minmax(0,1fr) auto;padding:7px 6px;border-radius:7px;position:relative}.fx-tree-row:before{content:"";position:absolute;left:16px;top:-8px;bottom:26px;width:1px;background:#dbe3ed;z-index:0}.fx-tree-row:first-child:before{top:15px}.fx-tree-row:last-child:before{bottom:18px}.fx-tree-dot{position:relative;z-index:1;width:18px;height:18px;font-size:8px;border:2px solid #fff;box-shadow:0 0 0 1px #cfd8e5}.fx-tree-row b{font-size:10px}.fx-tree-row small{font-size:8px}.fx-tree-row em{font-size:8px;font-weight:800;padding:3px 5px;border-radius:999px;background:#eef2f7}.fx-tree-row.active{background:#edf4ff;box-shadow:inset 3px 0 #2267e8}.fx-tree-row.active em{color:#1766e8;background:#dfeaff}
.fx-rs-center{min-width:0}.fx-doc-toolbar{height:44px;border-radius:8px 8px 0 0;border-color:#dce3ec;background:#fff;padding:0 10px;box-shadow:none}.fx-doc-toolbar .fx-toolbar-left,.fx-doc-toolbar .fx-toolbar-right{display:flex;align-items:center;gap:4px}.fx-doc-tool{height:29px;min-width:30px;border:0;background:transparent;border-radius:6px;color:#49617f;display:inline-grid;place-items:center;font-size:12px;padding:0 8px}.fx-doc-tool:hover{background:#eef3f9;color:#124fae}.fx-doc-zoom{padding:0 10px;font-size:10px;font-weight:800;color:#566b86}.fx-doc-separator{width:1px;height:18px;background:#e3e8ef;margin:0 4px}.fx-doc-action{height:29px;border:1px solid #d6deea;border-radius:6px;padding:0 10px;background:#fff;color:#243c5d;font-size:10px;font-weight:800}.fx-doc-action:hover{background:#f5f8fc}.fx-doc-action.primary{background:#0d8f61;border-color:#0d8f61;color:#fff}
.fx-rs-document{border-color:#dce3ec;padding:28px 24px 30px;min-height:760px;box-shadow:0 4px 18px rgba(34,57,87,.07);border-radius:0 0 8px 8px}.fx-rs-document h2{font-size:22px;margin-bottom:14px}.fx-rs-doc-brand{right:24px;top:16px;font-size:14px}.fx-rs-doc-meta{margin-top:12px;margin-bottom:11px}.fx-rs-doc-meta>div{min-height:51px;padding:6px 8px}.fx-rs-doc-meta span{font-size:8px}.fx-rs-doc-meta b{font-size:10px}.fx-rs-table{width:100%;min-width:840px}.fx-rs-table th,.fx-rs-table td{font-size:8.5px;line-height:1.42;padding:6px 5px}.fx-rs-table th{font-weight:850;color:#2d3d53}.fx-rs-table tr.selected td{background:#edf4ff}.fx-rs-table tbody tr:hover td{background:#f8fbff}
.fx-rs-right{gap:0;background:#fff;border:1px solid #dce3ec;border-radius:8px}.fx-rs-right>.fx-card{border:0;border-top:1px solid #e7ecf2;border-radius:0;margin:0;box-shadow:none}.fx-rs-right>.fx-card:first-child{border-top:0}.fx-context-tabs{display:flex!important;position:sticky;top:0;background:#fff;z-index:3;padding:0!important;border-bottom:1px solid #e3e8ef!important}.fx-context-tab{flex:1;text-align:center;padding:12px 5px!important;font-size:10px!important;color:#60738d;border-bottom:2px solid transparent!important}.fx-context-tab.on{color:#165fd8;border-bottom-color:#165fd8!important}.fx-panel-title{font-size:12px}.fx-current-op{padding-bottom:10px;border-bottom:1px solid #e9edf3}.fx-current-op b{font-size:14px}.fx-current-op span{font-size:9px}.fx-rs-right p,.fx-rs-right label,.fx-rs-right input,.fx-rs-right select,.fx-rs-right textarea,.fx-rs-right button{font-size:10px}.fx-rs-right .btn{min-height:34px}.fx-rs-right .tech-basis{background:#f7f9fc;border:1px solid #e4e9f0;border-radius:7px;padding:10px;margin:10px 0}.fx-rs-right .tech-basis h3{margin:0 0 6px;font-size:10px;color:#3b516e}.fx-rs-right .rs-tech-instruction{font-size:10px;line-height:1.55;color:#253d5c}.fx-rs-right .signature-live-preview img{max-width:110px;max-height:54px;object-fit:contain}
.fx-rs-workspace .okmsg,.fx-rs-workspace .warn,.fx-rs-workspace .err{grid-column:1/-1;margin-bottom:8px}
@media(max-width:1440px){.fx-rs-workspace{grid-template-columns:210px minmax(650px,1fr) 300px}.fx-main:has(.fx-rs-workspace){padding-left:14px;padding-right:14px}}
@media(max-width:1180px){.fx-rs-workspace{grid-template-columns:190px minmax(600px,1fr)}.fx-rs-right{grid-column:1/-1;position:static;max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.fx-rs-right>.fx-context-tabs{grid-column:1/-1}}
@media(max-width:900px){.fx-rs-workspace{grid-template-columns:1fr}.fx-rs-left,.fx-rs-right{position:static;max-height:none}.fx-rs-left{grid-template-columns:1fr}.fx-rs-right{display:grid;grid-template-columns:1fr}.fx-rs-document{padding:20px 14px}}


/* v0.56.1 - persistent sidebar + strict role navigation */
.fx-app-shell{grid-template-columns:220px minmax(0,1fr)!important}
.fx-sidebar{display:flex!important;position:sticky!important;top:0!important;height:100vh!important;width:auto!important;min-width:220px!important;flex-direction:column!important;visibility:visible!important}
.fx-menu-btn{display:none!important}
@media(max-width:900px){
  .fx-app-shell{grid-template-columns:190px minmax(0,1fr)!important;min-width:760px}
  .fx-sidebar{display:flex!important;min-width:190px!important;width:190px!important;position:sticky!important;top:0!important;height:100vh!important}
  .fx-main{padding:16px!important}
  .fx-topbar{padding:0 14px!important}
}

/* v0.56.2 - denser approved dashboard + explicit admin login-account editor */
.fx-main{padding:22px 24px 28px}
.fx-home-head{margin:0 2px 16px}.fx-home-head h1{font-size:25px}.fx-home-head p{margin-top:5px;font-size:12px}.fx-login-line{margin-top:7px}
.fx-home-kpis{gap:11px;margin-bottom:12px}.fx-home-kpi{min-height:108px;grid-template-columns:48px 1fr auto;gap:10px;padding:13px 13px;border-radius:10px}.fx-kpi-icon{width:46px;height:46px;font-size:19px}.fx-home-kpi b{font-size:27px}.fx-home-kpi p{margin-top:5px}.fx-home-layout{grid-template-columns:minmax(0,1fr) 260px;gap:12px}.fx-home-maincol,.fx-home-sidecol{gap:12px}.fx-home-card{padding:14px 15px;border-radius:10px}.fx-card-head{margin-bottom:10px}.fx-shortcut-grid{gap:8px}.fx-shortcut{min-height:108px;padding:12px 9px 10px}.sc-icon{width:40px;height:40px;margin-bottom:7px;font-size:15px}.fx-shortcut i{margin-top:6px}.fx-priority-row{padding:10px 4px}.fx-notice-item{padding:9px 0}.fx-notice-icon{width:34px;height:34px}.fx-schedule-row{padding:8px 0}.date-box{height:42px}.fx-waiting-panel,.fx-recent-card{margin-top:12px}
@media(min-width:981px){.fx-home-layout{grid-template-columns:minmax(0,1fr) 260px!important}.fx-home-sidecol{grid-template-columns:1fr!important}.fx-shortcut-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.fx-home-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(min-width:981px) and (max-width:1220px){.fx-home-kpi{grid-template-columns:42px 1fr auto;padding:11px}.fx-kpi-icon{width:40px;height:40px;font-size:17px}.fx-home-kpi b{font-size:24px}.fx-home-kpi p{font-size:9px}.fx-home-layout{grid-template-columns:minmax(0,1fr) 235px!important}.fx-shortcut{min-height:102px}.fx-shortcut b{font-size:11px}}
.fx-account-login-card{border:1px solid #cfe0f3;box-shadow:0 8px 24px rgba(22,71,127,.06)}.fx-account-login-card .section-title{font-size:17px;color:#102e59}.account-help{margin:4px 0 16px;color:#6c7e94;font-size:12px;line-height:1.55}.account-save-main{width:100%;min-height:44px;font-weight:850}.fx-account-login-card input[type=email],.fx-account-login-card input[type=password],.fx-account-login-card select{background:#fff;border:1px solid #cfd9e6}.fx-account-login-card input[type=email]:focus,.fx-account-login-card input[type=password]:focus,.fx-account-login-card select:focus{border-color:#2f70d8;box-shadow:0 0 0 3px rgba(47,112,216,.10);outline:none}

/* v0.56.3 - shop-floor clarity: persistent sidebar + latest-first work list */
.fx-sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;height:100vh!important;width:220px!important;overflow:hidden!important;z-index:70!important}
.fx-workspace{grid-column:2!important;min-width:0!important}
.fx-nav{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding-right:3px!important;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}
.fx-nav::-webkit-scrollbar{width:4px}.fx-nav::-webkit-scrollbar-track{background:transparent}.fx-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}
.fx-sidebar-bottom{flex:0 0 auto!important;margin-top:10px!important;padding-top:10px!important;padding-bottom:2px!important;background:transparent!important}
.fx-worklist-card{padding-bottom:8px}.fx-worklist{display:grid}.fx-work-row{display:grid;grid-template-columns:86px minmax(0,1fr) 112px;gap:13px;align-items:center;padding:13px 4px;border-top:1px solid #edf1f6;transition:.15s ease}.fx-work-row:first-child{border-top:0}.fx-work-row:hover{background:#f8fbff}.fx-work-state{align-self:start;padding-top:2px}.fx-work-main{min-width:0}.fx-work-title{display:flex;align-items:baseline;gap:9px;min-width:0}.fx-work-title b{font-size:14px;color:#102a50}.fx-work-title small{font-size:10px;color:#75859a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-flow-summary{display:grid;grid-template-columns:auto minmax(90px,150px) auto minmax(0,1fr);gap:8px;align-items:center;margin-top:8px}.fx-flow-label{font-size:9px;color:#8492a5;font-weight:800}.fx-mini-progress{height:6px;background:#e9eef5;border-radius:999px;overflow:hidden}.fx-mini-progress i{display:block;height:100%;background:#1e68e8;border-radius:999px}.fx-flow-summary strong{font-size:9px;color:#405979}.fx-flow-summary em{font-style:normal;font-size:10px;color:#546b87;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-work-reason{margin-top:7px;font-size:10px;color:#7a8798}.fx-work-reason b{color:#516782}.fx-work-reason.ready{color:#0e8b55;font-weight:750}.fx-work-reason.progress{color:#1860c9;font-weight:750}.fx-work-reason.hold{color:#c52632;font-weight:850}.fx-work-action{text-align:right}.fx-work-action small{display:block;font-size:9px;color:#8493a7;margin-bottom:5px}.fx-work-action strong{font-size:11px;color:#1766e8}.fx-work-row.waiting .fx-status-pill{background:#f1f4f8;color:#65758a}.fx-work-row.completed{opacity:.72}.fx-work-row.hold{background:#fff8f8}.fx-work-row.hold:hover{background:#fff3f3}
.op.waiting-muted{border:1px solid #e4e9f0!important;background:#f8fafc!important;opacity:.78}.op.waiting-muted small{color:#76869a!important;font-weight:650!important}.op.waiting-muted .status{background:#edf1f6!important;color:#68788d!important}.op.waiting-muted.selected{border-color:#cbd5e1!important;background:#f1f5f9!important;opacity:1}
@media(max-width:900px){.fx-sidebar{width:190px!important;min-width:190px!important}.fx-work-row{grid-template-columns:76px minmax(0,1fr) 96px}.fx-flow-summary{grid-template-columns:auto 100px auto minmax(0,1fr)}}

/* v0.56.4 - sidebar geometry reset + readable latest-first work list */
.fx-app-shell{grid-template-columns:220px minmax(0,1fr)!important;min-height:100vh!important}
.fx-sidebar{
  position:sticky!important;left:auto!important;right:auto!important;bottom:auto!important;top:0!important;
  width:220px!important;min-width:220px!important;height:100vh!important;min-height:100vh!important;
  align-self:start!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;
  background:linear-gradient(180deg,#083362 0%,#052750 100%)!important;
}
.fx-workspace{grid-column:auto!important;min-width:0!important}
.fx-nav{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding-right:2px!important}
.fx-sidebar-bottom{flex:0 0 auto!important;margin-top:auto!important;padding:12px 0 2px!important;border-top:1px solid rgba(255,255,255,.14)!important;background:transparent!important}

.fx-worklist-v2{display:block!important}
.fx-work-row-v2{
  display:grid!important;grid-template-columns:92px minmax(0,1fr) 118px 106px!important;
  gap:14px!important;align-items:center!important;text-decoration:none!important;
  padding:14px 4px!important;border-top:1px solid #edf1f6!important;color:inherit!important;
  min-height:96px!important;background:#fff!important;
}
.fx-work-row-v2:first-child{border-top:0!important}
.fx-work-row-v2:hover{background:#f8fbff!important}
.fx-work-state-v2{align-self:start;padding-top:2px}
.fx-work-main-v2{min-width:0!important}
.fx-work-title-v2{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
.fx-work-title-v2 b{font-size:15px!important;line-height:1.25!important;color:#102a50!important;white-space:nowrap!important;flex:0 0 auto!important}
.fx-work-title-v2 span{font-size:10px!important;color:#74849a!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;min-width:0!important}
.fx-work-context-v2{display:flex!important;align-items:center!important;gap:8px!important;margin-top:9px!important;min-width:0!important;flex-wrap:wrap!important}
.fx-context-key{font-size:9px!important;font-weight:850!important;color:#8090a5!important;background:#f2f5f9!important;border-radius:999px!important;padding:4px 7px!important}
.fx-work-context-v2 strong{font-size:11px!important;color:#2b466b!important;white-space:nowrap!important}
.fx-work-context-v2 em{font-size:10px!important;color:#71839a!important;font-style:normal!important;white-space:nowrap!important}
.fx-work-reason-v2{margin-top:8px!important;font-size:10.5px!important;line-height:1.45!important;color:#74849a!important}
.fx-work-reason-v2 b{color:#3e587a!important}
.fx-work-reason-v2.ready{color:#0b8b56!important;font-weight:800!important}
.fx-work-reason-v2.progress{color:#1764d8!important;font-weight:800!important}
.fx-work-reason-v2.hold{color:#c32c38!important;font-weight:850!important}
.fx-work-progress-v2{min-width:0!important}
.fx-work-progress-v2>span{display:block!important;margin-bottom:7px!important;text-align:right!important;font-size:10px!important;font-weight:850!important;color:#405979!important}
.fx-work-action-v2{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:4px!important;white-space:nowrap!important}
.fx-work-action-v2 strong{font-size:11px!important;color:#1766e8!important}
.fx-work-action-v2 span{font-size:18px!important;color:#1766e8!important;line-height:1!important}
.fx-work-row-v2.waiting .fx-status-pill{background:#f1f4f8!important;color:#65758a!important}
.fx-work-row-v2.hold{background:#fff8f8!important}
.fx-work-row-v2.hold:hover{background:#fff3f3!important}

@media(max-width:1280px){
  .fx-home-layout{grid-template-columns:1fr!important}
  .fx-home-sidecol{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:980px){
  .fx-app-shell{grid-template-columns:190px minmax(0,1fr)!important;min-width:760px!important}
  .fx-sidebar{width:190px!important;min-width:190px!important}
  .fx-work-row-v2{grid-template-columns:82px minmax(0,1fr) 90px!important}
  .fx-work-progress-v2{display:none!important}
}

/* v0.57 - production product selection + process log workspace */
.fx-production-products-card{padding-bottom:10px}.fx-dashboard-product-list{display:block}.fx-dashboard-product-row{display:grid;grid-template-columns:92px minmax(220px,1.25fr) minmax(180px,1fr) minmax(170px,.9fr) 120px;gap:14px;align-items:center;padding:14px 4px;border-top:1px solid #edf1f6;text-decoration:none;color:inherit;min-height:92px}.fx-dashboard-product-row:first-child{border-top:0}.fx-dashboard-product-row:hover{background:#f8fbff}.fx-dashboard-product-main,.fx-dashboard-product-stage,.fx-dashboard-product-own{min-width:0}.fx-dashboard-product-main b,.fx-dashboard-product-stage b,.fx-dashboard-product-own b{display:block;color:#102a50;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-dashboard-product-main span,.fx-dashboard-product-main small,.fx-dashboard-product-stage span,.fx-dashboard-product-stage small,.fx-dashboard-product-own span,.fx-dashboard-product-own small{display:block;color:#74849a;font-size:10px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-dashboard-product-progress{text-align:right}.fx-dashboard-product-progress>b{font-size:12px;color:#405979}.fx-dashboard-product-progress>i{display:block;height:6px;background:#e9eef5;border-radius:999px;overflow:hidden;margin:7px 0}.fx-dashboard-product-progress>i>u{display:block;height:100%;background:#1766e8;border-radius:999px;text-decoration:none}.fx-dashboard-product-progress>strong{font-size:11px;color:#1766e8}

.fx-product-select-head{align-items:flex-end}.fx-product-select-card{padding:0;overflow:hidden}.fx-product-select-table{width:100%;min-width:1050px}.fx-product-select-row{display:grid;grid-template-columns:120px 105px 150px 140px 145px minmax(180px,1fr) 120px 150px;align-items:center;gap:10px;padding:15px 18px;border-top:1px solid #edf1f6;text-decoration:none;color:#102a50}.fx-product-select-row.head{background:#f7f9fc;border-top:0;font-weight:850;color:#2b466b}.fx-product-select-row:not(.head):hover{background:#f8fbff}.fx-product-select-row span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-product-select-row em{font-style:normal;font-size:10px;background:#f1f5f9;color:#64748b;padding:5px 8px;border-radius:999px}.fx-product-progress b{font-size:11px}.fx-product-progress i{display:block;height:5px;background:#e8edf4;border-radius:999px;margin:6px 0}.fx-product-progress u{display:block;height:100%;background:#1766e8;border-radius:999px}.fx-product-progress strong{font-size:10px;color:#1766e8}

.fx-process-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.fx-process-page-head h1{font-size:22px;margin:0 0 3px;color:#0d2a50}.fx-process-page-head p{margin:0;color:#72849b;font-size:11px}.fx-process-head-actions{display:flex;gap:8px}.fx-process-workspace{display:grid;grid-template-columns:230px minmax(560px,1fr) 295px;gap:12px;align-items:start}.fx-process-left,.fx-process-right{display:grid;gap:10px}.fx-side-card,.fx-right-card{background:#fff;border:1px solid #dfe6ef;border-radius:10px;padding:13px;box-shadow:0 4px 14px rgba(17,54,94,.035)}.fx-side-card h3,.fx-right-card h3{margin:0 0 11px;font-size:13px;color:#102a50}.fx-info-list{margin:0}.fx-info-list>div{padding:8px 0;border-bottom:1px solid #edf1f6}.fx-info-list>div:last-child{border-bottom:0}.fx-info-list dt{font-size:9px;color:#7c8da3;margin-bottom:3px}.fx-info-list dd{margin:0;font-size:12px;font-weight:750;color:#17375f;word-break:break-word}.fx-card-title-row{display:flex;justify-content:space-between;align-items:center}.fx-card-title-row span{font-size:10px;color:#73849b}.fx-process-tree{position:relative}.fx-tree-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 5px;text-decoration:none;color:#17375f;border-radius:8px}.fx-tree-row:hover{background:#f7faff}.fx-tree-row.active{background:#eef5ff}.fx-tree-row>i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e9eef5;color:#6f8095;font-size:9px;font-style:normal;font-weight:850}.fx-tree-row>i.done{background:#e7f7ee;color:#0d8b54}.fx-tree-row>i.current{background:#1766e8;color:#fff}.fx-tree-row>i.hold{background:#fee7e7;color:#c02732}.fx-tree-row b{display:block;font-size:10.5px}.fx-tree-row small{display:block;font-size:8.5px;color:#7d8da2;margin-top:2px}.fx-tree-row>span{font-size:8.5px;color:#76879c}.fx-tree-progress{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid #edf1f6;font-size:9px;color:#74849a}.fx-tree-progress>div{height:5px;background:#e8edf4;border-radius:999px;overflow:hidden}.fx-tree-progress>div i{display:block;height:100%;background:#1766e8;border-radius:999px}

.fx-process-center{min-width:0}.fx-document-toolbar{height:38px;border:1px solid #dfe6ef;border-bottom:0;border-radius:10px 10px 0 0;background:#fff;display:flex;align-items:center;gap:14px;padding:0 14px;color:#667991;font-size:10px}.fx-document-toolbar i{height:18px;width:1px;background:#e3e8ef}.fx-process-paper{background:#fff;border:1px solid #dfe6ef;border-radius:0 0 10px 10px;padding:18px 20px 22px;box-shadow:0 8px 24px rgba(25,60,103,.045);min-height:760px}.fx-paper-title{position:relative;text-align:center;border-bottom:1px solid #9da9b7;padding-bottom:10px;margin-bottom:0}.fx-paper-title h2{font-size:18px;margin:0;color:#121b29;letter-spacing:.02em}.fx-paper-title small{position:absolute;right:0;top:-2px;font-weight:900;color:#122945}.fx-paper-title span{position:absolute;right:0;bottom:8px;font-size:9px;color:#5f7085}.fx-paper-meta{width:100%;border-collapse:collapse;margin:0 0 10px;table-layout:fixed}.fx-paper-meta th,.fx-paper-meta td{border:1px solid #aeb8c4;padding:6px 7px;font-size:9px;text-align:left;vertical-align:top}.fx-paper-meta th{font-size:8px;color:#4d5c6d;background:#fbfcfd;font-weight:650}.fx-paper-meta td{color:#17273c;font-weight:600}.fx-paper-section-title{font-size:13px;font-weight:850;color:#102a50;padding:10px 0 8px;border-bottom:2px solid #1f3856}.fx-paper-condition{padding:10px 11px;border:1px solid #d9e1ea;border-top:0;background:#fbfcfe}.fx-paper-condition b{font-size:9px;color:#52657c}.fx-paper-condition p{font-size:10px;line-height:1.55;margin:5px 0 0;color:#223a59;white-space:pre-line}.fx-process-document-form{margin-top:10px}.fx-process-document-form .process-fields{border:1px solid #cbd5e1;border-radius:0;padding:0;background:#fff}.fx-process-document-form .process-fields-title{padding:8px 10px;border-bottom:1px solid #cbd5e1;background:#f8fafc;font-size:10px}.fx-process-document-form .record-field-block{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:8px;padding:7px 9px;border-bottom:1px solid #e1e7ef}.fx-process-document-form .record-field-block>label{font-size:9px;font-weight:750}.fx-process-document-form input,.fx-process-document-form select,.fx-process-document-form textarea{font-size:10px;padding:7px 8px}.fx-process-document-form .field-criteria{grid-column:2;font-size:8px;margin-top:-3px}.fx-process-document-form .quantity-card{border-radius:0;border:1px solid #cbd5e1;border-top:0;margin-top:0}.fx-paper-result-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;border:1px solid #cbd5e1;border-top:0;padding:9px}.fx-paper-result-grid label{font-size:9px;font-weight:750}.fx-sign-row{display:grid;grid-template-columns:1fr 1.4fr;border:1px solid #cbd5e1;border-top:0}.fx-sign-row>div,.fx-sign-row>label{padding:11px}.fx-sign-row small,.fx-sign-row span{display:block;font-size:8px;color:#74849a}.fx-sign-row b{font-size:13px;color:#16355d}.fx-paper-complete{width:100%;margin-top:10px;min-height:42px}.fx-process-paper .prev-record-card{margin:10px 0;border-radius:6px}

.fx-process-right{position:sticky;top:84px}.fx-right-tabs{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid #dfe6ef;border-radius:10px 10px 0 0;overflow:hidden}.fx-right-tabs>*{padding:11px 4px;text-align:center;font-size:9px;color:#53667e;border-bottom:2px solid transparent}.fx-right-tabs b{color:#1766e8;border-bottom-color:#1766e8}.fx-right-card{border-radius:8px}.fx-right-kv{padding:7px 0;border-top:1px solid #edf1f6}.fx-right-kv span{display:block;font-size:8px;color:#7d8da2}.fx-right-kv b{display:block;font-size:9.5px;color:#244362;margin-top:3px;line-height:1.4}.fx-wi-box{background:#f7faff;border:1px solid #e1eaf5;border-radius:7px;padding:9px}.fx-wi-box b{font-size:10px}.fx-wi-box p{font-size:9px;color:#5d718b;line-height:1.5;margin:4px 0 0;white-space:pre-line}.fx-check-line{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:6px;align-items:center;padding:7px 0;border-top:1px solid #edf1f6}.fx-check-line>span{color:#109458;font-weight:900}.fx-check-line b{font-size:9.5px;color:#244362}.fx-check-line em{font-style:normal;font-size:8px;color:#109458;background:#e9f7ef;padding:3px 6px;border-radius:999px}.fx-coc-ready{background:#eef9f3;border:1px solid #d4efdf;border-radius:7px;padding:10px}.fx-coc-ready b{display:block;font-size:10px;color:#0f7349}.fx-coc-ready span{font-size:9px;color:#557565}

@media(max-width:1450px){.fx-process-workspace{grid-template-columns:210px minmax(520px,1fr) 260px}.fx-process-paper{padding:15px}.fx-dashboard-product-row{grid-template-columns:82px minmax(180px,1.2fr) minmax(160px,1fr) minmax(150px,.9fr) 100px}}
@media(max-width:1180px){.fx-process-workspace{grid-template-columns:200px minmax(500px,1fr)}.fx-process-right{grid-column:1/-1;position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.fx-right-tabs{grid-column:1/-1}.fx-dashboard-product-own{display:none}.fx-dashboard-product-row{grid-template-columns:82px minmax(200px,1.3fr) minmax(180px,1fr) 100px}.fx-product-select-card{overflow:auto}}

/* FactoX AD v0.56.4 - Process Log UI patch 01
   UI only: no DB / workflow / permission / routing changes */

.fx-process-workspace{
  grid-template-columns:260px minmax(720px,1fr) 320px !important;
  gap:12px !important;
  align-items:start;
}
.fx-process-left,.fx-process-right{min-width:0;}
.fx-process-left .fx-side-card,
.fx-process-right .fx-right-card{
  border-radius:10px;
  border-color:#dfe7f0;
  box-shadow:0 1px 2px rgba(15,23,42,.025);
}
.fx-process-page-head{margin-bottom:12px !important;}
.fx-process-page-head h1{font-size:25px !important;letter-spacing:-.02em;}
.fx-process-page-head p{font-size:12px !important;}
.fx-process-center{min-width:0;}
.fx-document-toolbar{
  height:42px !important;
  border-radius:9px 9px 0 0 !important;
  background:#fbfdff !important;
}
.fx-process-paper{
  padding:18px 20px 22px !important;
  border-radius:0 0 9px 9px !important;
  box-shadow:0 2px 7px rgba(15,23,42,.045) !important;
}
.fx-paper-title{margin-bottom:10px !important;}
.fx-paper-title h2{font-size:20px !important;letter-spacing:.01em;}
.fx-paper-title small,.fx-paper-title span{font-size:10px !important;}
.fx-paper-meta{font-size:11px !important;}
.fx-paper-meta th,.fx-paper-meta td{padding:7px 8px !important;}
.fx-paper-section-title{
  margin-top:12px !important;
  padding:9px 10px !important;
  font-size:14px !important;
}
.fx-paper-condition{padding:10px 12px !important;margin:8px 0 10px !important;}
.fx-paper-condition b{font-size:11px !important;}
.fx-paper-condition p{font-size:12px !important;margin-top:4px !important;}

/* compact workflow wait state */
.fx-process-wait-strip{
  display:flex;
  align-items:center;
  gap:10px;
  margin:10px 0 12px;
  padding:9px 11px;
  border:1px solid #dbe4ee;
  border-left:3px solid #94a3b8;
  border-radius:8px;
  background:#f8fafc;
}
.fx-process-wait-badge{
  flex:0 0 auto;
  padding:3px 8px;
  border-radius:999px;
  background:#e2e8f0;
  color:#475569;
  font-size:10px;
  font-weight:800;
}
.fx-process-wait-strip>div{
  min-width:0;
  display:flex;
  align-items:center;
  gap:9px;
}
.fx-process-wait-strip b{color:#334155;font-size:12px;white-space:nowrap;}
.fx-process-wait-strip small{
  color:#64748b;
  font-size:10px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* actual record area */
.fx-process-document-form{margin-top:10px !important;}
.fx-process-document-form label{font-size:11px !important;}
.fx-process-document-form input:not([type="checkbox"]),
.fx-process-document-form select{min-height:36px !important;font-size:11px !important;}
.fx-process-document-form textarea{font-size:11px !important;}
.fx-paper-result-grid{gap:8px !important;}
.fx-sign-row{margin-top:10px !important;}
.fx-paper-complete{min-height:42px !important;font-weight:800 !important;}

/* left process tree */
.fx-info-list dt{font-size:10px !important;}
.fx-info-list dd{font-size:11px !important;}
.fx-process-tree{gap:3px !important;}
.fx-tree-row{padding:8px 7px !important;}
.fx-tree-row div b{font-size:11px !important;}
.fx-tree-row div small,.fx-tree-row>span{font-size:9px !important;}
.fx-tree-progress{margin-top:9px !important;}

/* right support panel */
.fx-right-tabs{min-height:36px !important;}
.fx-right-tabs>*{font-size:10px !important;}
.fx-right-card{padding:12px !important;}
.fx-right-card h3{font-size:12px !important;margin-bottom:9px !important;}
.fx-right-kv span,.fx-right-kv b,.fx-wi-box p,.fx-check-line b,.fx-check-line em{font-size:10px !important;}

@media (max-width:1450px){
  .fx-process-workspace{grid-template-columns:235px minmax(650px,1fr) 285px !important;}
}
@media (max-width:1180px){
  .fx-process-workspace{grid-template-columns:220px minmax(620px,1fr) !important;}
  .fx-process-right{grid-column:1/-1;}
}

/* FactoX AD v0.56.4 - Production usability patch 02
   Production-first UX. No DB / workflow / permission changes. */

/* Strong, obvious blocking state for shop-floor users */
.fx-process-blocker{
  display:flex;
  align-items:center;
  gap:16px;
  margin:14px 0 18px;
  padding:18px 20px;
  border:2px solid #ef4444;
  border-radius:12px;
  background:#fff5f5;
  box-shadow:0 2px 6px rgba(239,68,68,.08);
}
.fx-process-blocker-icon{
  flex:0 0 auto;
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#ef4444;
  color:#fff;
  font-size:24px;
  font-weight:900;
}
.fx-process-blocker-copy{
  min-width:0;
}
.fx-process-blocker-copy h2{
  margin:0 0 4px !important;
  color:#b91c1c !important;
  font-size:20px !important;
  line-height:1.2;
}
.fx-process-blocker-copy b{
  display:block;
  color:#991b1b;
  font-size:15px !important;
  margin-bottom:4px;
}
.fx-process-blocker-copy p{
  margin:0 !important;
  color:#7f1d1d;
  font-size:13px !important;
  line-height:1.5;
}

/* Production input = large and easy to touch/read */
.fx-process-document-form label{
  font-size:13px !important;
  font-weight:700 !important;
  color:#1e293b !important;
}
.fx-process-document-form input:not([type="checkbox"]),
.fx-process-document-form select{
  min-height:48px !important;
  padding:10px 12px !important;
  font-size:14px !important;
  border-radius:8px !important;
}
.fx-process-document-form textarea{
  min-height:84px !important;
  padding:11px 12px !important;
  font-size:14px !important;
  border-radius:8px !important;
}
.fx-process-document-form input:disabled,
.fx-process-document-form select:disabled,
.fx-process-document-form textarea:disabled{
  background:#f1f5f9 !important;
  color:#64748b !important;
}

/* Quantity/result area should read as one obvious action block */
.fx-paper-result-grid{
  gap:12px !important;
}
.fx-sign-row{
  padding:14px !important;
  border:1px solid #dbe4ee !important;
  border-radius:10px !important;
  background:#f8fafc !important;
}
.digital-sign{
  min-height:54px !important;
  padding:10px 14px !important;
}
.digital-sign input[type="checkbox"]{
  width:22px !important;
  height:22px !important;
}
.digital-sign span b{
  font-size:14px !important;
}
.digital-sign span small{
  font-size:11px !important;
}

/* Main completion button */
.fx-paper-complete{
  min-height:56px !important;
  font-size:16px !important;
  font-weight:900 !important;
  border-radius:10px !important;
}

/* Start work card */
.start-confirm-card{
  padding:14px !important;
  border-radius:10px !important;
}
.start-confirm-title{
  font-size:16px !important;
  font-weight:900 !important;
}
.start-time-row{
  gap:8px !important;
}
.start-time-row input{
  min-height:48px !important;
  font-size:14px !important;
}
.start-time-row .btn{
  min-height:48px !important;
  font-size:13px !important;
  font-weight:800 !important;
}

/* Clearer process flow for production workers */
.fx-tree-row{
  min-height:52px !important;
}
.fx-tree-row div b{
  font-size:13px !important;
}
.fx-tree-row div small{
  font-size:10px !important;
}
.fx-tree-row>span{
  font-size:11px !important;
  font-weight:800 !important;
}
.fx-tree-row.active{
  border:2px solid #2563eb !important;
  background:#eff6ff !important;
}
.fx-tree-row i{
  width:26px !important;
  height:26px !important;
  font-size:11px !important;
}

/* Keep support information readable */
.fx-right-card h3{
  font-size:13px !important;
}
.fx-right-kv span,
.fx-right-kv b,
.fx-wi-box p,
.fx-check-line b,
.fx-check-line em{
  font-size:11px !important;
}

/* Paper content should not be tiny */
.fx-paper-meta{
  font-size:12px !important;
}
.fx-paper-meta th,
.fx-paper-meta td{
  padding:8px 9px !important;
}
.fx-paper-condition p{
  font-size:13px !important;
}


/* FactoX AD v0.56.4 - R/S + Inspection Usability Patch 03
   UI/work-record enhancement only. Organization separation / permissions / workflow architecture unchanged. */

:root{--rs-live-scale:1}

body:has(.fx-rs-workspace) main,
body:has(.fx-rs-workspace) .main,
body:has(.fx-rs-workspace) .content,
body:has(.fx-rs-workspace) .main-content,
body:has(.fx-rs-workspace) .app-main,
body:has(.fx-rs-workspace) .fx-main{
  max-width:none !important;
}

.fx-rs-workspace{
  width:100% !important;
  max-width:none !important;
  grid-template-columns:250px minmax(0,1fr) 335px !important;
  gap:14px !important;
  align-items:start;
}
.fx-rs-center{min-width:0 !important;width:100% !important}
.fx-rs-document{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
  padding:24px 26px 30px !important;
  font-size:15px !important;
}
.fx-rs-doc-brand{font-size:19px !important}
.fx-rs-document h2{font-size:27px !important;margin:4px 0 16px !important}
.fx-rs-doc-meta{font-size:13px !important}
.fx-rs-doc-meta>div{min-height:54px !important;padding:9px 11px !important}
.fx-rs-doc-meta span{font-size:11px !important}
.fx-rs-doc-meta b{font-size:14px !important}
.fx-rs-table{width:100% !important;font-size:13px !important}
.fx-rs-table th{padding:11px 8px !important;font-size:12px !important;line-height:1.35 !important}
.fx-rs-table td{padding:12px 8px !important;font-size:13px !important;line-height:1.45 !important}
.fx-rs-table td:nth-child(3) b{font-size:14px !important}
.fx-rs-table td:nth-child(4){font-size:13px !important;min-width:220px}
.fx-rs-table .status{font-size:11px !important;padding:5px 8px !important}

.fx-rs-left .fx-card,.fx-rs-right .fx-card{padding:14px !important}
.fx-rs-info dt{font-size:11px !important}
.fx-rs-info dd{font-size:13px !important}
.fx-route-tree .fx-tree-row{min-height:58px !important;padding:9px 8px !important}
.fx-route-tree .fx-tree-row b{font-size:12px !important}
.fx-route-tree .fx-tree-row small{font-size:10px !important}
.fx-route-tree .fx-tree-row em{font-size:10px !important}

.fx-handoff-success{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  gap:15px;
  align-items:center;
  margin:0 0 16px;
  padding:17px 19px;
  border:2px solid #22a06b;
  border-radius:13px;
  background:#effcf6;
  box-shadow:0 2px 8px rgba(34,160,107,.08);
}
.fx-handoff-success .mark{
  width:50px;height:50px;border-radius:50%;
  display:grid;place-items:center;background:#16a765;color:#fff;
  font-size:27px;font-weight:900;
}
.fx-handoff-success h2{margin:0 0 4px !important;color:#066b45 !important;font-size:20px !important}
.fx-handoff-success b{display:block;color:#074f38;font-size:15px !important}
.fx-handoff-success p{margin:4px 0 0 !important;color:#3d6b5a;font-size:12px !important}
.fx-handoff-success .next-team{
  min-width:124px;padding:10px 12px;border-radius:10px;background:#fff;
  border:1px solid #b7ead3;text-align:center;
}
.fx-handoff-success .next-team small{display:block;color:#667085;font-size:10px}
.fx-handoff-success .next-team strong{display:block;margin-top:3px;color:#087443;font-size:14px}

.fx-inspection-complete{
  margin:10px 0;padding:14px;border:2px solid #22a06b;
  border-radius:11px;background:#f0fdf6;
}
.fx-inspection-complete-main{display:flex;align-items:center;gap:11px}
.fx-inspection-complete-main .check{
  width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;background:#16a765;color:#fff;
  font-size:20px;font-weight:900;
}
.fx-inspection-complete h3{margin:0;color:#066b45;font-size:17px}
.fx-inspection-complete p{margin:3px 0 0;color:#4b6359;font-size:11px}
.fx-inspection-next{
  margin-top:11px;padding:10px 12px;border-radius:8px;
  background:#fff;border:1px solid #c8ecd9;color:#075f3e;
  font-size:12px;font-weight:800;
}
.fx-inspection-complete .inspection-edit{margin-top:10px}

.op-wc,.wc-confirm-row select{
  min-height:46px !important;
  padding:9px 34px 9px 11px !important;
  font-size:14px !important;
  font-weight:700 !important;
  border-radius:8px !important;
  background:#fff !important;
}
.wc-confirm-row label{font-size:13px !important;font-weight:800 !important}

.fx-rs-sign-cell{min-width:82px;text-align:center}
.fx-rs-sign-cell span{display:block;font-size:10px;color:#475467;margin-bottom:4px}
.fx-rs-sign-cell img,.fx-completed-stamp{
  display:block;width:58px;height:34px;object-fit:contain;margin:0 auto;mix-blend-mode:multiply;
}
.fx-rs-sign-cell .no-stamp{display:inline-block;color:#98a2b3;font-size:10px}
.signature-live-preview{min-height:76px !important}
.signature-live-preview img{
  width:90px !important;height:54px !important;object-fit:contain !important;mix-blend-mode:multiply;
}

#rsZoomOut,#rsZoomIn{cursor:pointer;font-size:18px !important;font-weight:900 !important}
#rsZoomValue{min-width:42px;text-align:center;font-weight:800}
.rs-route-wc select.op-wc{width:100%;box-sizing:border-box}

@media(max-width:1350px){
  .fx-rs-workspace{grid-template-columns:220px minmax(700px,1fr) 300px !important;overflow-x:auto}
}

/* FactoX AD v0.56.4 - Inspection Judgement Patch 04
   UI only. No DB / workflow / permissions changes. */

.fx-rs-right form label:has(select[name="result"]){
  display:block !important;
  margin-top:16px !important;
  padding:16px 16px 18px !important;
  border:2px solid #f59e0b !important;
  border-radius:12px !important;
  background:#fffaf0 !important;
  color:#7c4a03 !important;
  font-size:17px !important;
  font-weight:900 !important;
}

.fx-rs-right select[name="result"]{
  display:block !important;
  width:100% !important;
  min-height:62px !important;
  margin-top:9px !important;
  padding:10px 44px 10px 15px !important;
  border:2px solid #d97706 !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#172033 !important;
  font-size:20px !important;
  font-weight:900 !important;
  line-height:1.25 !important;
  cursor:pointer !important;
}

.fx-rs-right select[name="result"]:focus{
  outline:4px solid rgba(245,158,11,.18) !important;
  border-color:#b45309 !important;
}

.fx-rs-right form:has(select[name="result"]) > .btn.green.fx-full-btn{
  min-height:60px !important;
  margin-top:16px !important;
  font-size:17px !important;
  font-weight:900 !important;
  border-radius:11px !important;
}

.signature-live-preview{
  margin-top:16px !important;
  padding:14px !important;
  border:2px dashed #9fb6d3 !important;
  border-radius:11px !important;
  background:#fff !important;
}
.signature-live-preview span{
  display:block !important;
  margin-bottom:8px !important;
  font-size:14px !important;
  font-weight:800 !important;
}
.signature-live-preview img{
  width:120px !important;
  height:70px !important;
  object-fit:contain !important;
}
.digital-sign{
  min-height:66px !important;
  margin-top:12px !important;
}
.digital-sign input[type="checkbox"]{
  width:28px !important;
  height:28px !important;
}
.digital-sign span b{
  font-size:17px !important;
}
.digital-sign span small{
  font-size:12px !important;
}


/* FactoX AD v0.56.4 - Workflow UX Consolidation Patch 05 */

body:has(.fx-rs-workspace) main,
body:has(.fx-rs-workspace) .main,
body:has(.fx-rs-workspace) .content,
body:has(.fx-rs-workspace) .main-content,
body:has(.fx-rs-workspace) .app-main,
body:has(.fx-rs-workspace) .fx-main{
  max-width:none !important;
  width:auto !important;
}
.fx-rs-workspace{
  width:100% !important;
  max-width:none !important;
  grid-template-columns:225px minmax(0,1fr) 305px !important;
  gap:12px !important;
  overflow:visible !important;
}
.fx-rs-center,.fx-rs-document,.fx-rs-doc-meta,.fx-rs-table-wrap,.fx-rs-table{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
.fx-rs-table-wrap{overflow:visible !important}
.fx-rs-document{padding:22px 22px 28px !important}
.fx-rs-doc-meta{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
.fx-rs-table{table-layout:fixed !important;border-collapse:collapse !important}
.fx-rs-table th,.fx-rs-table td{word-break:keep-all;overflow-wrap:anywhere}
.fx-rs-table th:nth-child(1),.fx-rs-table td:nth-child(1){width:7% !important;text-align:center;font-weight:900 !important}
.fx-rs-table th:nth-child(2),.fx-rs-table td:nth-child(2){width:8% !important;text-align:center}
.fx-rs-table th:nth-child(3),.fx-rs-table td:nth-child(3){width:15% !important}
.fx-rs-table th:nth-child(4),.fx-rs-table td:nth-child(4){width:35% !important}
.fx-rs-table th:nth-child(5),.fx-rs-table td:nth-child(5){width:10% !important;text-align:center}
.fx-rs-table th:nth-child(6),.fx-rs-table td:nth-child(6){width:10% !important;text-align:center}
.fx-rs-table th:nth-child(7),.fx-rs-table td:nth-child(7){width:8% !important;text-align:center}
.fx-rs-table th:nth-child(8),.fx-rs-table td:nth-child(8){width:7% !important;text-align:center}
.fx-rs-opno{
  display:inline-flex;min-width:42px;height:34px;align-items:center;justify-content:center;
  border-radius:8px;background:#eef4ff;color:#12345b;font-size:15px;font-weight:900;
}
@media(max-width:1350px){
  .fx-rs-workspace{grid-template-columns:205px minmax(0,1fr) 280px !important;overflow:visible !important}
  .fx-rs-document{padding:18px 16px 24px !important}
  .fx-rs-table th{font-size:11px !important;padding:9px 5px !important}
  .fx-rs-table td{font-size:12px !important;padding:10px 5px !important}
}

.rs-route-no input{min-height:48px !important;font-size:17px !important;font-weight:900 !important;text-align:center !important}
.rs-number-rule{
  margin:9px 0 0;padding:9px 12px;border-radius:8px;background:#f5f8fc;
  color:#53657d;font-size:12px;line-height:1.45;
}
.rs-number-rule b{color:#17385f}

.fx-work-product{
  display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:14px;align-items:stretch;width:100%;
}
.fx-work-product-copy{min-width:0}
.fx-work-customer{display:block;color:#203854;font-size:12px;font-weight:800;margin-bottom:4px}
.fx-work-product-title{display:block;color:#102a4c;font-size:19px;line-height:1.25;font-weight:900}
.fx-work-product-title em{font-style:normal;color:#566b84;font-weight:800}
.fx-work-meta{margin-top:5px;color:#6b7c93;font-size:11px}
.fx-work-task{display:flex;align-items:center;gap:7px;margin-top:9px;color:#4f6279;font-size:11px;font-weight:700}
.fx-work-task .op{
  display:inline-flex;align-items:center;justify-content:center;min-width:39px;min-height:24px;
  border-radius:6px;background:#edf3fb;color:#163a64;font-weight:900;
}
.fx-work-state{
  display:inline-flex;margin-top:8px;padding:5px 9px;border-radius:999px;
  background:#eaf7ef;color:#137548;font-size:11px;font-weight:900;
}
.fx-work-state.wait{background:#fff4dc;color:#9a6200}
.fx-work-state.hold{background:#fff0f0;color:#b42318}
.fx-work-drawing{
  min-height:100px;border:1px solid #d8e1ec;border-radius:10px;background:#f8fafc;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.fx-work-drawing img{width:100%;height:100px;object-fit:contain;display:block;background:#fff}
.fx-work-drawing span{color:#8998aa;font-size:11px;font-weight:700}
.fx-process-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fx-process-product-card{text-decoration:none;color:inherit}
@media(max-width:1100px){.fx-process-product-grid{grid-template-columns:1fr}.fx-work-product{grid-template-columns:minmax(0,1fr) 125px}}

.fx-stamp-tools{margin-top:10px;padding-top:10px;border-top:1px solid #e5eaf0}
.fx-stamp-tools small{display:block;margin-bottom:7px;color:#64748b;font-size:11px}
.fx-stamp-upload-row{display:flex;gap:7px;align-items:center}
.fx-stamp-upload-row input[type=file]{min-width:0;flex:1;font-size:11px}
.fx-stamp-upload-row button{flex:0 0 auto}
.signature-live-preview img,.fx-rs-sign-cell img,.sign-inline img,.fx-completed-stamp{
  object-fit:contain !important;mix-blend-mode:multiply;
}
.fx-notice-rs-link{font-weight:900 !important}


/* FactoX AD v0.56.4 - R/S Responsive + Seal Fix Patch 06 */

/* ---- R/S layout: document gets priority ---- */
.fx-rs-workspace{
  display:grid !important;
  grid-template-columns:210px minmax(720px,1fr) 280px !important;
  gap:12px !important;
  width:100% !important;
  max-width:none !important;
  align-items:start !important;
  overflow:visible !important;
}
.fx-rs-left,.fx-rs-center,.fx-rs-right{min-width:0 !important}
.fx-rs-center{width:100% !important}
.fx-rs-document{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  transform:none !important;
}
.fx-rs-table-wrap{
  width:100% !important;
  overflow:visible !important;
}
.fx-rs-table{
  width:100% !important;
  table-layout:fixed !important;
}

/* keep document readable before side panels */
@media (max-width: 1450px){
  .fx-rs-workspace{
    grid-template-columns:195px minmax(680px,1fr) !important;
  }
  .fx-rs-right{
    grid-column:1 / -1 !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
  .fx-rs-right > *{min-width:0 !important}
}

@media (max-width: 1100px){
  .fx-rs-workspace{
    grid-template-columns:1fr !important;
  }
  .fx-rs-left,
  .fx-rs-center,
  .fx-rs-right{
    grid-column:1 !important;
  }
  .fx-rs-left{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
  .fx-rs-right{
    display:block !important;
  }
  .fx-rs-document{
    min-width:0 !important;
  }
}

@media (max-width: 760px){
  .fx-rs-left{display:block !important}
  .fx-rs-doc-meta{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .fx-rs-document{
    padding:14px 10px 18px !important;
  }
  .fx-rs-table th,
  .fx-rs-table td{
    font-size:10px !important;
    padding:7px 4px !important;
  }
}

/* neutralize old patch-05 minimum layout assumptions */
@media(max-width:1350px){
  .fx-rs-workspace{overflow:visible !important}
}

/* seal image visual */
.fx-rs-sign-cell img,
.sign-inline img,
.fx-completed-stamp,
.signature-live-preview img{
  object-fit:contain !important;
  mix-blend-mode:multiply !important;
}


/* FactoX AD v0.56.4 - Emergency Fix 06A
   R/S document-first responsive layout */

.fx-rs-workspace{
  display:grid !important;
  grid-template-columns:220px minmax(0,1fr) 300px !important;
  gap:12px !important;
  width:100% !important;
  max-width:none !important;
  overflow:visible !important;
  align-items:start !important;
}
.fx-rs-left,.fx-rs-center,.fx-rs-right{
  min-width:0 !important;
}
.fx-rs-center{
  width:100% !important;
  overflow:visible !important;
}
.fx-rs-document{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  transform:none !important;
}
.fx-rs-table-wrap{
  width:100% !important;
  max-width:100% !important;
  overflow:visible !important;
}
.fx-rs-table{
  width:100% !important;
  max-width:100% !important;
  table-layout:fixed !important;
}
.fx-rs-table th,.fx-rs-table td{
  min-width:0 !important;
  overflow-wrap:anywhere !important;
  word-break:keep-all !important;
}

/* When space becomes tight, protect the R/S and move the work panel below it */
@media (max-width: 1500px){
  .fx-rs-workspace{
    grid-template-columns:210px minmax(0,1fr) !important;
  }
  .fx-rs-right{
    grid-column:1 / -1 !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
}

/* Half-window / smaller desktop */
@media (max-width: 1050px){
  .fx-rs-workspace{
    grid-template-columns:1fr !important;
  }
  .fx-rs-left,.fx-rs-center,.fx-rs-right{
    grid-column:1 !important;
  }
  .fx-rs-left{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
  .fx-rs-right{
    display:block !important;
  }
}

/* narrow */
@media (max-width: 720px){
  .fx-rs-left{display:block !important}
  .fx-rs-doc-meta{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .fx-rs-document{
    padding:12px 8px 16px !important;
  }
  .fx-rs-table th,.fx-rs-table td{
    font-size:10px !important;
    padding:6px 3px !important;
  }
}

/* FactoX AD v0.56.4 - Unified Team Worklist Patch 08 */
.fx-unified-work-row{display:grid!important;grid-template-columns:150px minmax(280px,1.25fr) minmax(250px,1fr) 150px!important;gap:22px!important;align-items:center!important;padding:22px 8px!important;border-bottom:1px solid #e4ebf3!important;text-decoration:none!important;color:inherit!important}
.fx-unified-work-row:last-child{border-bottom:0!important}.fx-unified-status-col{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.fx-unified-status{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 14px;border-radius:999px;background:#e9f1ff;color:#1f66d1;font-size:13px;font-weight:900}.fx-unified-status.waiting{background:#edf2f7;color:#62748b}.fx-unified-status.hold{background:#fff0f0;color:#b42318}.fx-unified-status.progress{background:#e8f0ff;color:#1463d8}
.fx-unified-thumb{width:118px;height:76px;border:1px solid #d6dfeb;border-radius:9px;overflow:hidden;background:#f8fafc;display:flex;align-items:center;justify-content:center}.fx-unified-thumb img{width:100%;height:100%;object-fit:contain;display:block;background:#fff}.fx-unified-thumb span{color:#8a99ab;font-size:10px;line-height:1.35;text-align:center;font-weight:800}
.fx-unified-product-col{min-width:0}.fx-unified-pid{display:block;color:#102a4c;font-size:20px;line-height:1.25;font-weight:900}.fx-unified-product-name{display:block;margin-top:5px;color:#5d718b;font-size:15px;line-height:1.3;font-weight:800}.fx-unified-project{display:block;margin-top:5px;color:#71849b;font-size:13px;font-weight:650}
.fx-unified-task-col{min-width:0}.fx-unified-task-col small{display:block;color:#8190a4;font-size:12px;font-weight:800;margin-bottom:4px}.fx-unified-task-col b{display:block;color:#102a4c;font-size:17px;line-height:1.3;font-weight:900}.fx-unified-task-col span{display:block;margin-top:5px;color:#6b7f97;font-size:12px;font-weight:700}.fx-unified-action{text-align:right;min-width:0}.fx-unified-action strong{color:#1768e8;font-size:15px;font-weight:900;white-space:nowrap}.fx-unified-action small{display:block;margin-bottom:8px;color:#3f5875;font-size:13px;font-weight:900}.fx-unified-empty{padding:30px 18px;color:#7b8da3;text-align:center;font-size:13px}
@media(max-width:1050px){.fx-unified-work-row{grid-template-columns:125px minmax(220px,1.2fr) minmax(210px,1fr)!important}.fx-unified-action{grid-column:2/-1;text-align:left;margin-top:-8px}}@media(max-width:760px){.fx-unified-work-row{grid-template-columns:100px minmax(0,1fr)!important;gap:14px!important;padding:18px 6px!important}.fx-unified-task-col,.fx-unified-action{grid-column:2!important}.fx-unified-thumb{width:92px;height:64px}.fx-unified-pid{font-size:18px}}

/* PATCH11F_RS_RIGHT_PANEL_LAYOUT_START */
/*
 FactoX AD v0.56.4-11F
 Routing Sheet workspace:
 - 중앙 R/S 폭 축소
 - 우측 입력 패널 확대
 - 우측 가로 스크롤 제거
 - 입력/버튼이 패널 폭 안에서 자동 정렬
*/

.fx-rs-workspace{
    grid-template-columns:
        190px
        minmax(560px, 1fr)
        minmax(330px, 360px) !important;
    gap:12px !important;
    width:100%;
    max-width:100%;
    overflow-x:hidden;
}

.fx-rs-left,
.fx-rs-center,
.fx-rs-right{
    min-width:0 !important;
    max-width:100%;
}

.fx-rs-center{
    overflow:hidden;
}

.fx-rs-right{
    width:100%;
    overflow-x:hidden !important;
}

/* 우측 패널 내부 카드가 바깥으로 튀어나오지 않도록 */
.fx-rs-right .fx-card,
.fx-rs-right form,
.fx-rs-right fieldset,
.fx-rs-right label,
.fx-rs-right div{
    box-sizing:border-box;
    max-width:100%;
}

/* 모든 입력 요소를 우측 패널 안에 맞춤 */
.fx-rs-right input,
.fx-rs-right select,
.fx-rs-right textarea{
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    min-width:0;
}

/* 검사 시작 영역 */
.fx-rs-right .drawing-confirm-box,
.fx-rs-right .drawing-confirm-box.editable{
    grid-template-columns:minmax(0,1fr) minmax(0,92px) !important;
    gap:8px !important;
    width:100%;
}

/* checkbox 확인행은 전체폭 사용 */
.fx-rs-right .drawing-confirm-box .one-click-confirm{
    grid-column:1 / -1;
}

/* 실제 W/C */
.fx-rs-right .wc-confirm-row{
    grid-template-columns:minmax(0,1fr) !important;
    gap:6px !important;
    width:100%;
}

.fx-rs-right .wc-confirm-row small{
    width:100%;
    padding:0 !important;
}

/* 검사 시작시간: 좁으면 버튼이 다음 줄로 자연스럽게 이동 */
.fx-rs-right .start-time-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto auto !important;
    gap:6px !important;
    width:100%;
}

.fx-rs-right .start-time-row input{
    min-width:0;
}

.fx-rs-right .start-time-row .btn{
    white-space:nowrap;
    padding-left:10px;
    padding-right:10px;
}

/* 상단 검사/증빙 탭 */
.fx-rs-right .fx-context-tabs{
    width:100%;
    overflow:hidden;
}

.fx-rs-right .fx-context-tab{
    min-width:0;
    white-space:nowrap;
}

/* 현장기록 카드 */
.fx-rs-right .process-fields,
.fx-rs-right .process-fields-body,
.fx-rs-right .process-field,
.fx-rs-right .process-record-fields{
    width:100%;
    max-width:100%;
    min-width:0;
}

/* 중앙 R/S 자체가 가로 스크롤을 만들지 않도록 */
.fx-rs-center .fx-rs-document{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
}

.fx-rs-center .fx-rs-table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:hidden !important;
}

.fx-rs-center .fx-rs-table{
    width:100%;
    table-layout:fixed;
}

/* 중앙 문서는 조금 더 압축 */
.fx-rs-center .fx-rs-table th,
.fx-rs-center .fx-rs-table td{
    overflow-wrap:anywhere;
    word-break:keep-all;
}

/* 일반 노트북 폭 */
@media (max-width:1500px){
    .fx-rs-workspace{
        grid-template-columns:
            180px
            minmax(500px,1fr)
            minmax(335px,355px) !important;
        gap:10px !important;
    }
}

/* 더 좁은 화면에서는 3열 유지하되 좌측을 조금 줄임 */
@media (max-width:1250px){
    .fx-rs-workspace{
        grid-template-columns:
            165px
            minmax(460px,1fr)
            330px !important;
    }
}

/* PATCH11F_RS_RIGHT_PANEL_LAYOUT_END */



/* PATCH11K_ENTERPRISE_RULES */
[data-enterprise-wc]{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.signature-live-preview[hidden],
.digital-sign[hidden]{
  display:none !important;
}

/* PATCH11K4_RS_LEFT_PANEL_WIDTH_START */
/*
  Routing Sheet desktop balance:
  - widen left Routing info/tree slightly
  - keep right work panel unchanged
  - take the extra width only from center R/S viewer
*/
@media (min-width: 1280px) {
  .fx-rs-workspace {
    grid-template-columns: 180px minmax(0, 1fr) var(--fx-rs-right-width, 300px) !important;
  }

  .fx-rs-left {
    min-width: 0;
  }

  .fx-rs-info dl dd,
  .fx-tree-row > div {
    min-width: 0;
  }
}
/* PATCH11K4_RS_LEFT_PANEL_WIDTH_END */
