html.gcm-app-active,body.gcm-app-active{margin:0!important;padding:0!important;max-width:none!important}body.gcm-standalone-dashboard{margin:0!important;padding:0!important;width:100vw!important;max-width:none!important;height:100vh!important;min-height:100vh!important;overflow:hidden!important;background:#f6f8fb!important}body.gcm-standalone-dashboard .gcm-app{width:100vw!important;max-width:none!important;height:100vh!important;height:100dvh!important;min-height:100vh!important;margin:0!important}body.gcm-standalone-dashboard .gcm-app-main{max-width:none!important;width:auto!important}body.gcm-standalone-dashboard img,body.gcm-standalone-dashboard svg{max-width:none}
/* Garment Capacity Manager v0.4.0 - Full-screen Production Dashboard */
:root{--gcm-font-add:1.5px;--gcm-blue:#1769ff;--gcm-blue-soft:#eaf2ff;--gcm-green:#2fb34a;--gcm-green-soft:#eef9f1;--gcm-orange:#ff9800;--gcm-orange-soft:#fff7e8;--gcm-red:#ef3538;--gcm-red-soft:#fff0f0;--gcm-purple:#7137dc;--gcm-text:#172033;--gcm-muted:#6f7a8b;--gcm-line:#e5eaf1;--gcm-bg:#f6f8fb;--gcm-card:#fff;--gcm-shadow:0 8px 24px rgba(26,42,74,.07);--gcm-radius:14px}.gcm-app-access{margin:24px;padding:16px 18px;border:1px solid #dbe2ea;border-radius:10px;background:#fff;font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#243041}.gcm-app,.gcm-app *{box-sizing:border-box}.gcm-app{position:fixed;inset:0;z-index:2147483000;display:grid;grid-template-columns:260px minmax(0,1fr);background:var(--gcm-bg);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--gcm-text);overflow:hidden}.gcm-app button,.gcm-app input,.gcm-app a{font:inherit}.gcm-app a{text-decoration:none;color:inherit}.gcm-app-icon{width:22px;height:22px;display:block;flex:0 0 auto}.gcm-app-sidebar{position:relative;z-index:30;background:#fff;border-right:1px solid #e6ebf1;display:flex;flex-direction:column;min-height:0;box-shadow:4px 0 18px rgba(30,50,80,.03)}.gcm-app-brand{height:88px;padding:18px 18px 16px 22px;display:flex;align-items:center;gap:13px;border-bottom:1px solid #f1f3f6}.gcm-app-brand-mark{width:46px;height:46px;border-radius:12px;background:linear-gradient(145deg,#2579ff,#0c57ee);color:#fff;display:grid;place-items:center;box-shadow:0 8px 18px rgba(23,105,255,.25)}.gcm-app-brand-mark .gcm-app-icon{width:27px;height:27px;stroke-width:2}.gcm-app-brand strong{display:block;font-size:calc(19px + var(--gcm-font-add, 0px));line-height:1.1;letter-spacing:-.02em}.gcm-app-brand small{display:block;margin-top:5px;color:#768295;font-size:calc(12px + var(--gcm-font-add, 0px))}.gcm-app-mobile-close{display:none;border:0;background:transparent;margin-left:auto;color:#596678;padding:6px}.gcm-app-nav{padding:13px 11px;display:flex;flex-direction:column;gap:4px;overflow:auto}.gcm-app-nav a{position:relative;min-height:49px;padding:0 14px;display:flex;align-items:center;gap:14px;border-radius:10px;color:#5f6d81;font-size:calc(14px + var(--gcm-font-add, 0px));font-weight:560;transition:.15s}.gcm-app-nav a:hover{background:#f5f8fc;color:#1d5fc9}.gcm-app-nav a.is-active{background:linear-gradient(90deg,#e8f1ff,#f2f7ff);color:#1263ec;font-weight:700}.gcm-app-nav a.is-active:before{content:"";position:absolute;left:-11px;top:0;bottom:0;width:4px;border-radius:0 4px 4px 0;background:var(--gcm-blue)}.gcm-app-nav a .gcm-app-icon{width:21px;height:21px}.gcm-app-nav-badge{margin-left:auto;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:var(--gcm-red);color:#fff;font-size:calc(11px + var(--gcm-font-add, 0px));display:grid;place-items:center}.gcm-app-sidebar-bottom{margin-top:auto;padding:14px 16px 18px;display:flex;flex-direction:column;gap:16px}.gcm-app-factory-select{height:47px;border:1px solid #dfe5ed;border-radius:10px;display:flex;align-items:center;gap:10px;padding:0 12px;color:#5e6b7d;font-size:calc(13px + var(--gcm-font-add, 0px));background:#fff}.gcm-app-factory-select .gcm-app-icon{width:20px;height:20px}.gcm-app-chevron{margin-left:auto;transform:rotate(90deg);display:block}.gcm-app-chevron .gcm-app-icon{width:15px;height:15px}.gcm-app-user{position:relative;display:grid;grid-template-columns:42px 1fr 10px;gap:10px;align-items:center}.gcm-app-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#dce9fb,#b8cff0);font-weight:800;color:#275d9d;border:3px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.12)}.gcm-app-user strong{display:block;font-size:calc(13px + var(--gcm-font-add, 0px))}.gcm-app-user small{display:block;color:#8691a0;font-size:calc(11px + var(--gcm-font-add, 0px));margin-top:3px}.gcm-app-online{width:9px;height:9px;border-radius:50%;background:#2dbf54;box-shadow:0 0 0 3px #fff;align-self:end;margin-bottom:5px}.gcm-app-overlay{display:none}.gcm-app-main{min-width:0;overflow:auto;padding:0 34px 34px}.gcm-app-header{position:sticky;top:0;z-index:10;background:rgba(246,248,251,.94);backdrop-filter:blur(12px);padding:23px 0 15px}.gcm-app-title-row{display:flex;align-items:center;gap:16px}.gcm-app-title-row h1{font-size:calc(28px + var(--gcm-font-add, 0px));line-height:1.1;margin:0;color:#121a2b;letter-spacing:-.025em}.gcm-app-title-row p{margin:5px 0 0;color:#7d8797;font-size:calc(12px + var(--gcm-font-add, 0px))}.gcm-app-mobile-menu{display:none;border:0;background:#fff;border:1px solid var(--gcm-line);border-radius:9px;padding:9px}.gcm-app-header-actions{margin-left:auto;display:flex;align-items:center;gap:17px}.gcm-app-btn{height:40px;border-radius:9px;border:1px solid #dfe5ed;padding:0 14px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:calc(13px + var(--gcm-font-add, 0px));font-weight:650;transition:.15s}.gcm-app-btn .gcm-app-icon{width:18px;height:18px}.gcm-app-btn-soft{background:#fff;color:#263246}.gcm-app-btn-soft:hover{border-color:#bfc8d5}.gcm-app-btn-primary{background:linear-gradient(180deg,#2478ff,#1364ee);border-color:#1260e7;color:#fff;box-shadow:0 6px 14px rgba(23,105,255,.18)}.gcm-app-btn-primary:hover{filter:brightness(.98);transform:translateY(-1px)}.gcm-app-updated{display:flex;align-items:center;gap:7px;color:#7d8795;font-size:calc(12px + var(--gcm-font-add, 0px));white-space:nowrap}.gcm-app-updated .gcm-app-icon{width:16px;height:16px}.gcm-app-filter{display:flex;align-items:center;gap:16px;margin-top:15px}.gcm-app-period-tabs{display:inline-flex;border:1px solid #dfe5ec;background:#fff;border-radius:9px;overflow:hidden;box-shadow:0 2px 6px rgba(30,50,80,.03)}.gcm-app-period-tabs button{height:39px;min-width:78px;border:0;border-right:1px solid #e7ebf0;background:#fff;color:#526075;cursor:pointer;font-size:calc(13px + var(--gcm-font-add, 0px))}.gcm-app-period-tabs button:last-child{border-right:0}.gcm-app-period-tabs button.is-active{color:#0f63ef;background:#f4f8ff;box-shadow:inset 0 0 0 1.5px #2677ff;font-weight:700}.gcm-app-date-control{height:40px;min-width:190px;border:1px solid #dfe5ec;border-radius:9px;background:#fff;display:flex;align-items:center;gap:9px;padding:0 11px;color:#445165;box-shadow:0 2px 6px rgba(30,50,80,.03)}.gcm-app-date-control .gcm-app-icon{width:18px;height:18px}.gcm-app-date-control input{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important;color:#273346;font-size:calc(13px + var(--gcm-font-add, 0px));width:128px;outline:none}.gcm-app-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fff;border:1px solid var(--gcm-line);border-radius:var(--gcm-radius);box-shadow:var(--gcm-shadow);min-height:98px;margin-bottom:17px}.gcm-app-kpi{position:relative;display:flex;align-items:center;gap:14px;padding:17px 20px;min-width:0}.gcm-app-kpi:not(:last-child):after{content:"";position:absolute;right:0;top:21px;bottom:21px;width:1px;background:#e8ecf1}.gcm-app-kpi-icon{width:48px;height:48px;border-radius:11px;display:grid;place-items:center;color:#fff;flex:0 0 auto}.gcm-app-kpi-icon .gcm-app-icon{width:25px;height:25px;stroke-width:1.8}.gcm-app-kpi-icon.is-blue{background:linear-gradient(145deg,#3787ff,#1167ef)}.gcm-app-kpi-icon.is-green{background:linear-gradient(145deg,#48bf5c,#2da942)}.gcm-app-kpi-icon.is-orange{background:linear-gradient(145deg,#ffad14,#ff8b00)}.gcm-app-kpi-icon.is-purple{background:linear-gradient(145deg,#8752eb,#6632d7)}.gcm-app-kpi-icon.is-red{background:linear-gradient(145deg,#ff5254,#ea272b)}.gcm-app-kpi>div{min-width:0}.gcm-app-kpi small{display:block;color:#535f72;font-size:calc(12px + var(--gcm-font-add, 0px));margin-bottom:4px}.gcm-app-kpi strong{display:block;font-size:calc(23px + var(--gcm-font-add, 0px));line-height:1.1;color:#121b2c;white-space:nowrap;letter-spacing:-.02em}.gcm-app-kpi strong em{font-size:calc(12px + var(--gcm-font-add, 0px));font-style:normal;font-weight:650;margin-left:3px;color:#49556a}.gcm-app-kpi>div>span{display:block;color:#929baa;font-size:calc(10px + var(--gcm-font-add, 0px));margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcm-app-risk-high{color:var(--gcm-red)!important}.gcm-app-risk-medium{color:var(--gcm-orange)!important}.gcm-app-risk-low{color:var(--gcm-green)!important}.gcm-app-top-grid{display:grid;grid-template-columns:minmax(430px,.92fr) minmax(520px,1.08fr);gap:17px;margin-bottom:17px}.gcm-app-bottom-grid{display:grid;grid-template-columns:minmax(520px,1.45fr) minmax(315px,.82fr) minmax(245px,.62fr);gap:17px;margin-bottom:17px}.gcm-app-card{background:var(--gcm-card);border:1px solid var(--gcm-line);border-radius:var(--gcm-radius);box-shadow:var(--gcm-shadow);min-width:0}.gcm-app-card-head{min-height:54px;padding:16px 18px 12px;display:flex;align-items:center;justify-content:space-between;gap:14px}.gcm-app-card-head h2{margin:0;font-size:calc(16px + var(--gcm-font-add, 0px));line-height:1.25;letter-spacing:-.01em}.gcm-app-card-note{font-size:calc(10px + var(--gcm-font-add, 0px));color:#99a2af}.gcm-app-text-btn{border:1px solid #dfe5ed;border-radius:8px;padding:7px 11px;font-size:calc(11px + var(--gcm-font-add, 0px));color:#1263ec!important;background:#fff}.gcm-app-text-btn:hover{border-color:#a9c6f9;background:#f6f9ff}.gcm-app-gauge-card{min-height:337px}.gcm-app-gauge-wrap{position:relative;padding:0 20px 16px;outline:none}.gcm-app-gauge{width:100%;height:233px;display:block;overflow:visible}.gcm-app-gauge-base,.gcm-app-gauge-zone{fill:none;stroke-linecap:butt}.gcm-app-gauge-base{stroke:#edf0f3;stroke-width:31}.gcm-app-gauge-zone{stroke-width:27}.gcm-app-gauge-zone.is-red{stroke:#f03638}.gcm-app-gauge-zone.is-orange{stroke:#ff9a00}.gcm-app-gauge-zone.is-green{stroke:#42b953}.gcm-app-gauge-inner{fill:none;stroke:#f1f3f6;stroke-width:28}.gcm-app-gauge-tick{stroke:#cdd3db;stroke-width:1.5}.gcm-app-gauge-needle{stroke:#252d37;stroke-width:9;stroke-linecap:round;filter:drop-shadow(0 2px 2px rgba(0,0,0,.16));transition:transform .45s ease}.gcm-app-gauge-pin{fill:#343b44;stroke:#515963;stroke-width:3}.gcm-app-gauge-pin-inner{fill:#15191e}.gcm-app-gauge-edge{fill:#3d495a;font-size:calc(11px + var(--gcm-font-add, 0px));font-weight:650}.gcm-app-gauge-labels{position:absolute;left:45px;right:45px;bottom:31px;display:flex;justify-content:space-between;font-size:calc(10px + var(--gcm-font-add, 0px));color:#798492}.gcm-app-gauge-labels span:nth-child(2){color:#d78500}.gcm-app-gauge-score{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);text-align:center;pointer-events:none}.gcm-app-gauge-score strong{display:block;color:#32ae49;font-size:calc(30px + var(--gcm-font-add, 0px));line-height:1}.gcm-app-gauge-score span{display:block;margin-top:6px;color:#566175;font-size:calc(11px + var(--gcm-font-add, 0px));font-weight:650;white-space:nowrap}.gcm-app-stage-card{min-height:337px}.gcm-app-stage-head{display:grid;grid-template-columns:minmax(160px,1fr) minmax(190px,.9fr) minmax(150px,.78fr);gap:14px;padding:5px 18px 9px;border-bottom:1px solid #edf0f4;color:#7d8797;font-size:calc(10px + var(--gcm-font-add, 0px))}.gcm-app-stage-head span:nth-child(2){text-align:center}.gcm-app-stage-head span:last-child{text-align:right}.gcm-app-stage-list{padding:0 18px 10px}.gcm-app-stage-row{position:relative;display:grid;grid-template-columns:minmax(160px,1fr) minmax(190px,.9fr) minmax(150px,.78fr);gap:14px;align-items:center;min-height:47px;border-bottom:1px solid #edf0f4;outline:none}.gcm-app-stage-row:last-child{border-bottom:0}.gcm-app-stage-name{display:flex;align-items:center;gap:10px;min-width:0}.gcm-app-stage-icon{width:24px;height:24px;display:grid;place-items:center;color:#26354a}.gcm-app-stage-icon .gcm-app-icon{width:20px;height:20px}.gcm-app-stage-name strong{font-size:calc(11px + var(--gcm-font-add, 0px));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcm-app-stage-progress{display:grid;grid-template-columns:1fr 47px;align-items:center;gap:9px}.gcm-app-progress-track{position:relative;height:8px;border-radius:999px;background:#e8ebf0;display:block}.gcm-app-progress-track i{display:block;height:100%;border-radius:999px;background:var(--gcm-green);min-width:2px}.gcm-app-progress-track b{position:absolute;top:-4px;bottom:-4px;width:2px;background:#1f2937;opacity:.38;transform:translateX(-1px);border-radius:2px}.gcm-app-stage-row.is-warning .gcm-app-progress-track i{background:var(--gcm-orange)}.gcm-app-stage-row.is-critical .gcm-app-progress-track i{background:var(--gcm-red)}.gcm-app-stage-progress em{font-size:calc(11px + var(--gcm-font-add, 0px));font-style:normal;font-weight:700;text-align:right}.gcm-app-stage-row.is-warning .gcm-app-stage-progress em{color:#d98600}.gcm-app-stage-row.is-critical .gcm-app-stage-progress em{color:var(--gcm-red)}.gcm-app-stage-values{text-align:right;font-size:calc(11px + var(--gcm-font-add, 0px));color:#273447;white-space:nowrap}.gcm-app-empty{padding:26px;text-align:center;color:#8b95a4;font-size:calc(12px + var(--gcm-font-add, 0px))}.gcm-app-time-card{min-height:292px}.gcm-app-time-head{align-items:flex-start}.gcm-app-time-head>div:first-child{display:flex;flex-direction:column;gap:8px}.gcm-app-mini-tabs{display:flex;gap:8px}.gcm-app-mini-tabs a{font-size:calc(10px + var(--gcm-font-add, 0px));padding:4px 8px;border-radius:6px;color:#5e6b7d}.gcm-app-mini-tabs a.is-active{background:#edf4ff;color:#1263ec;font-weight:700}.gcm-app-chart-legend{display:flex;gap:14px;font-size:calc(9px + var(--gcm-font-add, 0px));color:#657185;align-items:center;padding-top:3px}.gcm-app-chart-legend span{display:flex;align-items:center;gap:5px;white-space:nowrap}.gcm-app-chart-legend i{width:8px;height:8px;border-radius:50%;display:block}.gcm-app-chart-legend i.is-green{background:var(--gcm-green)}.gcm-app-chart-legend i.is-grey{width:17px;border-radius:4px;background:#dfe3e8}.gcm-app-chart-legend i.is-orange-line{width:17px;height:0;border-top:2px dashed var(--gcm-orange);border-radius:0}.gcm-app-chart-wrap{padding:0 12px 10px;overflow:hidden}.gcm-app-time-chart{display:block;width:100%;height:auto;overflow:visible}.gcm-app-grid-line{stroke:#e9edf2;stroke-width:1}.gcm-app-axis-label,.gcm-app-axis-date{fill:#727d8c;font-size:calc(10px + var(--gcm-font-add, 0px))}.gcm-app-axis-date.is-last{fill:#1263ec;font-weight:700}.gcm-app-bar-remaining{fill:#e3e6eb}.gcm-app-bar-actual{fill:url(#none);fill:#3db45a}.gcm-app-chart-hover-area{fill:transparent;cursor:crosshair}.gcm-app-chart-hit:focus .gcm-app-chart-hover-area,.gcm-app-chart-hit:hover .gcm-app-chart-hover-area{fill:rgba(23,105,255,.04)}.gcm-app-plan-line{fill:none;stroke:var(--gcm-orange);stroke-width:2;stroke-dasharray:5 4}.gcm-app-plan-dot{fill:#fff;stroke:var(--gcm-orange);stroke-width:2}.gcm-app-risk-card{min-height:292px}.gcm-app-risk-list{padding:2px 14px 10px;display:flex;flex-direction:column;gap:8px}.gcm-app-alert{display:grid;grid-template-columns:28px minmax(0,1fr) 72px;align-items:center;gap:8px;padding:9px 10px;border:1px solid #e8edf2;border-radius:9px;background:#f9fbfd}.gcm-app-alert.is-critical{background:var(--gcm-red-soft);border-color:#ffd0d0;color:#d93134}.gcm-app-alert.is-warning{background:var(--gcm-orange-soft);border-color:#ffe2b4;color:#cf7b00}.gcm-app-alert.is-healthy{background:var(--gcm-green-soft);border-color:#d4f0da;color:#299d42}.gcm-app-alert-icon .gcm-app-icon{width:18px;height:18px}.gcm-app-alert strong{display:block;font-size:calc(10px + var(--gcm-font-add, 0px))}.gcm-app-alert small{display:block;margin-top:3px;font-size:calc(9px + var(--gcm-font-add, 0px));color:#758092}.gcm-app-spark{width:70px;height:28px}.gcm-app-spark polyline{fill:none;stroke:currentColor;stroke-width:2}.gcm-app-risk-footer{height:39px;border-top:1px solid #edf0f4;display:flex;align-items:center;justify-content:center;gap:5px;color:#1263ec!important;font-size:calc(10px + var(--gcm-font-add, 0px))}.gcm-app-risk-footer .gcm-app-icon{width:13px;height:13px}.gcm-app-side-stack{display:grid;grid-template-rows:1fr auto;gap:17px}.gcm-app-legend-card{min-height:179px}.gcm-app-legend-list{display:flex;flex-direction:column;gap:12px;padding:3px 17px 16px}.gcm-app-legend-list>div{display:grid;grid-template-columns:15px 74px 1fr;gap:8px;align-items:center}.gcm-app-legend-list i{width:12px;height:12px;border-radius:50%;display:block}.gcm-app-legend-list i.is-green{background:var(--gcm-green)}.gcm-app-legend-list i.is-orange{background:var(--gcm-orange)}.gcm-app-legend-list i.is-red{background:var(--gcm-red)}.gcm-app-legend-list i.is-line{height:0;border-top:2px solid #222;border-radius:0}.gcm-app-legend-list b{font-size:calc(9px + var(--gcm-font-add, 0px))}.gcm-app-legend-list span{font-size:calc(8px + var(--gcm-font-add, 0px));color:#818b98;white-space:nowrap}.gcm-app-capacity-card{min-height:93px;padding:14px;display:grid;grid-template-columns:48px 1fr 18px;gap:11px;align-items:center}.gcm-app-capacity-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:#1263ec;background:#eaf2ff}.gcm-app-capacity-icon .gcm-app-icon{width:26px;height:26px}.gcm-app-capacity-card small{display:block;font-size:calc(9px + var(--gcm-font-add, 0px));color:#4f5b6e}.gcm-app-capacity-card strong{display:block;font-size:calc(20px + var(--gcm-font-add, 0px));margin-top:3px}.gcm-app-capacity-card strong em{font-size:calc(10px + var(--gcm-font-add, 0px));font-style:normal}.gcm-app-capacity-card>div>span{display:block;font-size:calc(8px + var(--gcm-font-add, 0px));color:#808a98;margin-top:3px}.gcm-app-decision-strip{background:#fff;border:1px solid var(--gcm-line);border-radius:var(--gcm-radius);box-shadow:var(--gcm-shadow);display:grid;grid-template-columns:160px 1fr auto;gap:18px;padding:14px 17px;align-items:stretch}.gcm-app-decision-title{border-right:1px solid #edf0f4;padding-right:16px;display:flex;flex-direction:column;justify-content:center}.gcm-app-decision-title span{font-size:calc(9px + var(--gcm-font-add, 0px));text-transform:uppercase;letter-spacing:.08em;color:#1263ec;font-weight:800}.gcm-app-decision-title strong{font-size:calc(14px + var(--gcm-font-add, 0px));margin-top:5px}.gcm-app-decision-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gcm-app-decision-items>div{border-radius:9px;padding:9px 10px;background:#f7f9fb;border-left:3px solid #b8c2ce}.gcm-app-decision-items>div.is-critical{border-left-color:var(--gcm-red);background:#fff6f6}.gcm-app-decision-items>div.is-warning{border-left-color:var(--gcm-orange);background:#fffaf1}.gcm-app-decision-items>div.is-opportunity,.gcm-app-decision-items>div.is-healthy{border-left-color:var(--gcm-green);background:#f4fbf6}.gcm-app-decision-items b{display:block;font-size:calc(9px + var(--gcm-font-add, 0px));line-height:1.35}.gcm-app-decision-items span{display:block;margin-top:4px;font-size:calc(8px + var(--gcm-font-add, 0px));color:#6f7a8b;line-height:1.4}.gcm-app-finance-mini{display:flex;min-width:150px;flex-direction:column;justify-content:center;padding-left:14px;border-left:1px solid #edf0f4}.gcm-app-finance-mini small{font-size:calc(9px + var(--gcm-font-add, 0px));color:#7b8695}.gcm-app-finance-mini strong{font-size:calc(14px + var(--gcm-font-add, 0px));margin-top:5px;white-space:nowrap}.gcm-app-term{position:relative;display:inline-flex!important;align-items:center;gap:4px;cursor:help;outline:none}.gcm-app-info{width:15px;height:15px;border-radius:50%;display:inline-grid!important;place-items:center;font-size:calc(9px + var(--gcm-font-add, 0px))!important;line-height:1!important;font-weight:800;background:#f3f6fa;border:1px solid #b8c2d0;color:#627087;flex:0 0 auto}.gcm-app-term:after{content:attr(data-tooltip);position:absolute;z-index:50;left:50%;bottom:calc(100% + 8px);width:280px;max-width:78vw;padding:10px 11px;border-radius:8px;background:#202934;color:#fff;font-size:calc(10px + var(--gcm-font-add, 0px));font-weight:400;line-height:1.5;white-space:normal;box-shadow:0 10px 28px rgba(0,0,0,.22);opacity:0;visibility:hidden;transform:translate(-50%,4px);transition:.14s}.gcm-app-term:hover:after,.gcm-app-term:focus:after,.gcm-app-term.is-open:after{opacity:1;visibility:visible;transform:translate(-50%,0)}.gcm-app-tooltip{position:fixed;z-index:2147483600;min-width:220px;max-width:290px;padding:11px 12px;border-radius:9px;background:rgba(29,37,48,.97);color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.24);font-size:calc(11px + var(--gcm-font-add, 0px));line-height:1.45;opacity:0;visibility:hidden;transform:translateY(5px);transition:.1s;pointer-events:none}.gcm-app-tooltip.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.gcm-app-tooltip div{display:flex;justify-content:space-between;gap:14px;padding:2px 0}.gcm-app-tooltip div:first-child{font-weight:700;margin-bottom:3px}.gcm-app-tooltip span:last-child{font-weight:700;color:#fff;white-space:nowrap}.gcm-app-hover{cursor:help}.gcm-app-customize{position:fixed;z-index:2147483500;top:0;right:0;width:330px;height:100vh;background:#fff;border-left:1px solid #e4e9ef;box-shadow:-16px 0 40px rgba(24,40,70,.13);padding:18px;transform:translateX(105%);transition:.2s ease;display:flex;flex-direction:column;gap:15px}.gcm-app-customize.is-open{transform:translateX(0)}.gcm-app-customize-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid #edf0f4}.gcm-app-customize-head strong{font-size:calc(15px + var(--gcm-font-add, 0px))}.gcm-app-customize-head button{border:0;background:transparent;padding:5px;color:#596678;cursor:pointer}.gcm-app-customize-head .gcm-app-icon{width:20px;height:20px}.gcm-app-customize label{display:flex;align-items:center;gap:9px;font-size:calc(12px + var(--gcm-font-add, 0px));color:#405066}.gcm-app-customize p{font-size:calc(10px + var(--gcm-font-add, 0px));line-height:1.5;color:#7c8797}.gcm-app.is-compact .gcm-app-main{padding-left:22px;padding-right:22px}.gcm-app.is-compact .gcm-app-kpi{padding:12px 15px}.gcm-app.is-compact .gcm-app-kpi-icon{width:42px;height:42px}.gcm-app.is-compact .gcm-app-kpi strong{font-size:calc(20px + var(--gcm-font-add, 0px))}.gcm-app.is-hide-decision .gcm-app-decision-strip{display:none}
@media(max-width:1280px){.gcm-app{grid-template-columns:226px minmax(0,1fr)}.gcm-app-main{padding-left:24px;padding-right:24px}.gcm-app-nav a{padding-left:12px;gap:11px;font-size:calc(13px + var(--gcm-font-add, 0px))}.gcm-app-brand{padding-left:16px}.gcm-app-kpi{padding-left:14px;padding-right:14px;gap:10px}.gcm-app-kpi-icon{width:42px;height:42px}.gcm-app-kpi strong{font-size:calc(20px + var(--gcm-font-add, 0px))}.gcm-app-bottom-grid{grid-template-columns:minmax(470px,1.35fr) minmax(285px,.8fr)}.gcm-app-side-stack{grid-column:1/-1;grid-template-columns:1fr 1fr;grid-template-rows:auto}.gcm-app-capacity-card{min-height:auto}.gcm-app-decision-strip{grid-template-columns:140px 1fr}.gcm-app-finance-mini{grid-column:1/-1;border-left:0;border-top:1px solid #edf0f4;padding:10px 0 0;display:flex;flex-direction:row;justify-content:space-between;align-items:center}}@media(max-width:1060px){.gcm-app{grid-template-columns:1fr}.gcm-app-sidebar{position:fixed;top:0;bottom:0;left:0;width:260px;transform:translateX(-105%);transition:.2s;box-shadow:14px 0 36px rgba(20,35,60,.18)}.gcm-app-sidebar.is-open{transform:translateX(0)}.gcm-app-overlay{position:fixed;inset:0;z-index:20;background:rgba(18,28,45,.28);backdrop-filter:blur(2px)}.gcm-app-overlay.is-open{display:block}.gcm-app-mobile-close,.gcm-app-mobile-menu{display:inline-grid;place-items:center}.gcm-app-main{padding-left:20px;padding-right:20px}.gcm-app-top-grid{grid-template-columns:1fr}.gcm-app-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.gcm-app-kpi:nth-child(3):after{display:none}.gcm-app-bottom-grid{grid-template-columns:1fr 1fr}.gcm-app-time-card{grid-column:1/-1}.gcm-app-side-stack{grid-column:auto;grid-template-columns:1fr;grid-template-rows:1fr auto}.gcm-app-decision-items{grid-template-columns:1fr 1fr}}@media(max-width:760px){.gcm-app-main{padding:0 12px 24px}.gcm-app-header{padding-top:12px}.gcm-app-title-row h1{font-size:calc(22px + var(--gcm-font-add, 0px))}.gcm-app-title-row p{display:none}.gcm-app-header-actions{gap:8px}.gcm-app-header-actions .gcm-app-updated{display:none}.gcm-app-btn span{display:none}.gcm-app-btn{width:39px;padding:0;justify-content:center}.gcm-app-filter{gap:9px;flex-wrap:wrap}.gcm-app-period-tabs{width:100%;display:grid;grid-template-columns:repeat(4,1fr)}.gcm-app-period-tabs button{min-width:0}.gcm-app-date-control{width:100%;justify-content:flex-start}.gcm-app-kpis{grid-template-columns:1fr 1fr}.gcm-app-kpi:nth-child(2n):after{display:none}.gcm-app-kpi:nth-child(3):after{display:block}.gcm-app-kpi:last-child{grid-column:1/-1}.gcm-app-top-grid,.gcm-app-bottom-grid{grid-template-columns:1fr}.gcm-app-time-card{grid-column:auto}.gcm-app-side-stack{grid-template-columns:1fr}.gcm-app-stage-head{display:none}.gcm-app-stage-row{grid-template-columns:1fr 110px;gap:9px;padding:10px 0}.gcm-app-stage-progress{grid-template-columns:1fr 40px}.gcm-app-stage-values{grid-column:1/-1;text-align:left;padding-left:34px;color:#7d8797;font-size:calc(9px + var(--gcm-font-add, 0px))}.gcm-app-chart-legend{display:none}.gcm-app-decision-strip{grid-template-columns:1fr}.gcm-app-decision-title{border-right:0;border-bottom:1px solid #edf0f4;padding:0 0 10px}.gcm-app-decision-items{grid-template-columns:1fr}.gcm-app-gauge-labels{left:25px;right:25px}.gcm-app-customize{width:min(330px,92vw)}}@media(max-width:470px){.gcm-app-kpis{grid-template-columns:1fr}.gcm-app-kpi:not(:last-child):after{top:auto;left:18px;right:18px;bottom:0;width:auto;height:1px}.gcm-app-kpi:last-child{grid-column:auto}.gcm-app-gauge{height:205px}.gcm-app-gauge-score{bottom:22px}.gcm-app-gauge-score strong{font-size:calc(26px + var(--gcm-font-add, 0px))}.gcm-app-gauge-labels{bottom:32px}.gcm-app-mini-tabs{gap:3px}.gcm-app-mini-tabs a{padding:4px 6px}.gcm-app-card-head{padding-left:14px;padding-right:14px}.gcm-app-stage-list{padding-left:14px;padding-right:14px}}
@media print{body *{visibility:hidden!important}.gcm-app,.gcm-app *{visibility:visible!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}.gcm-app{position:absolute!important;inset:0!important;display:block!important;overflow:visible!important;background:#fff!important}.gcm-app-sidebar,.gcm-app-overlay,.gcm-app-header-actions,.gcm-app-customize,.gcm-app-tooltip{display:none!important}.gcm-app-main{overflow:visible!important;padding:10px!important}.gcm-app-header{position:static!important;background:#fff!important}.gcm-app-kpis,.gcm-app-card,.gcm-app-decision-strip{box-shadow:none!important;border:1px solid #dfe5ed!important;break-inside:avoid}.gcm-app-top-grid,.gcm-app-bottom-grid{gap:10px}.gcm-finance-insight-grid,.gcm-finance-layout{grid-template-columns:1fr!important}}

/* Garment Capacity Manager v0.4.2 - clearer hierarchy + in-dashboard navigation */
.gcm-app-main{padding:0 30px 44px;scroll-behavior:smooth}.gcm-app [id^="gcm-"]{scroll-margin-top:118px}.gcm-app-header{padding-top:20px;padding-bottom:16px}.gcm-app-title-row h1{font-size:calc(30px + var(--gcm-font-add, 0px));font-weight:760;letter-spacing:-.035em}.gcm-app-title-row p{font-size:calc(13px + var(--gcm-font-add, 0px));color:#687589;font-weight:520}.gcm-app-filter{margin-top:17px}.gcm-app-period-tabs button{font-weight:650}.gcm-app-date-control{font-weight:600}.gcm-app-nav a{font-size:calc(14px + var(--gcm-font-add, 0px));font-weight:610}.gcm-app-nav a.is-active{box-shadow:inset 0 0 0 1px rgba(23,105,255,.05)}
.gcm-app-kpis{background:transparent;border:0;box-shadow:none;border-radius:0;gap:13px;min-height:0;margin-bottom:18px}.gcm-app-kpi{background:#fff;border:1px solid #dfe5ed;border-radius:13px;box-shadow:0 5px 18px rgba(24,42,74,.06);padding:18px 17px;min-height:108px;gap:13px;align-items:center}.gcm-app-kpi:not(:last-child):after{display:none}.gcm-app-kpi-icon{width:46px;height:46px;border-radius:12px}.gcm-app-kpi small{font-size:calc(12px + var(--gcm-font-add, 0px));font-weight:680;color:#5b677a;margin-bottom:6px}.gcm-app-kpi strong{font-size:clamp(23px,1.65vw,30px);font-weight:780;line-height:1;color:#0f1728;letter-spacing:-.035em}.gcm-app-kpi strong em{font-size:calc(12px + var(--gcm-font-add, 0px));font-weight:700}.gcm-app-kpi>div>span{font-size:calc(11px + var(--gcm-font-add, 0px));line-height:1.35;color:#7f8997;margin-top:7px}.gcm-app-risk-high{color:#e83235!important}.gcm-app-risk-medium{color:#d98100!important}.gcm-app-risk-low{color:#239c3e!important}
.gcm-app-card{border-color:#dfe5ed;box-shadow:0 5px 18px rgba(24,42,74,.055)}.gcm-app-card-head{min-height:61px;padding:17px 20px 13px}.gcm-app-card-head h2{font-size:calc(17px + var(--gcm-font-add, 0px));font-weight:760;color:#152033}.gcm-app-card-note{font-size:calc(11px + var(--gcm-font-add, 0px))}.gcm-app-text-btn{font-size:calc(12px + var(--gcm-font-add, 0px));font-weight:650;padding:8px 12px}.gcm-app-top-grid{gap:18px;margin-bottom:18px}.gcm-app-bottom-grid{gap:18px;margin-bottom:18px}.gcm-app-gauge-card,.gcm-app-stage-card{min-height:365px}.gcm-app-gauge{height:250px}.gcm-app-gauge-score{bottom:20px}.gcm-app-gauge-score strong{font-size:calc(34px + var(--gcm-font-add, 0px));font-weight:800}.gcm-app-gauge-score span{font-size:calc(12px + var(--gcm-font-add, 0px))}.gcm-app-gauge-labels{font-size:calc(10px + var(--gcm-font-add, 0px));font-weight:650}.gcm-app-stage-head{font-size:calc(11.5px + var(--gcm-font-add, 0px));font-weight:650;padding:7px 20px 10px}.gcm-app-stage-list{padding:0 20px 12px}.gcm-app-stage-row{min-height:52px}.gcm-app-stage-name strong{font-size:calc(12.5px + var(--gcm-font-add, 0px));font-weight:720}.gcm-app-stage-progress em,.gcm-app-stage-values{font-size:calc(12px + var(--gcm-font-add, 0px))}.gcm-app-progress-track{height:10px}.gcm-app-time-card{min-height:320px}.gcm-app-mini-tabs a{font-size:calc(11px + var(--gcm-font-add, 0px));font-weight:600;padding:5px 9px}.gcm-app-chart-legend{font-size:calc(10.5px + var(--gcm-font-add, 0px))}.gcm-app-axis-label,.gcm-app-axis-date{font-size:calc(11px + var(--gcm-font-add, 0px))}.gcm-app-alert{padding:12px 12px;grid-template-columns:30px minmax(0,1fr) 72px;gap:10px}.gcm-app-alert strong{font-size:calc(12px + var(--gcm-font-add, 0px));font-weight:720}.gcm-app-alert small{font-size:calc(10.5px + var(--gcm-font-add, 0px));line-height:1.35}.gcm-app-risk-footer{height:44px;font-size:calc(11.5px + var(--gcm-font-add, 0px));font-weight:650}.gcm-app-legend-list{gap:13px;padding:5px 18px 18px}.gcm-app-legend-list>div{grid-template-columns:16px 82px 1fr}.gcm-app-legend-list b{font-size:calc(11px + var(--gcm-font-add, 0px))}.gcm-app-legend-list span{font-size:calc(10px + var(--gcm-font-add, 0px))}.gcm-app-capacity-card{padding:16px;min-height:104px}.gcm-app-capacity-card small{font-size:calc(11px + var(--gcm-font-add, 0px));font-weight:650}.gcm-app-capacity-card strong{font-size:calc(24px + var(--gcm-font-add, 0px))}.gcm-app-capacity-card strong em{font-size:calc(11px + var(--gcm-font-add, 0px))}.gcm-app-capacity-card>div>span{font-size:calc(10px + var(--gcm-font-add, 0px))}.gcm-app-decision-strip{padding:17px 19px;gap:20px;margin-bottom:18px}.gcm-app-decision-title span{font-size:calc(10px + var(--gcm-font-add, 0px))}.gcm-app-decision-title strong{font-size:calc(15px + var(--gcm-font-add, 0px))}.gcm-app-decision-items>div{padding:11px 12px}.gcm-app-decision-items b{font-size:calc(11.5px + var(--gcm-font-add, 0px))}.gcm-app-decision-items span{font-size:calc(10.5px + var(--gcm-font-add, 0px))}.gcm-app-finance-mini small{font-size:calc(10.5px + var(--gcm-font-add, 0px))}.gcm-app-finance-mini strong{font-size:calc(16px + var(--gcm-font-add, 0px))}
.gcm-app-section-head{align-items:flex-start}.gcm-app-section-head>div:first-child{min-width:0}.gcm-app-section-head h2{margin-top:3px}.gcm-app-section-head p{margin:5px 0 0;font-size:calc(11px + var(--gcm-font-add, 0px));line-height:1.45;color:#7b8696}.gcm-app-eyebrow{display:block;font-size:calc(9.5px + var(--gcm-font-add, 0px));line-height:1.2;letter-spacing:.09em;color:#1769ff;font-weight:800}.gcm-app-count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:28px;padding:0 10px;border-radius:999px;background:#eef4ff;color:#1769ff;font-size:calc(11px + var(--gcm-font-add, 0px));font-weight:750;white-space:nowrap}
.gcm-app-management-grid{display:grid;grid-template-columns:minmax(650px,1.35fr) minmax(430px,.85fr);gap:18px;margin-bottom:18px}.gcm-app-orders-card,.gcm-app-resources-card{min-width:0;overflow:hidden}.gcm-app-table-wrap{overflow:auto;padding:0 18px 16px}.gcm-app-data-table{min-width:860px}.gcm-app-table-row{display:grid;align-items:center;border-bottom:1px solid #edf1f5;gap:12px}.gcm-app-order-table .gcm-app-table-row{grid-template-columns:minmax(170px,1.35fr) 82px 94px 85px minmax(145px,1fr) 118px 112px}.gcm-app-table-row.is-head{min-height:37px;color:#7a8595;font-size:calc(10.5px + var(--gcm-font-add, 0px));font-weight:720;text-transform:uppercase;letter-spacing:.025em;background:#fafbfd;border:1px solid #edf1f5;border-radius:8px;padding:0 10px;margin-bottom:2px}.gcm-app-order-row{min-height:62px;padding:8px 10px;font-size:calc(11.5px + var(--gcm-font-add, 0px))}.gcm-app-order-row>span{min-width:0}.gcm-app-order-row b{font-size:calc(12px + var(--gcm-font-add, 0px));color:#202c40}.gcm-app-order-row small{display:block;margin-top:3px;font-size:calc(9.5px + var(--gcm-font-add, 0px));color:#8993a2}.gcm-app-order-code strong{display:block;font-size:calc(12px + var(--gcm-font-add, 0px));color:#17243a}.gcm-app-order-code small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcm-app-order-row .is-positive b{color:#279b40}.gcm-app-order-progress{display:grid!important;grid-template-columns:1fr 42px;align-items:center;gap:8px}.gcm-app-order-progress strong{font-size:calc(11.5px + var(--gcm-font-add, 0px));text-align:right}.gcm-app-order-row.is-warning .gcm-app-progress-track i{background:var(--gcm-orange)}.gcm-app-order-row.is-critical .gcm-app-progress-track i{background:var(--gcm-red)}.gcm-app-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gcm-green);margin-right:6px}.gcm-app-order-row.is-warning .gcm-app-status-dot{background:var(--gcm-orange)}.gcm-app-order-row.is-critical .gcm-app-status-dot{background:var(--gcm-red)}
.gcm-app-resource-tabs{display:flex;align-items:center;gap:4px;padding:3px;border-radius:9px;background:#f3f6fa}.gcm-app-resource-tabs button{height:28px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:#687589;font-size:calc(10.5px + var(--gcm-font-add, 0px));font-weight:700;cursor:pointer}.gcm-app-resource-tabs button.is-active{background:#fff;color:#1769ff;box-shadow:0 1px 4px rgba(20,36,60,.12)}.gcm-app-resource-list{padding:0 18px 15px}.gcm-app-resource-row{display:grid;grid-template-columns:minmax(125px,.8fr) minmax(150px,1fr) minmax(195px,1.25fr);gap:14px;align-items:center;min-height:66px;padding:8px 4px;border-bottom:1px solid #edf1f5}.gcm-app-resource-row:last-child{border-bottom:0}.gcm-app-resource-row[hidden]{display:none!important}.gcm-app-resource-name{display:flex;align-items:center;gap:9px;min-width:0}.gcm-app-resource-name strong{display:block;font-size:calc(12px + var(--gcm-font-add, 0px));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcm-app-resource-name small{display:block;margin-top:3px;font-size:calc(9.5px + var(--gcm-font-add, 0px));color:#8792a1}.gcm-app-resource-progress{display:grid;grid-template-columns:1fr 45px;gap:9px;align-items:center}.gcm-app-resource-progress strong{font-size:calc(11.5px + var(--gcm-font-add, 0px));text-align:right}.gcm-app-resource-row.is-warning .gcm-app-progress-track i{background:var(--gcm-orange)}.gcm-app-resource-row.is-critical .gcm-app-progress-track i{background:var(--gcm-red)}.gcm-app-resource-row.is-critical .gcm-app-resource-progress strong{color:var(--gcm-red)}.gcm-app-resource-row.is-warning .gcm-app-resource-progress strong{color:#d68100}.gcm-app-resource-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.gcm-app-resource-metrics span{padding:7px 8px;border-radius:7px;background:#f7f9fc}.gcm-app-resource-metrics small{display:block;font-size:calc(8.5px + var(--gcm-font-add, 0px));color:#8792a1}.gcm-app-resource-metrics b{display:block;margin-top:2px;font-size:calc(10.5px + var(--gcm-font-add, 0px));color:#26344a}
.gcm-app-products-card{margin-bottom:18px}.gcm-app-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 18px 18px}.gcm-app-product-tile{border:1px solid #e4e9f0;border-radius:11px;padding:14px;background:linear-gradient(180deg,#fff,#fbfcfe);min-width:0}.gcm-app-product-tile>div:first-child small{display:block;font-size:calc(9px + var(--gcm-font-add, 0px));color:#8b95a3;text-transform:uppercase;letter-spacing:.04em}.gcm-app-product-tile>div:first-child strong{display:block;margin-top:4px;font-size:calc(14px + var(--gcm-font-add, 0px));color:#18263d}.gcm-app-product-tile>div:first-child span{display:block;margin-top:3px;font-size:calc(10px + var(--gcm-font-add, 0px));color:#778294;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcm-app-product-qty{margin-top:13px;padding-top:11px;border-top:1px solid #edf1f5}.gcm-app-product-qty small{display:block;font-size:calc(9.5px + var(--gcm-font-add, 0px));color:#788496}.gcm-app-product-qty strong{display:block;margin-top:4px;font-size:calc(22px + var(--gcm-font-add, 0px));color:#1769ff;letter-spacing:-.025em}.gcm-app-product-qty em{font-size:calc(10px + var(--gcm-font-add, 0px));font-style:normal;color:#657185}.gcm-app-product-foot{display:flex;justify-content:space-between;gap:10px;margin-top:10px;font-size:calc(9px + var(--gcm-font-add, 0px));color:#7e8999}.gcm-app-product-foot b{color:#344158}
.gcm-app-tooltip{font-size:calc(12px + var(--gcm-font-add, 0px));line-height:1.5}.gcm-app-term:after{font-size:calc(11px + var(--gcm-font-add, 0px))}.gcm-app-info{font-size:calc(9px + var(--gcm-font-add, 0px))!important}
@media(max-width:1450px){.gcm-app{grid-template-columns:238px minmax(0,1fr)}.gcm-app-main{padding-left:22px;padding-right:22px}.gcm-app-kpi{padding-left:13px;padding-right:13px}.gcm-app-kpi-icon{width:42px;height:42px}.gcm-app-kpi strong{font-size:calc(22px + var(--gcm-font-add, 0px))}.gcm-app-management-grid{grid-template-columns:1fr}.gcm-app-product-grid{grid-template-columns:repeat(4,minmax(180px,1fr));overflow:auto}.gcm-app-products-card{overflow:hidden}}
@media(max-width:1060px){.gcm-app-main{padding-left:18px;padding-right:18px}.gcm-app-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.gcm-app-kpi:last-child{grid-column:1/-1}.gcm-app-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.gcm-app-resource-row{grid-template-columns:1fr 1fr}.gcm-app-resource-metrics{grid-column:1/-1}.gcm-app-section-head{flex-wrap:wrap}}
@media(max-width:760px){.gcm-app-main{padding-left:12px;padding-right:12px}.gcm-app-kpis{grid-template-columns:1fr}.gcm-app-kpi:last-child{grid-column:auto}.gcm-app-kpi{min-height:94px}.gcm-app-title-row h1{font-size:calc(24px + var(--gcm-font-add, 0px))}.gcm-app-management-grid{grid-template-columns:1fr}.gcm-app-product-grid{grid-template-columns:1fr}.gcm-app-resource-row{grid-template-columns:1fr}.gcm-app-resource-progress,.gcm-app-resource-metrics{grid-column:1/-1}.gcm-app-resource-tabs{width:100%}.gcm-app-resource-tabs button{flex:1}.gcm-app-section-head p{font-size:calc(10.5px + var(--gcm-font-add, 0px))}}

/* v0.4.3: real app screens + reliable period controls */
.gcm-app-period-tabs a{height:39px;min-width:78px;border-right:1px solid #e7ebf0;background:#fff;color:#526075;cursor:pointer;font-size:calc(13px + var(--gcm-font-add, 0px));font-weight:650;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s,box-shadow .15s}
.gcm-app-period-tabs a:last-child{border-right:0}.gcm-app-period-tabs a:hover{background:#f7f9fc;color:#1769ff}.gcm-app-period-tabs a.is-active{color:#0f63ef;background:#f4f8ff;box-shadow:inset 0 0 0 1.5px #2677ff;font-weight:750}
.gcm-app-bottom-grid.is-single-view{grid-template-columns:minmax(0,1fr)}.gcm-app-bottom-grid.is-single-view>.gcm-app-card{grid-column:1/-1}.gcm-app-bottom-grid.is-single-view .gcm-app-time-card{min-height:430px}.gcm-app-bottom-grid.is-single-view .gcm-app-risk-card{min-height:360px}
.gcm-app-management-grid.is-single-view{grid-template-columns:minmax(0,1fr)}.gcm-app-management-grid.is-single-view>.gcm-app-card{grid-column:1/-1}.gcm-app-management-grid.is-single-view .gcm-app-table-wrap{padding-bottom:22px}.gcm-app-management-grid.is-single-view .gcm-app-resource-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px;padding-bottom:22px}.gcm-app-management-grid.is-single-view .gcm-app-resource-row{min-width:0}
.gcm-app-settings-page{max-width:920px;margin:0 auto 22px}.gcm-app-settings-card{overflow:hidden}.gcm-app-settings-options{padding:4px 20px 22px;display:grid;gap:12px}.gcm-app-settings-options label{min-height:74px;border:1px solid #e5eaf1;border-radius:11px;background:#fbfcfe;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer}.gcm-app-settings-options label span{display:block}.gcm-app-settings-options b{display:block;font-size:calc(13px + var(--gcm-font-add, 0px));color:#1b2940}.gcm-app-settings-options small{display:block;margin-top:4px;font-size:calc(11px + var(--gcm-font-add, 0px));line-height:1.45;color:#7c8796}.gcm-app-settings-options input{width:20px;height:20px;accent-color:#1769ff}
.gcm-app[data-gcm-view="orders"] .gcm-app-orders-card,.gcm-app[data-gcm-view="machines"] .gcm-app-resources-card,.gcm-app[data-gcm-view="people"] .gcm-app-resources-card,.gcm-app[data-gcm-view="products"] .gcm-app-products-card{min-height:430px}
@media(max-width:1060px){.gcm-app-management-grid.is-single-view .gcm-app-resource-list{grid-template-columns:1fr}.gcm-app-bottom-grid.is-single-view{grid-template-columns:1fr}}
@media(max-width:760px){.gcm-app-period-tabs a{min-width:0;width:100%;height:39px}.gcm-app-period-tabs{width:100%;display:grid;grid-template-columns:repeat(4,1fr)}.gcm-app-settings-page{margin-left:0;margin-right:0}.gcm-app-settings-options{padding-left:14px;padding-right:14px}}

/* v1.12.68: nhận thêm theo toàn bộ mã hàng trong kỳ */
.gcm-app-product-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gcm-app-product-summary span{min-width:92px;padding:8px 10px;border:1px solid #e5ebf2;border-radius:10px;background:#f8fbff}.gcm-app-product-summary small{display:block;color:#7a8798;font-size:calc(8.5px + var(--gcm-font-add,0px));font-weight:700}.gcm-app-product-summary b{display:block;margin-top:2px;color:#17243a;font-size:calc(12px + var(--gcm-font-add,0px));white-space:nowrap}.gcm-app-product-table-wrap{padding:0 18px 18px;overflow:auto}.gcm-app-product-table{min-width:980px}.gcm-app-product-row{display:grid;grid-template-columns:minmax(210px,1.45fr) minmax(135px,.78fr) minmax(105px,.58fr) minmax(130px,.72fr) minmax(115px,.62fr) minmax(125px,.7fr);gap:12px;align-items:center;min-height:64px;padding:9px 10px;border-bottom:1px solid #edf1f5}.gcm-app-product-table.is-no-finance{min-width:850px}.gcm-app-product-table.is-no-finance .gcm-app-product-row{grid-template-columns:minmax(210px,1.6fr) minmax(135px,.85fr) minmax(105px,.62fr) minmax(130px,.76fr) minmax(115px,.68fr)}.gcm-app-product-row.is-head{min-height:38px;border:1px solid #edf1f5;border-radius:8px;background:#fafbfd;color:#758196;font-size:calc(9.5px + var(--gcm-font-add,0px));font-weight:800;text-transform:uppercase;letter-spacing:.035em}.gcm-app-product-row:not(.is-head):hover{background:#f8fbff}.gcm-app-product-row span{min-width:0}.gcm-app-product-row b{display:block;color:#1d2a40;font-size:calc(11.5px + var(--gcm-font-add,0px));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcm-app-product-row small{display:block;margin-top:3px;color:#8490a1;font-size:calc(9px + var(--gcm-font-add,0px));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcm-app-product-row .is-qty b{color:#1769ff;font-size:calc(14px + var(--gcm-font-add,0px))}
@media(max-width:760px){.gcm-app-product-summary{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.gcm-app-product-summary span{min-width:0}.gcm-app-product-table-wrap{padding-left:14px;padding-right:14px}.gcm-app-product-table{min-width:760px}}

/* v0.5.0 Production Intelligence */
.gcm-app-nav-new{margin-left:auto;padding:3px 6px;border-radius:999px;background:#eaf2ff;color:#1769ff;font-size:calc(8px + var(--gcm-font-add, 0px));line-height:1;font-weight:850;letter-spacing:.05em}.gcm-app-nav-whatif.is-active .gcm-app-nav-new{background:#1769ff;color:#fff}

/* v1.12.71: machine resource cards */
.gcm-app-resource-name{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center}.gcm-app-resource-name em{font-style:normal;border-radius:999px;padding:4px 8px;font-size:calc(8.5px + var(--gcm-font-add,0px));font-weight:800;white-space:nowrap;background:#eef8f1;color:#20933a}.gcm-app-resource-row.is-warning .gcm-app-resource-name em{background:#fff5df;color:#c77800}.gcm-app-resource-row.is-critical .gcm-app-resource-name em{background:#fff0f0;color:#e33437}.gcm-app-resource-row.is-idle .gcm-app-resource-name em{background:#eef2f7;color:#708095}.gcm-app-resource-row.is-idle .gcm-app-progress-track i{background:#cfd6df}.gcm-app-resource-row.is-idle .gcm-app-resource-progress strong{color:#708095}.gcm-app-resource-row.is-idle .gcm-app-resource-name strong{color:#46556a}.gcm-app-resource-row.is-idle .gcm-app-resource-name small{color:#9aa5b4}.gcm-app-management-grid.is-single-view .gcm-app-resource-list{gap:12px;padding:0 18px 18px}.gcm-app-management-grid.is-single-view .gcm-app-resource-row{border:1px solid #e6ebf2;border-radius:10px;background:linear-gradient(180deg,#fff,#fbfcfe);padding:12px;min-height:94px;box-shadow:0 2px 8px rgba(24,42,74,.035)}.gcm-app-management-grid.is-single-view .gcm-app-resource-row:last-child{border-bottom:1px solid #e6ebf2}.gcm-app-management-grid.is-single-view .gcm-app-resource-row.is-critical{border-color:#ffd0d0;background:linear-gradient(180deg,#fff,#fff7f7)}.gcm-app-management-grid.is-single-view .gcm-app-resource-row.is-warning{border-color:#ffe0a8;background:linear-gradient(180deg,#fff,#fffaf0)}.gcm-app-management-grid.is-single-view .gcm-app-resource-row.is-idle{background:#fafbfd}.gcm-app-management-grid.is-single-view .gcm-app-resource-metrics span{background:#f3f6fa}.gcm-app-management-grid.is-single-view .gcm-app-resource-row.is-critical .gcm-app-resource-metrics span{background:#fff1f1}.gcm-app-management-grid.is-single-view .gcm-app-resource-row.is-warning .gcm-app-resource-metrics span{background:#fff7e8}@media(max-width:760px){.gcm-app-resource-name{grid-template-columns:24px minmax(0,1fr)}.gcm-app-resource-name em{grid-column:2;margin-top:6px;justify-self:start}.gcm-app-management-grid.is-single-view .gcm-app-resource-list{padding-left:14px;padding-right:14px}}

/* v1.12.72: order capacity monthly finance split */
.gcm-order-capacity-result>div>span{display:block;margin-top:5px;color:#6b7788;font-size:calc(10px + var(--gcm-font-add,0px));line-height:1.35}.gcm-order-capacity-result>div.is-period-money{background:#f8fbff;border-color:#cfe0f6}.gcm-order-capacity-result>div.is-period-money strong{font-size:calc(15px + var(--gcm-font-add,0px));color:#0f4fb8}.gcm-order-month-plan>div{grid-template-columns:minmax(120px,1fr) minmax(145px,1fr) 72px 82px 95px 108px 150px 150px 150px 150px 128px 108px minmax(145px,1fr)!important;min-width:1660px}.gcm-order-month-plan>div:not(.is-head)>span:nth-child(7),.gcm-order-month-plan>div:not(.is-head)>span:nth-child(8),.gcm-order-month-plan>div:not(.is-head)>span:nth-child(9),.gcm-order-month-plan>div:not(.is-head)>span:nth-child(10){text-align:right}.gcm-order-month-plan>div:not(.is-head)>span:nth-child(10) b{color:#14532d}.gcm-order-month-plan>div.is-short>span:nth-child(10) b{color:#991b1b}

/* v1.12.73: replace ugly monthly finance table with month cards */
.gcm-order-month-plan-card .gcm-order-month-plan{display:none}.gcm-order-month-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 18px 18px}.gcm-order-month-card-grid>section{border:1px solid #e3eaf3;border-radius:12px;background:#fff;padding:14px;box-shadow:0 2px 8px rgba(24,42,74,.035)}.gcm-order-month-card-grid>section.is-short{border-color:#ffd2d2;background:#fff8f8}.gcm-order-month-card-grid>section.is-ok{border-color:#cfead6;background:#fbfffc}.gcm-order-month-card-grid header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.gcm-order-month-card-grid header strong{display:block;color:#172033;font-size:calc(15px + var(--gcm-font-add,0px))}.gcm-order-month-card-grid header span{display:block;margin-top:3px;color:#738096;font-size:calc(10.5px + var(--gcm-font-add,0px))}.gcm-order-month-card-grid header em{font-style:normal;border-radius:999px;padding:5px 9px;background:#eaf8ee;color:#168236;font-size:calc(10px + var(--gcm-font-add,0px));font-weight:850}.gcm-order-month-card-grid>section.is-short header em{background:#fff0f0;color:#d92d31}.gcm-order-month-primary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.gcm-order-month-primary>div,.gcm-order-month-money>div{border:1px solid #e7edf5;border-radius:10px;background:#f8fbff;padding:9px 10px;min-width:0}.gcm-order-month-primary small,.gcm-order-month-money small{display:block;color:#718096;font-size:calc(9px + var(--gcm-font-add,0px));font-weight:850;text-transform:uppercase;letter-spacing:.03em}.gcm-order-month-primary b,.gcm-order-month-money b{display:block;margin-top:4px;color:#172033;font-size:calc(13px + var(--gcm-font-add,0px));font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcm-order-month-card-grid>section.is-short .gcm-order-month-primary>div:nth-child(3) b{color:#dc2626}.gcm-order-month-card-grid>section.is-ok .gcm-order-month-primary>div:nth-child(3) b{color:#15803d}.gcm-order-month-money{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.gcm-order-month-money>div{background:#fff}.gcm-order-month-money>div:last-child{background:#f4fbf6;border-color:#cfead6}.gcm-order-month-money>div:last-child b{color:#14532d}.gcm-order-month-card-grid>section.is-short .gcm-order-month-money>div:last-child{background:#fff3f3;border-color:#ffd2d2}.gcm-order-month-card-grid footer{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.gcm-order-month-card-grid footer span{border-radius:999px;background:#eef3f8;color:#5c687a;padding:5px 8px;font-size:calc(10px + var(--gcm-font-add,0px));font-weight:750}@media(max-width:1200px){.gcm-order-month-card-grid{grid-template-columns:1fr}.gcm-order-month-money{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.gcm-order-month-card-grid{padding-left:14px;padding-right:14px}.gcm-order-month-primary,.gcm-order-month-money{grid-template-columns:1fr}}
.gcm-intel-brief{display:grid;grid-template-columns:minmax(0,.98fr) minmax(480px,1.02fr);gap:17px;margin-bottom:17px;align-items:start}.gcm-intel-brief-summary,.gcm-intel-actions-card{overflow:hidden}.gcm-intel-brief-summary{background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}.gcm-intel-brief-head{padding:19px 20px 14px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.gcm-intel-brief-title{min-width:0}.gcm-intel-brief-head h2{margin:4px 0 0;font-size:calc(20px + var(--gcm-font-add, 0px));letter-spacing:-.025em}.gcm-intel-brief-head p{margin:5px 0 0;color:#7b8797;font-size:calc(11px + var(--gcm-font-add, 0px));line-height:1.5}.gcm-intel-brief-action{flex:0 0 auto;white-space:nowrap;padding-inline:13px}.gcm-intel-pace{margin:0 20px 15px;padding:15px 16px 13px;border:1px solid #e5ebf2;border-radius:13px;background:#fff;box-shadow:0 1px 2px rgba(22,34,51,.025)}.gcm-intel-pace-main{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.gcm-intel-pace-main small{display:block;color:#738096;font-size:calc(10px + var(--gcm-font-add, 0px));font-weight:650}.gcm-intel-pace-main strong{display:block;margin-top:2px;font-size:calc(28px + var(--gcm-font-add, 0px));line-height:1;letter-spacing:-.04em;color:#19263b}.gcm-intel-pace-status{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:calc(9.5px + var(--gcm-font-add, 0px));font-weight:800;white-space:nowrap}.gcm-intel-pace-status.is-healthy{background:#eaf8ee;color:#24823b}.gcm-intel-pace-status.is-watch{background:#fff7df;color:#9b6900}.gcm-intel-pace-status.is-warning{background:#fff0f0;color:#c83235}.gcm-intel-pace-track{height:10px;background:#e9eef4;border-radius:999px;position:relative;margin-top:12px;overflow:visible}.gcm-intel-pace-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2f80ed,#31b456);min-width:0}.gcm-intel-brief-summary.is-warning .gcm-intel-pace-track span{background:linear-gradient(90deg,#ef4444,#f59e0b)}.gcm-intel-brief-summary.is-watch .gcm-intel-pace-track span{background:linear-gradient(90deg,#f59e0b,#f0b429)}.gcm-intel-pace-track i{position:absolute;right:0;top:-3px;width:2px;height:16px;border-radius:2px;background:#718096}.gcm-intel-pace-scale{display:flex;justify-content:space-between;margin-top:5px;color:#93a0b2;font-size:calc(9px + var(--gcm-font-add, 0px))}.gcm-intel-brief-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #edf1f5}.gcm-intel-brief-metrics>div{padding:13px 18px;min-width:0}.gcm-intel-brief-metrics>div:not(:last-child){border-right:1px solid #edf1f5}.gcm-intel-brief-metrics small{display:block;color:#758195;font-size:calc(10px + var(--gcm-font-add, 0px));font-weight:650}.gcm-intel-brief-metrics strong{display:block;margin-top:4px;font-size:calc(19px + var(--gcm-font-add, 0px));letter-spacing:-.02em;color:#19263b}.gcm-intel-brief-metrics em{font-size:calc(10px + var(--gcm-font-add, 0px));font-style:normal;color:#6c788a}.gcm-intel-brief-metrics .is-negative strong{color:var(--gcm-red)}.gcm-intel-brief-metrics .is-positive strong{color:var(--gcm-green)}
.gcm-intel-actions-card{background:#fff}.gcm-intel-actions-head{padding-bottom:11px}.gcm-intel-actions-head p{margin:3px 0 0;color:#8793a5;font-size:calc(10px + var(--gcm-font-add, 0px))}.gcm-intel-action-list{padding:0 16px 15px;display:grid;gap:0}.gcm-intel-action{position:relative;display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:flex-start;padding:11px 7px 11px 11px;border-top:1px solid #edf1f5;background:#fff}.gcm-intel-action:first-child{border-top:0}.gcm-intel-action:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:6px;background:#c7d0db}.gcm-intel-action>b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#edf2f8;color:#506078;font-size:calc(10px + var(--gcm-font-add, 0px));margin-left:2px}.gcm-intel-action-copy{min-width:0}.gcm-intel-action strong{display:block;font-size:calc(11.5px + var(--gcm-font-add, 0px));color:#1e2a3f}.gcm-intel-action span{display:block;margin-top:2px;font-size:calc(10px + var(--gcm-font-add, 0px));color:#6f7b8d;line-height:1.45}.gcm-intel-action small{display:flex;align-items:flex-start;gap:5px;margin-top:4px;font-size:calc(9.5px + var(--gcm-font-add, 0px));line-height:1.42;color:#35445c;font-weight:700}.gcm-intel-action small i{font-style:normal;color:#8793a5}.gcm-intel-action.is-critical:before{background:#e5484d}.gcm-intel-action.is-critical>b{background:#ffe9ea;color:#d92e31}.gcm-intel-action.is-warning:before{background:#e9a411}.gcm-intel-action.is-warning>b{background:#fff0d2;color:#c77a00}.gcm-intel-action.is-opportunity:before,.gcm-intel-action.is-healthy:before{background:#32a852}.gcm-intel-action.is-opportunity>b,.gcm-intel-action.is-healthy>b{background:#e7f7eb;color:#299d42}
.gcm-whatif-layout{display:grid;grid-template-columns:minmax(360px,.72fr) minmax(0,1.28fr);gap:17px;align-items:start;margin-bottom:20px}.gcm-whatif-form-card{grid-row:span 3;overflow:hidden;position:sticky;top:145px}.gcm-whatif-form{padding:2px 20px 22px;display:grid;grid-template-columns:1fr 1fr;gap:13px}.gcm-whatif-form label{display:grid;gap:6px;min-width:0}.gcm-whatif-form label>span{font-size:calc(10.5px + var(--gcm-font-add, 0px));font-weight:750;color:#516076}.gcm-whatif-form label>span small{font-weight:500;color:#8b95a3}.gcm-whatif-form select,.gcm-whatif-form input{width:100%;height:43px;border:1px solid #dfe5ed!important;border-radius:9px!important;background:#fff!important;color:#223149!important;padding:0 11px!important;box-shadow:none!important;outline:none;font-size:calc(12px + var(--gcm-font-add, 0px))}.gcm-whatif-form select:focus,.gcm-whatif-form input:focus{border-color:#6aa1ff!important;box-shadow:0 0 0 3px rgba(23,105,255,.09)!important}.gcm-whatif-wide{grid-column:1/-1}.gcm-whatif-input-unit{position:relative}.gcm-whatif-input-unit input{padding-right:54px!important}.gcm-whatif-input-unit em{position:absolute;right:11px;top:50%;transform:translateY(-50%);font-style:normal;color:#7a8798;font-size:calc(10px + var(--gcm-font-add, 0px));font-weight:700}.gcm-whatif-submit{grid-column:1/-1;height:45px;justify-content:center;margin-top:2px}.gcm-whatif-error{margin:0 20px 12px;padding:10px 12px;border:1px solid #ffd1d1;border-radius:9px;background:#fff3f3;color:#bd292c;font-size:calc(11px + var(--gcm-font-add, 0px))}
.gcm-whatif-result{overflow:hidden;border-top:4px solid #95a1b1}.gcm-whatif-result.is-accept{border-top-color:var(--gcm-green)}.gcm-whatif-result.is-conditional{border-top-color:var(--gcm-orange)}.gcm-whatif-result.is-reject{border-top-color:var(--gcm-red)}.gcm-whatif-verdict{padding:20px 21px 15px}.gcm-whatif-verdict>span{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;background:#eef2f6;color:#526075;font-size:calc(9px + var(--gcm-font-add, 0px));font-weight:850;letter-spacing:.06em}.gcm-whatif-result.is-accept .gcm-whatif-verdict>span{background:#e9f8ed;color:#238d39}.gcm-whatif-result.is-conditional .gcm-whatif-verdict>span{background:#fff2da;color:#c47700}.gcm-whatif-result.is-reject .gcm-whatif-verdict>span{background:#ffe8e8;color:#cf2b2f}.gcm-whatif-verdict strong{display:block;margin-top:8px;font-size:calc(22px + var(--gcm-font-add, 0px));letter-spacing:-.025em}.gcm-whatif-verdict p{margin:5px 0 0;color:#6f7b8d;font-size:calc(11px + var(--gcm-font-add, 0px))}.gcm-whatif-result-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #edf1f5}.gcm-whatif-result-metrics>div{padding:14px 16px}.gcm-whatif-result-metrics>div:not(:last-child){border-right:1px solid #edf1f5}.gcm-whatif-result-metrics small{display:block;color:#7d8898;font-size:calc(9.5px + var(--gcm-font-add, 0px))}.gcm-whatif-result-metrics strong{display:block;margin-top:5px;font-size:calc(16px + var(--gcm-font-add, 0px));color:#1f2c42}.gcm-whatif-result-metrics span{display:block;margin-top:3px;font-size:calc(9px + var(--gcm-font-add, 0px));color:#8b95a4}
.gcm-whatif-options-card,.gcm-whatif-resources-card{overflow:hidden}.gcm-whatif-options{padding:0 18px 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gcm-whatif-option{min-height:88px;border:1px solid #e5eaf1;border-radius:11px;background:#fbfcfe;padding:12px;display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center}.gcm-whatif-option>span{width:27px;height:27px;border-radius:8px;background:#eaf2ff;color:#1769ff;display:grid;place-items:center;font-size:calc(10px + var(--gcm-font-add, 0px));font-weight:850}.gcm-whatif-option strong{display:block;font-size:calc(11px + var(--gcm-font-add, 0px))}.gcm-whatif-option p{margin:4px 0 0;font-size:calc(9.5px + var(--gcm-font-add, 0px));line-height:1.4;color:#798596}.gcm-whatif-option>b{font-size:calc(13px + var(--gcm-font-add, 0px));white-space:nowrap;color:#203049}.gcm-whatif-option.is-capacity{background:#fff7f7;border-color:#ffe0e0}.gcm-whatif-option.is-overtime{background:#fffaf2;border-color:#ffe6bd}.gcm-whatif-option.is-accept{background:#f3fbf5;border-color:#daf0df}.gcm-whatif-resource-list{padding:0 18px 14px}.gcm-whatif-resource{min-height:60px;display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.2fr) 72px;gap:14px;align-items:center;border-bottom:1px solid #edf1f5}.gcm-whatif-resource:last-child{border-bottom:0}.gcm-whatif-resource>div:first-child strong{display:block;font-size:calc(11.5px + var(--gcm-font-add, 0px))}.gcm-whatif-resource>div:first-child small{display:block;margin-top:3px;font-size:calc(9px + var(--gcm-font-add, 0px));color:#818d9d}.gcm-whatif-resource>div:last-child{text-align:right}.gcm-whatif-resource>div:last-child b{display:block;font-size:calc(11px + var(--gcm-font-add, 0px))}.gcm-whatif-resource>div:last-child small{font-size:calc(8.5px + var(--gcm-font-add, 0px));color:#8a95a4}.gcm-whatif-resource.is-critical .gcm-app-progress-track i{background:var(--gcm-red)}.gcm-whatif-resource.is-warning .gcm-app-progress-track i{background:var(--gcm-orange)}.gcm-whatif-finance{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#e9edf3;border-top:1px solid #e9edf3}.gcm-whatif-finance span{background:#f9fbfd;padding:12px 17px}.gcm-whatif-finance small{display:block;font-size:calc(9px + var(--gcm-font-add, 0px));color:#7b8797}.gcm-whatif-finance b{display:block;margin-top:3px;font-size:calc(12px + var(--gcm-font-add, 0px));color:#1f2c42}.gcm-whatif-empty{min-height:290px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.gcm-whatif-empty .gcm-app-brand-mark{width:54px;height:54px}.gcm-whatif-empty h2{font-size:calc(17px + var(--gcm-font-add, 0px));margin:16px 0 5px}.gcm-whatif-empty p{max-width:480px;margin:0;color:#778395;font-size:calc(11px + var(--gcm-font-add, 0px));line-height:1.55}

.gcm-planning-engine{margin-bottom:17px}.gcm-planning-hero{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}.gcm-planning-hero h2{margin:4px 0 0;font-size:calc(19px + var(--gcm-font-add, 0px))}.gcm-planning-hero p{margin:5px 0 0;font-size:calc(10.5px + var(--gcm-font-add, 0px));color:#7c8797}.gcm-planning-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gcm-planning-metrics article{padding:15px 17px;min-height:92px}.gcm-planning-metrics small{display:block;font-size:calc(9.5px + var(--gcm-font-add, 0px));color:#7c8797}.gcm-planning-metrics strong{display:block;margin-top:6px;font-size:calc(19px + var(--gcm-font-add, 0px));letter-spacing:-.02em;color:#1b2940}.gcm-planning-metrics span{display:block;margin-top:4px;font-size:calc(9px + var(--gcm-font-add, 0px));color:#8893a2}

.gcm-control-tower{overflow:hidden;margin-bottom:20px}.gcm-control-table-wrap{overflow:auto;padding:0 18px 20px}.gcm-control-table{min-width:1120px}.gcm-control-row{display:grid;grid-template-columns:minmax(190px,1.35fr) 78px minmax(155px,1.05fr) 90px 132px 110px 112px 108px;gap:12px;align-items:center;min-height:66px;padding:8px 10px;border-bottom:1px solid #edf1f5;color:#26344a}.gcm-control-row.is-head{min-height:38px;border:1px solid #edf1f5;border-radius:8px;background:#fafbfd;color:#758196;font-size:calc(9.5px + var(--gcm-font-add, 0px));font-weight:800;text-transform:uppercase;letter-spacing:.035em}.gcm-control-row:not(.is-head):hover{background:#f8fbff}.gcm-control-row strong,.gcm-control-row b{font-size:calc(11.5px + var(--gcm-font-add, 0px));color:#1d2a40}.gcm-control-row small{display:block;margin-top:3px;font-size:calc(8.8px + var(--gcm-font-add, 0px));color:#8390a1}.gcm-control-progress{display:grid!important;grid-template-columns:1fr 42px;gap:8px;align-items:center}.gcm-control-progress strong{text-align:right}.gcm-control-row.is-critical .gcm-app-progress-track i,.gcm-control-row.is-late .gcm-app-progress-track i{background:var(--gcm-red)}.gcm-control-row.is-warning .gcm-app-progress-track i{background:var(--gcm-orange)}.gcm-control-row.is-critical .gcm-app-status-dot,.gcm-control-row.is-late .gcm-app-status-dot{background:var(--gcm-red)}.gcm-control-row.is-warning .gcm-app-status-dot{background:var(--gcm-orange)}.gcm-control-row .is-negative b{color:var(--gcm-red)}.gcm-control-row .is-positive b{color:var(--gcm-green)}
.gcm-control-detail{margin-bottom:20px}.gcm-control-back{display:inline-flex;margin:0 0 10px;color:#1769ff!important;font-size:calc(11px + var(--gcm-font-add, 0px));font-weight:750}.gcm-control-detail-hero{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;margin-bottom:12px}.gcm-control-detail-hero h2{margin:4px 0 0;font-size:calc(21px + var(--gcm-font-add, 0px));letter-spacing:-.025em}.gcm-control-detail-hero p{margin:5px 0 0;color:#778395;font-size:calc(10.5px + var(--gcm-font-add, 0px))}.gcm-control-risk{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:#eef2f6;color:#526075;font-size:calc(10px + var(--gcm-font-add, 0px));font-weight:800}.gcm-control-risk.is-critical,.gcm-control-risk.is-late{background:#ffe8e8;color:#cf2d31}.gcm-control-risk.is-warning{background:#fff1d8;color:#bf7300}.gcm-control-risk.is-healthy{background:#e9f7ed;color:#2b963f}.gcm-control-detail-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.gcm-control-detail-kpis article{padding:15px 17px}.gcm-control-detail-kpis small{display:block;font-size:calc(9.5px + var(--gcm-font-add, 0px));color:#7b8797}.gcm-control-detail-kpis strong{display:block;margin-top:5px;font-size:calc(18px + var(--gcm-font-add, 0px))}.gcm-control-detail-kpis span{display:block;margin-top:4px;font-size:calc(9px + var(--gcm-font-add, 0px));color:#8893a2}.gcm-control-routing{overflow:hidden}.gcm-control-routing-list{padding:0 18px 18px}.gcm-control-routing-row{display:grid;grid-template-columns:30px minmax(220px,1fr) minmax(260px,1.1fr);gap:12px;align-items:center;min-height:60px;border-bottom:1px solid #edf1f5}.gcm-control-routing-row:last-child{border-bottom:0}.gcm-control-routing-row>span{width:25px;height:25px;border-radius:8px;background:#eef3f9;display:grid;place-items:center;color:#607087;font-size:calc(9px + var(--gcm-font-add, 0px));font-weight:800}.gcm-control-routing-row strong{display:block;font-size:calc(11.5px + var(--gcm-font-add, 0px))}.gcm-control-routing-row small{display:block;margin-top:3px;font-size:calc(9px + var(--gcm-font-add, 0px));color:#8691a0}.gcm-control-routing-row.is-critical .gcm-app-progress-track i{background:var(--gcm-red)}.gcm-control-routing-row.is-warning .gcm-app-progress-track i{background:var(--gcm-orange)}

@media(max-width:1300px){.gcm-intel-brief{grid-template-columns:1fr}.gcm-whatif-layout{grid-template-columns:minmax(330px,.7fr) minmax(0,1.3fr)}.gcm-whatif-result-metrics{grid-template-columns:repeat(2,1fr)}.gcm-whatif-result-metrics>div{border-bottom:1px solid #edf1f5}.gcm-planning-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1060px){.gcm-whatif-layout{grid-template-columns:1fr}.gcm-whatif-form-card{position:static;grid-row:auto}.gcm-control-detail-kpis{grid-template-columns:repeat(2,1fr)}.gcm-intel-brief-metrics{grid-template-columns:repeat(2,1fr)}.gcm-intel-brief-metrics>div{border-bottom:1px solid #edf1f5}.gcm-whatif-options{grid-template-columns:1fr}}
@media(max-width:760px){.gcm-intel-brief-head,.gcm-planning-hero,.gcm-control-detail-hero{flex-direction:column;align-items:flex-start}.gcm-intel-pace-main{align-items:flex-start;flex-direction:column}.gcm-intel-brief-action{width:100%;justify-content:center}.gcm-intel-brief-metrics,.gcm-whatif-result-metrics,.gcm-planning-metrics,.gcm-control-detail-kpis{grid-template-columns:1fr}.gcm-whatif-form{grid-template-columns:1fr;padding-left:14px;padding-right:14px}.gcm-whatif-wide,.gcm-whatif-submit{grid-column:auto}.gcm-whatif-resource{grid-template-columns:1fr}.gcm-whatif-resource>div:last-child{text-align:left}.gcm-whatif-finance{grid-template-columns:1fr}.gcm-control-routing-row{grid-template-columns:30px 1fr}.gcm-control-routing-row .gcm-app-stage-progress{grid-column:1/-1}.gcm-app-nav-new{display:none}}

/* v0.5.1 — Production progress UX refresh */
.gcm-app-production-overview{grid-template-columns:minmax(560px,1.05fr) minmax(560px,.95fr);gap:18px;align-items:stretch}
.gcm-app-progress-card,.gcm-app-stage-modern{min-height:402px;overflow:hidden}
.gcm-app-progress-head,.gcm-app-stage-modern-head{min-height:72px;padding:18px 20px 14px;border-bottom:1px solid #edf1f5;align-items:flex-start}
.gcm-app-progress-head>div,.gcm-app-stage-modern-head>div{display:flex;flex-direction:column;gap:4px}
.gcm-app-progress-head h2,.gcm-app-stage-modern-head h2{font-size:calc(18px + var(--gcm-font-add, 0px));font-weight:780;letter-spacing:-.02em;color:#172238}
.gcm-app-health-badge{display:inline-flex;align-items:center;gap:7px;min-height:29px;padding:0 10px;border-radius:999px;background:#eef7f0;color:#23873a;font-size:calc(10.5px + var(--gcm-font-add, 0px));font-weight:780;white-space:nowrap}
.gcm-app-health-badge i{width:7px;height:7px;border-radius:50%;background:currentColor}
.gcm-app-health-badge.is-warning{background:#fff4dd;color:#c47600}
.gcm-app-health-badge.is-critical{background:#ffe9e9;color:#cf3034}
.gcm-app-progress-body{display:grid;grid-template-columns:minmax(270px,.92fr) minmax(250px,1.08fr);gap:22px;align-items:center;padding:18px 22px 22px}
.gcm-app-gauge-zone-wrap{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 0 0}
.gcm-app-gauge-visual{position:relative;width:100%;max-width:390px;margin:0 auto}
.gcm-app-gauge{height:auto;max-height:205px}
.gcm-app-gauge-base{stroke-width:29;stroke:#eef1f5}.gcm-app-gauge-zone{stroke-width:25}.gcm-app-gauge-inner{stroke-width:24;stroke:#f6f7f9}
.gcm-app-gauge-tick{stroke:#cbd3dd;stroke-width:1.4}.gcm-app-gauge-needle{stroke:#273140;stroke-width:8}.gcm-app-gauge-pin{fill:#303946;stroke:#535e6d}.gcm-app-gauge-pin-inner{fill:#151b23}
.gcm-app-gauge-edge-labels{position:absolute;left:6px;right:6px;bottom:0;display:flex;justify-content:space-between;color:#718096;font-size:calc(11px + var(--gcm-font-add, 0px));font-weight:700;pointer-events:none}
.gcm-app-gauge-result{text-align:center;margin-top:-9px;position:relative;z-index:2}
.gcm-app-gauge-result strong{display:block;font-size:calc(38px + var(--gcm-font-add, 0px));line-height:1;font-weight:850;letter-spacing:-.045em;color:#2ca846}
.gcm-app-progress-card.is-warning .gcm-app-gauge-result strong{color:#d17b00}.gcm-app-progress-card.is-critical .gcm-app-gauge-result strong{color:#d83438}
.gcm-app-gauge-result>span{display:block;margin-top:6px;font-size:calc(12.5px + var(--gcm-font-add, 0px));font-weight:720;color:#4b5a70}
.gcm-app-gauge-result small{display:block;margin-top:7px;color:#8894a5;font-size:calc(10.5px + var(--gcm-font-add, 0px))}.gcm-app-gauge-result small b{color:#536178;font-weight:800}
.gcm-app-progress-summary{align-self:stretch;border-left:1px solid #edf1f5;padding-left:22px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.gcm-app-progress-summary-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.gcm-app-progress-summary-top small{display:block;color:#7d899a;font-size:calc(10.5px + var(--gcm-font-add, 0px));font-weight:650}.gcm-app-progress-summary-top strong{display:block;margin-top:4px;color:#1b2940;font-size:calc(20px + var(--gcm-font-add, 0px));line-height:1.1}.gcm-app-progress-summary-top strong em,.gcm-app-production-split strong em{font-size:calc(10px + var(--gcm-font-add, 0px));font-style:normal;font-weight:700;color:#7d8998}
.gcm-app-detail-trigger{display:inline-flex;align-items:center;gap:3px;min-height:27px;padding:0 8px;border:1px solid #e0e6ee;border-radius:8px;background:#fbfcfe;color:#1769ff;font-size:calc(10px + var(--gcm-font-add, 0px));font-weight:720;cursor:help;white-space:nowrap}.gcm-app-detail-trigger:hover,.gcm-app-detail-trigger:focus{background:#f3f7ff;border-color:#bfd2f7;outline:none}.gcm-app-detail-trigger .gcm-app-icon{width:13px;height:13px}
.gcm-app-production-split{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.gcm-app-production-split>div{min-height:76px;padding:11px 12px;border:1px solid #e6ebf1;border-radius:11px;background:#fbfcfe}.gcm-app-production-split span{display:flex;align-items:center;gap:7px;color:#718096;font-size:calc(10px + var(--gcm-font-add, 0px));font-weight:650}.gcm-app-production-split span i{width:8px;height:8px;border-radius:50%;background:#39b453}.gcm-app-production-split .is-remaining span i{background:#cfd6df}.gcm-app-production-split strong{display:block;margin-top:8px;font-size:calc(18px + var(--gcm-font-add, 0px));color:#1c2a40;white-space:nowrap}
.gcm-app-master-progress{padding:13px 14px;border-radius:11px;background:#f7f9fc;border:1px solid #e9edf3}.gcm-app-master-progress-head,.gcm-app-master-progress-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.gcm-app-master-progress-head{font-size:calc(10.5px + var(--gcm-font-add, 0px));color:#657388;font-weight:650}.gcm-app-master-progress-head b{font-size:calc(12px + var(--gcm-font-add, 0px));color:#26354b}.gcm-app-master-track{position:relative;display:block;height:11px;border-radius:999px;background:#e5eaf0;margin:9px 0}.gcm-app-master-track i{display:block;height:100%;border-radius:999px;background:#34b252;min-width:2px}.gcm-app-progress-card.is-warning .gcm-app-master-track i{background:#f3a016}.gcm-app-progress-card.is-critical .gcm-app-master-track i{background:#ef4444}.gcm-app-master-track>b{position:absolute;top:-4px;bottom:-4px;width:2px;border-radius:2px;background:#243247;opacity:.58;transform:translateX(-1px)}.gcm-app-master-progress-foot{font-size:calc(9.5px + var(--gcm-font-add, 0px));color:#7d899a}.gcm-app-master-progress-foot b{color:#4c5c72}.gcm-app-master-progress-foot .is-behind{color:#d63c40;font-weight:760}.gcm-app-master-progress-foot .is-ahead{color:#2d9d45;font-weight:760}
.gcm-app-progress-mini-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}.gcm-app-progress-mini-metrics>div{padding:8px 10px;border-radius:9px;background:#fff;border:1px solid #edf1f5}.gcm-app-progress-mini-metrics small{display:block;font-size:calc(9px + var(--gcm-font-add, 0px));color:#8792a2}.gcm-app-progress-mini-metrics b{display:block;margin-top:3px;font-size:calc(11.5px + var(--gcm-font-add, 0px));color:#2b3a50}

.gcm-app-stage-modern-head .gcm-app-text-btn{margin-top:1px}.gcm-app-stage-modern-list{padding:2px 18px 8px}.gcm-app-stage-modern-row{position:relative;display:grid;grid-template-columns:minmax(160px,.82fr) minmax(230px,1.25fr) minmax(132px,.72fr) 104px 24px;gap:14px;align-items:center;min-height:61px;padding:8px 0;border-bottom:1px solid #edf1f5}.gcm-app-stage-modern-row:last-child{border-bottom:0}
.gcm-app-stage-modern-title{display:flex;align-items:center;gap:10px;min-width:0}.gcm-app-stage-modern-title .gcm-app-stage-icon{width:30px;height:30px;border-radius:8px;background:#f3f6fa;flex:0 0 auto}.gcm-app-stage-modern-title .gcm-app-stage-icon .gcm-app-icon{width:17px;height:17px}.gcm-app-stage-modern-title strong{display:block;font-size:calc(12px + var(--gcm-font-add, 0px));font-weight:780;color:#1c2b41;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcm-app-stage-modern-title small{display:block;margin-top:3px;font-size:calc(9px + var(--gcm-font-add, 0px));color:#8a95a4}
.gcm-app-stage-modern-progress{min-width:0}.gcm-app-stage-modern-line{display:grid;grid-template-columns:minmax(80px,1fr) 48px;gap:9px;align-items:center}.gcm-app-stage-modern-line .gcm-app-progress-track{height:10px}.gcm-app-stage-modern-line>strong{font-size:calc(12px + var(--gcm-font-add, 0px));text-align:right;color:#27364c}.gcm-app-stage-modern-row.is-warning .gcm-app-stage-modern-line>strong{color:#cb7a00}.gcm-app-stage-modern-row.is-critical .gcm-app-stage-modern-line>strong{color:#d6383c}.gcm-app-stage-modern-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;font-size:calc(9px + var(--gcm-font-add, 0px));color:#8792a2}.gcm-app-stage-modern-meta .is-behind{color:#d4474b;font-weight:720}.gcm-app-stage-modern-meta .is-ahead{color:#2e9844;font-weight:720}
.gcm-app-stage-modern-numbers{text-align:right;min-width:0}.gcm-app-stage-modern-numbers strong{display:block;font-size:calc(11.5px + var(--gcm-font-add, 0px));color:#1f2d43;white-space:nowrap}.gcm-app-stage-modern-numbers strong em{font-size:calc(9px + var(--gcm-font-add, 0px));font-style:normal;font-weight:620;color:#8390a1}.gcm-app-stage-modern-numbers small{display:block;margin-top:4px;font-size:calc(9px + var(--gcm-font-add, 0px));color:#8a95a4}
.gcm-app-stage-status{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:0 8px;border-radius:999px;background:#ebf8ee;color:#278d3c;font-size:calc(9px + var(--gcm-font-add, 0px));font-weight:760;white-space:nowrap}.gcm-app-stage-status.is-warning{background:#fff3dd;color:#c47700}.gcm-app-stage-status.is-critical{background:#ffe8e9;color:#cf3338}
.gcm-app-row-inspect{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;color:#75839a;cursor:help;outline:none}.gcm-app-row-inspect:hover,.gcm-app-row-inspect:focus{background:#edf4ff;color:#1769ff}.gcm-app-row-inspect .gcm-app-icon{width:14px;height:14px}
.gcm-app-stage-legend{min-height:39px;padding:8px 18px 11px;border-top:1px solid #f1f3f6;display:flex;align-items:center;gap:16px;color:#8792a2;font-size:calc(9.5px + var(--gcm-font-add, 0px))}.gcm-app-stage-legend span{display:flex;align-items:center;gap:6px}.gcm-app-stage-legend i{display:inline-block}.gcm-app-stage-legend .is-actual{width:18px;height:7px;border-radius:999px;background:#39b453}.gcm-app-stage-legend .is-plan{width:2px;height:13px;background:#27364c;opacity:.55}.gcm-app-stage-legend b{color:#607087;font-size:calc(13px + var(--gcm-font-add, 0px))}

/* Tooltips now stay compact and readable; they are supplemental, never the main data surface. */
.gcm-app-tooltip{min-width:248px;max-width:310px;padding:12px 13px;border-radius:10px;background:rgba(25,33,45,.97);font-size:calc(10.5px + var(--gcm-font-add, 0px));line-height:1.4;box-shadow:0 14px 34px rgba(14,25,43,.24);backdrop-filter:blur(6px)}
.gcm-app-tooltip div{align-items:flex-start;gap:18px;padding:3px 0}.gcm-app-tooltip div+div{border-top:1px solid rgba(255,255,255,.06)}.gcm-app-tooltip span:first-child{color:#bfc8d5}.gcm-app-tooltip span:last-child{color:#fff;text-align:right}.gcm-app-tooltip div:first-child span:first-child{color:#fff;font-weight:780}

@media(max-width:1380px){.gcm-app-production-overview{grid-template-columns:minmax(500px,1fr) minmax(500px,1fr)}.gcm-app-progress-body{grid-template-columns:minmax(245px,.9fr) minmax(235px,1.1fr);gap:16px;padding-left:18px;padding-right:18px}.gcm-app-progress-summary{padding-left:16px}.gcm-app-stage-modern-row{grid-template-columns:minmax(145px,.8fr) minmax(190px,1.15fr) minmax(118px,.72fr) 92px 22px;gap:10px}.gcm-app-stage-status{font-size:calc(8.5px + var(--gcm-font-add, 0px));padding:0 6px}}
@media(max-width:1180px){.gcm-app-production-overview{grid-template-columns:1fr}.gcm-app-progress-card,.gcm-app-stage-modern{min-height:auto}.gcm-app-progress-body{grid-template-columns:minmax(280px,.9fr) minmax(300px,1.1fr)}.gcm-app-stage-modern-row{grid-template-columns:minmax(170px,.85fr) minmax(240px,1.2fr) minmax(145px,.7fr) 105px 24px}}
@media(max-width:760px){.gcm-app-progress-head,.gcm-app-stage-modern-head{min-height:auto;padding:15px 14px 12px}.gcm-app-progress-head h2,.gcm-app-stage-modern-head h2{font-size:calc(16px + var(--gcm-font-add, 0px))}.gcm-app-progress-body{grid-template-columns:1fr;padding:10px 14px 16px;gap:10px}.gcm-app-gauge-visual{max-width:340px}.gcm-app-gauge-result strong{font-size:calc(34px + var(--gcm-font-add, 0px))}.gcm-app-progress-summary{border-left:0;border-top:1px solid #edf1f5;padding:15px 0 0}.gcm-app-production-split{grid-template-columns:1fr 1fr}.gcm-app-stage-modern-list{padding:0 14px 8px}.gcm-app-stage-modern-row{grid-template-columns:minmax(0,1fr) 64px 24px;gap:9px;min-height:85px;padding:10px 0}.gcm-app-stage-modern-title{grid-column:1/2}.gcm-app-stage-status{grid-column:2/3;grid-row:1}.gcm-app-row-inspect{grid-column:3/4;grid-row:1}.gcm-app-stage-modern-progress{grid-column:1/-1}.gcm-app-stage-modern-numbers{grid-column:1/-1;text-align:left;display:flex;align-items:center;gap:10px}.gcm-app-stage-modern-numbers small{margin-top:0}.gcm-app-stage-legend{flex-wrap:wrap;gap:9px 14px}}
@media(max-width:470px){.gcm-app-health-badge{font-size:calc(9px + var(--gcm-font-add, 0px));padding:0 8px}.gcm-app-production-split{grid-template-columns:1fr}.gcm-app-progress-mini-metrics{grid-template-columns:1fr}.gcm-app-gauge-result strong{font-size:calc(31px + var(--gcm-font-add, 0px))}}


/* v0.5.2 — Global tooltip portal + readable typography controls */
.gcm-app-term:before,.gcm-app-term:after{content:none!important;display:none!important}
.gcm-app-tooltip{z-index:2147483646!important;pointer-events:none!important;max-width:min(360px,calc(100vw - 24px));min-width:min(260px,calc(100vw - 24px));white-space:normal!important}
.gcm-app-tooltip-title{display:block!important;padding:0 0 7px!important;margin:0 0 5px!important;border-bottom:1px solid rgba(255,255,255,.13)!important;font-weight:800!important;color:#fff!important;font-size:calc(12px + var(--gcm-font-add,0px))!important}
.gcm-app-tooltip-copy{display:block!important;padding:4px 0!important;color:#e5eaf0!important;line-height:1.55!important}
.gcm-app-tooltip-row{display:grid!important;grid-template-columns:minmax(105px,.85fr) minmax(0,1.15fr)!important;gap:16px!important;align-items:start!important;padding:5px 0!important}
.gcm-app-tooltip-row+.gcm-app-tooltip-row{border-top:1px solid rgba(255,255,255,.07)}
.gcm-app-tooltip-row>span:first-child{color:#bcc6d3!important;font-weight:560!important}
.gcm-app-tooltip-row>span:last-child{color:#fff!important;text-align:right!important;font-weight:760!important;white-space:normal!important;overflow-wrap:anywhere}
.gcm-app-tooltip.is-visible{will-change:left,top,opacity}
.gcm-app-customize-select{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;align-items:start!important}
.gcm-app-customize-select span{font-weight:700;color:#334258}
.gcm-app-customize select,.gcm-app-settings-options select{height:38px;border:1px solid #dce3ec;border-radius:9px;background:#fff;color:#26364d;padding:0 34px 0 11px;outline:none;cursor:pointer;font:inherit}
.gcm-app-customize select:focus,.gcm-app-settings-options select:focus{border-color:#7aa9ff;box-shadow:0 0 0 3px rgba(23,105,255,.12)}
.gcm-app-setting-select select{min-width:150px}
.gcm-app.is-font-large .gcm-app-stage-modern-row,.gcm-app.is-font-xlarge .gcm-app-stage-modern-row{min-height:68px}
.gcm-app.is-font-xlarge .gcm-app-progress-head,.gcm-app.is-font-xlarge .gcm-app-stage-modern-head{min-height:78px}
.gcm-app.is-font-xlarge .gcm-app-kpis{min-height:108px}
.gcm-app.is-font-xlarge .gcm-app-kpi{padding-top:19px;padding-bottom:19px}
.gcm-app.is-font-xlarge .gcm-app-stage-modern-row{gap:10px;grid-template-columns:minmax(170px,.82fr) minmax(205px,1.15fr) minmax(135px,.74fr) 98px 26px}
@media(max-width:1180px){.gcm-app.is-font-large .gcm-app-stage-modern-row,.gcm-app.is-font-xlarge .gcm-app-stage-modern-row{grid-template-columns:minmax(165px,.85fr) minmax(215px,1.2fr) minmax(135px,.7fr) 96px 24px}}
@media(max-width:760px){.gcm-app-setting-select{align-items:stretch!important}.gcm-app-setting-select select{width:100%;min-width:0}.gcm-app.is-font-large .gcm-app-stage-modern-row,.gcm-app.is-font-xlarge .gcm-app-stage-modern-row{grid-template-columns:minmax(0,1fr) 78px 28px}}

/* v0.5.3 — UI personalization: independent sidebar typography, width and density */
.gcm-app{--gcm-sidebar-font-add:0px;--gcm-sidebar-width:260px}
.gcm-app-sidebar{--gcm-font-add:var(--gcm-sidebar-font-add,0px)}
.gcm-app-nav a>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gcm-app-nav-badge,.gcm-app-nav-new{flex:0 0 auto}
@media(min-width:1061px){.gcm-app{grid-template-columns:var(--gcm-sidebar-width,260px) minmax(0,1fr)!important}}
@media(max-width:1060px){.gcm-app{grid-template-columns:1fr!important}.gcm-app-sidebar{width:min(var(--gcm-sidebar-width,260px),88vw)!important}}

.gcm-app.is-spacious .gcm-app-main{padding-left:42px;padding-right:42px;padding-bottom:42px}
.gcm-app.is-spacious .gcm-app-kpis,.gcm-app.is-spacious .gcm-app-top-grid,.gcm-app.is-spacious .gcm-app-bottom-grid,.gcm-app.is-spacious .gcm-app-decision-strip{margin-bottom:22px}
.gcm-app.is-spacious .gcm-app-top-grid,.gcm-app.is-spacious .gcm-app-bottom-grid{gap:22px}
.gcm-app.is-spacious .gcm-app-card-head{padding:20px 22px 16px}
.gcm-app.is-spacious .gcm-app-kpi{padding:22px 24px}
.gcm-app.is-spacious .gcm-app-stage-modern-row{padding-top:14px;padding-bottom:14px}

.gcm-app.is-chart-compact .gcm-app-time-chart{height:220px;width:100%}
.gcm-app.is-chart-standard .gcm-app-time-chart{height:270px;width:100%}
.gcm-app.is-chart-tall .gcm-app-time-chart{height:340px;width:100%}
.gcm-app.is-chart-compact .gcm-app-time-card{min-height:300px}
.gcm-app.is-chart-standard .gcm-app-time-card{min-height:350px}
.gcm-app.is-chart-tall .gcm-app-time-card{min-height:420px}

.gcm-app-customize{width:min(390px,94vw)!important;overflow-y:auto;gap:13px!important}
.gcm-app-customize-head>div{min-width:0}
.gcm-app-customize-head small{display:block;margin-top:3px;color:#8792a2;font-size:calc(10px + var(--gcm-font-add,0px))}
.gcm-app-customize-group{display:grid;gap:10px;padding:13px;border:1px solid #e7ebf1;border-radius:12px;background:#fafcff}
.gcm-app-customize-group>b{font-size:calc(11px + var(--gcm-font-add,0px));text-transform:uppercase;letter-spacing:.06em;color:#64738a}
.gcm-app-customize-group .gcm-app-customize-select{padding:0!important;margin:0!important}
.gcm-app-customize-group .gcm-app-customize-select>span{font-size:calc(11.5px + var(--gcm-font-add,0px));font-weight:680;color:#2c3b51}
.gcm-app-customize-check{display:flex!important;align-items:center!important;gap:9px!important;min-height:38px;padding-top:3px}
.gcm-app-customize-check input{width:18px;height:18px;accent-color:#1769ff}
.gcm-app-customize-reset{height:40px;border:1px solid #dce3ec;border-radius:9px;background:#fff;color:#314158;font-weight:700;cursor:pointer}
.gcm-app-customize-reset:hover{background:#f5f8fc;border-color:#bcc7d5}
.gcm-app-setting-reset{min-height:74px;border:1px dashed #d7dfe9;border-radius:11px;background:#fff;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.gcm-app-setting-reset span{display:block}.gcm-app-setting-reset b{display:block;font-size:calc(13px + var(--gcm-font-add,0px));color:#1b2940}.gcm-app-setting-reset small{display:block;margin-top:4px;font-size:calc(11px + var(--gcm-font-add,0px));line-height:1.45;color:#7c8796}

/* Large content text no longer forces the left navigation to wrap. */
.gcm-app.is-font-large .gcm-app-nav a,.gcm-app.is-font-xlarge .gcm-app-nav a{line-height:1.2}
.gcm-app.is-sidebar-font-large .gcm-app-nav a{min-height:52px}

@media(max-width:760px){
  .gcm-app.is-spacious .gcm-app-main{padding-left:14px;padding-right:14px;padding-bottom:28px}
  .gcm-app.is-chart-compact .gcm-app-time-chart,.gcm-app.is-chart-standard .gcm-app-time-chart,.gcm-app.is-chart-tall .gcm-app-time-chart{height:auto}
  .gcm-app-setting-reset{align-items:stretch;flex-direction:column;gap:10px}.gcm-app-setting-reset .gcm-app-btn{width:100%!important}
}

/* v1.11.4 — danh sách nhân sự cân đối, không còn bảng kỹ thuật 8 cột */
.gcm-workforce-directory>.gcm-app-card-head{padding-bottom:12px;border-bottom:0}
.gcm-workforce-directory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 18px;background:#f8fafc;border-top:1px solid #edf1f5;border-bottom:1px solid #e6ebf2}
.gcm-workforce-directory-toolbar .gcm-workforce-filters{flex:1;display:grid;grid-template-columns:minmax(240px,1.25fr) minmax(190px,.8fr) minmax(210px,.9fr);gap:10px}
.gcm-workforce-directory-toolbar .gcm-workforce-filters label,.gcm-workforce-directory-toolbar .gcm-workforce-filters input,.gcm-workforce-directory-toolbar .gcm-workforce-filters select{width:100%;max-width:none}
.gcm-workforce-visible-count{flex:0 0 auto;padding:7px 11px;border:1px solid #dbe5f3;border-radius:999px;background:#fff;color:#285f9f;font-size:11px;white-space:nowrap}
.gcm-workforce-table-wrap{overflow:visible;border-top:0}
.gcm-workforce-table{min-width:0;grid-template-columns:minmax(220px,1.35fr) minmax(190px,1.1fr) minmax(140px,.72fr) minmax(165px,.82fr) minmax(175px,.9fr) 24px;gap:14px;padding:12px 18px}
.gcm-workforce-table.is-head{min-width:0;position:static;padding-top:10px;padding-bottom:10px}
.gcm-workforce-group-block{background:#fff}
.gcm-workforce-group-block>header{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 18px;padding:13px 18px 11px;background:#f3f6fa}
.gcm-workforce-group-title{display:flex;align-items:center;gap:10px;min-width:220px}
.gcm-workforce-group-title>i{display:grid!important;place-items:center!important;width:34px;height:34px;padding:0!important;border:0!important;border-radius:10px!important;background:#e7f0ff!important;color:#1769ff!important}
.gcm-workforce-group-title>i .gcm-app-icon{width:18px;height:18px}
.gcm-workforce-group-title>span b{font-size:13px!important}
.gcm-workforce-group-title>span small{font-size:9.5px!important}
.gcm-workforce-group-units{align-self:center;display:flex;justify-content:flex-start!important;gap:6px!important;min-width:0;overflow:hidden}
.gcm-workforce-group-units i{display:inline-flex;align-items:center;gap:6px;padding:5px 8px!important;max-width:180px;background:#fff!important;font-size:9px!important}
.gcm-workforce-group-units i span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gcm-workforce-group-units i b{display:grid;place-items:center;min-width:18px;height:18px;margin:0!important;border-radius:999px;background:#edf3fb;color:#315f9c!important;font-size:8.5px}
.gcm-workforce-person-row{min-height:72px;padding-top:13px;padding-bottom:13px}
.gcm-workforce-person-row:hover{position:relative;z-index:1;box-shadow:0 7px 18px rgba(30,62,104,.08),inset 3px 0 #1769ff}
.gcm-person-cell>strong,.gcm-person-cell>b:not(.gcm-workforce-avatar){font-size:11px!important}
.gcm-workforce-person>span>strong{font-size:12px!important;color:#18263a}
.gcm-workforce-person>span>small{max-width:280px}
.gcm-person-cell.is-org strong{color:#24354b}
.gcm-person-cell.is-org small{color:#657892}
.gcm-person-cell.is-efficiency>strong{font-size:14px!important;color:#22344b}
.gcm-person-cell.is-efficiency>small{white-space:normal;line-height:1.35}
.gcm-person-cell.is-result strong{color:#21344c}
.gcm-person-cell.is-result strong em{font-style:normal;font-size:9px;color:#7e8da2}
.gcm-person-cell.is-result small{white-space:normal;line-height:1.35}
.gcm-app-row-inspect{display:grid;place-items:center;color:#8ca0ba}
.gcm-app-row-inspect .gcm-app-icon{width:15px;height:15px}
@media(max-width:1150px){
  .gcm-workforce-directory-toolbar{align-items:stretch;flex-direction:column;gap:10px}
  .gcm-workforce-visible-count{align-self:flex-start}
  .gcm-workforce-table.is-head{display:none}
  .gcm-workforce-group-block{padding:0 0 8px;background:#f5f7fa}
  .gcm-workforce-group-block>header{grid-template-columns:1fr;padding:13px 15px}
  .gcm-workforce-group-units{overflow:visible;flex-wrap:wrap}
  .gcm-workforce-person-row{margin:9px 12px 0;padding:14px;grid-template-columns:minmax(0,1fr) minmax(210px,.7fr) 24px;gap:12px 18px;border:1px solid #e4eaf1!important;border-radius:13px;background:#fff;box-shadow:0 3px 10px rgba(35,55,80,.035)}
  .gcm-workforce-person-row.is-critical{border-left:4px solid #ef4444!important;box-shadow:none}
  .gcm-workforce-person-row.is-warning{border-left:4px solid #f59e0b!important;box-shadow:none}
  .gcm-person-cell.is-identity{grid-column:1/3;grid-row:1}
  .gcm-person-cell.is-org{grid-column:1;grid-row:2}
  .gcm-person-cell.is-today{grid-column:2;grid-row:2}
  .gcm-person-cell.is-efficiency{grid-column:1;grid-row:3;padding-top:10px;border-top:1px solid #edf1f5}
  .gcm-person-cell.is-result{grid-column:2;grid-row:3;padding-top:10px;border-top:1px solid #edf1f5}
  .gcm-app-row-inspect{grid-column:3;grid-row:1/4}
  .gcm-person-cell.is-org:before,.gcm-person-cell.is-efficiency:before,.gcm-person-cell.is-result:before{display:block;margin-bottom:4px;color:#8794a5;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.gcm-person-cell.is-org:before{content:'Tổ / khu vực & kỹ năng'}

.gcm-app-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}

.gcm-app-resources-card{overflow:hidden}
.gcm-app-resources-card .gcm-app-section-head{align-items:flex-start}
.gcm-app-resources-card .gcm-app-section-head>div{min-width:0}
.gcm-app-resources-card .gcm-app-section-head p{max-width:360px;line-height:1.45}
.gcm-app-resources-card .gcm-app-resource-list{display:flex;flex-direction:column;gap:10px;padding:0 18px 18px}
.gcm-app-resources-card .gcm-app-resource-row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-height:0;padding:12px;border:1px solid #e6edf5;border-radius:12px;background:linear-gradient(180deg,#fff,#fbfcfe);box-shadow:0 3px 10px rgba(24,42,74,.035)}
.gcm-app-resources-card .gcm-app-resource-row:last-child{border-bottom:1px solid #e6edf5}
.gcm-app-resources-card .gcm-app-resource-row.is-critical{border-color:#ffd2d2;background:linear-gradient(180deg,#fff,#fff7f7)}
.gcm-app-resources-card .gcm-app-resource-row.is-warning{border-color:#ffe0aa;background:linear-gradient(180deg,#fff,#fffaf0)}
.gcm-app-resources-card .gcm-app-resource-row.is-idle{background:#fbfcfe}
.gcm-app-resources-card .gcm-app-resource-name{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start;padding-right:92px}
.gcm-app-resources-card .gcm-app-resource-name .gcm-app-stage-icon{margin-top:1px}
.gcm-app-resources-card .gcm-app-resource-name strong{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:calc(13px + var(--gcm-font-add,0px));line-height:1.25}
.gcm-app-resources-card .gcm-app-resource-name small{display:block;margin-top:4px;max-width:100%;white-space:normal;line-height:1.35;color:#748197}
.gcm-app-resources-card .gcm-app-resource-name em{position:absolute;right:0;top:0;max-width:86px;text-align:center}
.gcm-app-resources-card .gcm-app-resource-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.gcm-app-resources-card .gcm-app-resource-progress strong{min-width:48px;text-align:right;font-size:calc(12px + var(--gcm-font-add,0px));font-weight:850}
.gcm-app-resources-card .gcm-app-resource-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gcm-app-resources-card .gcm-app-resource-metrics span{min-width:0;padding:8px 9px;border-radius:9px;background:#f4f7fb}
.gcm-app-resources-card .gcm-app-resource-metrics small{font-size:calc(9px + var(--gcm-font-add,0px));line-height:1.2}
.gcm-app-resources-card .gcm-app-resource-metrics b{font-size:calc(11px + var(--gcm-font-add,0px));font-weight:850;white-space:nowrap}
.gcm-app-management-grid.is-single-view .gcm-app-resources-card .gcm-app-resource-list{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:12px;padding:0 18px 18px}
@media(max-width:1180px){.gcm-app-management-grid{grid-template-columns:minmax(0,1fr)}.gcm-app-resources-card .gcm-app-section-head p{max-width:none}.gcm-app-management-grid.is-single-view .gcm-app-resources-card .gcm-app-resource-list{grid-template-columns:1fr}}
@media(max-width:760px){.gcm-app-resources-card .gcm-app-card-head{padding-left:14px;padding-right:14px}.gcm-app-resources-card .gcm-app-section-head{display:grid;grid-template-columns:1fr;gap:12px}.gcm-app-resources-card .gcm-app-resource-list{padding-left:14px;padding-right:14px}.gcm-app-resources-card .gcm-app-resource-name{padding-right:0}.gcm-app-resources-card .gcm-app-resource-name em{position:static;grid-column:2;justify-self:start;margin-top:6px}.gcm-app-resources-card .gcm-app-resource-metrics{grid-template-columns:1fr 1fr 1fr}}
  .gcm-person-cell.is-efficiency:before{content:'Hiệu suất kỳ'}
  .gcm-person-cell.is-result:before{content:'Kết quả trong kỳ'}
}
@media(max-width:700px){
  .gcm-workforce-directory-toolbar{padding:12px}
  .gcm-workforce-directory-toolbar .gcm-workforce-filters{grid-template-columns:1fr}
  .gcm-workforce-group-units i{max-width:100%}
  .gcm-workforce-person-row{grid-template-columns:minmax(0,1fr) 22px;margin-left:8px;margin-right:8px;padding:13px;gap:11px}
  .gcm-person-cell.is-identity,.gcm-person-cell.is-org,.gcm-person-cell.is-today,.gcm-person-cell.is-efficiency,.gcm-person-cell.is-result{grid-column:1}
  .gcm-person-cell.is-identity{grid-row:1}.gcm-person-cell.is-org{grid-row:2}.gcm-person-cell.is-today{grid-row:3}.gcm-person-cell.is-efficiency{grid-row:4}.gcm-person-cell.is-result{grid-row:5}
  .gcm-person-cell.is-today,.gcm-person-cell.is-efficiency,.gcm-person-cell.is-result{padding-top:10px;border-top:1px solid #edf1f5}
  .gcm-person-cell.is-today:before{content:'Hôm nay';display:block;margin-bottom:4px;color:#8794a5;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
  .gcm-app-row-inspect{grid-column:2;grid-row:1/6}
}

/* v0.6.0 — Smart Planning: finite-capacity Gantt, scenario compare and factory load map */
.gcm-smart-planning{display:grid;gap:18px;margin-bottom:20px}.gcm-smart-planning-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 22px}.gcm-smart-planning-hero h2{margin:4px 0 5px;font-size:calc(21px + var(--gcm-font-add,0px));letter-spacing:-.02em}.gcm-smart-planning-hero p{margin:0;color:#718096;font-size:calc(11.5px + var(--gcm-font-add,0px));max-width:760px}.gcm-planner-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.gcm-planner-card{overflow:hidden}.gcm-planner-status{padding:7px 10px;border-radius:999px;background:#eef3f8;color:#66758a;font-size:calc(10px + var(--gcm-font-add,0px));font-weight:700;white-space:nowrap}.gcm-planner-status.is-dirty{background:#fff3dc;color:#bd7300}.gcm-planner-status.is-saved{background:#eaf8ee;color:#25883b}.gcm-planner-status.is-busy{background:#eaf2ff;color:#1769ff}.gcm-planner-gantt{margin:0 18px 17px;border:1px solid #e6ebf2;border-radius:12px;overflow:auto;background:#fff;min-width:760px}.gcm-gantt-head,.gcm-gantt-row{display:grid;grid-template-columns:170px minmax(760px,1fr)}.gcm-gantt-head{position:sticky;top:0;z-index:4;background:#f8fafc;border-bottom:1px solid #e8edf3}.gcm-gantt-lane-label{padding:11px 13px;border-right:1px solid #e8edf3;min-width:0}.gcm-gantt-head .gcm-gantt-lane-label{font-size:calc(9px + var(--gcm-font-add,0px));font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#718096}.gcm-gantt-row .gcm-gantt-lane-label{display:flex;flex-direction:column;justify-content:center;min-height:72px}.gcm-gantt-lane-label strong{font-size:calc(12px + var(--gcm-font-add,0px));color:#233249}.gcm-gantt-lane-label small{margin-top:4px;color:#8792a3;font-size:calc(9px + var(--gcm-font-add,0px));white-space:nowrap}.gcm-gantt-calendar{position:relative;height:43px;background:linear-gradient(90deg,rgba(23,105,255,.035) 1px,transparent 1px);background-size:calc(100% / 7) 100%}.gcm-gantt-calendar span{position:absolute;top:10px;transform:translateX(-1px);font-size:calc(9px + var(--gcm-font-add,0px));color:#78869a}.gcm-gantt-calendar span:before{content:"";position:absolute;top:18px;bottom:-16px;width:1px;background:#e2e8f0}.gcm-gantt-row{border-bottom:1px solid #edf1f5}.gcm-gantt-row:last-child{border-bottom:0}.gcm-gantt-track{position:relative;min-height:72px;background:linear-gradient(90deg,#fbfcfe,#fff)}.gcm-gantt-track.is-drop-target{background:#eef6ff}.gcm-gantt-grid{position:absolute;top:0;bottom:0;width:1px;background:#edf1f5;pointer-events:none}.gcm-gantt-item{position:absolute;top:13px;height:46px;min-width:72px;border-radius:9px;padding:7px 9px;color:#18344f;background:#eaf6ee;border:1px solid #cdebd5;box-shadow:0 5px 12px rgba(31,73,48,.08);cursor:grab;overflow:hidden;user-select:none;transition:box-shadow .14s,transform .14s,left .14s,width .14s}.gcm-gantt-item:active{cursor:grabbing}.gcm-gantt-item:hover,.gcm-gantt-item:focus{z-index:5;box-shadow:0 8px 20px rgba(31,48,76,.18);transform:translateY(-1px);outline:none}.gcm-gantt-item.is-warning{background:#fff5df;border-color:#f8daa3;color:#8a5800}.gcm-gantt-item.is-critical{background:#fff0f0;border-color:#ffcaca;color:#b0282d}.gcm-gantt-item.is-dragging{opacity:.55}.gcm-gantt-item strong{display:block;font-size:calc(10px + var(--gcm-font-add,0px));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcm-gantt-item span{display:block;margin-top:2px;font-size:calc(8.5px + var(--gcm-font-add,0px));opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcm-gantt-lock{position:absolute;right:5px;top:5px;font-size:10px}.gcm-planner-legend{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:0 18px 17px;color:#778598;font-size:calc(9.5px + var(--gcm-font-add,0px))}.gcm-planner-legend i{display:inline-block;width:15px;height:7px;border-radius:999px;margin-right:5px}.gcm-planner-legend i.is-healthy{background:#55be69}.gcm-planner-legend i.is-warning{background:#f4a31b}.gcm-planner-legend i.is-critical{background:#ef4a4d}.gcm-smart-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:18px}.gcm-scenario-card,.gcm-factory-map-card{overflow:hidden}.gcm-scenario-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 18px 18px}.gcm-scenario-tile{position:relative;border:1px solid #e4eaf1;border-radius:12px;padding:13px;background:#fbfcfe}.gcm-scenario-tile.is-recommended{border-color:#79a9ff;background:#f4f8ff;box-shadow:inset 0 0 0 1px #79a9ff}.gcm-scenario-tile>div:first-child{display:flex;align-items:center;gap:7px;min-height:23px}.gcm-scenario-tile strong{font-size:calc(11px + var(--gcm-font-add,0px))}.gcm-scenario-tile>div>span{padding:3px 6px;border-radius:999px;background:#1769ff;color:#fff;font-size:calc(7.5px + var(--gcm-font-add,0px));font-weight:800}.gcm-scenario-tile>b{display:block;margin-top:8px;font-size:calc(24px + var(--gcm-font-add,0px));color:#1a2940}.gcm-scenario-tile>b em{font-style:normal;font-size:calc(9px + var(--gcm-font-add,0px));color:#8b96a6}.gcm-scenario-tile p{min-height:34px;margin:4px 0 8px;color:#7c8797;font-size:calc(9px + var(--gcm-font-add,0px));line-height:1.4}.gcm-scenario-tile dl{margin:0;display:grid;gap:4px}.gcm-scenario-tile dl>div{display:flex;justify-content:space-between;gap:8px;font-size:calc(8.5px + var(--gcm-font-add,0px))}.gcm-scenario-tile dt{color:#8994a3}.gcm-scenario-tile dd{margin:0;font-weight:750;color:#35445a}.gcm-factory-load-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:0 18px 18px}.gcm-factory-line{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding:11px;border:1px solid #e7ebf1;border-radius:10px;background:#fbfcfe}.gcm-factory-line>div strong{display:block;font-size:calc(11px + var(--gcm-font-add,0px))}.gcm-factory-line>div span{display:block;margin-top:2px;color:#8792a2;font-size:calc(8.5px + var(--gcm-font-add,0px))}.gcm-factory-line>b{font-size:calc(14px + var(--gcm-font-add,0px));align-self:center}.gcm-factory-line>.gcm-app-progress-track{grid-column:1/-1;height:8px}.gcm-factory-line>small{grid-column:1/-1;color:#778598;font-size:calc(8.5px + var(--gcm-font-add,0px))}.gcm-factory-line.is-critical{background:#fff6f6;border-color:#ffd9d9}.gcm-factory-line.is-critical>b{color:var(--gcm-red)}.gcm-factory-line.is-warning{background:#fffaf1;border-color:#ffe8bc}.gcm-factory-line.is-warning>b{color:#c77900}.gcm-factory-line.is-critical .gcm-app-progress-track i{background:var(--gcm-red)}.gcm-factory-line.is-warning .gcm-app-progress-track i{background:var(--gcm-orange)}.is-danger-text{color:var(--gcm-red)!important}

/* v0.7.0 — Predictive risk */
.gcm-predictive-page{display:grid;gap:16px;margin-bottom:20px}.gcm-predictive-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 21px}.gcm-predictive-hero h2{margin:4px 0 5px;font-size:calc(21px + var(--gcm-font-add,0px))}.gcm-predictive-hero p{margin:0;max-width:850px;color:#738095;font-size:calc(11px + var(--gcm-font-add,0px));line-height:1.5}.gcm-predictive-hero-badge{min-width:120px;text-align:center;padding:11px 14px;border:1px solid #ffd2d2;border-radius:12px;background:#fff5f5}.gcm-predictive-hero-badge strong{display:block;color:var(--gcm-red);font-size:calc(27px + var(--gcm-font-add,0px))}.gcm-predictive-hero-badge span{font-size:calc(9px + var(--gcm-font-add,0px));color:#8a5960}.gcm-predictive-list{display:grid;gap:9px}.gcm-predictive-row{display:grid;grid-template-columns:minmax(200px,.95fr) minmax(135px,.55fr) minmax(155px,.72fr) minmax(145px,.65fr) minmax(250px,1.15fr) 32px;align-items:center;gap:14px;padding:12px 14px;border-left:4px solid #53bd69}.gcm-predictive-row.is-warning{border-left-color:var(--gcm-orange)}.gcm-predictive-row.is-critical{border-left-color:var(--gcm-red)}.gcm-predictive-po{display:flex;align-items:center;gap:10px}.gcm-predictive-score{width:49px;height:49px;border-radius:12px;background:#edf8f0;display:flex;align-items:baseline;justify-content:center;padding-top:10px;color:#2a9141;flex:0 0 auto}.gcm-predictive-row.is-warning .gcm-predictive-score{background:#fff4de;color:#bc7100}.gcm-predictive-row.is-critical .gcm-predictive-score{background:#ffecec;color:#c92c31}.gcm-predictive-score b{font-size:calc(16px + var(--gcm-font-add,0px))}.gcm-predictive-score small{font-size:calc(7px + var(--gcm-font-add,0px));font-weight:700}.gcm-predictive-po>div strong{display:block;font-size:calc(11.5px + var(--gcm-font-add,0px))}.gcm-predictive-po>div span{display:block;margin-top:3px;color:#8390a2;font-size:calc(8.5px + var(--gcm-font-add,0px))}.gcm-predictive-trend{display:grid;gap:4px}.gcm-mini-bars{height:31px;display:flex;align-items:flex-end;gap:3px}.gcm-mini-bars i{width:7px;min-height:3px;border-radius:2px 2px 0 0;background:#5fba72}.gcm-predictive-row.is-warning .gcm-mini-bars i{background:#f2a222}.gcm-predictive-row.is-critical .gcm-mini-bars i{background:#ef5558}.gcm-predictive-trend>span{font-size:calc(8.5px + var(--gcm-font-add,0px));font-weight:700;color:#718097}.gcm-predictive-trend>span.is-down{color:#c83237}.gcm-predictive-trend>span.is-up{color:#2c9743}.gcm-predictive-rate small,.gcm-predictive-eta small{display:block;color:#8b96a5;font-size:calc(8px + var(--gcm-font-add,0px))}.gcm-predictive-rate strong,.gcm-predictive-eta strong{display:block;margin-top:3px;font-size:calc(12px + var(--gcm-font-add,0px))}.gcm-predictive-rate strong em{font-size:calc(8px + var(--gcm-font-add,0px));font-style:normal;color:#748196}.gcm-predictive-rate span,.gcm-predictive-eta span{display:block;margin-top:2px;color:#7e8a9b;font-size:calc(8.5px + var(--gcm-font-add,0px))}.gcm-predictive-reason strong{display:block;font-size:calc(9.5px + var(--gcm-font-add,0px));line-height:1.35}.gcm-predictive-reason span{display:block;margin-top:3px;color:#8490a0;font-size:calc(8.5px + var(--gcm-font-add,0px));line-height:1.35}.gcm-predictive-method{display:flex;align-items:flex-start;gap:13px;padding:14px 16px;background:#f9fbfe}.gcm-predictive-method>.gcm-app-icon{color:#1769ff}.gcm-predictive-method strong{font-size:calc(11px + var(--gcm-font-add,0px))}.gcm-predictive-method p{margin:4px 0 0;color:#758295;font-size:calc(9.5px + var(--gcm-font-add,0px));line-height:1.5}

/* v0.7.0 — Shop-floor mobile capture + local QR */
.gcm-shopfloor-page{display:grid;gap:17px;margin-bottom:20px}.gcm-shopfloor-grid{display:grid;grid-template-columns:minmax(520px,1.35fr) minmax(300px,.65fr);gap:17px;align-items:start}.gcm-shopfloor-entry-card{overflow:hidden}.gcm-shopfloor-form{padding:0 18px 19px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gcm-shopfloor-form label{display:grid;gap:6px}.gcm-shopfloor-form label>span{color:#5e6c80;font-size:calc(10px + var(--gcm-font-add,0px));font-weight:700}.gcm-shopfloor-form select,.gcm-shopfloor-form input,.gcm-shopfloor-form textarea{width:100%;border:1px solid #dfe5ed;border-radius:9px;background:#fff;padding:0 11px;outline:none;color:#26364d;font:inherit;font-size:calc(11px + var(--gcm-font-add,0px))}.gcm-shopfloor-form select,.gcm-shopfloor-form input{height:42px}.gcm-shopfloor-form textarea{min-height:112px;padding:10px 11px;line-height:1.5;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#fbfdff}.gcm-shopfloor-form small{color:#7f8ca0;font-size:calc(8.5px + var(--gcm-font-add,0px));line-height:1.35}.gcm-shopfloor-form select:focus,.gcm-shopfloor-form input:focus,.gcm-shopfloor-form textarea:focus{border-color:#6ea4ff;box-shadow:0 0 0 3px rgba(23,105,255,.1)}.gcm-shopfloor-wide{grid-column:1/-1}.gcm-shopfloor-submit-row{display:flex!important;align-items:center!important;grid-template-columns:none!important;gap:12px!important}.gcm-shopfloor-submit-row>span{font-size:calc(10px + var(--gcm-font-add,0px));font-weight:650}.gcm-shopfloor-submit-row>span.is-success{color:#298b3e}.gcm-shopfloor-submit-row>span.is-error{color:#ca3035}.gcm-shopfloor-side{display:grid;gap:17px}.gcm-shopfloor-qr-card{padding:18px;display:grid;justify-items:center;text-align:center}.gcm-shopfloor-qr-card h2{margin:5px 0 4px;font-size:calc(16px + var(--gcm-font-add,0px))}.gcm-shopfloor-qr-card p{margin:0;color:#7b8798;font-size:calc(9.5px + var(--gcm-font-add,0px));line-height:1.45}.gcm-shopfloor-qr-card>small{margin-top:8px;color:#8792a2;font-size:calc(8.5px + var(--gcm-font-add,0px));line-height:1.4}.gcm-qr-wrap{width:220px;height:220px;margin:15px auto 7px;padding:10px;background:#fff;border:1px solid #e3e8ef;border-radius:12px;box-shadow:0 8px 22px rgba(24,39,65,.08)}.gcm-qr-wrap svg{width:100%!important;height:100%!important;display:block}.gcm-shopfloor-today{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#e9edf3;overflow:hidden}.gcm-shopfloor-today>div{background:#fff;padding:13px}.gcm-shopfloor-today small{display:block;color:#8792a2;font-size:calc(8.5px + var(--gcm-font-add,0px))}.gcm-shopfloor-today strong{display:block;margin-top:4px;font-size:calc(17px + var(--gcm-font-add,0px))}.gcm-shopfloor-today strong em{font-style:normal;font-size:calc(8px + var(--gcm-font-add,0px));color:#7c899a}.gcm-shopfloor-events-card{overflow:hidden}.gcm-shopfloor-events{padding:0 18px 16px;overflow:auto}.gcm-shopfloor-event{min-width:860px;display:grid;grid-template-columns:95px 160px 105px 180px 115px minmax(180px,1fr);gap:12px;align-items:center;min-height:49px;border-bottom:1px solid #edf1f5;font-size:calc(9.5px + var(--gcm-font-add,0px))}.gcm-shopfloor-event.is-head{min-height:38px;color:#7e8999;font-size:calc(8px + var(--gcm-font-add,0px));font-weight:750;text-transform:uppercase;letter-spacing:.04em}.gcm-shopfloor-event strong{display:block}.gcm-shopfloor-event small{display:block;margin-top:2px;color:#8c97a6}.gcm-event-pill{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eaf7ed;color:#25873a;font-size:calc(8px + var(--gcm-font-add,0px))}.gcm-event-pill.is-defect{background:#fff0f0;color:#c72f34}.gcm-event-pill.is-downtime{background:#fff4df;color:#b86c00}

/* v0.7.0 — Production Copilot */
.gcm-copilot-page{display:grid;gap:17px;margin-bottom:20px}.gcm-copilot-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 21px;background:linear-gradient(135deg,#fff 0%,#f4f8ff 100%)}.gcm-copilot-hero h2{margin:4px 0 5px;font-size:calc(21px + var(--gcm-font-add,0px))}.gcm-copilot-hero p{margin:0;max-width:870px;color:#748196;font-size:calc(10.5px + var(--gcm-font-add,0px));line-height:1.5}.gcm-copilot-private{padding:7px 10px;border-radius:999px;background:#eaf8ee;color:#277f3a;font-size:calc(9px + var(--gcm-font-add,0px));font-weight:750;white-space:nowrap}.gcm-copilot-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:17px}.gcm-copilot-chat{min-height:540px;display:flex;flex-direction:column;overflow:hidden}.gcm-copilot-messages{padding:20px;display:flex;flex-direction:column;gap:14px;overflow:auto;flex:1;background:linear-gradient(180deg,#fbfcfe,#fff)}.gcm-copilot-message{display:flex;gap:11px;max-width:88%;align-self:flex-start}.gcm-copilot-message.is-user{align-self:flex-end;flex-direction:row-reverse}.gcm-copilot-message>.gcm-app-brand-mark{width:34px;height:34px;border-radius:9px;flex:0 0 auto}.gcm-copilot-message>.gcm-app-brand-mark .gcm-app-icon{width:19px;height:19px}.gcm-copilot-message>div{padding:11px 13px;border:1px solid #e2e8ef;border-radius:4px 13px 13px 13px;background:#fff;box-shadow:0 5px 14px rgba(29,45,72,.05)}.gcm-copilot-message.is-user>div{background:#1769ff;color:#fff;border-color:#1769ff;border-radius:13px 4px 13px 13px}.gcm-copilot-message strong{font-size:calc(10px + var(--gcm-font-add,0px))}.gcm-copilot-message p{margin:4px 0 0;font-size:calc(10.5px + var(--gcm-font-add,0px));line-height:1.55}.gcm-copilot-message ul{margin:8px 0 0;padding-left:18px;color:#647389;font-size:calc(9px + var(--gcm-font-add,0px));line-height:1.5}.gcm-copilot-message.is-user ul{color:#fff}.gcm-copilot-form{display:grid;grid-template-columns:1fr auto;gap:9px;padding:13px;border-top:1px solid #e8edf3;background:#fff}.gcm-copilot-form input{height:44px;border:1px solid #dce3ec;border-radius:10px;padding:0 13px;outline:none;font-size:calc(11px + var(--gcm-font-add,0px))}.gcm-copilot-form input:focus{border-color:#6aa2ff;box-shadow:0 0 0 3px rgba(23,105,255,.1)}.gcm-copilot-side{display:grid;gap:17px;align-content:start}.gcm-copilot-prompts{padding:0 16px 16px;display:grid;gap:8px}.gcm-copilot-prompts button{border:1px solid #e0e6ed;border-radius:10px;background:#fbfcfe;color:#314158;padding:11px 12px;text-align:left;cursor:pointer;font-size:calc(10px + var(--gcm-font-add,0px));font-weight:650}.gcm-copilot-prompts button:hover{border-color:#a9c8ff;background:#f4f8ff;color:#1769ff}.gcm-copilot-note{padding:15px;background:#fffaf1;border-color:#ffe5b6}.gcm-copilot-note strong{font-size:calc(10.5px + var(--gcm-font-add,0px));color:#9a6206}.gcm-copilot-note p{margin:5px 0 0;color:#806f55;font-size:calc(9.5px + var(--gcm-font-add,0px));line-height:1.5}

@media(max-width:1320px){.gcm-scenario-grid{grid-template-columns:repeat(2,1fr)}.gcm-smart-grid{grid-template-columns:1fr}.gcm-predictive-row{grid-template-columns:minmax(190px,1fr) 120px 140px 130px minmax(220px,1fr) 28px}.gcm-shopfloor-grid,.gcm-copilot-layout{grid-template-columns:1fr}.gcm-shopfloor-side{grid-template-columns:1fr 1fr}.gcm-shopfloor-qr-card{grid-row:span 1}.gcm-copilot-side{grid-template-columns:1fr 1fr}}
@media(max-width:980px){.gcm-smart-planning-hero,.gcm-predictive-hero,.gcm-copilot-hero{align-items:flex-start;flex-direction:column}.gcm-planner-actions{justify-content:flex-start}.gcm-predictive-row{grid-template-columns:1fr 120px 130px 28px}.gcm-predictive-rate,.gcm-predictive-eta{grid-row:2}.gcm-predictive-reason{grid-column:1/4}.gcm-factory-load-grid{grid-template-columns:1fr}.gcm-shopfloor-side,.gcm-copilot-side{grid-template-columns:1fr}}
@media(max-width:760px){.gcm-smart-planning{gap:13px}.gcm-smart-planning-hero{padding:15px}.gcm-planner-actions{width:100%}.gcm-planner-actions .gcm-app-btn{width:auto;padding:0 11px}.gcm-planner-actions .gcm-app-btn span{display:inline}.gcm-scenario-grid{grid-template-columns:1fr;padding-left:13px;padding-right:13px}.gcm-planner-gantt{margin-left:12px;margin-right:12px}.gcm-predictive-row{grid-template-columns:1fr 28px;padding:11px}.gcm-predictive-trend,.gcm-predictive-rate,.gcm-predictive-eta,.gcm-predictive-reason{grid-column:1/-1;grid-row:auto}.gcm-predictive-row>.gcm-app-row-inspect{grid-column:2;grid-row:1}.gcm-shopfloor-form{grid-template-columns:1fr;padding-left:13px;padding-right:13px}.gcm-shopfloor-wide{grid-column:auto}.gcm-shopfloor-submit-row{grid-column:1/-1}.gcm-qr-wrap{width:190px;height:190px}.gcm-copilot-chat{min-height:480px}.gcm-copilot-message{max-width:96%}.gcm-copilot-form{grid-template-columns:1fr}.gcm-copilot-form .gcm-app-btn{width:100%;padding:0 12px}.gcm-copilot-form .gcm-app-btn span{display:inline}}

/* v0.7 permissions / shop-floor operator UX */
.gcm-permission-note{
  display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border:1px solid #dbe3ee;border-radius:10px;background:#f8fafc;color:#64748b;font-size:var(--gcm-fs-sm);font-weight:700;
}
.gcm-shopfloor-readonly{
  padding:20px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;color:#475569;
}
.gcm-shopfloor-readonly strong{display:block;color:#0f172a;font-size:var(--gcm-fs-lg);margin-bottom:6px}
.gcm-shopfloor-readonly p{margin:0;line-height:1.65}
.gcm-shopfloor-readonly code{font-size:.92em;background:#e2e8f0;padding:2px 5px;border-radius:5px}
@media (max-width:760px){
  .gcm-app[data-gcm-view="shopfloor"] .gcm-app-kpis{display:none}
  .gcm-shopfloor-entry-card,.gcm-shopfloor-qr-card,.gcm-shopfloor-events-card{border-radius:14px}
  .gcm-shopfloor-page{padding-bottom:84px}
}

/* v0.7 overview early-warning preview */
.gcm-predictive-preview{margin-top:16px;padding:18px 20px}
.gcm-predictive-preview-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.gcm-predictive-preview-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto 18px;align-items:center;gap:12px;padding:13px 14px;border:1px solid #e2e8f0;border-radius:13px;background:#fff;color:inherit;text-decoration:none;transition:.18s ease}
.gcm-predictive-preview-item:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(15,23,42,.07);border-color:#cbd5e1}
.gcm-predictive-preview-item.is-critical{background:#fff8f8;border-color:#fecaca}
.gcm-predictive-preview-item.is-warning{background:#fffbeb;border-color:#fde68a}
.gcm-predictive-preview-score{display:flex;align-items:baseline;justify-content:center;min-width:54px;color:#0f172a}
.gcm-predictive-preview-score b{font-size:1.45em;line-height:1}.gcm-predictive-preview-score small{font-size:.72em;color:#94a3b8}
.gcm-predictive-preview-item>div:nth-child(2){min-width:0}.gcm-predictive-preview-item>div:nth-child(2) strong,.gcm-predictive-preview-item>div:nth-child(2) span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcm-predictive-preview-item>div:nth-child(2) span{margin-top:3px;color:#64748b;font-size:var(--gcm-fs-sm)}
.gcm-predictive-preview-item>div:nth-child(3){text-align:right}.gcm-predictive-preview-item>div:nth-child(3) small,.gcm-predictive-preview-item>div:nth-child(3) span{display:block;color:#94a3b8;font-size:var(--gcm-fs-xs)}.gcm-predictive-preview-item>div:nth-child(3) b{display:block;color:#0f172a;margin:2px 0}
@media(max-width:1100px){.gcm-predictive-preview-list{grid-template-columns:1fr}.gcm-predictive-preview-item>div:nth-child(2) span{white-space:normal}}

/* v0.6 planner lock control */
.gcm-gantt-item.is-locked{outline:2px solid rgba(37,99,235,.22);outline-offset:1px}
.gcm-gantt-lock{position:absolute;right:4px;top:3px;display:grid;place-items:center;width:19px;height:19px;border:0;border-radius:6px;background:rgba(255,255,255,.86);color:#64748b;font-size:11px;line-height:1;padding:0;cursor:pointer;box-shadow:0 1px 4px rgba(15,23,42,.08)}
button.gcm-gantt-lock:hover{background:#fff;color:#2563eb}.gcm-gantt-lock.is-active{color:#1d4ed8;background:#eff6ff}

/* v0.8.0 — Workforce & Line Intelligence */
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.gcm-app-nav-label{padding:13px 14px 5px;color:#9aa5b4;font-size:calc(9px + var(--gcm-font-add,0px));font-weight:850;letter-spacing:.13em;text-transform:uppercase}.gcm-app-nav-label:first-child{padding-top:4px}
.gcm-workforce-page,.gcm-workforce-detail-page,.gcm-lines-page,.gcm-line-detail-page,.gcm-departments-page,.gcm-department-detail-page{display:grid;gap:17px;margin-bottom:22px}
.gcm-workforce-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:21px 22px;background:linear-gradient(135deg,#fff 0%,#f6f9ff 100%)}
.gcm-workforce-hero h2{margin:4px 0 6px;font-size:calc(22px + var(--gcm-font-add,0px));letter-spacing:-.025em;color:#142038}
.gcm-workforce-hero p{margin:0;max-width:830px;color:#6f7d91;font-size:calc(11px + var(--gcm-font-add,0px));line-height:1.55}
.gcm-workforce-hero-actions,.gcm-employee-hero-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.gcm-workforce-gap-card{overflow:hidden}.gcm-workforce-gap-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 18px 18px}.gcm-workforce-gap-list>div{display:grid;grid-template-columns:32px 1fr auto;grid-template-rows:auto auto;gap:3px 9px;align-items:center;padding:12px;border:1px solid #e8edf3;border-radius:11px;background:#fbfcfe}.gcm-workforce-gap-list .gcm-app-stage-icon{grid-row:1/3;width:32px;height:32px}.gcm-workforce-gap-list strong{font-size:calc(10.5px + var(--gcm-font-add,0px));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcm-workforce-gap-list b{font-size:calc(10px + var(--gcm-font-add,0px));color:#c47700}.gcm-workforce-gap-list small{color:#8a95a5;font-size:calc(8.5px + var(--gcm-font-add,0px))}
.gcm-workforce-directory,.gcm-skill-matrix-card{overflow:hidden}.gcm-workforce-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gcm-workforce-filters input,.gcm-workforce-filters select{height:38px;border:1px solid #dfe5ed;border-radius:9px;background:#fff;color:#344258;padding:0 10px;outline:none;font-size:calc(10px + var(--gcm-font-add,0px))}.gcm-workforce-filters input{width:205px}.gcm-workforce-filters select{max-width:150px}.gcm-workforce-filters input:focus,.gcm-workforce-filters select:focus{border-color:#78a8ff;box-shadow:0 0 0 3px rgba(23,105,255,.09)}
.gcm-workforce-table-wrap{overflow:auto;border-top:1px solid #eef1f5}.gcm-workforce-table{min-width:1180px;display:grid;grid-template-columns:minmax(190px,1.35fr) 130px 130px 112px 130px 105px 120px 90px 24px;gap:12px;align-items:center;padding:11px 18px}.gcm-workforce-table.is-head{position:sticky;top:0;z-index:2;min-height:39px;background:#f8fafc;color:#7c8898;font-size:calc(8.5px + var(--gcm-font-add,0px));font-weight:800;text-transform:uppercase;letter-spacing:.045em;border-bottom:1px solid #e8edf3}.gcm-workforce-person-row{color:#26364b;border-bottom:1px solid #edf1f5;transition:.15s;background:#fff}.gcm-workforce-person-row:last-child{border-bottom:0}.gcm-workforce-person-row:hover{background:#f8fbff}.gcm-workforce-person-row.is-critical{box-shadow:inset 3px 0 #ef4444}.gcm-workforce-person-row.is-warning{box-shadow:inset 3px 0 #f59e0b}.gcm-workforce-table>span{min-width:0}.gcm-workforce-table>span>strong,.gcm-workforce-table>span>b:not(.gcm-workforce-avatar){display:block;font-size:calc(10.5px + var(--gcm-font-add,0px));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcm-workforce-table>span>small{display:block;margin-top:3px;color:#8a96a6;font-size:calc(8.5px + var(--gcm-font-add,0px));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcm-workforce-person{display:flex;align-items:center;gap:10px}.gcm-workforce-person>span{min-width:0}.gcm-workforce-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#e8f1ff,#cfe0fb);color:#245ea5;font-size:calc(11px + var(--gcm-font-add,0px));font-weight:850;flex:0 0 auto}.gcm-workforce-avatar.is-large{width:58px;height:58px;border-radius:16px;font-size:calc(22px + var(--gcm-font-add,0px));box-shadow:0 7px 18px rgba(23,105,255,.13)}.gcm-workforce-status{display:inline-flex!important;width:max-content;max-width:100%;padding:4px 7px;border-radius:999px;background:#eef2f6;color:#657386;font-size:calc(8.5px + var(--gcm-font-add,0px))!important;font-weight:800}.gcm-workforce-status.is-present{background:#eaf8ee;color:#27843a}.gcm-workforce-status.is-half_day{background:#fff4dd;color:#b96e00}.gcm-workforce-status.is-absent,.gcm-workforce-status.is-sick,.gcm-workforce-status.is-leave,.gcm-workforce-status.is-off{background:#ffeded;color:#c72f34}.gcm-workforce-status.is-not_recorded{background:#eef2f6;color:#718096}.gcm-workforce-eff-bar{display:block;height:4px;margin-top:5px;border-radius:99px;background:#e7ebf0;overflow:hidden}.gcm-workforce-eff-bar b{display:block;height:100%;border-radius:inherit;background:#32b34e}.gcm-workforce-person-row.is-warning .gcm-workforce-eff-bar b{background:#f2a218}.gcm-workforce-person-row.is-critical .gcm-workforce-eff-bar b{background:#ef4444}
.gcm-skill-matrix-scroll{overflow:auto;padding:0 18px 18px}.gcm-skill-matrix{border-collapse:separate;border-spacing:0;min-width:820px;width:100%;font-size:calc(9.5px + var(--gcm-font-add,0px));border:1px solid #e8edf3;border-radius:11px;overflow:hidden}.gcm-skill-matrix th,.gcm-skill-matrix td{padding:9px 10px;border-right:1px solid #edf1f5;border-bottom:1px solid #edf1f5;text-align:center}.gcm-skill-matrix th:last-child,.gcm-skill-matrix td:last-child{border-right:0}.gcm-skill-matrix tr:last-child td{border-bottom:0}.gcm-skill-matrix th{background:#f8fafc;color:#718096;font-size:calc(8px + var(--gcm-font-add,0px));text-transform:uppercase;letter-spacing:.04em}.gcm-skill-matrix td:first-child,.gcm-skill-matrix th:first-child{text-align:left;position:sticky;left:0;z-index:1;background:#fff;min-width:170px}.gcm-skill-matrix th:first-child{background:#f8fafc;z-index:2}.gcm-skill-matrix td:first-child strong,.gcm-skill-matrix td:first-child small{display:block}.gcm-skill-matrix td:first-child small{margin-top:2px;color:#8b96a5}.gcm-skill-level{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#eaf2ff;color:#1769ff;font-weight:850;cursor:help}.gcm-skill-level.is-l1{background:#f0f2f5;color:#788597}.gcm-skill-level.is-l2{background:#fff5df;color:#ad6d00}.gcm-skill-level.is-l3{background:#eaf2ff;color:#1769ff}.gcm-skill-level.is-l4{background:#e9f8ee;color:#27843a}.gcm-skill-level.is-l5{background:#dff6e6;color:#16822f;box-shadow:inset 0 0 0 1px #bde8c8}.gcm-skill-empty{color:#c3cad3}
.gcm-employee-profile-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;background:linear-gradient(135deg,#fff,#f7faff)}.gcm-employee-identity{display:flex;align-items:center;gap:14px;min-width:0}.gcm-employee-identity h2{margin:3px 0 4px;font-size:calc(23px + var(--gcm-font-add,0px));letter-spacing:-.025em}.gcm-employee-identity p{margin:0;color:#768396;font-size:calc(10.5px + var(--gcm-font-add,0px))}.gcm-employee-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px}.gcm-employee-kpis>article{padding:14px 15px;min-height:100px}.gcm-employee-kpis small{display:block;color:#7e8999;font-size:calc(9px + var(--gcm-font-add,0px));font-weight:650}.gcm-employee-kpis strong{display:block;margin-top:8px;color:#1a2940;font-size:calc(18px + var(--gcm-font-add,0px));line-height:1.1}.gcm-employee-kpis strong em{font-style:normal;font-size:calc(9px + var(--gcm-font-add,0px));color:#8190a2}.gcm-employee-kpis>article>span{display:block;margin-top:6px;color:#8b96a6;font-size:calc(8.5px + var(--gcm-font-add,0px));line-height:1.35}.gcm-employee-detail-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:17px}.gcm-employee-bottom-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.gcm-employee-trend-card,.gcm-employee-skills-card,.gcm-employee-calendar-card,.gcm-workforce-recommend-card{overflow:hidden}.gcm-employee-trend-chart{height:220px;padding:20px 18px 6px;display:flex;align-items:flex-end;gap:6px;border-top:1px solid #f1f3f6;background:linear-gradient(180deg,#fbfcfe,#fff)}.gcm-employee-trend-chart>div{height:100%;min-width:12px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;cursor:help}.gcm-employee-trend-chart i{width:min(18px,72%);min-height:4px;border-radius:5px 5px 2px 2px;background:#32b34e;transition:.15s}.gcm-employee-trend-chart i.is-mid{background:#f3a11a}.gcm-employee-trend-chart i.is-low{background:#ef4444}.gcm-employee-trend-chart small{font-size:calc(7.5px + var(--gcm-font-add,0px));color:#8b96a5}.gcm-chart-foot{display:flex;justify-content:space-between;gap:16px;padding:10px 18px 14px;color:#7d8999;font-size:calc(9px + var(--gcm-font-add,0px));border-top:1px solid #eef1f5}.gcm-chart-foot b{color:#334258}.gcm-employee-skill-list{padding:0 17px 15px}.gcm-employee-skill-list>div{display:grid;grid-template-columns:32px 1fr auto auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #edf1f5}.gcm-employee-skill-list>div:last-child{border-bottom:0}.gcm-employee-skill-list .gcm-app-stage-icon{width:32px;height:32px}.gcm-employee-skill-list strong{font-size:calc(10.5px + var(--gcm-font-add,0px))}.gcm-employee-skill-list small{display:block;margin-top:3px;color:#8c97a7;font-size:calc(8.5px + var(--gcm-font-add,0px))}.gcm-employee-skill-list>div>b{padding:4px 7px;border-radius:7px;background:#eef3fb;color:#315f9c;font-size:calc(9px + var(--gcm-font-add,0px))}.gcm-employee-skill-list>div>span:last-child{font-size:calc(10px + var(--gcm-font-add,0px));font-weight:800;color:#27374e}.gcm-employee-attendance-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:7px;padding:2px 17px 17px}.gcm-employee-attendance-grid>div{min-height:55px;border:1px solid #e5eaf0;border-radius:9px;background:#f8fafc;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:help}.gcm-employee-attendance-grid b{font-size:calc(11px + var(--gcm-font-add,0px))}.gcm-employee-attendance-grid small{margin-top:2px;color:#8d98a7;font-size:calc(7.5px + var(--gcm-font-add,0px))}.gcm-employee-attendance-grid .is-present{background:#eef9f1;border-color:#d5efdc}.gcm-employee-attendance-grid .is-half_day{background:#fff8e9;border-color:#f8e6bf}.gcm-employee-attendance-grid .is-absent,.gcm-employee-attendance-grid .is-sick,.gcm-employee-attendance-grid .is-leave,.gcm-employee-attendance-grid .is-off{background:#fff1f1;border-color:#f7d5d5}.gcm-workforce-recommend-list{display:grid;gap:8px;padding:0 17px 16px}.gcm-workforce-recommend-list>div{padding:11px 12px;border:1px solid #e7ebf1;border-left:4px solid #8ea1ba;border-radius:10px;background:#fbfcfe}.gcm-workforce-recommend-list>div.is-critical{background:#fff7f7;border-color:#f4d2d2;border-left-color:#ef4444}.gcm-workforce-recommend-list>div.is-warning{background:#fffaf0;border-color:#f6e3bf;border-left-color:#f59e0b}.gcm-workforce-recommend-list>div.is-success{background:#f4fbf6;border-color:#d9ecde;border-left-color:#32b34e}.gcm-workforce-recommend-list b,.gcm-workforce-recommend-list span,.gcm-workforce-recommend-list small{display:block}.gcm-workforce-recommend-list b{font-size:calc(10.5px + var(--gcm-font-add,0px));color:#28384f}.gcm-workforce-recommend-list span{margin-top:4px;color:#647489;font-size:calc(9.5px + var(--gcm-font-add,0px));line-height:1.45}.gcm-workforce-recommend-list small{margin-top:6px;color:#1769ff;font-size:calc(8.5px + var(--gcm-font-add,0px));font-weight:750}
.gcm-workforce-entry-card{overflow:hidden}.gcm-workforce-entry-tabs{display:flex;gap:4px;padding:0 17px 11px;border-bottom:1px solid #edf1f5}.gcm-workforce-entry-tabs button{height:34px;padding:0 12px;border:1px solid #e0e6ee;border-radius:8px;background:#fff;color:#617086;font-weight:700;cursor:pointer;font-size:calc(9.5px + var(--gcm-font-add,0px))}.gcm-workforce-entry-tabs button.is-active{background:#eaf2ff;border-color:#bfd3fa;color:#1769ff}.gcm-workforce-entry-panels{padding:16px 17px}.gcm-workforce-entry-panels form{display:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.gcm-workforce-entry-panels form.is-active{display:grid}.gcm-workforce-entry-panels label{display:grid;gap:5px;color:#617087;font-size:calc(9px + var(--gcm-font-add,0px));font-weight:650}.gcm-workforce-entry-panels input,.gcm-workforce-entry-panels select{width:100%;height:39px;border:1px solid #dce3ec;border-radius:9px;background:#fff;color:#2e3d53;padding:0 10px;outline:none;font:inherit}.gcm-workforce-entry-panels input:focus,.gcm-workforce-entry-panels select:focus{border-color:#75a5ff;box-shadow:0 0 0 3px rgba(23,105,255,.09)}.gcm-workforce-form-wide{grid-column:span 2}.gcm-workforce-checkbox{display:flex!important;align-items:center;gap:8px;height:39px}.gcm-workforce-checkbox input{width:17px;height:17px;accent-color:#1769ff}.gcm-workforce-entry-panels [data-gcm-workforce-message]{min-height:18px;color:#65748a;font-size:calc(8.5px + var(--gcm-font-add,0px))}.gcm-workforce-entry-panels [data-gcm-workforce-message].is-error{color:#d43a3e}.gcm-workforce-entry-panels [data-gcm-workforce-message].is-success{color:#25873a}
.gcm-line-card-grid,.gcm-department-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.gcm-line-intel-card,.gcm-department-card{display:block;color:inherit;overflow:hidden;transition:.16s}.gcm-line-intel-card:hover,.gcm-department-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(24,42,72,.09)}.gcm-line-intel-card.is-critical,.gcm-department-card.is-critical{border-color:#f4c9c9}.gcm-line-intel-card.is-warning,.gcm-department-card.is-warning{border-color:#f3dfb9}.gcm-line-card-head,.gcm-department-card-head{display:flex;align-items:center;gap:11px;padding:16px 17px 12px}.gcm-line-card-head>div,.gcm-department-card-head>div{min-width:0;flex:1}.gcm-line-card-head h2,.gcm-department-card-head h2{margin:2px 0;font-size:calc(16px + var(--gcm-font-add,0px));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcm-line-card-head small{color:#8a95a5;font-size:calc(8.5px + var(--gcm-font-add,0px))}.gcm-line-health-dot{width:10px;height:10px;border-radius:50%;background:#30b44c;box-shadow:0 0 0 4px #edf8f0}.is-warning .gcm-line-health-dot{background:#f59e0b;box-shadow:0 0 0 4px #fff5df}.is-critical .gcm-line-health-dot{background:#ef4444;box-shadow:0 0 0 4px #ffeded}.gcm-line-main-metrics,.gcm-department-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#edf1f5;border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5}.gcm-line-main-metrics>div,.gcm-department-metrics>div{background:#fff;padding:11px 10px}.gcm-line-main-metrics small,.gcm-department-metrics small{display:block;color:#8792a2;font-size:calc(8px + var(--gcm-font-add,0px))}.gcm-line-main-metrics strong,.gcm-department-metrics strong{display:block;margin-top:4px;font-size:calc(14px + var(--gcm-font-add,0px));color:#213149}.gcm-line-main-metrics em,.gcm-department-metrics em{font-style:normal;font-size:calc(8px + var(--gcm-font-add,0px));color:#8a95a5}.gcm-line-load{padding:13px 17px}.gcm-line-load>div{display:flex;align-items:center;justify-content:space-between;color:#637186;font-size:calc(9.5px + var(--gcm-font-add,0px));font-weight:650}.gcm-line-load>div strong{color:#223149;font-size:calc(11px + var(--gcm-font-add,0px))}.gcm-line-load .gcm-app-progress-track{height:9px;margin:8px 0}.gcm-line-intel-card.is-warning .gcm-line-load .gcm-app-progress-track i{background:#f59e0b}.gcm-line-intel-card.is-critical .gcm-line-load .gcm-app-progress-track i{background:#ef4444}.gcm-line-load>small{color:#8792a3;font-size:calc(8.5px + var(--gcm-font-add,0px))}.gcm-line-card-foot,.gcm-department-card-foot{display:flex;align-items:center;gap:12px;padding:11px 17px;border-top:1px solid #edf1f5;color:#718096;font-size:calc(8.5px + var(--gcm-font-add,0px));background:#fbfcfe}.gcm-line-card-foot .gcm-app-icon,.gcm-department-card-head>.gcm-app-icon{margin-left:auto;width:15px;height:15px}.gcm-department-card-foot{justify-content:space-between}
.gcm-line-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:22px;align-items:center;padding:20px 22px;border-left:5px solid #31b34c}.gcm-line-detail-hero.is-warning{border-left-color:#f59e0b}.gcm-line-detail-hero.is-critical{border-left-color:#ef4444}.gcm-line-detail-hero h2{margin:4px 0;font-size:calc(23px + var(--gcm-font-add,0px));letter-spacing:-.025em}.gcm-line-detail-hero p{margin:0;color:#758296;font-size:calc(10.5px + var(--gcm-font-add,0px))}.gcm-line-detail-score{text-align:right;min-width:120px}.gcm-line-detail-score small,.gcm-line-detail-score span{display:block;color:#8290a2;font-size:calc(8.5px + var(--gcm-font-add,0px))}.gcm-line-detail-score strong{display:block;margin:2px 0;color:#1c2a40;font-size:calc(25px + var(--gcm-font-add,0px))}.gcm-line-detail-grid,.gcm-department-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.gcm-line-people-list,.gcm-line-order-list,.gcm-dept-line-list{padding:0 17px 15px}.gcm-line-people-list>a,.gcm-line-order-list>a,.gcm-dept-line-list>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto 16px;gap:10px;align-items:center;min-height:55px;padding:9px 0;border-bottom:1px solid #edf1f5;color:inherit}.gcm-line-order-list>a,.gcm-dept-line-list>a{grid-template-columns:minmax(0,1fr) auto auto 16px}.gcm-line-people-list>a:last-child,.gcm-line-order-list>a:last-child,.gcm-dept-line-list>a:last-child{border-bottom:0}.gcm-line-people-list>a:hover,.gcm-line-order-list>a:hover,.gcm-dept-line-list>a:hover{color:#1769ff}.gcm-line-people-list strong,.gcm-line-order-list strong,.gcm-dept-line-list strong{font-size:calc(10.5px + var(--gcm-font-add,0px))}.gcm-line-people-list small,.gcm-line-order-list small,.gcm-dept-line-list small{display:block;margin-top:3px;color:#8b96a5;font-size:calc(8.5px + var(--gcm-font-add,0px))}.gcm-line-people-list>a>span,.gcm-dept-line-list>a>span{text-align:right}.gcm-line-people-list>a>span b,.gcm-dept-line-list>a>span b{display:block;color:#27374e}.gcm-line-skill-coverage{padding:12px 17px 17px;border-top:1px solid #edf1f5}.gcm-line-skill-coverage>strong{font-size:calc(10px + var(--gcm-font-add,0px));color:#344258}.gcm-line-skill-coverage>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.gcm-line-skill-coverage>div>span{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:8px;background:#f4f7fb;color:#617087;font-size:calc(8.5px + var(--gcm-font-add,0px))}.gcm-line-skill-coverage>div b{color:#1769ff}
.gcm-department-card-head .gcm-app-stage-icon{width:36px;height:36px}.gcm-department-card-head>.gcm-app-icon{color:#8792a2}.gcm-department-detail-grid{margin-top:0}
@media(max-width:1380px){.gcm-workforce-gap-list{grid-template-columns:repeat(2,minmax(0,1fr))}.gcm-employee-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.gcm-line-card-grid,.gcm-department-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.gcm-workforce-hero,.gcm-employee-profile-hero{align-items:flex-start;flex-direction:column}.gcm-workforce-hero-actions,.gcm-employee-hero-actions{justify-content:flex-start}.gcm-employee-detail-grid,.gcm-employee-bottom-grid,.gcm-line-detail-grid,.gcm-department-detail-grid{grid-template-columns:1fr}.gcm-line-detail-hero{grid-template-columns:1fr auto}.gcm-line-detail-hero>.gcm-app-btn{grid-column:1/-1;width:max-content}.gcm-workforce-entry-panels form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.gcm-workforce-page,.gcm-workforce-detail-page,.gcm-lines-page,.gcm-line-detail-page,.gcm-departments-page,.gcm-department-detail-page{gap:12px}.gcm-workforce-hero,.gcm-employee-profile-hero,.gcm-line-detail-hero{padding:15px}.gcm-workforce-gap-list,.gcm-line-card-grid,.gcm-department-grid,.gcm-employee-kpis{grid-template-columns:1fr}.gcm-workforce-filters{width:100%}.gcm-workforce-filters label,.gcm-workforce-filters input,.gcm-workforce-filters select{width:100%;max-width:none}.gcm-employee-attendance-grid{grid-template-columns:repeat(6,1fr)}.gcm-employee-trend-chart{height:190px;gap:3px}.gcm-chart-foot{flex-direction:column;gap:5px}.gcm-workforce-entry-panels form{grid-template-columns:1fr}.gcm-workforce-form-wide{grid-column:auto}.gcm-line-main-metrics,.gcm-department-metrics{grid-template-columns:repeat(2,1fr)}.gcm-line-detail-hero{grid-template-columns:1fr}.gcm-line-detail-score{text-align:left}.gcm-line-detail-hero>.gcm-app-btn{grid-column:auto}.gcm-line-people-list>a{grid-template-columns:auto minmax(0,1fr) 16px}.gcm-line-people-list>a>span{grid-column:2;grid-row:2;text-align:left}.gcm-line-people-list>a>.gcm-app-icon{grid-column:3;grid-row:1/3}.gcm-line-order-list>a,.gcm-dept-line-list>a{grid-template-columns:1fr 16px}.gcm-line-order-list>a>span,.gcm-line-order-list>a>b,.gcm-dept-line-list>a>span{grid-column:1}.gcm-line-order-list>a>.gcm-app-icon,.gcm-dept-line-list>a>.gcm-app-icon{grid-column:2;grid-row:1/3}.gcm-workforce-gap-list{padding-left:13px;padding-right:13px}.gcm-skill-matrix-scroll{padding-left:12px;padding-right:12px}}

/* v0.9.0 — Cân bằng chuyền & tối ưu nhân lực */
.gcm-line-balance-page{display:grid;gap:16px}.gcm-line-balance-score{min-width:142px;padding:12px 14px;border:1px solid var(--gcm-border,#e5eaf1);border-radius:14px;background:#fff;display:flex;flex-direction:column;gap:2px}.gcm-line-balance-score small{font-size:.78rem;color:#697386}.gcm-line-balance-score strong{font-size:1.7rem;line-height:1.05}.gcm-line-balance-score strong em{font-size:.72rem;font-style:normal;color:#8992a3}.gcm-line-balance-score span{font-size:.75rem;color:#697386}.gcm-line-balance-score.is-critical{border-color:#fecaca;background:#fff7f7}.gcm-line-balance-score.is-warning{border-color:#fed7aa;background:#fffaf3}.gcm-line-balance-score.is-healthy{border-color:#bbf7d0;background:#f7fff9}
.gcm-line-command-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gcm-line-command-kpis>article{padding:16px 18px;display:flex;flex-direction:column;gap:5px}.gcm-line-command-kpis small{color:#697386;font-size:.78rem}.gcm-line-command-kpis strong{font-size:1.25rem;line-height:1.15;color:#172033}.gcm-line-command-kpis strong em{font-size:.7em;font-style:normal;color:#677184}.gcm-line-command-kpis span{font-size:.78rem;color:#7b8494}
.gcm-line-balance-card{overflow:visible}.gcm-line-operation-table{display:grid;gap:0;border-top:1px solid #edf0f5}.gcm-line-operation-row{display:grid;grid-template-columns:minmax(220px,1.55fr) minmax(180px,1.15fr) minmax(120px,.72fr) minmax(190px,1fr) minmax(100px,.58fr);gap:14px;align-items:center;padding:13px 18px;border-bottom:1px solid #edf0f5;min-width:900px}.gcm-line-operation-row.is-head{padding-top:10px;padding-bottom:10px;color:#7a8393;font-size:.75rem;font-weight:700;background:#fafbfc}.gcm-line-operation-row>span{min-width:0}.gcm-line-operation-row:not(.is-head)>span:first-child{display:flex;gap:10px;align-items:center}.gcm-line-operation-row:not(.is-head)>span:first-child>b{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#eef3ff;color:#3157b7;font-size:.78rem;flex:0 0 auto}.gcm-line-operation-row strong{font-size:.89rem;color:#172033}.gcm-line-operation-row small{display:block;font-size:.73rem;color:#7a8393;margin-top:3px}.gcm-line-operation-row.is-critical{background:#fff8f8}.gcm-line-operation-row.is-warning{background:#fffcf5}.gcm-line-op-load{display:flex;gap:9px;align-items:center}.gcm-line-op-load .gcm-app-progress-track{flex:1;min-width:95px;height:8px}.gcm-line-op-load strong{width:54px;text-align:right}.gcm-line-operation-row.is-critical .gcm-app-progress-track i{background:#e34d59}.gcm-line-operation-row.is-warning .gcm-app-progress-track i{background:#ef9f37}.gcm-line-operation-row.is-healthy .gcm-app-progress-track i{background:#28a36a}.gcm-line-assigned-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.gcm-line-assigned-chips i{font-style:normal;font-size:.66rem;font-weight:700;padding:3px 6px;border-radius:7px;background:#eef3ff;color:#3157b7;cursor:help}
.gcm-line-v09-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr);gap:16px}.gcm-line-hourly-card,.gcm-transfer-card{min-width:0}.gcm-hourly-chart{display:grid;gap:8px;padding:4px 2px}.gcm-hourly-row{display:grid;grid-template-columns:70px minmax(140px,1fr) 78px 54px;gap:10px;align-items:center;min-height:32px}.gcm-hourly-row>span{font-size:.75rem;font-weight:700;color:#596273}.gcm-hourly-row>div{height:11px;border-radius:999px;background:#eef1f5;position:relative;overflow:hidden}.gcm-hourly-row i,.gcm-hourly-row b.is-actual{position:absolute;left:0;top:0;height:100%;border-radius:999px}.gcm-hourly-row i.is-target{background:#d6dce7;opacity:.95}.gcm-hourly-row b.is-actual{height:6px;top:2.5px;background:#28a36a}.gcm-hourly-row.is-behind b.is-actual{background:#e34d59}.gcm-hourly-row>strong{font-size:.82rem;text-align:right}.gcm-hourly-row>strong small{font-size:.7rem;color:#8a93a3;font-weight:500}.gcm-hourly-row>em{font-style:normal;font-weight:800;text-align:right;color:#219162;font-size:.76rem}.gcm-hourly-row.is-behind>em{color:#d94551}.gcm-hourly-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #edf0f5}.gcm-hourly-summary span{padding:7px 9px;border-radius:9px;background:#f7f9fc;color:#697386;font-size:.73rem}.gcm-hourly-summary b{color:#172033}.gcm-hourly-summary .is-negative{background:#fff3f3;color:#c43d48}.gcm-hourly-summary .is-positive{background:#f0fbf5;color:#208255}
.gcm-transfer-list{display:grid;gap:8px}.gcm-transfer-list>a{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto 18px;gap:10px;align-items:center;padding:10px;border:1px solid #edf0f5;border-radius:12px;text-decoration:none;color:inherit;background:#fff}.gcm-transfer-list>a:hover{border-color:#c9d6f8;background:#f9fbff}.gcm-transfer-list>a>div strong{display:block;font-size:.84rem}.gcm-transfer-list>a>div small,.gcm-transfer-list>a>span small{display:block;color:#7a8393;font-size:.68rem;margin-top:2px}.gcm-transfer-list>a>span b{font-size:.78rem}.gcm-transfer-list>a>svg{width:16px}
.gcm-line-assignment-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) 150px auto auto;gap:10px;align-items:end}.gcm-line-assignment-form label{display:grid;gap:5px}.gcm-line-assignment-form label>span{font-size:.72rem;font-weight:700;color:#697386}.gcm-line-assignment-form select,.gcm-line-assignment-form input{width:100%;height:40px;border:1px solid #dce2eb;border-radius:10px;background:#fff;padding:0 10px;font:inherit;font-size:.8rem}.gcm-line-assignment-form>[data-gcm-line-assignment-message]{align-self:center;font-size:.73rem;color:#697386}.gcm-line-assignment-form>[data-gcm-line-assignment-message].is-success{color:#208255}.gcm-line-assignment-form>[data-gcm-line-assignment-message].is-error{color:#c43d48}
@media(max-width:1180px){.gcm-line-command-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.gcm-line-v09-grid{grid-template-columns:1fr}.gcm-line-operation-table{overflow-x:auto}.gcm-line-assignment-form{grid-template-columns:repeat(2,minmax(0,1fr))}.gcm-line-assignment-form .gcm-app-btn{justify-self:start}}
@media(max-width:700px){.gcm-line-command-kpis{grid-template-columns:1fr}.gcm-line-detail-hero{align-items:flex-start}.gcm-line-balance-score{width:100%;box-sizing:border-box}.gcm-hourly-row{grid-template-columns:56px 1fr 66px}.gcm-hourly-row>em{display:none}.gcm-transfer-list>a{grid-template-columns:36px minmax(0,1fr) auto 16px}.gcm-transfer-list>a>span:nth-of-type(2){display:none}.gcm-line-assignment-form{grid-template-columns:1fr}}

/* v1.0.0 — Kho, dòng chảy, chất lượng và đóng gói */
.gcm-v100-page{display:grid;gap:16px}.gcm-v100-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.gcm-v100-kpis>.gcm-app-card{padding:18px 20px;min-height:110px;display:flex;flex-direction:column;justify-content:center;border-left:4px solid #dce5f2}.gcm-v100-kpis>.gcm-app-card.is-danger{border-left-color:#ef4444;background:linear-gradient(135deg,#fff,#fff8f8)}.gcm-v100-kpis>.gcm-app-card.is-warning{border-left-color:#f59e0b;background:linear-gradient(135deg,#fff,#fffaf2)}.gcm-v100-kpis small{color:#718096;font-size:calc(10px + var(--gcm-font-add,0px));font-weight:700}.gcm-v100-kpis strong{font-size:calc(25px + var(--gcm-font-add,0px));line-height:1.1;margin:7px 0;color:#203047}.gcm-v100-kpis strong em{font-size:.46em;font-style:normal;color:#8390a2}.gcm-v100-kpis span{color:#8994a4;font-size:calc(9.5px + var(--gcm-font-add,0px))}.gcm-v100-table-card{overflow:hidden}.gcm-v100-table{overflow:auto}.gcm-v100-table>.is-head,.gcm-v100-table>.is-row{display:grid;align-items:center;gap:12px;padding:12px 18px;min-width:900px}.gcm-inventory-table>.is-head,.gcm-inventory-table>.is-row,.gcm-quality-log-table>.is-head,.gcm-quality-log-table>.is-row,.gcm-pack-log-table>.is-head,.gcm-pack-log-table>.is-row{grid-template-columns:minmax(180px,1.5fr) minmax(100px,.8fr) repeat(4,minmax(115px,1fr))}.gcm-v100-table>.is-head{background:#f7f9fc;border-top:1px solid #edf1f6;border-bottom:1px solid #e7ecf3;color:#77859a;font-size:calc(8.8px + var(--gcm-font-add,0px));font-weight:800;text-transform:uppercase;letter-spacing:.04em}.gcm-v100-table>.is-row{border-bottom:1px solid #edf1f5;color:#526176;font-size:calc(9.8px + var(--gcm-font-add,0px))}.gcm-v100-table>.is-row:last-child{border-bottom:0}.gcm-v100-table>.is-row:hover{background:#fafcff}.gcm-v100-table .is-row strong,.gcm-v100-table .is-row b{color:#26384f}.gcm-v100-table .is-row small{display:block;margin-top:3px;color:#8a96a7}.gcm-v100-table>.is-row.is-shortage{background:#fff8f8}.gcm-v100-table>.is-row.is-low{background:#fffbf2}.gcm-v100-status{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;padding:5px 9px;border-radius:999px;background:#eef7f0;color:#25823a;font-size:calc(8.7px + var(--gcm-font-add,0px));font-weight:800;white-space:nowrap}.gcm-v100-status.is-shortage,.gcm-v100-status.is-critical{background:#fff0f0;color:#c6353a}.gcm-v100-status.is-low,.gcm-v100-status.is-warning{background:#fff6df;color:#b47400}.gcm-v100-status.is-ok{background:#eaf8ee;color:#248038}.gcm-v100-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gcm-v100-entry-grid>.gcm-app-card{overflow:hidden}.gcm-v100-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 18px 18px;align-items:end}.gcm-v100-form-6{grid-template-columns:repeat(6,minmax(0,1fr))}.gcm-v100-form label{display:grid;gap:5px;color:#65758b;font-weight:700;font-size:calc(9.2px + var(--gcm-font-add,0px))}.gcm-v100-form input,.gcm-v100-form select{width:100%;height:40px;padding:0 10px;border:1px solid #dce4ee;border-radius:9px;background:#fff;color:#2f4056;font:inherit;outline:none}.gcm-v100-form input:focus,.gcm-v100-form select:focus{border-color:#75a5ff;box-shadow:0 0 0 3px rgba(23,105,255,.08)}.gcm-v100-wide{grid-column:span 2}.gcm-v100-form-6 .gcm-v100-wide{grid-column:span 2}.gcm-v100-form .gcm-app-btn{width:max-content}.gcm-v100-form-message{align-self:center;min-height:18px;color:#718096;font-size:calc(8.8px + var(--gcm-font-add,0px))}.gcm-v100-form-message.is-success{color:#21853a}.gcm-v100-form-message.is-error{color:#cf343b}.gcm-flow-chain-card{overflow:hidden}.gcm-flow-chain{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:0;padding:4px 18px 20px;overflow:auto}.gcm-flow-stage{position:relative;min-width:145px;padding:15px 13px;border:1px solid #e7ecf3;border-right:0;background:#fff}.gcm-flow-stage:first-child{border-radius:12px 0 0 12px}.gcm-flow-stage:last-child{border-right:1px solid #e7ecf3;border-radius:0 12px 12px 0}.gcm-flow-stage:not(:last-child):after{content:'›';position:absolute;right:-9px;top:24px;z-index:2;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#1769ff;color:#fff;font-weight:900}.gcm-flow-stage-top{display:flex;gap:8px;align-items:center;margin-bottom:14px}.gcm-flow-stage-top>span{width:25px;height:25px;border-radius:7px;display:grid;place-items:center;background:#edf4ff;color:#1769ff;font-weight:850;font-size:calc(9px + var(--gcm-font-add,0px))}.gcm-flow-stage-top strong{font-size:calc(10.4px + var(--gcm-font-add,0px));color:#2b3a50}.gcm-flow-stage-metrics{display:grid;gap:8px}.gcm-flow-stage-metrics>div{padding-top:7px;border-top:1px dashed #e7ecf3}.gcm-flow-stage-metrics small,.gcm-flow-stage-metrics b{display:block}.gcm-flow-stage-metrics small{color:#8792a2;font-size:calc(8px + var(--gcm-font-add,0px))}.gcm-flow-stage-metrics b{margin-top:2px;color:#33455c;font-size:calc(9.6px + var(--gcm-font-add,0px))}.gcm-v100-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gcm-v100-ranked{padding:0 17px 15px}.gcm-v100-ranked>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #edf1f5}.gcm-v100-ranked>div:last-child{border-bottom:0}.gcm-v100-ranked span b,.gcm-v100-ranked span small{display:block}.gcm-v100-ranked span b{color:#314158;font-size:calc(9.8px + var(--gcm-font-add,0px))}.gcm-v100-ranked span small{margin-top:3px;color:#8a95a6;font-size:calc(8.4px + var(--gcm-font-add,0px))}.gcm-v100-ranked>div>strong{color:#26384f;font-size:calc(10px + var(--gcm-font-add,0px))}.gcm-v100-ranked>div>em{font-style:normal;color:#7f8b9b;font-size:calc(8.6px + var(--gcm-font-add,0px));white-space:nowrap}.gcm-v100-ranked>div.is-danger-row{background:#fff7f7;margin:0 -10px;padding-left:10px;padding-right:10px;border-radius:8px}.gcm-sim-flow-card{grid-column:1/-1;overflow:hidden}.gcm-sim-stage-flow{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:8px;padding:0 17px 18px;overflow:auto}.gcm-sim-stage{min-width:130px;padding:12px;border:1px solid #e4eaf2;border-top:4px solid #32b34e;border-radius:10px;background:#fbfcfe}.gcm-sim-stage.is-warning{border-top-color:#f59e0b}.gcm-sim-stage.is-shortage{border-top-color:#ef4444}.gcm-sim-stage.is-no_data{border-top-color:#94a3b8}.gcm-sim-stage span,.gcm-sim-stage strong,.gcm-sim-stage small,.gcm-sim-stage em{display:block}.gcm-sim-stage span{color:#67768b;font-size:calc(8.5px + var(--gcm-font-add,0px));font-weight:800}.gcm-sim-stage strong{margin-top:6px;color:#26364c;font-size:calc(12px + var(--gcm-font-add,0px))}.gcm-sim-stage small{margin-top:5px;color:#718096;font-size:calc(8.2px + var(--gcm-font-add,0px))}.gcm-sim-stage em{margin-top:6px;font-style:normal;color:#8b96a5;font-size:calc(7.9px + var(--gcm-font-add,0px))}.gcm-sim-flow-grid{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.gcm-sim-pack-main{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 17px 14px}.gcm-sim-pack-main>span{padding:10px;border:1px solid #e8edf4;border-radius:9px;background:#fafcff}.gcm-sim-pack-main small,.gcm-sim-pack-main strong{display:block}.gcm-sim-pack-main small{color:#8894a5;font-size:calc(8.2px + var(--gcm-font-add,0px))}.gcm-sim-pack-main strong{margin-top:4px;color:#2d3e54;font-size:calc(10px + var(--gcm-font-add,0px))}.gcm-sim-pack-note{padding:0 17px 16px;margin:0;color:#7f8a9a;font-size:calc(8.5px + var(--gcm-font-add,0px))}
@media(max-width:1380px){.gcm-v100-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.gcm-v100-entry-grid,.gcm-sim-flow-grid{grid-template-columns:1fr 1fr}.gcm-v100-form-6{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.gcm-v100-entry-grid,.gcm-v100-two-col,.gcm-sim-flow-grid{grid-template-columns:1fr}.gcm-v100-form-6{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.gcm-v100-kpis{grid-template-columns:1fr}.gcm-v100-form,.gcm-v100-form-6{grid-template-columns:1fr}.gcm-v100-wide,.gcm-v100-form-6 .gcm-v100-wide{grid-column:auto}.gcm-sim-pack-main{grid-template-columns:1fr}.gcm-v100-kpis strong{font-size:calc(22px + var(--gcm-font-add,0px))}}

/* v1.0.0 — kho, dòng chảy sản xuất, chất lượng và đóng gói */
.gcm-inventory-table>.is-head,.gcm-inventory-table>.is-row{grid-template-columns:minmax(180px,1.45fr) minmax(95px,.75fr) repeat(5,minmax(108px,.92fr));min-width:1040px}
.gcm-flow-people-table>.is-head,.gcm-flow-people-table>.is-row,.gcm-quality-responsible-table>.is-head,.gcm-quality-responsible-table>.is-row{grid-template-columns:minmax(210px,1.5fr) repeat(5,minmax(110px,1fr));min-width:920px}
.gcm-quality-page .gcm-v100-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.gcm-quality-responsible-table .is-danger-text{color:#c8323a}
.gcm-flow-people-card .gcm-app-card-head,.gcm-quality-page .gcm-v100-table-card .gcm-app-card-head{margin-bottom:0}
.gcm-sim-stage em{line-height:1.45}
@media(max-width:1280px){.gcm-quality-page .gcm-v100-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.gcm-quality-page .gcm-v100-kpis{grid-template-columns:1fr 1fr}.gcm-inventory-page .gcm-v100-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.gcm-quality-page .gcm-v100-kpis,.gcm-inventory-page .gcm-v100-kpis{grid-template-columns:1fr}}
.gcm-inventory-history-table>.is-head,.gcm-inventory-history-table>.is-row{grid-template-columns:110px minmax(200px,1.5fr) minmax(130px,1fr) minmax(120px,.8fr) minmax(130px,1fr) minmax(130px,1fr);min-width:880px}

/* v1.1.0 — Hồ sơ nhân sự 360° */
.gcm-workforce-avatar.is-photo{object-fit:cover;border:1px solid #dfe6ef;background:#fff;padding:0}
.gcm-employee-contact-line{display:block;margin-top:6px;color:#6f7d90;font-size:calc(9px + var(--gcm-font-add,0px));font-weight:650}
.gcm-employee-master-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.gcm-employee-master-card{overflow:hidden}
.gcm-profile-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0 17px 16px}
.gcm-profile-data-grid>div{min-width:0;padding:11px 12px;border:1px solid #e8edf3;margin:-1px 0 0 -1px;background:#fff}
.gcm-profile-data-grid>div.is-wide{grid-column:span 3}
.gcm-profile-data-grid small{display:block;color:#7e8b9d;font-size:calc(8.5px + var(--gcm-font-add,0px));font-weight:700}
.gcm-profile-data-grid strong{display:block;margin-top:4px;color:#24344c;font-size:calc(10.5px + var(--gcm-font-add,0px));line-height:1.45;overflow-wrap:anywhere}
.gcm-profile-private-note{display:flex;flex-direction:column;justify-content:center;min-height:140px;padding:18px 20px;background:#fbfcfe;border-style:dashed}.gcm-profile-private-note strong{font-size:calc(12px + var(--gcm-font-add,0px))}.gcm-profile-private-note p{margin:6px 0 0;color:#77869a;line-height:1.55;font-size:calc(9.5px + var(--gcm-font-add,0px))}
.gcm-profile-edit-form{grid-template-columns:1fr!important}
.gcm-profile-fieldset{grid-column:1/-1;min-width:0;margin:0;padding:14px;border:1px solid #e1e7ef;border-radius:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;background:#fbfcfe}
.gcm-profile-fieldset legend{padding:0 7px;color:#33506f;font-size:calc(10px + var(--gcm-font-add,0px));font-weight:850}
.gcm-profile-fieldset textarea{width:100%;min-height:72px;resize:vertical;border:1px solid #dce3ec;border-radius:9px;background:#fff;color:#2e3d53;padding:9px 10px;outline:none;font:inherit;line-height:1.45}
.gcm-profile-fieldset textarea:focus{border-color:#75a5ff;box-shadow:0 0 0 3px rgba(23,105,255,.09)}
.gcm-profile-edit-form>.gcm-app-btn{justify-self:start}.gcm-profile-edit-form>[data-gcm-workforce-message]{justify-self:start}
@media(max-width:1250px){.gcm-profile-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gcm-profile-data-grid>div.is-wide{grid-column:span 2}.gcm-profile-fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.gcm-employee-master-grid{grid-template-columns:1fr}.gcm-profile-data-grid{grid-template-columns:1fr}.gcm-profile-data-grid>div.is-wide{grid-column:auto}.gcm-profile-fieldset{grid-template-columns:1fr}.gcm-profile-fieldset .gcm-workforce-form-wide{grid-column:auto}}

/* v1.2.0 — Tài chính & hiệu quả sản xuất */
.gcm-finance-page{display:flex;flex-direction:column;gap:18px}.gcm-finance-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;background:linear-gradient(135deg,#fff 0%,#f5f9ff 100%)}.gcm-finance-hero h2{margin:4px 0 7px;font-size:27px}.gcm-finance-hero p{margin:0;max-width:820px;color:var(--gcm-muted,#64748b);line-height:1.55}.gcm-finance-hero-profit{min-width:260px;padding:17px 18px;border:1px solid #dbe5f2;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05)}.gcm-finance-hero-profit small,.gcm-finance-hero-profit span{display:block;color:#64748b}.gcm-finance-hero-profit strong{display:block;margin:7px 0 4px;font-size:28px;letter-spacing:-.03em}.gcm-finance-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gcm-finance-kpis article{padding:18px 19px}.gcm-finance-kpis small{display:block;color:#64748b;font-weight:700}.gcm-finance-kpis strong{display:block;margin-top:8px;font-size:23px;letter-spacing:-.025em}.gcm-finance-kpis span{display:block;margin-top:5px;color:#94a3b8;font-size:.88em}.gcm-finance-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.55fr);gap:16px}.gcm-finance-side{display:flex;flex-direction:column;gap:16px}.gcm-finance-legend{display:flex;gap:18px;flex-wrap:wrap;color:#64748b;font-size:12px;margin:0 0 12px}.gcm-finance-legend span{display:flex;align-items:center;gap:6px}.gcm-finance-legend i{display:block;width:10px;height:10px;border-radius:3px}.gcm-finance-legend .is-production,.gcm-finance-bar-stack .is-production{background:#2563eb}.gcm-finance-legend .is-revenue,.gcm-finance-bar-stack .is-revenue{background:#16a34a}.gcm-finance-legend .is-expense,.gcm-finance-bar-stack .is-expense{background:#f59e0b}.gcm-finance-bars{display:flex;align-items:flex-end;gap:8px;min-height:285px;overflow-x:auto;padding:16px 4px 0;border-top:1px solid #eef2f7}.gcm-finance-bar-group{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:42px;flex:1;height:245px}.gcm-finance-bar-stack{height:210px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px}.gcm-finance-bar-stack i{display:block;width:24%;min-height:2px;border-radius:5px 5px 2px 2px;transition:.18s}.gcm-finance-bar-group:hover .gcm-finance-bar-stack i{filter:brightness(.93)}.gcm-finance-bar-group small{font-size:10px;color:#64748b;white-space:nowrap}.gcm-finance-cost-list{display:flex;flex-direction:column}.gcm-finance-cost-list>div{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #edf1f5}.gcm-finance-cost-list>div:last-child{border-bottom:0}.gcm-finance-cost-list span{color:#64748b}.gcm-finance-cost-list b{text-align:right}.gcm-finance-quality-note{background:#fff8ed}.gcm-finance-quality-note small,.gcm-finance-quality-note span{display:block;color:#8a5a00}.gcm-finance-quality-note strong{display:block;font-size:28px;margin:5px 0}.gcm-finance-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gcm-finance-order-table>div,.gcm-finance-payroll-table>div{grid-template-columns:1.45fr .72fr .9fr .85fr .85fr .9fr .9fr .55fr}.gcm-finance-order-table .is-row span,.gcm-finance-payroll-table .is-row span{min-width:0}.gcm-finance-order-table small,.gcm-finance-payroll-table small{display:block;color:#94a3b8;margin-top:2px}.gcm-finance-chart-card{min-width:0}.gcm-finance-page [data-tooltip]{cursor:help}
@media(max-width:1180px){.gcm-finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.gcm-finance-layout{grid-template-columns:1fr}.gcm-finance-entry-grid{grid-template-columns:1fr}}
@media(max-width:760px){.gcm-finance-hero{align-items:flex-start;flex-direction:column}.gcm-finance-hero-profit{min-width:0;width:100%}.gcm-finance-kpis{grid-template-columns:1fr}.gcm-finance-bars{min-height:230px}.gcm-finance-bar-group{height:200px;min-width:38px}.gcm-finance-bar-stack{height:170px}}

/* v1.2.1 - cảnh báo an toàn dữ liệu tài chính */
.gcm-finance-warning{border:1px solid #f5cf73;background:#fffaf0;color:#6f4b00;padding:14px 16px;margin-bottom:14px}
.gcm-finance-warning strong{display:block;font-size:14px;margin-bottom:4px;color:#6f4b00}
.gcm-finance-warning p{margin:0;line-height:1.5;color:#80611c}

/* v1.2.2 — đồng bộ phạm vi tài chính backend ↔ frontend */
.gcm-finance-scope{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:-2px 0 14px;padding:10px 14px;border:1px solid #dbe5f0;border-radius:12px;background:#f8fbff;color:#526177;font-size:.88rem}.gcm-finance-scope small{color:#738198;text-align:right}.gcm-finance-period-hint{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:14px;border-color:#f3d7a1!important;background:#fffaf0!important}.gcm-finance-period-hint strong{display:block;margin-bottom:5px;color:#8a5a00}.gcm-finance-period-hint p{margin:0;color:#6b5a3b;line-height:1.5}.gcm-finance-period-hint .gcm-app-btn{white-space:nowrap}
@media(max-width:760px){.gcm-finance-scope,.gcm-finance-period-hint{flex-direction:column;align-items:flex-start}.gcm-finance-scope small{text-align:left}}

/* v1.2.3 — làm lại UX/UI Tài chính frontend */
.gcm-finance-page{gap:16px}
.gcm-finance-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:stretch;gap:18px;padding:20px 22px;border:1px solid #dfe8f4;background:linear-gradient(135deg,#ffffff 0%,#f7fbff 100%);box-shadow:0 10px 28px rgba(15,23,42,.05)}
.gcm-finance-hero-copy{display:flex;flex-direction:column;gap:10px}
.gcm-finance-hero h2{margin:0;font-size:clamp(28px,2vw,34px);line-height:1.05;letter-spacing:-.03em}
.gcm-finance-hero p{margin:0;max-width:780px;color:#5f6f84;line-height:1.6;font-size:1rem}
.gcm-finance-hero-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:2px}
.gcm-finance-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#edf5ff;color:#1e4ed8;font-size:12px;font-weight:800;border:1px solid #d6e6ff}
.gcm-finance-pill.is-soft{background:#f8fbff;color:#54657c;border-color:#e2ebf5}
.gcm-finance-hero-profit{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:18px 20px;border-radius:16px;border:1px solid #dce8f8;background:#ffffff;box-shadow:0 12px 30px rgba(37,99,235,.08)}
.gcm-finance-hero-profit small,.gcm-finance-hero-profit span{display:block;color:#64748b}
.gcm-finance-hero-profit strong{display:block;margin:8px 0 6px;font-size:34px;line-height:1.05;letter-spacing:-.04em}
.gcm-finance-scope{margin:0;padding:12px 14px;border:1px solid #e2eaf3;background:#fbfdff;border-radius:14px}
.gcm-finance-scope span{font-weight:600;color:#435268}
.gcm-finance-scope small{color:#6f7d90}
.gcm-finance-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gcm-finance-kpi{position:relative;padding:18px 18px 16px 20px;border:1px solid #e8edf3;overflow:hidden}
.gcm-finance-kpi:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:99px;background:#cbd5e1}
.gcm-finance-kpi small{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;letter-spacing:.01em;color:#64748b}
.gcm-finance-kpi strong{display:block;margin-top:10px;font-size:clamp(24px,1.5vw,29px);line-height:1.1;letter-spacing:-.03em;color:#0f172a}
.gcm-finance-kpi span{display:block;margin-top:6px;font-size:13px;color:#7b8ba0}
.gcm-finance-kpi.is-production{background:linear-gradient(180deg,#fbfdff 0%,#f4f8ff 100%)}
.gcm-finance-kpi.is-production:before{background:#2563eb}.gcm-finance-kpi.is-production strong{color:#1d4ed8}
.gcm-finance-kpi.is-revenue{background:linear-gradient(180deg,#fbfffc 0%,#f4fcf6 100%)}
.gcm-finance-kpi.is-revenue:before{background:#16a34a}.gcm-finance-kpi.is-revenue strong{color:#15803d}
.gcm-finance-kpi.is-collected{background:linear-gradient(180deg,#f8fdff 0%,#f1fbff 100%)}
.gcm-finance-kpi.is-collected:before{background:#0ea5e9}.gcm-finance-kpi.is-collected strong{color:#0369a1}
.gcm-finance-kpi.is-cost{background:linear-gradient(180deg,#fffdfa 0%,#fff8ef 100%)}
.gcm-finance-kpi.is-cost:before{background:#f59e0b}.gcm-finance-kpi.is-cost strong{color:#b45309}
.gcm-finance-kpi.is-profit{background:linear-gradient(180deg,#fffafa 0%,#fff5f5 100%)}
.gcm-finance-kpi.is-profit:before{background:#ef4444}.gcm-finance-kpi.is-profit strong{color:#b91c1c}
.gcm-finance-kpi.is-payroll{background:linear-gradient(180deg,#fcfbff 0%,#f7f4ff 100%)}
.gcm-finance-kpi.is-payroll:before{background:#7c3aed}.gcm-finance-kpi.is-payroll strong{color:#6d28d9}
.gcm-finance-kpi.is-inventory{background:linear-gradient(180deg,#fbfcfd 0%,#f6f8fb 100%)}
.gcm-finance-kpi.is-inventory:before{background:#64748b}.gcm-finance-kpi.is-inventory strong{color:#334155}
.gcm-finance-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(320px,.7fr);gap:16px;align-items:start}
.gcm-finance-chart-card,.gcm-finance-side .gcm-app-card{border:1px solid #e6ecf3}
.gcm-finance-chart-card .gcm-app-card-head{padding-bottom:6px}
.gcm-finance-chart-card .gcm-app-card-head h2{margin-bottom:4px}
.gcm-finance-chart-card .gcm-app-card-head p{color:#708093;max-width:760px}
.gcm-finance-legend{gap:14px;margin:2px 0 12px}
.gcm-finance-bars{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;min-height:240px;overflow-x:auto;padding:16px 4px 4px;border-top:1px solid #edf2f7}
.gcm-finance-bars.is-sparse{justify-content:center;gap:24px;padding-inline:24px}
.gcm-finance-bar-group{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;min-width:50px;flex:1;height:220px}
.gcm-finance-bars.is-sparse .gcm-finance-bar-group{max-width:110px;flex:0 0 90px}
.gcm-finance-bar-stack{position:relative;height:180px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:5px;padding-inline:2px}
.gcm-finance-bar-stack:before{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:#e8eef5}
.gcm-finance-bar-stack i{display:block;width:26%;min-height:8px;border-radius:8px 8px 3px 3px;transition:.18s;box-shadow:inset 0 -1px 0 rgba(255,255,255,.25)}
.gcm-finance-bar-group small{font-size:11px;font-weight:700;color:#64748b;white-space:nowrap}
.gcm-finance-side{display:flex;flex-direction:column;gap:16px}
.gcm-finance-cost-list>div{padding:14px 0}
.gcm-finance-cost-list span{font-weight:600;color:#475569}
.gcm-finance-cost-list b{font-size:15px;color:#0f172a}
.gcm-finance-quality-note{padding:16px 18px;border:1px solid #f4d69c;background:linear-gradient(180deg,#fffdf7 0%,#fff8eb 100%)}
.gcm-finance-quality-note small,.gcm-finance-quality-note span{display:block;color:#9a6700}
.gcm-finance-quality-note strong{display:block;font-size:34px;line-height:1.05;margin:6px 0}
.gcm-finance-breakdowns{gap:16px}
.gcm-finance-breakdowns .gcm-app-card{border:1px solid #e6ecf3}
.gcm-finance-order-table .is-head,.gcm-finance-payroll-table .is-head{background:#f8fbff}
.gcm-finance-order-table .is-row,.gcm-finance-payroll-table .is-row{min-height:58px}
.gcm-finance-question-table>.is-head,.gcm-finance-question-table>.is-row{grid-template-columns:minmax(220px,.9fr) minmax(420px,1.8fr) minmax(120px,.45fr);min-width:820px}
.gcm-finance-question-table>.is-row.is-critical{background:#fff5f5}.gcm-finance-question-table>.is-row.is-healthy{background:#f3fbf5}
.gcm-finance-order-table>.is-head,.gcm-finance-order-table>.is-row{grid-template-columns:minmax(180px,1.25fr) minmax(90px,.55fr) minmax(105px,.65fr) minmax(105px,.7fr) minmax(130px,.85fr) minmax(115px,.75fr) minmax(120px,.8fr) minmax(115px,.75fr) minmax(240px,1.45fr);min-width:1280px}
.gcm-finance-team-table>.is-head,.gcm-finance-team-table>.is-row{grid-template-columns:minmax(170px,1.1fr) minmax(85px,.45fr) minmax(110px,.65fr) minmax(135px,.8fr) minmax(135px,.8fr) minmax(105px,.6fr) minmax(145px,.85fr);min-width:980px}
.gcm-finance-team-table>.is-row span:nth-child(4),.gcm-finance-team-table>.is-row span:nth-child(5),.gcm-finance-team-table>.is-row span:nth-child(6),.gcm-finance-team-table>.is-row span:nth-child(7),.gcm-finance-order-table>.is-row span:nth-child(n+3):nth-child(-n+8){font-variant-numeric:tabular-nums}
.gcm-finance-team-table>.is-row span:nth-child(7) b,.gcm-finance-order-table>.is-row span:nth-child(7) b,.gcm-finance-order-table>.is-row span:nth-child(8) b{font-size:calc(11px + var(--gcm-font-add,0px))}
.gcm-payroll-team-filter{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 52px;gap:12px;align-items:center;padding:12px 0;border:0;border-bottom:1px solid #edf1f5;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:.16s}
.gcm-payroll-team-filter:last-child{border-bottom:0}.gcm-payroll-team-filter:hover{padding-left:9px;padding-right:9px;border-radius:10px;background:#faf8ff}.gcm-payroll-team-filter:focus-visible{outline:3px solid rgba(124,58,237,.18);outline-offset:2px}.gcm-payroll-team-filter.is-active{padding-left:9px;padding-right:9px;border-radius:10px;background:#f3efff;box-shadow:inset 3px 0 #7c3aed}.gcm-payroll-team-filter>em{font-weight:850;font-style:normal;color:#6d28d9;text-align:right}.gcm-payroll-team-filter>strong{color:#26384f;font-size:calc(10px + var(--gcm-font-add,0px))}
.gcm-payroll-team-share{display:block;height:5px;margin-top:8px;border-radius:999px;background:#ede9fe;overflow:hidden}
.gcm-payroll-team-share>b{display:block!important;height:100%;margin:0!important;border-radius:inherit;background:linear-gradient(90deg,#7c3aed,#a78bfa)}
.gcm-finance-other-cost-card .gcm-app-empty{display:flex;flex-direction:column;gap:7px;align-items:center}.gcm-finance-other-cost-card .gcm-app-empty b{color:#536176}.gcm-finance-other-cost-card .gcm-app-empty span{color:#8793a4;font-size:12px}
.gcm-payroll-person-card{scroll-margin-top:18px}.gcm-payroll-person-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-top:1px solid #edf1f5;background:#fbfcff}.gcm-payroll-person-toolbar>strong{color:#334155}.gcm-payroll-person-toolbar>div{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.gcm-payroll-person-toolbar label{display:grid;gap:4px;color:#718096;font-size:11px;font-weight:750}.gcm-payroll-person-toolbar select{height:38px;padding:0 34px 0 10px;border:1px solid #dce4ee;border-radius:9px;background:#fff;color:#334155;font:inherit}.gcm-payroll-person-toolbar .gcm-app-btn{height:38px}
.gcm-finance-payroll-table>div{grid-template-columns:minmax(225px,1.55fr) 105px 90px 125px 125px 92px 125px 100px 100px!important;min-width:1200px!important}.gcm-finance-payroll-table .is-row>span:first-child{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:9px;align-items:center}.gcm-finance-payroll-table .is-row>span:first-child>a,.gcm-finance-payroll-table .is-row>span:first-child>b,.gcm-finance-payroll-table .is-row>span:first-child>small{grid-column:2}.gcm-finance-payroll-table .is-row a{color:#26384f;text-decoration:none}.gcm-finance-payroll-table .is-row a:hover b{color:#1769ff}.gcm-payroll-rank{grid-column:1;grid-row:1/3;min-width:38px;padding:5px 6px;border-radius:999px;background:#eef2f7;color:#64748b;font-style:normal;font-size:10px;font-weight:850;text-align:center}.gcm-finance-payroll-table .is-row.is-top-earner{background:linear-gradient(90deg,#fffaf0 0%,#fff 34%)}.gcm-finance-payroll-table .is-row.is-top-earner .gcm-payroll-rank{background:#fff0c2;color:#9a6700}.gcm-efficiency-value{display:inline-flex;padding:4px 7px;border-radius:999px;background:#edf8ef;color:#27743b}.gcm-efficiency-value.is-warning{background:#fff7df;color:#a06800}.gcm-efficiency-value.is-critical{background:#fff0f0;color:#b52b31}.gcm-no-performance{color:#8a96a7!important;font-size:11px!important}.gcm-payroll-person-card [data-gcm-payroll-person][hidden]{display:none!important}
@media(max-width:760px){.gcm-payroll-team-filter{grid-template-columns:minmax(0,1fr) auto}.gcm-payroll-team-filter>em{grid-column:2}.gcm-payroll-team-filter>strong{grid-column:2;grid-row:1}.gcm-payroll-person-toolbar{align-items:flex-start;flex-direction:column}.gcm-payroll-person-toolbar>div{width:100%}.gcm-payroll-person-toolbar label{flex:1}.gcm-payroll-person-toolbar select{width:100%}}
@media(max-width:1180px){.gcm-finance-hero{grid-template-columns:1fr}.gcm-finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.gcm-finance-layout{grid-template-columns:1fr}}
@media(max-width:760px){.gcm-finance-hero{padding:18px}.gcm-finance-hero-pills{gap:8px}.gcm-finance-kpis{grid-template-columns:1fr}.gcm-finance-bars{min-height:220px}.gcm-finance-bars.is-sparse{justify-content:flex-start;padding-inline:4px;gap:14px}.gcm-finance-bar-group{height:200px}.gcm-finance-bar-stack{height:160px}}

/* v1.3.0 — Trung tâm điều hành nhà máy 360° */
.gcm-f360{display:flex;flex-direction:column;gap:16px;margin-top:2px}
.gcm-f360-health{display:grid;grid-template-columns:minmax(330px,.82fr) minmax(0,1.5fr);gap:22px;align-items:center;padding:20px 22px;border:1px solid #dce6f2;background:linear-gradient(135deg,#fff 0%,#f8fbff 100%);box-shadow:0 12px 30px rgba(15,23,42,.05)}
.gcm-f360-health-main{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:18px}
.gcm-f360-score-ring{--gcm-f360-color:#16a34a;width:108px;height:108px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--gcm-f360-color) calc(var(--gcm-f360-score,0)*1%),#e8edf3 0);box-shadow:inset 0 0 0 1px rgba(15,23,42,.03)}
.gcm-f360-score-ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#fff;box-shadow:0 3px 12px rgba(15,23,42,.06)}
.gcm-f360-health.is-warning .gcm-f360-score-ring{--gcm-f360-color:#f59e0b}.gcm-f360-health.is-critical .gcm-f360-score-ring{--gcm-f360-color:#ef4444}.gcm-f360-health.is-unknown .gcm-f360-score-ring{--gcm-f360-color:#94a3b8}
.gcm-f360-score-ring strong,.gcm-f360-score-ring span{position:relative;z-index:1;grid-area:1/1}.gcm-f360-score-ring strong{font-size:32px;line-height:1;font-weight:900;letter-spacing:-.04em;color:#0f172a;transform:translateY(-5px)}.gcm-f360-score-ring span{font-size:11px;font-weight:800;color:#64748b;transform:translateY(21px)}
.gcm-f360-health-main h2{margin:4px 0 6px;font-size:26px;letter-spacing:-.025em}.gcm-f360-health-main p{margin:0;color:#64748b;line-height:1.55}
.gcm-f360-scores{display:grid;grid-template-columns:repeat(7,minmax(82px,1fr));gap:8px}
.gcm-f360-score{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0;padding:12px 10px 11px;border:1px solid #e4eaf1;border-radius:12px;background:#fff;text-decoration:none;color:#475569;transition:.16s;overflow:hidden}
.gcm-f360-score:hover{transform:translateY(-1px);border-color:#cad5e2;box-shadow:0 7px 18px rgba(15,23,42,.06)}
.gcm-f360-score span{font-size:10.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcm-f360-score strong{font-size:23px;line-height:1;color:#0f172a}.gcm-f360-score i{position:absolute;left:0;right:0;bottom:0;height:3px;background:#94a3b8}
.gcm-f360-score.is-healthy i{background:#22a447}.gcm-f360-score.is-warning i{background:#f59e0b}.gcm-f360-score.is-critical i{background:#ef4444}.gcm-f360-score.is-unknown{opacity:.72}
.gcm-f360-primary-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(380px,.7fr);gap:16px;align-items:start}
.gcm-f360-flow-card,.gcm-f360-lines-card{padding:18px 20px}
.gcm-f360-flow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:stretch}
.gcm-f360-stage{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:132px;padding:13px 12px 12px;border:1px solid #e4eaf1;border-radius:13px;background:#fbfcfe;color:#1e293b;text-decoration:none;transition:.16s;overflow:hidden}
.gcm-f360-stage:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:#cbd5e1}.gcm-f360-stage.is-healthy:after{background:#22a447}.gcm-f360-stage.is-warning:after{background:#f59e0b}.gcm-f360-stage.is-critical:after{background:#ef4444}
.gcm-f360-stage:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,23,42,.07);border-color:#cad5e2}
.gcm-f360-stage-no{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#eef4fb;color:#50647b;font-size:11px;font-weight:900}.gcm-f360-stage strong{display:block;font-size:12px;line-height:1.25}.gcm-f360-stage small{display:block;margin-top:4px;color:#8290a2;font-size:10px}.gcm-f360-stage>b{font-size:17px;letter-spacing:-.02em}.gcm-f360-stage>b em{font-style:normal;font-size:9px;font-weight:700;color:#8a96a5}
.gcm-f360-line-list{display:flex;flex-direction:column;gap:8px}.gcm-f360-line{display:grid;grid-template-columns:minmax(120px,.95fr) minmax(100px,1.1fr) 58px;gap:10px;align-items:center;padding:10px 11px;border:1px solid #e7ecf2;border-radius:11px;background:#fbfcfe;color:#1e293b;text-decoration:none}.gcm-f360-line:hover{background:#fff;box-shadow:0 5px 15px rgba(15,23,42,.05)}.gcm-f360-line span strong{display:block;font-size:12px}.gcm-f360-line span small{display:block;margin-top:3px;color:#8592a3;font-size:9.5px}.gcm-f360-line>b{text-align:right;font-size:12px}.gcm-f360-line-track{height:8px;border-radius:99px;background:#e8edf3;overflow:hidden}.gcm-f360-line-track i{display:block;height:100%;border-radius:inherit;background:#22a447}.gcm-f360-line.is-warning .gcm-f360-line-track i{background:#f59e0b}.gcm-f360-line.is-critical .gcm-f360-line-track i{background:#ef4444}.gcm-f360-line.is-critical>b{color:#dc2626}.gcm-f360-line.is-warning>b{color:#b45309}
.gcm-f360-domain-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.gcm-f360-domain{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:12px;align-items:center;padding:15px 16px;text-decoration:none;color:#172033;border:1px solid #e5ebf2;transition:.16s}.gcm-f360-domain:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(15,23,42,.05)}.gcm-f360-domain-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px}.gcm-f360-domain-icon svg{width:20px;height:20px}.gcm-f360-domain-icon.is-blue{background:#eaf2ff;color:#2563eb}.gcm-f360-domain-icon.is-orange{background:#fff3df;color:#d97706}.gcm-f360-domain-icon.is-red{background:#fff0f0;color:#dc2626}.gcm-f360-domain-icon.is-purple{background:#f3edff;color:#7c3aed}.gcm-f360-domain small{display:block;color:#8592a4;font-size:9.5px;font-weight:850;letter-spacing:.08em}.gcm-f360-domain strong{display:block;margin-top:4px;font-size:16px}.gcm-f360-domain p{margin:3px 0 0;color:#6f7d90;font-size:10.5px;line-height:1.4}.gcm-f360-domain>svg{width:16px;height:16px;color:#94a3b8}
.gcm-f360-outlook{padding:18px 20px}.gcm-f360-outlook-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.gcm-f360-outlook-grid>div{position:relative;padding:14px 14px 13px;border:1px solid #e6ebf1;border-radius:12px;background:#fbfcfd;overflow:hidden}.gcm-f360-outlook-grid>div:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#22a447}.gcm-f360-outlook-grid>div.is-warning:before{background:#f59e0b}.gcm-f360-outlook-grid>div.is-critical:before{background:#ef4444}.gcm-f360-outlook-grid small{display:block;font-weight:800;color:#64748b}.gcm-f360-outlook-grid strong{display:block;margin-top:5px;font-size:23px;letter-spacing:-.03em}.gcm-f360-outlook-grid span{display:block;margin-top:3px;color:#8995a5;font-size:10px}
@media(max-width:1380px){.gcm-f360-health{grid-template-columns:1fr}.gcm-f360-scores{grid-template-columns:repeat(7,minmax(90px,1fr))}.gcm-f360-flow{grid-template-columns:repeat(4,minmax(0,1fr))}.gcm-f360-domain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1080px){.gcm-f360-primary-grid{grid-template-columns:1fr}.gcm-f360-scores{grid-template-columns:repeat(4,minmax(90px,1fr))}.gcm-f360-outlook-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.gcm-f360-health{padding:16px}.gcm-f360-health-main{grid-template-columns:82px 1fr}.gcm-f360-score-ring{width:78px;height:78px}.gcm-f360-score-ring strong{font-size:23px}.gcm-f360-score-ring span{transform:translateY(15px)}.gcm-f360-scores{grid-template-columns:repeat(2,minmax(0,1fr))}.gcm-f360-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.gcm-f360-domain-grid,.gcm-f360-outlook-grid{grid-template-columns:1fr}.gcm-f360-line{grid-template-columns:1fr 74px 52px}}

/* v1.4.0 — nhận diện nhà máy + điều hành theo giờ */
.gcm-app-brand-logo{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#fff;border:1px solid #e2e8f0;overflow:hidden;flex:0 0 44px;box-shadow:0 5px 16px rgba(15,23,42,.06)}.gcm-app-brand-logo img{max-width:40px;max-height:40px;object-fit:contain}.gcm-live-control{display:flex;flex-direction:column;gap:16px;margin:0 0 18px}.gcm-live-summary{padding:20px 22px;border:1px solid #dfe8f3;background:linear-gradient(135deg,#fff 0%,#f8fbff 100%)}.gcm-live-summary.is-critical{border-left:5px solid #ef4444}.gcm-live-summary.is-warning{border-left:5px solid #f59e0b}.gcm-live-summary.is-healthy{border-left:5px solid #22c55e}.gcm-live-summary-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.gcm-live-summary-head h2{margin:3px 0 5px;font-size:24px;letter-spacing:-.025em}.gcm-live-summary-head p{margin:0;color:#64748b;line-height:1.5}.gcm-live-state{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-weight:800;font-size:12px;white-space:nowrap}.gcm-live-state.is-critical{background:#fff0f0;color:#c62828}.gcm-live-state.is-warning{background:#fff7e7;color:#a86100}.gcm-live-state.is-healthy{background:#eefaf1;color:#187c36}.gcm-live-state.is-unknown{background:#f1f5f9;color:#64748b}.gcm-live-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.gcm-live-kpis>div{padding:14px 15px;border:1px solid #e7edf4;border-radius:13px;background:#fff}.gcm-live-kpis small{display:block;color:#718096;font-weight:700;font-size:11px}.gcm-live-kpis strong{display:block;margin-top:7px;color:#0f172a;font-size:24px;letter-spacing:-.025em}.gcm-live-kpis strong em{font-size:11px;font-style:normal;color:#8794a6}.gcm-live-kpis span{display:block;margin-top:4px;color:#7b8797;font-size:11px}.gcm-live-kpis .is-negative{color:#dc2626}.gcm-live-kpis .is-positive{color:#16a34a}.gcm-live-progress{margin-top:16px}.gcm-live-progress-track{position:relative;height:13px;background:#e9eef5;border-radius:999px;overflow:visible}.gcm-live-progress-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#22c55e);min-width:2px}.gcm-live-progress-track i{position:absolute;top:-5px;bottom:-5px;width:2px;background:#f59e0b;transform:translateX(-1px);border-radius:2px}.gcm-live-progress>div:last-child{display:flex;justify-content:space-between;margin-top:7px;font-size:10px;color:#718096}.gcm-live-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.7fr);gap:16px;align-items:start}.gcm-live-hourly{padding:18px 20px}.gcm-live-hour-list{display:flex;flex-direction:column}.gcm-live-hour-row{display:grid;grid-template-columns:68px minmax(160px,1fr) 100px 58px;gap:12px;align-items:center;min-height:43px;border-bottom:1px solid #edf1f5}.gcm-live-hour-row:last-child{border-bottom:0}.gcm-live-hour-label{font-weight:800;color:#475569}.gcm-live-hour-track{height:9px;background:#e9eef4;border-radius:999px;position:relative}.gcm-live-hour-track span{display:block;height:100%;border-radius:999px;background:#22c55e;min-width:1px}.gcm-live-hour-row.is-warning .gcm-live-hour-track span{background:#f59e0b}.gcm-live-hour-row.is-critical .gcm-live-hour-track span{background:#ef4444}.gcm-live-hour-track i{position:absolute;top:-4px;bottom:-4px;width:2px;background:#334155;opacity:.55}.gcm-live-hour-row b{text-align:right;font-size:11px;color:#334155}.gcm-live-hour-row em{text-align:right;font-style:normal;font-size:11px;font-weight:800;color:#16a34a}.gcm-live-hour-row.is-warning em{color:#b66b00}.gcm-live-hour-row.is-critical em{color:#dc2626}.gcm-live-note{margin:12px 0 0;padding:9px 11px;border-radius:9px;background:#f8fafc;color:#64748b;font-size:11px}.gcm-live-side{display:flex;flex-direction:column;gap:16px}.gcm-live-side .gcm-app-card{padding:18px}.gcm-live-side .gcm-app-card-head h2{margin:3px 0 0;font-size:17px}.gcm-live-causes{display:flex;flex-direction:column;gap:8px;margin-top:12px}.gcm-live-causes>div{display:grid;grid-template-columns:9px 1fr;gap:10px;padding:10px 11px;border-radius:10px;background:#f8fafc}.gcm-live-causes i{width:8px;height:8px;border-radius:50%;margin-top:5px;background:#94a3b8}.gcm-live-causes .is-critical i{background:#ef4444}.gcm-live-causes .is-warning i{background:#f59e0b}.gcm-live-causes .is-healthy i{background:#22c55e}.gcm-live-causes strong,.gcm-live-causes small{display:block}.gcm-live-causes strong{font-size:12px;color:#1e293b}.gcm-live-causes small{margin-top:3px;color:#718096;line-height:1.45}.gcm-live-actions{margin:12px 0 0;padding-left:22px}.gcm-live-actions li{padding:5px 0;color:#475569;line-height:1.45}.gcm-app-access{max-width:720px;margin:40px auto;padding:20px 22px;border:1px solid #f2c56b;border-radius:14px;background:#fffaf0;color:#6f4b00;line-height:1.6}
@media(max-width:1100px){.gcm-live-grid{grid-template-columns:1fr}.gcm-live-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.gcm-live-summary-head{flex-direction:column}.gcm-live-kpis{grid-template-columns:1fr}.gcm-live-hour-row{grid-template-columns:60px 1fr 80px}.gcm-live-hour-row em{grid-column:2/-1;text-align:left}.gcm-app-brand-logo{width:40px;height:40px;flex-basis:40px}}

/* v1.4.0 — cấu hình hệ thống trên frontend */
.gcm-system-settings-card{margin-top:16px}.gcm-system-settings-form{display:flex;flex-direction:column;gap:18px}.gcm-system-branding{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gcm-system-branding label{display:flex;flex-direction:column;gap:6px}.gcm-system-branding .is-wide{grid-column:1/-1}.gcm-system-branding span{font-weight:800;color:#334155}.gcm-system-branding input{min-height:42px;border:1px solid #d8e0ea;border-radius:10px;padding:9px 11px;background:#fff}.gcm-system-branding small{color:#7b8797}.gcm-system-permissions{border:1px solid #e2e8f0;border-radius:14px;overflow:hidden}.gcm-system-permissions-head{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;background:#f8fbff;border-bottom:1px solid #e7edf4}.gcm-system-permissions-head strong{font-size:14px}.gcm-system-permissions-head span{color:#718096;font-size:11px}.gcm-system-permission-table{max-height:480px;overflow:auto}.gcm-system-permission-table>div{display:grid;grid-template-columns:minmax(220px,1fr) 190px 160px;gap:10px;align-items:center;min-height:46px;padding:0 14px;border-bottom:1px solid #edf1f5}.gcm-system-permission-table>div:last-child{border-bottom:0}.gcm-system-permission-table .is-head{position:sticky;top:0;background:#fff;z-index:2;font-size:11px;font-weight:800;color:#64748b}.gcm-system-permission-table .is-row>label{display:flex;justify-content:center}.gcm-system-permission-table input{width:18px;height:18px}.gcm-system-settings-actions{display:flex;align-items:center;gap:12px}.gcm-system-settings-actions span{font-weight:700;color:#64748b}.gcm-system-settings-actions .is-success{color:#15803d}.gcm-system-settings-actions .is-error{color:#b91c1c}@media(max-width:800px){.gcm-system-branding{grid-template-columns:1fr}.gcm-system-branding .is-wide{grid-column:auto}.gcm-system-permission-table>div{grid-template-columns:minmax(180px,1fr) 110px 110px}.gcm-system-permissions-head{flex-direction:column}}
.gcm-system-permission-table.is-wide>div{grid-template-columns:minmax(220px,1fr) 105px 105px 105px 105px}.gcm-system-permissions-note{padding:14px 16px;border-radius:12px;background:#fff8e8;border:1px solid #f3d397;color:#7c5800;font-weight:650}@media(max-width:800px){.gcm-system-permission-table.is-wide>div{grid-template-columns:minmax(180px,1fr) 86px 86px 86px 86px}}


/* v1.4.1 — sửa logo nhà máy và chống xuống dòng tên thương hiệu */
.gcm-app-brand{align-items:center;gap:12px}
.gcm-app-brand>div{min-width:0;flex:1}
.gcm-app-brand strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:calc(17px + var(--gcm-font-add, 0px))}
.gcm-app-brand small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}
.gcm-app-brand-logo{width:52px;height:52px;flex:0 0 52px;border-radius:14px;background:#fff;border:1px solid #e2e8f0;overflow:hidden;box-shadow:0 5px 16px rgba(15,23,42,.06)}
.gcm-app-brand-logo img{display:block;width:100%;height:100%;object-fit:contain;padding:5px}
.gcm-system-logo-preview{margin-top:10px;display:flex;align-items:center;justify-content:center;min-height:108px;border:1px dashed #cfd8e3;border-radius:14px;background:#f8fbff;padding:12px}
.gcm-system-logo-preview img{max-width:min(320px,100%);max-height:90px;object-fit:contain;display:block}
@media(max-width:700px){.gcm-app-brand strong{font-size:calc(15px + var(--gcm-font-add, 0px))}.gcm-app-brand small{font-size:calc(10px + var(--gcm-font-add, 0px))}.gcm-app-brand-logo{width:44px;height:44px;flex-basis:44px}}

/* v1.4.2 — biểu đồ sản lượng đủ 24 giờ */
.gcm-live-hour-list.is-24h{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;align-items:start}
.gcm-live-hour-list.is-24h .gcm-live-hour-row{min-height:38px}
.gcm-live-hour-row.is-offshift{opacity:.58}
.gcm-live-hour-row.is-offshift .gcm-live-hour-track{background:#f2f4f7}
.gcm-live-hour-row.is-offshift .gcm-live-hour-track span{background:#cbd5e1}
.gcm-live-hour-row.is-offshift em{color:#94a3b8;font-weight:700}
.gcm-live-hour-row.is-offshift-active{background:#f6f9ff}
.gcm-live-hour-row.is-offshift-active .gcm-live-hour-track span{background:#3b82f6}
.gcm-live-hour-row.is-offshift-active em{color:#2563eb}
.gcm-live-note.is-warning{background:#fff8eb;color:#8a5a00}
.gcm-live-note code{padding:2px 5px;border-radius:5px;background:#eef2f7;color:#334155}
.gcm-hourly-chart.is-24h{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;row-gap:5px}
.gcm-hourly-row.is-offshift{opacity:.55}
.gcm-hourly-row.is-offshift b.is-actual{background:#94a3b8}
.gcm-hourly-row.is-offshift>em{color:#94a3b8}
@media(max-width:900px){.gcm-live-hour-list.is-24h,.gcm-hourly-chart.is-24h{grid-template-columns:1fr}}

/* v1.5.0 — nhập liệu hiện trường theo trạm QR */
.gcm-station-lock{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:0 18px 16px;padding:14px 16px;border:1px solid #d7e7ff;border-radius:13px;background:linear-gradient(135deg,#f4f9ff,#fbfdff)}
.gcm-station-lock h3{margin:3px 0 3px;font-size:18px;color:#172033}.gcm-station-lock p{margin:0;color:#64748b}.gcm-station-secure{display:inline-flex;align-items:center;white-space:nowrap;padding:7px 10px;border-radius:999px;background:#eaf7ed;color:#197234;font-size:11px;font-weight:800}
.gcm-station-form input[type=number]{font-size:16px;font-weight:750}.gcm-qr-print{margin-top:12px}.gcm-qr-scanner{position:fixed;inset:0;z-index:2147483500;display:none}.gcm-qr-scanner.is-open{display:block}.gcm-qr-scanner-backdrop{position:absolute;inset:0;background:rgba(8,15,28,.7);backdrop-filter:blur(4px)}.gcm-qr-scanner-dialog{position:relative;width:min(480px,calc(100vw - 24px));margin:6vh auto 0;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.35)}.gcm-qr-scanner-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;border-bottom:1px solid #e8edf3}.gcm-qr-scanner-head strong,.gcm-qr-scanner-head small{display:block}.gcm-qr-scanner-head small{margin-top:3px;color:#7b8798}.gcm-qr-scanner-head button{border:0;background:#f1f5f9;border-radius:9px;width:34px;height:34px;font-size:22px;cursor:pointer}.gcm-qr-scanner-video{position:relative;aspect-ratio:1/1;background:#0f172a;overflow:hidden}.gcm-qr-scanner-video video{width:100%;height:100%;object-fit:cover;display:block}.gcm-qr-scanner-frame{position:absolute;inset:18%;border:3px solid #fff;border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.16)}.gcm-qr-scanner-dialog>p{margin:0;padding:13px 18px 5px;font-weight:750;color:#334155}.gcm-qr-scanner-dialog>small{display:block;padding:0 18px 18px;color:#718096;line-height:1.5}
@media(max-width:760px){.gcm-station-lock{margin-left:13px;margin-right:13px;align-items:flex-start;flex-direction:column}.gcm-qr-scanner-dialog{margin-top:2vh}.gcm-app[data-gcm-station]:not([data-gcm-station=""]) .gcm-app-main{padding-bottom:20px}}
@media print{.gcm-app[data-gcm-station]:not([data-gcm-station=""]) .gcm-app-sidebar,.gcm-app[data-gcm-station]:not([data-gcm-station=""]) .gcm-app-topbar,.gcm-app[data-gcm-station]:not([data-gcm-station=""]) .gcm-shopfloor-entry-card,.gcm-app[data-gcm-station]:not([data-gcm-station=""]) .gcm-shopfloor-today,.gcm-app[data-gcm-station]:not([data-gcm-station=""]) .gcm-shopfloor-events-card{display:none!important}.gcm-app[data-gcm-station]:not([data-gcm-station=""]){position:static;display:block;background:#fff}.gcm-app[data-gcm-station]:not([data-gcm-station=""]) .gcm-app-main{overflow:visible;padding:0}.gcm-app[data-gcm-station]:not([data-gcm-station=""]) .gcm-shopfloor-grid{display:block}.gcm-app[data-gcm-station]:not([data-gcm-station=""]) .gcm-shopfloor-side{display:block}.gcm-app[data-gcm-station]:not([data-gcm-station=""]) .gcm-shopfloor-qr-card{border:0;box-shadow:none;min-height:90vh;display:flex;flex-direction:column;justify-content:center}.gcm-app[data-gcm-station]:not([data-gcm-station=""]) .gcm-qr-wrap{width:360px;height:360px}.gcm-qr-print{display:none!important}}
.gcm-system-permission-table>div{grid-template-columns:minmax(220px,1fr) repeat(5,minmax(90px,120px))}
@media(max-width:900px){.gcm-system-permission-table{overflow:auto}.gcm-system-permission-table>div{min-width:760px;grid-template-columns:minmax(190px,1fr) repeat(5,100px)}}

/* v1.6.0 — Mobile-first cho quản lý hiện trường */
.gcm-mobile-bottom-nav,.gcm-mobile-toast,.gcm-app-date-mobile{display:none}
.gcm-mobile-reminder{margin:0 18px 14px;padding:12px 13px;border:1px solid #dce8f7;border-radius:13px;background:linear-gradient(135deg,#f7fbff,#eef7ff);display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center}
.gcm-mobile-reminder-icon{width:38px;height:38px;border-radius:11px;background:#e6f0ff;display:grid;place-items:center;font-size:19px}
.gcm-mobile-reminder strong,.gcm-mobile-reminder span{display:block}.gcm-mobile-reminder strong{font-size:13px}.gcm-mobile-reminder span{margin-top:3px;color:#6b7b90;font-size:11px;line-height:1.4}.gcm-mobile-reminder button{border:1px solid #cbdcf5;background:#fff;color:#1769ff;border-radius:9px;padding:8px 10px;font-weight:800;cursor:pointer;white-space:nowrap}.gcm-mobile-reminder button.is-enabled{background:#ecf9f0;border-color:#cfead7;color:#18813a}

@media(max-width:760px){
  .gcm-app{background:#f3f6fa}
  .gcm-app-main{padding:0 12px calc(90px + env(safe-area-inset-bottom));scroll-padding-bottom:96px}
  .gcm-app-header{padding:8px 0 10px;background:rgba(243,246,250,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(218,226,236,.82)}
  .gcm-app-title-row{gap:10px;min-height:48px}
  .gcm-app-mobile-menu{display:grid!important;width:44px;height:44px;padding:0;border-radius:13px;box-shadow:0 4px 14px rgba(15,23,42,.05)}
  .gcm-app-title-row>div:nth-child(2){min-width:0;flex:1}
  .gcm-app-title-row h1{font-size:24px!important;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .gcm-app-title-row p{display:none!important}
  .gcm-app-header-actions{margin-left:0;gap:6px}
  .gcm-app-header-actions .gcm-app-updated,.gcm-app-header-actions [data-gcm-print],.gcm-app-header-actions [data-gcm-customize]{display:none!important}

  .gcm-app-filter{display:grid;grid-template-columns:minmax(0,1fr) 148px;gap:8px;margin-top:8px;align-items:center}
  .gcm-app-period-tabs{display:flex!important;width:100%!important;overflow-x:auto;overflow-y:hidden;border-radius:12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .gcm-app-period-tabs::-webkit-scrollbar{display:none}
  .gcm-app-period-tabs a,.gcm-app-period-tabs button{flex:0 0 72px!important;width:72px!important;min-width:72px!important;height:42px!important;display:grid;place-items:center;padding:0 8px;font-size:14px!important;white-space:nowrap}
  .gcm-app-date-control{position:relative;width:148px!important;min-width:0!important;height:42px!important;padding:0 11px;border-radius:12px;overflow:hidden}
  .gcm-app-date-mobile{display:block;min-width:0;flex:1;color:#26364d;font-size:14px;font-weight:800;white-space:nowrap;text-align:center}
  .gcm-app-date-control input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer!important}
  .gcm-app-date-control>.gcm-app-icon{flex:0 0 auto}.gcm-app-date-control .gcm-app-chevron{display:none}

  .gcm-app-card{border-radius:16px;box-shadow:0 5px 18px rgba(24,39,65,.045)}
  .gcm-app-kpis{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;background:transparent!important;border:0!important;box-shadow:none!important;min-height:0!important;margin:12px 0!important}
  .gcm-app-kpi{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:10px!important;align-items:center!important;min-height:104px!important;padding:13px!important;background:#fff;border:1px solid #e0e7ef;border-radius:16px;box-shadow:0 4px 16px rgba(15,23,42,.04)}
  .gcm-app-kpi:after{display:none!important}
  .gcm-app-kpi:last-child{grid-column:1/-1!important;min-height:86px!important}
  .gcm-app-kpi-icon{width:38px!important;height:38px!important;border-radius:11px!important}.gcm-app-kpi-icon .gcm-app-icon{width:21px!important;height:21px!important}
  .gcm-app-kpi small{font-size:12px!important;margin-bottom:2px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .gcm-app-kpi strong{font-size:21px!important}.gcm-app-kpi strong em{font-size:11px!important}.gcm-app-kpi>div>span{font-size:10.5px!important;margin-top:3px!important}

  .gcm-f360{gap:12px}.gcm-f360-health{padding:14px!important;gap:14px!important}
  .gcm-f360-health-main{grid-template-columns:68px minmax(0,1fr)!important;gap:12px!important;align-items:center!important}
  .gcm-f360-score-ring{width:68px!important;height:68px!important}.gcm-f360-score-ring strong{font-size:21px!important}.gcm-f360-score-ring span{font-size:10px!important;transform:translateY(12px)!important}
  .gcm-f360-health-main h2{font-size:24px!important;margin:2px 0 3px!important}.gcm-f360-health-main p{font-size:12px!important;line-height:1.45!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .gcm-f360-scores{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.gcm-f360-score-card{min-height:76px!important;padding:10px!important}
  .gcm-f360-score-card strong{font-size:12px!important}.gcm-f360-score-card b{font-size:22px!important}
  .gcm-f360-flow-card,.gcm-f360-lines-card{padding:14px!important}
  .gcm-f360-flow-card .gcm-app-section-head,.gcm-f360-lines-card .gcm-app-section-head{padding-left:0!important;padding-right:0!important}.gcm-f360-flow-card .gcm-app-section-head h2,.gcm-f360-lines-card .gcm-app-section-head h2{font-size:21px!important}.gcm-f360-flow-card .gcm-app-section-head p{font-size:12px!important;line-height:1.45}
  .gcm-f360-flow{display:flex!important;grid-template-columns:none!important;gap:10px!important;overflow-x:auto!important;padding:2px 0 8px!important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .gcm-f360-stage{flex:0 0 158px!important;min-width:158px!important;min-height:122px!important;scroll-snap-align:start;padding:12px!important}.gcm-f360-stage strong{font-size:13px!important}.gcm-f360-stage>b{font-size:17px!important}
  .gcm-f360-domain-grid,.gcm-f360-outlook-grid{gap:10px!important}

  .gcm-mobile-bottom-nav{position:fixed;z-index:2147483300;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));height:66px;padding:6px 8px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;background:rgba(255,255,255,.96);border:1px solid #dce4ee;border-radius:19px;box-shadow:0 16px 40px rgba(15,23,42,.18);backdrop-filter:blur(18px)}
  .gcm-mobile-bottom-nav>a,.gcm-mobile-bottom-nav>button{position:relative;height:54px;border:0;background:transparent;color:#64748b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;font-weight:800;border-radius:13px;padding:0;min-width:0}
  .gcm-mobile-bottom-nav .gcm-app-icon{width:20px;height:20px}.gcm-mobile-bottom-nav>a.is-active{color:#1769ff;background:#edf5ff}
  .gcm-mobile-bottom-nav>a>b{position:absolute;top:2px;right:13%;min-width:17px;height:17px;border-radius:99px;background:#ef4444;color:#fff;font-size:9px;display:grid;place-items:center;padding:0 4px}
  .gcm-mobile-scan{overflow:visible!important}.gcm-mobile-scan-icon{width:45px;height:45px;margin-top:-22px;border-radius:15px;background:linear-gradient(145deg,#2b7cff,#0e60eb);color:#fff;display:grid;place-items:center;font-size:23px;box-shadow:0 8px 20px rgba(23,105,255,.3);border:4px solid #fff}.gcm-mobile-scan small{font-size:10px;color:#1769ff;font-weight:900;margin-top:-1px}
  .gcm-mobile-toast{display:block;position:fixed;z-index:2147483700;left:16px;right:16px;bottom:calc(86px + env(safe-area-inset-bottom));padding:12px 14px;border-radius:14px;background:#172033;color:#fff;box-shadow:0 16px 36px rgba(15,23,42,.24);font-size:13px;line-height:1.45;font-weight:700;opacity:0;visibility:hidden;transform:translateY(12px);transition:.18s}.gcm-mobile-toast.is-visible{opacity:1;visibility:visible;transform:none}.gcm-mobile-toast.is-success{background:#176b35}.gcm-mobile-toast.is-warning{background:#9a5d00}

  .gcm-app-sidebar{width:min(330px,88vw)!important}.gcm-app-brand{height:76px!important;padding:12px 14px!important}.gcm-app-nav{padding:10px 8px 90px!important}.gcm-app-nav a{min-height:46px!important;font-size:14px!important}

  .gcm-app[data-gcm-view="shopfloor"] .gcm-app-filter{display:none!important}.gcm-app[data-gcm-view="shopfloor"] .gcm-app-header{padding-bottom:8px}.gcm-app[data-gcm-view="shopfloor"] .gcm-shopfloor-page{gap:10px;padding-bottom:0}
  .gcm-shopfloor-grid{display:block!important}.gcm-shopfloor-entry-card{overflow:visible!important}.gcm-shopfloor-entry-card>.gcm-app-card-head{padding:15px 14px 10px!important;align-items:flex-start!important}.gcm-shopfloor-entry-card>.gcm-app-card-head h2{font-size:20px!important}.gcm-shopfloor-entry-card>.gcm-app-card-head p{font-size:12px!important;line-height:1.45!important}
  .gcm-station-lock{margin:0 13px 10px!important;padding:12px!important;border-radius:13px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important}.gcm-station-lock h3{font-size:18px!important;margin:2px 0!important}.gcm-station-secure{font-size:10px!important;padding:7px 8px!important;white-space:nowrap}
  .gcm-mobile-reminder{margin:0 13px 10px;grid-template-columns:34px minmax(0,1fr);padding:11px}.gcm-mobile-reminder-icon{width:34px;height:34px}.gcm-mobile-reminder button{grid-column:1/-1;width:100%;height:42px;font-size:13px}
  .gcm-station-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:4px 13px 18px!important;gap:11px!important}.gcm-station-form .gcm-shopfloor-wide{grid-column:1/-1!important}.gcm-station-form label>span{font-size:12px!important}.gcm-station-form input,.gcm-station-form select{height:48px!important;border-radius:12px!important;font-size:16px!important;padding:0 10px!important}.gcm-shopfloor-form textarea{min-height:132px!important;border-radius:12px!important;font-size:15px!important}.gcm-station-form input[type=number]{font-size:18px!important;font-weight:800!important}.gcm-station-form .gcm-whatif-input-unit em{font-size:11px!important}.gcm-shopfloor-submit-row{position:sticky!important;bottom:calc(74px + env(safe-area-inset-bottom));z-index:8;padding:10px!important;margin:4px -4px -8px!important;border-radius:14px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 -8px 22px rgba(15,23,42,.08)!important;backdrop-filter:blur(14px)}.gcm-shopfloor-submit-row .gcm-app-btn{display:flex!important;width:100%!important;height:52px!important;padding:0 14px!important;border-radius:13px!important;font-size:15px!important}.gcm-shopfloor-submit-row .gcm-app-btn span{display:inline!important}.gcm-shopfloor-submit-row>span{grid-column:1/-1!important}
  .gcm-shopfloor-side{display:none!important}

  .gcm-qr-scanner{background:#0b1220}.gcm-qr-scanner-backdrop{display:none}.gcm-qr-scanner-dialog{width:100vw!important;max-width:none!important;height:100dvh;margin:0!important;border-radius:0!important;display:flex;flex-direction:column;background:#0b1220;color:#fff}.gcm-qr-scanner-head{border-color:rgba(255,255,255,.12);padding:calc(14px + env(safe-area-inset-top)) 16px 14px}.gcm-qr-scanner-head small{color:#aebbd0}.gcm-qr-scanner-head button{background:rgba(255,255,255,.12);color:#fff}.gcm-qr-scanner-video{flex:1;aspect-ratio:auto!important}.gcm-qr-scanner-frame{inset:22% 12%;border-radius:24px}.gcm-qr-scanner-dialog>p{color:#fff;padding:14px 18px 5px}.gcm-qr-scanner-dialog>small{color:#9fb0c7;padding-bottom:calc(18px + env(safe-area-inset-bottom))}
}

@media(max-width:420px){
  .gcm-app-main{padding-left:10px;padding-right:10px}.gcm-app-filter{grid-template-columns:minmax(0,1fr) 132px}.gcm-app-date-control{width:132px!important}.gcm-app-period-tabs a,.gcm-app-period-tabs button{flex-basis:66px!important;width:66px!important;min-width:66px!important}
  .gcm-app-kpi{min-height:98px!important;padding:11px!important}.gcm-app-kpi strong{font-size:19px!important}.gcm-app-kpi-icon{width:35px!important;height:35px!important}
  .gcm-f360-health-main p{display:none}.gcm-f360-health-main h2{font-size:21px!important}.gcm-f360-scores{gap:7px!important}.gcm-f360-score-card{min-height:70px!important}
  .gcm-station-form{gap:9px!important}.gcm-station-form label>span{font-size:11px!important}.gcm-mobile-bottom-nav{left:6px;right:6px}
}

/* v1.6.1 — tinh chỉnh mobile chống chồng chéo, nút rõ hơn */
@media(max-width:760px){
  .gcm-app-filter{grid-template-columns:1fr!important;gap:10px!important}
  .gcm-app-period-tabs{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap!important}
  .gcm-app-period-tabs a,.gcm-app-period-tabs button{flex:0 0 78px!important;width:78px!important;min-width:78px!important}
  .gcm-app-date-control{width:100%!important}

  .gcm-app-card-head.gcm-app-section-head,
  .gcm-f360-flow-card .gcm-app-section-head,
  .gcm-f360-lines-card .gcm-app-section-head,
  .gcm-f360-outlook-card .gcm-app-section-head,
  .gcm-live-hourly .gcm-app-section-head{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important}
  .gcm-app-card-head.gcm-app-section-head>div{width:100%!important;min-width:0!important}
  .gcm-app-card-head.gcm-app-section-head p,
  .gcm-f360-flow-card .gcm-app-section-head p,
  .gcm-f360-lines-card .gcm-app-section-head p,
  .gcm-f360-outlook-card .gcm-app-section-head p,
  .gcm-live-hourly .gcm-app-section-head p{display:block!important;max-width:none!important}

  .gcm-app-card-head.gcm-app-section-head .gcm-app-btn,
  .gcm-f360-flow-card .gcm-app-section-head .gcm-app-btn,
  .gcm-f360-lines-card .gcm-app-section-head .gcm-app-btn,
  .gcm-f360-outlook-card .gcm-app-section-head .gcm-app-btn,
  .gcm-live-hourly .gcm-app-section-head .gcm-app-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:unset!important;max-width:100%!important;height:42px!important;padding:0 14px!important;border-radius:12px!important;white-space:nowrap!important;align-self:flex-start!important;overflow:hidden;text-overflow:ellipsis}
  .gcm-app-card-head.gcm-app-section-head .gcm-app-btn span,
  .gcm-f360-flow-card .gcm-app-section-head .gcm-app-btn span,
  .gcm-f360-lines-card .gcm-app-section-head .gcm-app-btn span,
  .gcm-f360-outlook-card .gcm-app-section-head .gcm-app-btn span,
  .gcm-live-hourly .gcm-app-section-head .gcm-app-btn span{display:inline!important}

  .gcm-f360-lines-card .gcm-app-section-head .gcm-app-btn,
  .gcm-live-hourly .gcm-app-section-head .gcm-app-btn{font-size:13px!important}

  .gcm-live-hourly{padding:14px!important}
  .gcm-live-hour-list.is-24h{display:grid!important;grid-template-columns:1fr!important;row-gap:0!important}
  .gcm-live-hour-row{grid-template-columns:58px minmax(0,1fr) 70px!important;gap:9px!important;min-height:40px!important}
  .gcm-live-hour-row b{font-size:12px!important}
  .gcm-live-hour-row em{grid-column:2/-1!important;text-align:left!important;font-size:11px!important;margin-top:-2px!important}

  .gcm-f360-lines-card{padding:14px!important}
  .gcm-f360-line-item{grid-template-columns:minmax(0,1fr) 76px!important;gap:10px!important}
  .gcm-f360-line-item .gcm-f360-line-progress{grid-column:1/-1!important;order:3!important}
  .gcm-f360-line-item .gcm-f360-line-load{justify-self:end!important;align-self:center!important;font-size:14px!important}

  .gcm-f360-outlook-grid{grid-template-columns:1fr!important}
  .gcm-f360-outlook-card .gcm-app-btn{margin-top:2px!important}
}

@media(max-width:420px){
  .gcm-app-period-tabs a,.gcm-app-period-tabs button{flex-basis:74px!important;width:74px!important;min-width:74px!important;font-size:13px!important}
  .gcm-app-date-control{height:44px!important}
  .gcm-app-title-row h1{font-size:22px!important;white-space:normal!important;line-height:1.1!important}
  .gcm-app-card-head.gcm-app-section-head .gcm-app-btn,
  .gcm-live-hourly .gcm-app-section-head .gcm-app-btn,
  .gcm-f360-lines-card .gcm-app-section-head .gcm-app-btn,
  .gcm-f360-outlook-card .gcm-app-section-head .gcm-app-btn{width:100%!important}
}

/* v1.6.2 — sửa input ngày/giờ iPhone bị tràn khung ở mobile */
@media(max-width:760px){
  .gcm-station-form,
  .gcm-station-form label,
  .gcm-station-form .gcm-shopfloor-wide{min-width:0!important;max-width:100%!important}
  .gcm-station-form input,
  .gcm-station-form select{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  .gcm-station-form input[type="date"],
  .gcm-station-form input[type="time"]{-webkit-appearance:none!important;appearance:none!important;line-height:46px!important}
}

/* v1.7.0 — Hiệu suất toàn nhà máy */
.gcm-f360-domain-icon.is-green{background:#eaf9ef;color:#16a34a}
.gcm-performance-page{display:flex;flex-direction:column;gap:16px;margin-bottom:22px}
.gcm-performance-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:stretch;padding:20px 22px;background:linear-gradient(135deg,#fff 0%,#f5f9ff 100%)}
.gcm-performance-hero h2{margin:4px 0 8px;font-size:28px;letter-spacing:-.03em}.gcm-performance-hero p{margin:0;max-width:820px;color:#64748b;line-height:1.6}
.gcm-performance-score{display:flex;flex-direction:column;justify-content:center;padding:17px 19px;border:1px solid #dce7f5;border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(37,99,235,.07)}
.gcm-performance-score small,.gcm-performance-score span{color:#64748b}.gcm-performance-score strong{margin:7px 0 5px;font-size:34px;letter-spacing:-.04em;color:#155eef}
.gcm-performance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gcm-performance-kpis>div{padding:15px 16px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.gcm-performance-kpis small,.gcm-performance-kpis span{display:block;color:#718096}.gcm-performance-kpis strong{display:block;margin:5px 0;font-size:22px;color:#172033}
.gcm-performance-board{overflow:hidden}.gcm-performance-departments{border-top:1px solid #e9eef4}.gcm-performance-dept{border-bottom:1px solid #e9eef4;background:#fff}.gcm-performance-dept:last-child{border-bottom:0}.gcm-performance-dept>summary{list-style:none;display:grid;grid-template-columns:minmax(250px,1.3fr) 110px 160px 105px 90px 24px;gap:13px;align-items:center;min-height:78px;padding:10px 18px;cursor:pointer}.gcm-performance-dept>summary::-webkit-details-marker{display:none}.gcm-performance-dept>summary:hover{background:#f9fbfe}.gcm-performance-dept-name{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center}.gcm-performance-dept-name .gcm-app-stage-icon{width:38px;height:38px}.gcm-performance-dept-name small,.gcm-performance-dept-name strong,.gcm-performance-dept-name span{display:block}.gcm-performance-dept-name small{font-size:9px;color:#8794a7;font-weight:800}.gcm-performance-dept-name strong{font-size:14px;margin:1px 0}.gcm-performance-dept-name span{font-size:10px;color:#6f7d90;cursor:help}.gcm-performance-dept>summary>div:not(.gcm-performance-dept-name) small,.gcm-performance-dept>summary>div:not(.gcm-performance-dept-name) b{display:block}.gcm-performance-dept>summary>div:not(.gcm-performance-dept-name) small{font-size:9.5px;color:#8290a3}.gcm-performance-dept>summary>div:not(.gcm-performance-dept-name) b{margin-top:4px;font-size:13px}.gcm-performance-dept .is-eff{font-size:17px!important}.gcm-performance-dept.is-healthy .is-eff{color:#159447}.gcm-performance-dept.is-warning .is-eff{color:#c97900}.gcm-performance-dept.is-critical .is-eff{color:#d92d32}.gcm-performance-chevron{font-size:20px;color:#8491a3;transition:.16s}.gcm-performance-dept[open] .gcm-performance-chevron{transform:rotate(180deg)}
.gcm-performance-dept-body{padding:0 18px 18px;background:#fbfcfe}.gcm-performance-progress{position:relative;height:10px;border-radius:999px;background:#e8edf4;overflow:visible}.gcm-performance-progress span{display:block;height:100%;border-radius:999px;background:#22b455}.gcm-performance-dept.is-warning .gcm-performance-progress span{background:#f59e0b}.gcm-performance-dept.is-critical .gcm-performance-progress span{background:#ef4444}.gcm-performance-progress i{position:absolute;top:-4px;bottom:-4px;width:2px;background:#334155;opacity:.48}.gcm-performance-meta{display:flex;flex-wrap:wrap;gap:10px 18px;padding:11px 0;color:#65758a;font-size:10.5px}.gcm-performance-meta a{margin-left:auto;color:#1769ff;font-weight:800}.gcm-performance-split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gcm-performance-split>div{border:1px solid #e3e9f0;border-radius:12px;background:#fff;overflow:hidden}.gcm-performance-split h3{margin:0;padding:11px 13px;border-bottom:1px solid #edf1f5;font-size:12px}.gcm-performance-unit-list>div,.gcm-performance-people>a{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:48px;padding:8px 13px;border-bottom:1px solid #edf1f5}.gcm-performance-unit-list>div:last-child,.gcm-performance-people>a:last-child{border-bottom:0}.gcm-performance-unit-list b,.gcm-performance-unit-list small,.gcm-performance-people b,.gcm-performance-people small{display:block}.gcm-performance-unit-list small,.gcm-performance-people small{margin-top:2px;font-size:9.5px;color:#8793a4}.gcm-performance-unit-list>div>span:last-child{text-align:right}.gcm-performance-unit-list .is-critical>span:last-child>b{color:#d92d32}.gcm-performance-unit-list .is-warning>span:last-child>b{color:#c97900}.gcm-performance-people>a{color:#273449}.gcm-performance-people>a:hover{background:#f7faff}.gcm-performance-people strong{color:#1769ff}
@media(max-width:1100px){.gcm-performance-hero{grid-template-columns:1fr}.gcm-performance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.gcm-performance-dept>summary{grid-template-columns:minmax(230px,1fr) repeat(4,90px) 20px}.gcm-performance-split{grid-template-columns:1fr}}
@media(max-width:760px){.gcm-performance-page{gap:11px}.gcm-performance-hero{padding:15px}.gcm-performance-hero h2{font-size:22px}.gcm-performance-hero p{font-size:12px}.gcm-performance-score{padding:13px 14px}.gcm-performance-score strong{font-size:29px}.gcm-performance-kpis{grid-template-columns:1fr 1fr;gap:8px}.gcm-performance-kpis>div{padding:11px}.gcm-performance-kpis strong{font-size:18px}.gcm-performance-board>.gcm-app-card-head{padding:14px}.gcm-performance-dept>summary{grid-template-columns:minmax(0,1fr) 76px 20px;gap:8px;padding:10px 12px}.gcm-performance-dept>summary>div:nth-of-type(2),.gcm-performance-dept>summary>div:nth-of-type(3),.gcm-performance-dept>summary>div:nth-of-type(5){display:none}.gcm-performance-dept>summary>div:nth-of-type(4){display:block}.gcm-performance-dept-body{padding:0 12px 12px}.gcm-performance-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px}.gcm-performance-meta a{grid-column:1/-1;margin-left:0}.gcm-performance-split{grid-template-columns:1fr}.gcm-performance-dept-name{grid-template-columns:34px minmax(0,1fr)}.gcm-performance-dept-name .gcm-app-stage-icon{width:34px;height:34px}.gcm-performance-dept .is-eff{font-size:16px!important}}

/* v1.8.0 — Quy trình, lô, sơ đồ nhà máy và dòng thời gian PO */
.gcm-process-page{display:grid;gap:16px;margin-bottom:22px}.gcm-process-hero{padding:20px 22px;display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(135deg,#fff 0%,#f4f8ff 100%);border-color:#d9e7fb}.gcm-process-hero h2{margin:4px 0 6px;font-size:25px}.gcm-process-hero p{margin:0;max-width:780px;color:#66758a;line-height:1.55}.gcm-process-hero-due{min-width:170px;padding:13px 15px;border:1px solid #dce6f3;border-radius:13px;background:#fff;text-align:right}.gcm-process-hero-due small,.gcm-process-hero-due strong,.gcm-process-hero-due span{display:block}.gcm-process-hero-due small{color:#7d8999}.gcm-process-hero-due strong{margin-top:4px;font-size:23px}.gcm-process-hero-due span{margin-top:4px;color:#27823e;font-size:11px;font-weight:800}.gcm-process-order-picker{display:flex;align-items:end;gap:10px;padding:12px 14px;border:1px solid #e1e7ef;border-radius:14px;background:#fff}.gcm-process-order-picker label{display:grid;gap:5px;min-width:0;flex:1}.gcm-process-order-picker label span{font-size:11px;font-weight:800;color:#69778b}.gcm-process-order-picker select{width:100%;height:42px;border:1px solid #dce3ec;border-radius:10px;background:#fff;padding:0 10px}.gcm-process-kpis-front{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gcm-process-kpis-front article{padding:15px 16px;min-height:105px}.gcm-process-kpis-front small,.gcm-process-kpis-front strong,.gcm-process-kpis-front span{display:block}.gcm-process-kpis-front small{color:#718096;font-weight:750}.gcm-process-kpis-front strong{margin-top:7px;font-size:25px}.gcm-process-kpis-front span{margin-top:4px;color:#8591a2;font-size:11px;line-height:1.4}.gcm-process-kpis-front .is-danger{border-left:4px solid #ef4444}.gcm-process-route-card{overflow:hidden}.gcm-process-route-scroll{display:flex;align-items:stretch;gap:10px;padding:4px 18px 20px;overflow-x:auto;scroll-snap-type:x proximity}.gcm-process-route-step{position:relative;flex:0 0 215px;min-width:215px;padding:13px;border:1px solid #e0e6ee;border-radius:14px;background:#fbfcfe;scroll-snap-align:start}.gcm-process-route-step.is-quality{border-color:#f5c36f;background:#fffaf0}.gcm-process-route-no{width:28px;height:28px;border-radius:8px;background:#eaf2ff;color:#1769ff;display:grid;place-items:center;font-weight:900;font-size:11px;margin-bottom:9px}.gcm-process-route-step small,.gcm-process-route-step strong,.gcm-process-route-step em{display:block}.gcm-process-route-step small{font-size:9px;font-weight:850;letter-spacing:.06em;color:#7b8798}.gcm-process-route-step strong{margin-top:3px;font-size:14px}.gcm-process-route-step p{margin:6px 0;color:#6d798a;font-size:11px;line-height:1.45}.gcm-process-route-step em{font-style:normal;color:#4e5e73;font-size:10px}.gcm-process-quality-pill{position:absolute;right:8px;top:8px;padding:4px 6px;border-radius:99px;background:#fff0cc;color:#955d00;font-size:9px}.gcm-process-route-arrow{align-self:center;color:#9eabba;font-size:24px;flex:0 0 auto}.gcm-process-main-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.65fr);gap:16px;align-items:start}.gcm-process-timeline-card{overflow:hidden}.gcm-process-timeline-axis{display:flex;justify-content:space-between;padding:0 18px 8px;color:#8994a4;font-size:10px}.gcm-process-gantt{padding:0 18px 18px}.gcm-process-gantt-row{display:grid;grid-template-columns:190px minmax(180px,1fr) 86px;gap:12px;align-items:center;min-height:51px;border-top:1px solid #eef1f5}.gcm-process-gantt-row:first-child{border-top:0}.gcm-process-task-name b,.gcm-process-task-name small,.gcm-process-task-date b,.gcm-process-task-date small{display:block}.gcm-process-task-name b{font-size:12px}.gcm-process-task-name small,.gcm-process-task-date small{margin-top:2px;color:#8792a2;font-size:9px}.gcm-process-task-date{text-align:right}.gcm-process-task-date b{font-size:11px}.gcm-process-gantt-track{position:relative;height:12px;border-radius:99px;background:#edf1f6}.gcm-process-gantt-track i{position:absolute;top:1px;bottom:1px;border-radius:99px;background:#4d8eff}.gcm-process-gantt-row.is-critical .gcm-process-gantt-track i{background:#ef4444}.gcm-process-gantt-row.is-critical .gcm-process-task-date small{color:#dc2626;font-weight:800}.gcm-process-gantt-row.is-overdue{background:#fffafa}.gcm-process-side-stack{display:grid;gap:16px}.gcm-process-flowtime{padding-bottom:16px}.gcm-process-flowtime>div:not(.gcm-app-card-head){margin:0 18px 9px;padding:12px;border:1px solid #e7ecf2;border-radius:11px;background:#fafbfd}.gcm-process-flowtime small,.gcm-process-flowtime strong{display:block}.gcm-process-flowtime small{color:#7b8798}.gcm-process-flowtime strong{margin-top:5px;font-size:20px}.gcm-process-flowtime>p{margin:3px 18px 0;color:#8591a1;font-size:10px;line-height:1.5}.gcm-process-critical{padding-bottom:12px}.gcm-process-critical>div:not(.gcm-app-card-head){display:flex;justify-content:space-between;gap:10px;align-items:center;margin:0 14px 8px;padding:10px 11px;border-radius:10px;background:#fff5f5}.gcm-process-critical b,.gcm-process-critical small{display:block}.gcm-process-critical small{margin-top:2px;color:#7f8b99;font-size:9px}.gcm-process-critical em{font-style:normal;font-weight:850;font-size:10px;color:#d02e34}.gcm-process-critical>p{margin:0 16px 8px;color:#7c8999}.gcm-process-bottom-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:16px}.gcm-process-lot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 18px 18px}.gcm-process-lot-grid article{padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#fbfcfd}.gcm-process-lot-grid article.is-in_progress{border-color:#9ec1ff;background:#f4f8ff}.gcm-process-lot-grid article.is-hold{border-color:#f3c675;background:#fff9eb}.gcm-process-lot-grid article.is-completed{border-color:#a9d9b7;background:#f4fbf6}.gcm-process-lot-grid article>div{display:flex;justify-content:space-between;gap:8px}.gcm-process-lot-grid article>div span{font-size:10px;color:#66768b}.gcm-process-lot-grid article>div b{font-size:12px}.gcm-process-lot-grid article>strong,.gcm-process-lot-grid article>small{display:block}.gcm-process-lot-grid article>strong{margin-top:9px;font-size:13px}.gcm-process-lot-grid article>small{margin-top:3px;color:#8290a2;font-size:10px}.gcm-process-lot-grid footer{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px;padding-top:8px;border-top:1px solid #e8edf3}.gcm-process-lot-grid footer span{font-size:9px;color:#637287}.gcm-process-map-card{overflow:hidden}.gcm-process-factory-map{position:relative;height:390px;margin:0 16px 16px;border:1px dashed #cfdae8;border-radius:14px;background:linear-gradient(#f7faff 1px,transparent 1px),linear-gradient(90deg,#f7faff 1px,transparent 1px);background-size:28px 28px;overflow:hidden}.gcm-process-factory-map>div{position:absolute;min-width:56px;min-height:36px;padding:7px;border:1px solid #cad7e7;border-radius:9px;background:rgba(255,255,255,.95);box-shadow:0 4px 12px rgba(15,23,42,.05);overflow:hidden}.gcm-process-factory-map>div b,.gcm-process-factory-map>div small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcm-process-factory-map>div b{font-size:10px}.gcm-process-factory-map>div small{margin-top:2px;font-size:8px;color:#7b8797}.gcm-process-factory-map>div.is-department{border-color:#8bb6ff;background:#edf5ff}.gcm-process-factory-map>div.is-line{border-color:#9ed7ac;background:#f1fbf4}
.gcm-process-flow-map-card{overflow:hidden}.gcm-process-flow-map{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px;padding:0 18px 18px}.gcm-process-flow-map article{border:1px solid #e3e9f1;border-radius:13px;background:#fbfcfe;padding:12px;min-width:0}.gcm-process-flow-map article.is-active{border-color:#9ec1ff;background:#f4f8ff}.gcm-process-flow-map article.is-hold{border-color:#f0bd63;background:#fff8e9}.gcm-process-flow-map article.is-done{border-color:#a7d9b6;background:#f4fbf6}.gcm-process-flow-map article.is-empty{opacity:.78}.gcm-process-flow-top{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:start}.gcm-process-flow-top>span{width:28px;height:28px;border-radius:8px;background:#eaf2ff;color:#1769ff;display:grid;place-items:center;font-weight:900;font-size:11px}.gcm-process-flow-top small,.gcm-process-flow-top strong{display:block}.gcm-process-flow-top small{font-size:9px;color:#7b8798;font-weight:850;letter-spacing:.06em}.gcm-process-flow-top strong{margin-top:2px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcm-process-flow-top>b{padding:4px 7px;border-radius:99px;background:#eef2f7;color:#586578;font-size:9px;white-space:nowrap}.gcm-process-flow-map article.is-active .gcm-process-flow-top>b{background:#e5f0ff;color:#1769ff}.gcm-process-flow-map article.is-hold .gcm-process-flow-top>b{background:#fff0cc;color:#9a6500}.gcm-process-flow-map article.is-done .gcm-process-flow-top>b{background:#e8f8ed;color:#24883a}.gcm-process-flow-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.gcm-process-flow-metrics span{padding:8px;border-radius:9px;background:#fff;border:1px solid #edf1f5}.gcm-process-flow-metrics small,.gcm-process-flow-metrics strong{display:block}.gcm-process-flow-metrics small{font-size:8px;color:#8792a2}.gcm-process-flow-metrics strong{margin-top:3px;font-size:11px;color:#1d2a40}.gcm-process-flow-progress{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:8px;align-items:center;margin-top:10px}.gcm-process-flow-progress em{font-style:normal;text-align:right;font-size:10px;font-weight:850;color:#334155}.gcm-process-flow-map article.is-hold .gcm-app-progress-track i{background:#f59e0b}.gcm-process-flow-map article.is-empty .gcm-app-progress-track i{background:#cbd5e1}.gcm-process-flow-map footer{margin-top:9px;color:#7c8797;font-size:9px;line-height:1.4}
@media(max-width:1100px){.gcm-process-kpis-front{grid-template-columns:repeat(2,minmax(0,1fr))}.gcm-process-main-grid,.gcm-process-bottom-grid{grid-template-columns:1fr}.gcm-process-lot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gcm-process-flow-map{grid-template-columns:repeat(2,minmax(220px,1fr))}}
@media(max-width:760px){.gcm-process-page{gap:11px}.gcm-process-hero{padding:15px;align-items:flex-start}.gcm-process-hero h2{font-size:21px}.gcm-process-hero p{font-size:12px}.gcm-process-hero-due{min-width:118px;padding:10px}.gcm-process-hero-due strong{font-size:18px}.gcm-process-order-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:10px}.gcm-process-order-picker .gcm-app-btn{display:flex!important;width:auto!important;height:42px!important;padding:0 12px!important}.gcm-process-order-picker>a{grid-column:1/-1;width:100%!important}.gcm-process-kpis-front{gap:8px}.gcm-process-kpis-front article{padding:11px;min-height:88px}.gcm-process-kpis-front strong{font-size:20px}.gcm-process-flow-map{grid-template-columns:1fr;padding:0 13px 13px}.gcm-process-route-card .gcm-app-card-head{padding-bottom:8px!important}.gcm-process-route-scroll{padding:2px 13px 15px}.gcm-process-route-step{flex-basis:175px;min-width:175px;padding:11px}.gcm-process-gantt{padding:0 12px 12px;overflow-x:auto}.gcm-process-gantt-row{grid-template-columns:150px 230px 72px;min-width:480px;gap:9px}.gcm-process-side-stack{gap:10px}.gcm-process-lot-grid{grid-template-columns:1fr;padding:0 13px 13px}.gcm-process-factory-map{height:300px;margin:0 12px 12px}.gcm-process-factory-map>div{padding:5px}.gcm-process-factory-map>div b{font-size:9px}}
@media(max-width:430px){.gcm-process-hero{display:grid;grid-template-columns:1fr}.gcm-process-hero-due{width:100%;text-align:left}.gcm-process-order-picker{grid-template-columns:1fr}.gcm-process-order-picker .gcm-app-btn{width:100%!important}.gcm-process-kpis-front{grid-template-columns:1fr 1fr}.gcm-process-kpis-front article{min-width:0}.gcm-process-kpis-front article span{font-size:9.5px}.gcm-process-route-step{flex-basis:165px;min-width:165px}}

/* v1.8.0 — tinh chỉnh timeline/lô trên màn hình nhỏ */
.gcm-process-gantt-row{grid-template-columns:190px minmax(180px,1fr) 118px}.gcm-process-task-date{min-width:0}.gcm-process-task-date small{line-height:1.35;white-space:normal}
@media(max-width:760px){.gcm-process-gantt-row{grid-template-columns:150px 230px 108px;min-width:520px}.gcm-process-task-date b,.gcm-process-task-date small{white-space:normal}.gcm-process-flowtime>div:not(.gcm-app-card-head){padding:11px}.gcm-process-lot-grid article{min-width:0}}
.gcm-app-product-tile.is-available{border-color:#bfe5ca;background:linear-gradient(180deg,#fff,#f5fbf7)}.gcm-app-product-tile.is-zero{opacity:.72;background:#fbfcfe}.gcm-app-product-tile.is-zero .gcm-app-product-qty strong{color:#8a95a5}

/* v1.9.0 — Tài sản & kiểm kê trên web/mobile */
.gcm-asset-web{display:grid;gap:16px;margin-bottom:17px}.gcm-asset-web-notice{padding:12px 14px;border:1px solid #b9e3c6;border-radius:12px;background:#edf9f0;color:#187b35;font-weight:800}.gcm-asset-web-hero{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#fff,#f3f8ff)}.gcm-asset-web-hero h2{margin:4px 0 5px;font-size:24px}.gcm-asset-web-hero p{margin:0;color:#64748b;line-height:1.5}.gcm-asset-web-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.gcm-asset-web-kpis article{padding:14px 15px;border:1px solid #e3e9f0;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(15,23,42,.04)}.gcm-asset-web-kpis small,.gcm-asset-web-kpis span{display:block}.gcm-asset-web-kpis small{font-size:11px;color:#64748b;font-weight:750}.gcm-asset-web-kpis strong{display:block;margin:7px 0 4px;font-size:24px}.gcm-asset-web-kpis span{font-size:10px;color:#8491a4}.gcm-asset-web-kpis .is-warning{border-left:4px solid #f59e0b}.gcm-asset-web-kpis .is-danger{border-left:4px solid #ef4444}.gcm-asset-web-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gcm-asset-web-groups,.gcm-asset-web-audits,.gcm-asset-web-due{padding:0 17px 16px;display:grid;gap:8px}.gcm-asset-web-groups>div,.gcm-asset-web-due>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f5}.gcm-asset-web-groups>div:last-child,.gcm-asset-web-due>div:last-child{border-bottom:0}.gcm-asset-web-groups span b,.gcm-asset-web-groups span small,.gcm-asset-web-due span b,.gcm-asset-web-due span small{display:block}.gcm-asset-web-groups span small,.gcm-asset-web-due span small{margin-top:2px;color:#8390a2;font-size:10px}.gcm-asset-web-groups strong{font-size:20px}.gcm-asset-web-groups em{font-style:normal;font-size:10px;color:#64748b}.gcm-asset-web-audits>div{display:grid;gap:4px;padding:10px 0;border-bottom:1px solid #edf1f5}.gcm-asset-web-audits span,.gcm-asset-web-audits small{color:#718096;font-size:11px}.gcm-asset-web-audits i{height:7px;background:#edf1f5;border-radius:99px;overflow:hidden}.gcm-asset-web-audits i em{display:block;height:100%;background:#1769ff}.gcm-asset-web-audits strong{color:#c2410c;font-size:10px}.gcm-asset-detail{padding:18px}.gcm-asset-detail-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding-bottom:15px;border-bottom:1px solid #edf1f5}.gcm-asset-detail-head img{width:70px;height:70px;object-fit:cover;border-radius:13px;border:1px solid #e2e8f0}.gcm-asset-detail-head h2{margin:4px 0 4px;font-size:24px}.gcm-asset-detail-head p{margin:0;color:#718096}.gcm-asset-state{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:850;background:#eef2f7;color:#556274}.gcm-asset-state.is-good{background:#eaf8ee;color:#187b35}.gcm-asset-state.is-attention{background:#fff7e5;color:#a86100}.gcm-asset-state.is-repair,.gcm-asset-state.is-broken,.gcm-asset-state.is-scrapped{background:#fff0f0;color:#c62828}.gcm-asset-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.gcm-asset-detail-grid>div{padding:12px;border:1px solid #e8edf3;border-radius:11px;background:#fafcff}.gcm-asset-detail-grid small,.gcm-asset-detail-grid b,.gcm-asset-detail-grid span{display:block}.gcm-asset-detail-grid small{font-size:10px;color:#7b8798}.gcm-asset-detail-grid b{margin-top:5px}.gcm-asset-detail-grid span{margin-top:3px;font-size:10px;color:#8792a2}.gcm-asset-audit-form{margin-top:15px;padding:14px;border:1px solid #dce8f7;border-radius:14px;background:#f7fbff;display:grid;grid-template-columns:1fr 1fr;gap:10px}.gcm-asset-audit-form-head{grid-column:1/-1}.gcm-asset-audit-form-head h3{margin:3px 0 4px;font-size:18px}.gcm-asset-audit-form-head p{margin:0;color:#718096;font-size:11px}.gcm-asset-audit-form label{display:grid;gap:5px}.gcm-asset-audit-form label>span{font-size:11px;font-weight:750;color:#536176}.gcm-asset-audit-form input,.gcm-asset-audit-form select{width:100%;height:44px;border:1px solid #d9e2ec;border-radius:10px;background:#fff;padding:0 10px;font:inherit}.gcm-asset-audit-form .is-wide{grid-column:1/-1}.gcm-asset-checkbox{display:flex!important;grid-template-columns:20px 1fr!important;align-items:center}.gcm-asset-checkbox input{width:18px!important;height:18px!important}.gcm-asset-web-due strong{font-size:12px}
@media(max-width:900px){.gcm-asset-web-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.gcm-asset-web-grid{grid-template-columns:1fr}.gcm-asset-detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.gcm-asset-web{gap:10px}.gcm-asset-web-hero{padding:14px;align-items:flex-start;flex-direction:column}.gcm-asset-web-hero h2{font-size:21px}.gcm-asset-web-hero .gcm-app-btn{width:100%!important;height:46px!important;justify-content:center!important}.gcm-asset-web-hero .gcm-app-btn span{display:inline!important}.gcm-asset-web-kpis{gap:8px}.gcm-asset-web-kpis article{padding:12px}.gcm-asset-web-kpis strong{font-size:20px}.gcm-asset-detail{padding:13px}.gcm-asset-detail-head{grid-template-columns:58px minmax(0,1fr);align-items:start}.gcm-asset-detail-head img{width:58px;height:58px}.gcm-asset-detail-head .gcm-asset-state{grid-column:1/-1;justify-self:start}.gcm-asset-detail-head h2{font-size:20px}.gcm-asset-detail-grid{gap:8px}.gcm-asset-detail-grid>div{padding:10px}.gcm-asset-audit-form{grid-template-columns:1fr;padding:11px}.gcm-asset-audit-form .is-wide,.gcm-asset-audit-form-head{grid-column:auto}.gcm-asset-audit-form button.is-wide{width:100%!important;height:50px!important}.gcm-asset-audit-form button.is-wide span{display:inline!important}}
@media(max-width:420px){.gcm-asset-detail-grid{grid-template-columns:1fr}.gcm-asset-web-kpis article{min-height:88px}}


/* v1.9.1 — trạng thái đồng bộ nhân sự */
.gcm-workforce-empty-live{padding:17px 19px;border-color:#cfe0f7;background:#f5f9ff}.gcm-workforce-empty-live strong{display:block;color:#174f9b;font-size:15px}.gcm-workforce-empty-live p{margin:5px 0 0;color:#627087;font-size:12px;line-height:1.55}

/* v1.9.6 — Cơ cấu nhân sự tiếng Việt theo nhóm / tổ */
.gcm-workforce-org-card{overflow:hidden}.gcm-workforce-org-card .gcm-app-card-head p b{color:#26364b}.gcm-workforce-org-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;padding:0 18px 18px}.gcm-workforce-org-unit{appearance:none;text-align:left;border:1px solid #e1e7ef;border-radius:14px;background:#fff;padding:14px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px 12px;align-items:start;color:#26364b;cursor:pointer;transition:.16s;box-shadow:0 2px 5px rgba(15,23,42,.025)}.gcm-workforce-org-unit:hover{border-color:#b9d0f5;background:#f8fbff;transform:translateY(-1px);box-shadow:0 8px 20px rgba(23,105,255,.08)}.gcm-workforce-org-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#edf4ff;color:#1769ff}.gcm-workforce-org-icon .gcm-app-icon{width:20px;height:20px}.gcm-workforce-org-main{min-width:0}.gcm-workforce-org-main>small{display:block;color:#8a96a7;font-size:8px;font-weight:850;letter-spacing:.08em}.gcm-workforce-org-main>strong{display:block;margin-top:3px;font-size:14px;color:#17243a;line-height:1.25}.gcm-workforce-org-main>b{display:block;margin-top:5px;font-size:19px;color:#1769ff}.gcm-workforce-org-subgroups{grid-column:1/-1;display:flex;gap:5px;flex-wrap:wrap;padding-top:4px}.gcm-workforce-org-subgroups i{font-style:normal;display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;background:#f2f5f9;color:#66758a;font-size:9px;line-height:1}.gcm-workforce-org-subgroups i b{color:#26364b;font-size:9px}.gcm-workforce-org-unit.is-sewing .gcm-workforce-org-icon{background:#eef9f1;color:#269543}.gcm-workforce-org-unit.is-cutting .gcm-workforce-org-icon{background:#fff5e6;color:#c87500}.gcm-workforce-org-unit.is-kcs .gcm-workforce-org-icon,.gcm-workforce-org-unit.is-qc .gcm-workforce-org-icon{background:#f4efff;color:#7241c8}.gcm-workforce-org-unit.is-finishing .gcm-workforce-org-icon,.gcm-workforce-org-unit.is-ironing .gcm-workforce-org-icon{background:#eef8fb;color:#137e98}.gcm-workforce-org-unit.is-maintenance .gcm-workforce-org-icon{background:#fff2f2;color:#cf4040}
.gcm-workforce-group-block{display:block}.gcm-workforce-group-block>header{min-width:1180px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 18px;background:#f4f7fb;border-top:1px solid #e5eaf1;border-bottom:1px solid #e5eaf1}.gcm-workforce-group-block>header>span b{display:block;color:#26364b;font-size:12px}.gcm-workforce-group-block>header>span small{display:block;margin-top:2px;color:#7c899a;font-size:9px}.gcm-workforce-group-block>header>div{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.gcm-workforce-group-block>header i{font-style:normal;padding:4px 7px;border-radius:999px;background:#fff;border:1px solid #e3e8ef;color:#69778a;font-size:8.5px}.gcm-workforce-group-block>header i b{color:#23354d;margin-left:2px}.gcm-workforce-group-block[hidden]{display:none!important}.gcm-workforce-person>span>strong,.gcm-workforce-person>span>small{display:block}.gcm-workforce-person>span>small{margin-top:3px;color:#8995a6;font-size:calc(8.5px + var(--gcm-font-add,0px))}.gcm-workforce-filters select[data-gcm-workforce-filter="group"]{max-width:210px}
@media(max-width:1380px){.gcm-workforce-org-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.gcm-workforce-org-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.gcm-workforce-org-grid{grid-template-columns:1fr;padding:0 13px 13px}.gcm-workforce-org-unit{padding:12px}.gcm-workforce-org-main>b{font-size:17px}.gcm-workforce-group-block>header{padding-left:13px;padding-right:13px}.gcm-workforce-org-card .gcm-app-card-head .gcm-app-btn{width:100%!important}}

/* v1.9.7 — bộ chọn kỳ và khoảng thời gian rõ ràng */
.gcm-app-filter{flex-wrap:wrap}
.gcm-period-nav{display:inline-flex;align-items:center;gap:6px;min-height:40px}
.gcm-period-step{width:38px;height:40px;display:grid;place-items:center;border:1px solid #dfe5ec;border-radius:9px;background:#fff;color:#344156;font-size:24px;line-height:1;box-shadow:0 2px 6px rgba(30,50,80,.03);transition:.15s}
.gcm-period-step:hover{border-color:#b9c9df;color:#1769ff;background:#f7faff}
.gcm-period-picker{min-height:40px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #dfe5ec;border-radius:9px;background:#fff;color:#273346;box-shadow:0 2px 6px rgba(30,50,80,.03)}
.gcm-period-picker>.gcm-app-icon{width:18px;height:18px;color:#526075;flex:0 0 auto}
.gcm-period-picker-label{font-size:12px;font-weight:700;color:#69778b;white-space:nowrap}
.gcm-period-picker input,.gcm-period-picker select{height:30px!important;min-width:0;border:0!important;border-radius:6px!important;background:#f7f9fc!important;box-shadow:none!important;color:#26344a!important;font:inherit!important;font-size:13px!important;font-weight:700!important;padding:0 8px!important;outline:none!important}
.gcm-period-picker input[type="date"]{width:136px!important;background:#fff!important;padding:0 2px!important}
.gcm-period-picker select{cursor:pointer}
.gcm-period-range-summary{height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border-radius:9px;background:#edf4ff;border:1px solid #d9e7ff;color:#43526a;font-size:12px;white-space:nowrap}
.gcm-period-range-summary span{font-weight:650;color:#6e7d92}
.gcm-period-range-summary strong{font-size:13px;color:#174d9b}
.gcm-period-range-summary em{font-style:normal;color:#8391a4}

@media(max-width:980px){
  .gcm-period-range-summary{order:3;width:100%;justify-content:center}
}
@media(max-width:760px){
  .gcm-app-filter{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important}
  .gcm-app-period-tabs{order:1}
  .gcm-period-nav{order:2;width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:7px}
  .gcm-period-step{width:40px;height:44px;border-radius:12px}
  .gcm-period-picker{width:100%;height:44px;min-width:0;justify-content:center;border-radius:12px;padding:0 8px;overflow:hidden}
  .gcm-period-picker-label{display:none}
  .gcm-period-picker input[type="date"]{width:150px!important;max-width:100%!important;text-align:center}
  .gcm-period-picker select{flex:1 1 auto;max-width:140px;height:34px!important;text-align:center}
  .gcm-period-range-summary{order:3;width:100%;height:38px;justify-content:center;border-radius:11px;gap:6px}
}
@media(max-width:420px){
  .gcm-period-range-summary{font-size:11px;padding:0 8px}
  .gcm-period-range-summary strong{font-size:12px}
  .gcm-period-picker select{font-size:12px!important;padding-left:5px!important;padding-right:5px!important}
}

/* v1.11.3 — hồ sơ nhân sự: không vẽ dữ liệu giả, kỹ năng luôn dễ đọc */
.gcm-employee-trend-chart{justify-content:center;gap:8px}
.gcm-employee-trend-chart>div{min-width:28px;max-width:54px}
.gcm-employee-insight-empty{min-height:220px;padding:30px;display:flex;align-items:center;justify-content:center;gap:16px;border-top:1px solid #eef1f5;background:linear-gradient(180deg,#fbfcfe,#fff);text-align:left}
.gcm-employee-insight-empty .gcm-app-stage-icon{width:46px;height:46px;flex:0 0 46px;color:#1769ff;background:#edf4ff}
.gcm-employee-insight-empty strong{display:block;color:#1d2b3f;font-size:15px}
.gcm-employee-insight-empty p{max-width:520px;margin:6px 0 0;color:#728096;font-size:12px;line-height:1.55}
.gcm-primary-skill-summary{margin:0 17px 12px;padding:14px;display:grid;grid-template-columns:42px minmax(190px,1fr) auto auto;gap:12px;align-items:center;border:1px solid #dce7f7;border-radius:12px;background:#f7faff}
.gcm-primary-skill-summary .gcm-app-stage-icon{width:42px;height:42px;color:#1769ff;background:#eaf2ff}
.gcm-primary-skill-summary small,.gcm-primary-skill-summary strong,.gcm-primary-skill-summary p{display:block}
.gcm-primary-skill-summary small{color:#7e8ca0;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}
.gcm-primary-skill-summary strong{margin-top:3px;color:#1c2c43;font-size:13px}
.gcm-primary-skill-summary p{margin:4px 0 0;color:#77869a;font-size:10px;line-height:1.4}
.gcm-primary-skill-summary>b{padding:5px 8px;border-radius:8px;background:#e8f0fb;color:#315f9c;font-size:10px;white-space:nowrap}
.gcm-primary-skill-summary>span:last-child{color:#26384f;font-size:11px;font-weight:800;white-space:nowrap}
.gcm-employee-skill-list{padding:0 17px}
.gcm-employee-skill-list>div{grid-template-columns:32px minmax(150px,1fr) auto auto}
.gcm-skill-replacement-status{margin:12px 17px 16px;padding:12px 14px;border-radius:10px;border:1px solid #f1dfb7;background:#fff9ec}
.gcm-skill-replacement-status.is-ready{border-color:#cfe9d6;background:#f2faf4}
.gcm-skill-replacement-status strong{display:block;color:#34435a;font-size:11px}
.gcm-skill-replacement-status p{margin:4px 0 0;color:#7a8798;font-size:10px;line-height:1.5}
@media(max-width:760px){
  .gcm-employee-insight-empty{min-height:170px;padding:22px 16px;align-items:flex-start}
  .gcm-primary-skill-summary{grid-template-columns:42px minmax(0,1fr);margin-left:12px;margin-right:12px}
  .gcm-primary-skill-summary>b,.gcm-primary-skill-summary>span:last-child{grid-column:2}
  .gcm-employee-skill-list>div{grid-template-columns:32px minmax(0,1fr)}
  .gcm-employee-skill-list>div>b,.gcm-employee-skill-list>div>span:last-child{grid-column:2}
  .gcm-skill-replacement-status{margin-left:12px;margin-right:12px}
}

/* v1.11.4 — đặt sau CSS cũ để bố cục danh sách nhân sự không bị ghi đè */
.gcm-workforce-table-wrap{overflow:visible;border-top:0}
.gcm-workforce-table{min-width:0;grid-template-columns:minmax(220px,1.35fr) minmax(190px,1.1fr) minmax(140px,.72fr) minmax(165px,.82fr) minmax(175px,.9fr) 24px;gap:14px;padding:12px 18px}
.gcm-workforce-table.is-head{min-width:0;position:static;padding-top:10px;padding-bottom:10px}
.gcm-workforce-group-block{background:#fff}
.gcm-workforce-group-block>header{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);justify-content:initial;gap:10px 18px;padding:13px 18px 11px;background:#f3f6fa}
.gcm-workforce-group-units{align-self:center;display:flex;justify-content:flex-start!important;gap:6px!important;min-width:0;overflow:hidden}
.gcm-workforce-person-row{min-width:0;min-height:72px;padding:13px 18px}

@media(max-width:1150px){
  .gcm-workforce-table.is-head{display:none}
  .gcm-workforce-group-block{padding:0 0 8px;background:#f5f7fa}
  .gcm-workforce-group-block>header{min-width:0;display:grid;grid-template-columns:1fr;padding:13px 15px}
  .gcm-workforce-group-units{overflow:visible;flex-wrap:wrap}
  .gcm-workforce-person-row{min-width:0;margin:9px 12px 0;padding:14px;grid-template-columns:minmax(0,1fr) minmax(210px,.7fr) 24px;gap:12px 18px;border:1px solid #e4eaf1!important;border-radius:13px;background:#fff;box-shadow:0 3px 10px rgba(35,55,80,.035)}
  .gcm-workforce-person-row.is-critical{border-left:4px solid #ef4444!important;box-shadow:none}
  .gcm-workforce-person-row.is-warning{border-left:4px solid #f59e0b!important;box-shadow:none}
  .gcm-person-cell.is-identity{grid-column:1/3;grid-row:1}
  .gcm-person-cell.is-org{grid-column:1;grid-row:2}
  .gcm-person-cell.is-today{grid-column:2;grid-row:2}
  .gcm-person-cell.is-efficiency{grid-column:1;grid-row:3;padding-top:10px;border-top:1px solid #edf1f5}
  .gcm-person-cell.is-result{grid-column:2;grid-row:3;padding-top:10px;border-top:1px solid #edf1f5}
  .gcm-app-row-inspect{grid-column:3;grid-row:1/4}
}

@media(max-width:700px){
  .gcm-workforce-group-block>header{padding:13px 12px}
  .gcm-workforce-person-row{grid-template-columns:minmax(0,1fr) 22px;margin-left:8px;margin-right:8px;padding:13px;gap:11px}
  .gcm-person-cell.is-identity,.gcm-person-cell.is-org,.gcm-person-cell.is-today,.gcm-person-cell.is-efficiency,.gcm-person-cell.is-result{grid-column:1}
  .gcm-person-cell.is-identity{grid-row:1}
  .gcm-person-cell.is-org{grid-row:2}
  .gcm-person-cell.is-today{grid-row:3}
  .gcm-person-cell.is-efficiency{grid-row:4}
  .gcm-person-cell.is-result{grid-row:5}
  .gcm-person-cell.is-today,.gcm-person-cell.is-efficiency,.gcm-person-cell.is-result{padding-top:10px;border-top:1px solid #edf1f5}
  .gcm-app-row-inspect{grid-column:2;grid-row:1/6}
}

/* v1.11.5 — bảng thu nhập từng người: 4 khối thông tin, không lặp ô dữ liệu trống */
.gcm-payroll-person-card>.gcm-app-card-head{padding-bottom:14px}
.gcm-payroll-person-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:13px 18px;background:#f8fafc;border-top:1px solid #edf1f5;border-bottom:1px solid #e5eaf1}
.gcm-payroll-person-overview{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(155px,.8fr) minmax(155px,.8fr);gap:8px;min-width:0}
.gcm-payroll-person-overview>span{min-width:0;padding:9px 11px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}
.gcm-payroll-person-overview small,.gcm-payroll-person-overview strong,.gcm-payroll-person-overview b{display:block}
.gcm-payroll-person-overview small{margin:0 0 4px;color:#8491a3;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.gcm-payroll-person-overview strong,.gcm-payroll-person-overview b{overflow:hidden;color:#26384f;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.gcm-payroll-person-overview>span:last-child{border-color:#cfe3d5;background:#f6fbf7}
.gcm-payroll-person-overview>span:last-child b{color:#24713a}
.gcm-payroll-person-actions{display:flex;align-items:end;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.gcm-payroll-person-actions label{display:grid;gap:4px;color:#718096;font-size:10px;font-weight:750}
.gcm-payroll-person-actions select{height:40px;min-width:190px;padding:0 34px 0 10px;border:1px solid #dce4ee;border-radius:9px;background:#fff;color:#334155;font:inherit}
.gcm-payroll-person-actions .gcm-app-btn{height:40px}
.gcm-finance-payroll-table{overflow:visible;background:#fff}
.gcm-finance-payroll-table>div{min-width:0!important;grid-template-columns:minmax(235px,1.15fr) minmax(150px,.72fr) minmax(250px,1.16fr) minmax(230px,1fr) 24px!important;gap:18px!important;padding-left:18px;padding-right:18px}
.gcm-finance-payroll-table>.is-row{min-height:98px;padding-top:14px;padding-bottom:14px}
.gcm-finance-payroll-table>.is-row:hover{position:relative;z-index:1;background:#fbfdff;box-shadow:0 7px 20px rgba(27,48,78,.07),inset 3px 0 #1769ff}
.gcm-payroll-person-identity{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:10px!important;align-items:center}
.gcm-payroll-person-identity>span{min-width:0}
.gcm-payroll-person-identity a{display:block;min-width:0}
.gcm-payroll-person-identity b{display:block;overflow:hidden;color:#1d2c42!important;font-size:12px!important;text-overflow:ellipsis;white-space:nowrap}
.gcm-payroll-person-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gcm-payroll-person-identity em{display:block;margin-top:6px;color:#64748b;font-size:9.5px;font-style:normal;font-weight:700}
.gcm-payroll-rank{grid-column:auto;grid-row:auto;min-width:42px;padding:6px 7px}
.gcm-payroll-person-team{display:flex!important;flex-direction:column;align-items:flex-start;gap:5px}
.gcm-payroll-person-team>b{display:inline-flex!important;width:max-content;padding:4px 8px;border-radius:999px;background:#edf4ff;color:#245ea5!important;font-size:9.5px!important}
.gcm-payroll-person-team>strong{font-size:12px!important;color:#26384f!important}
.gcm-payroll-person-team>small{margin:0!important;white-space:normal}
.gcm-payroll-person-income{display:grid!important;grid-template-columns:1fr 1fr;gap:8px 14px;align-items:start}
.gcm-payroll-person-income>span{min-width:0}
.gcm-payroll-person-income>span>small{margin:0 0 4px;color:#7e8c9f;font-size:9px;font-weight:750}
.gcm-payroll-person-income>span>strong{display:block;color:#26384f!important;font-size:13px!important;white-space:nowrap}
.gcm-payroll-person-income>.is-net>strong{color:#24713a!important}
.gcm-payroll-person-income>em{grid-column:1/-1;display:flex;gap:7px 14px;flex-wrap:wrap;padding-top:7px;border-top:1px dashed #e4e9f0;font-style:normal}
.gcm-payroll-person-income>em small{margin:0;color:#8995a6;font-size:9px}
.gcm-payroll-income-help-wrap{position:relative;grid-column:1/-1;display:flex!important;justify-content:flex-start;align-items:center;min-width:0}
.gcm-payroll-income-help{width:22px;height:22px;border:1px solid #cfe0f6;border-radius:999px;background:#eef6ff;color:#1769ff;display:grid;place-items:center;padding:0;font-size:12px;font-weight:850;line-height:1;cursor:help}
.gcm-payroll-income-help:focus-visible{outline:2px solid rgba(23,105,255,.35);outline-offset:2px}
.gcm-payroll-income-tooltip{position:absolute;left:0;top:calc(100% + 8px);z-index:25;width:min(330px,calc(100vw - 40px));display:none;padding:12px 13px;border:1px solid #d9e4f2;border-radius:12px;background:#fff;color:#26384f;box-shadow:0 14px 36px rgba(21,35,58,.18);font-size:11px;line-height:1.45}
.gcm-payroll-income-help-wrap:hover .gcm-payroll-income-tooltip,.gcm-payroll-income-help:focus+.gcm-payroll-income-tooltip{display:block}
.gcm-payroll-income-tooltip:before{content:"";position:absolute;left:9px;top:-7px;width:12px;height:12px;background:#fff;border-left:1px solid #d9e4f2;border-top:1px solid #d9e4f2;transform:rotate(45deg)}
.gcm-payroll-income-tooltip>b{display:block;margin-bottom:8px;color:#172033;font-size:12px}
.gcm-payroll-income-tooltip>span{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px dashed #edf1f6}
.gcm-payroll-income-tooltip>span:last-of-type{border-bottom:0}
.gcm-payroll-income-tooltip i{font-style:normal;color:#64748b}
.gcm-payroll-income-tooltip strong{color:#172033;font-size:11px!important;white-space:nowrap}
.gcm-payroll-income-tooltip .is-total{font-weight:800}
.gcm-payroll-income-tooltip .is-total strong{color:#24713a!important}
.gcm-payroll-income-tooltip>small{display:block;margin-top:9px;padding-top:9px;border-top:1px solid #e7edf5;color:#64748b}
.gcm-payroll-person-performance{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 9px;align-items:start}
.gcm-payroll-person-performance>span>small{margin:0 0 4px;color:#7e8c9f;font-size:9px;font-weight:750}
.gcm-payroll-person-performance>span>b{font-size:11px!important;white-space:nowrap}
.gcm-payroll-person-performance>em{grid-column:1/-1;color:#8390a3;font-size:9px;font-style:normal}
.gcm-payroll-data-missing{grid-column:1/-1;display:block!important;padding:11px 12px;border:1px dashed #d8e0e9;border-radius:10px;background:#f8fafc}
.gcm-payroll-data-missing b{display:block;color:#607087!important;font-size:10.5px!important}
.gcm-payroll-data-missing small{margin-top:4px!important;color:#8a96a7!important;font-weight:500!important;line-height:1.4}
.gcm-payroll-person-open{display:grid!important;place-items:center;color:#8ca0ba}
.gcm-payroll-person-open .gcm-app-icon{width:15px;height:15px}

@media(max-width:1180px){
  .gcm-payroll-person-toolbar{grid-template-columns:1fr;align-items:stretch}
  .gcm-payroll-person-actions{justify-content:flex-start}
  .gcm-finance-payroll-table{padding:1px 10px 10px;background:#f5f7fa}
  .gcm-finance-payroll-table>.is-head{display:none}
  .gcm-finance-payroll-table>.is-row{margin-top:9px;padding:14px;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr) 24px!important;gap:13px 18px!important;border:1px solid #e2e8f0;border-radius:13px;background:#fff;box-shadow:0 3px 10px rgba(35,55,80,.035)}
  .gcm-payroll-person-identity{grid-column:1/3;grid-row:1}
  .gcm-payroll-person-team{grid-column:1;grid-row:2}
  .gcm-payroll-person-income{grid-column:2;grid-row:2}
  .gcm-payroll-person-performance{grid-column:1/3;grid-row:3;padding-top:11px;border-top:1px solid #edf1f5}
  .gcm-payroll-person-open{grid-column:3;grid-row:1/4}
}

@media(max-width:700px){
  .gcm-payroll-person-toolbar{padding:12px}
  .gcm-payroll-person-overview{grid-template-columns:1fr 1fr}
  .gcm-payroll-person-overview>span:first-child{grid-column:1/-1}
  .gcm-payroll-person-actions{display:grid;grid-template-columns:1fr}
  .gcm-payroll-person-actions label,.gcm-payroll-person-actions select,.gcm-payroll-person-actions .gcm-app-btn{width:100%}
  .gcm-finance-payroll-table{padding-left:7px;padding-right:7px}
  .gcm-finance-payroll-table>.is-row{grid-template-columns:minmax(0,1fr) 22px!important;padding:13px;gap:12px!important}
  .gcm-payroll-person-identity,.gcm-payroll-person-team,.gcm-payroll-person-income,.gcm-payroll-person-performance{grid-column:1}
  .gcm-payroll-person-identity{grid-row:1}.gcm-payroll-person-team{grid-row:2}.gcm-payroll-person-income{grid-row:3}.gcm-payroll-person-performance{grid-row:4}
  .gcm-payroll-person-team,.gcm-payroll-person-income,.gcm-payroll-person-performance{padding-top:11px;border-top:1px solid #edf1f5}
  .gcm-payroll-person-open{grid-column:2;grid-row:1/5}
}

@media(max-width:420px){
  .gcm-payroll-person-overview{grid-template-columns:1fr}
  .gcm-payroll-person-overview>span:first-child{grid-column:auto}
  .gcm-payroll-person-income{grid-template-columns:1fr}
  .gcm-payroll-person-income>em{grid-column:auto}
  .gcm-payroll-person-performance{grid-template-columns:1fr 1fr}
}

/* v1.11.6 — xu hướng tài chính có trạng thái rỗng và cơ cấu chi phí trực quan */
.gcm-finance-layout{grid-template-columns:minmax(0,1.45fr) minmax(360px,.55fr);align-items:stretch}
.gcm-finance-chart-card{display:flex;flex-direction:column;min-height:430px}
.gcm-finance-chart-card .gcm-finance-legend{padding:0 18px;margin-bottom:0}
.gcm-finance-chart-empty{flex:1;min-height:300px;display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-rows:auto auto;gap:14px 16px;align-content:center;margin-top:14px;padding:34px 42px;border-top:1px solid #edf1f5;background:linear-gradient(180deg,#fbfcfe 0%,#fff 100%)}
.gcm-finance-chart-empty-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:#edf4ff;color:#1769ff}
.gcm-finance-chart-empty-icon .gcm-app-icon{width:27px;height:27px}
.gcm-finance-chart-empty>div:nth-child(2){align-self:center}
.gcm-finance-chart-empty>div:nth-child(2)>strong{display:block;color:#24354b;font-size:17px}
.gcm-finance-chart-empty>div:nth-child(2)>p{max-width:580px;margin:6px 0 0;color:#738198;font-size:11.5px;line-height:1.55}
.gcm-finance-chart-empty-values{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:8px}
.gcm-finance-chart-empty-values>span{position:relative;padding:12px 13px 12px 17px;border:1px solid #e4eaf1;border-radius:11px;background:#fff;overflow:hidden}
.gcm-finance-chart-empty-values>span>i{position:absolute;left:0;top:0;bottom:0;width:4px}
.gcm-finance-chart-empty-values>span>i.is-production{background:#2563eb}.gcm-finance-chart-empty-values>span>i.is-revenue{background:#16a34a}.gcm-finance-chart-empty-values>span>i.is-expense{background:#f59e0b}
.gcm-finance-chart-empty-values small,.gcm-finance-chart-empty-values b{display:block}
.gcm-finance-chart-empty-values small{color:#8491a3;font-size:9px;font-weight:750}
.gcm-finance-chart-empty-values b{margin-top:5px;color:#34445a;font-size:12px}
.gcm-finance-cost-card{overflow:hidden}
.gcm-finance-cost-summary{display:grid;grid-template-columns:112px minmax(0,1fr);gap:15px;align-items:center;padding:0 18px 17px;border-bottom:1px solid #edf1f5}
.gcm-finance-cost-ring{width:108px;height:108px;display:grid;place-items:center;border-radius:50%;background:var(--gcm-cost-gradient);box-shadow:inset 0 0 0 1px rgba(15,23,42,.04)}
.gcm-finance-cost-ring:before{content:"";grid-area:1/1;width:76px;height:76px;border-radius:50%;background:#fff;box-shadow:0 3px 12px rgba(15,23,42,.08)}
.gcm-finance-cost-ring>span{grid-area:1/1;position:relative;z-index:1;text-align:center}
.gcm-finance-cost-ring strong,.gcm-finance-cost-ring small{display:block}
.gcm-finance-cost-ring strong{color:#17243a;font-size:20px;letter-spacing:-.03em}.gcm-finance-cost-ring small{margin-top:2px;color:#8a96a7;font-size:8.5px}
.gcm-finance-cost-summary>div:last-child>small,.gcm-finance-cost-summary>div:last-child>strong,.gcm-finance-cost-summary>div:last-child>span{display:block}
.gcm-finance-cost-summary>div:last-child>small{color:#8390a2;font-size:9px;font-weight:750}
.gcm-finance-cost-summary>div:last-child>strong{margin-top:5px;color:#1f3047;font-size:17px;line-height:1.2}
.gcm-finance-cost-summary>div:last-child>span{margin-top:6px;color:#738198;font-size:9.5px;line-height:1.45}
.gcm-finance-cost-list.is-composition{padding:4px 18px 13px}
.gcm-finance-cost-list.is-composition>div{align-items:center;padding:11px 0}
.gcm-finance-cost-list.is-composition>div>span{display:grid;grid-template-columns:9px minmax(0,1fr);gap:9px;align-items:center;min-width:0}
.gcm-finance-cost-list.is-composition>div>span>i{width:9px;height:9px;border-radius:3px}.gcm-finance-cost-list.is-composition .is-material{background:#2563eb}.gcm-finance-cost-list.is-composition .is-payroll{background:#7c3aed}.gcm-finance-cost-list.is-composition .is-other{background:#f59e0b}.gcm-finance-cost-list.is-composition .is-quality{background:#ef4444}
.gcm-finance-cost-list.is-composition>div>span>span b,.gcm-finance-cost-list.is-composition>div>span>span small{display:block}
.gcm-finance-cost-list.is-composition>div>span>span b{overflow:hidden;color:#435268;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.gcm-finance-cost-list.is-composition>div>span>span small{margin-top:2px;color:#8b97a7;font-size:8.5px}
.gcm-finance-cost-list.is-composition>div>strong{color:#25364c;font-size:10.5px;white-space:nowrap}
.gcm-finance-payroll-source{display:grid;grid-template-columns:minmax(280px,1fr) minmax(190px,.34fr) minmax(190px,.34fr) auto;gap:12px;align-items:center}
.gcm-finance-payroll-source h2{margin:3px 0 4px;font-size:18px}.gcm-finance-payroll-source p{margin:0;color:#64748b;line-height:1.45}
.gcm-finance-payroll-source label{display:flex;align-items:center;gap:10px;min-height:62px;padding:10px 12px;border:1px solid #dbe5f2;border-radius:10px;background:#fff;cursor:pointer}
.gcm-finance-payroll-source label.is-selected{border-color:#1769ff;background:#f4f8ff;box-shadow:inset 0 0 0 1px rgba(23,105,255,.24)}
.gcm-finance-payroll-source input{margin:0}.gcm-finance-payroll-source label span{display:block;min-width:0}.gcm-finance-payroll-source label b,.gcm-finance-payroll-source label small{display:block}.gcm-finance-payroll-source label b{color:#172033;font-size:12px}.gcm-finance-payroll-source label small{margin-top:3px;color:#64748b;font-size:11px;white-space:nowrap}
.gcm-finance-quality-note{min-height:108px;display:flex;flex-direction:column;justify-content:center}

@media(max-width:1180px){
  .gcm-finance-layout{grid-template-columns:1fr}
  .gcm-finance-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.42fr);align-items:stretch}
  .gcm-finance-payroll-source{grid-template-columns:1fr 1fr}
  .gcm-finance-payroll-source>div,.gcm-finance-payroll-source>button{grid-column:1/-1}
}

@media(max-width:700px){
  .gcm-finance-payroll-source{grid-template-columns:1fr}
  .gcm-finance-payroll-source>div,.gcm-finance-payroll-source>button{grid-column:auto}
  .gcm-finance-chart-card{min-height:0}
  .gcm-finance-chart-empty{min-height:0;grid-template-columns:44px minmax(0,1fr);padding:25px 16px}
  .gcm-finance-chart-empty-icon{width:44px;height:44px;border-radius:13px}.gcm-finance-chart-empty-icon .gcm-app-icon{width:22px;height:22px}
  .gcm-finance-chart-empty-values{grid-template-columns:1fr}
  .gcm-finance-side{display:flex}
  .gcm-finance-cost-summary{grid-template-columns:94px minmax(0,1fr);padding-left:14px;padding-right:14px}
  .gcm-finance-cost-ring{width:90px;height:90px}.gcm-finance-cost-ring:before{width:64px;height:64px}.gcm-finance-cost-ring strong{font-size:17px}
  .gcm-finance-cost-list.is-composition{padding-left:14px;padding-right:14px}
}

/* v1.11.8 — Ban lãnh đạo tổ/bộ phận (Trưởng bộ phận & Tổ trưởng). */
.gcm-leadership-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;padding:0 17px 16px}
.gcm-leadership-chip{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e5ebf2;border-radius:12px;text-decoration:none;color:#172033;background:#fbfcfe;transition:.16s}
.gcm-leadership-chip:hover{border-color:#c9d6ec;background:#f3f7fd}
.gcm-leadership-chip span{display:flex;flex-direction:column;gap:2px;min-width:0}
.gcm-leadership-chip small{color:#8b95a4;font-size:calc(11px + var(--gcm-font-add,0px))}
.gcm-leadership-chip strong{font-size:calc(13px + var(--gcm-font-add,0px));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gcm-leadership-chip.is-manager{border-left:3px solid var(--gcm-purple)}
.gcm-leadership-chip.is-supervisor{border-left:3px solid var(--gcm-blue)}
.gcm-leadership-chip.is-inline{display:inline-flex;margin-top:10px;padding:7px 10px}
.gcm-leadership-chip.is-empty{display:inline-block;margin-top:10px;padding:9px 12px;border:1px dashed #d8dee7;border-radius:12px;color:#8b95a4;font-size:calc(12px + var(--gcm-font-add,0px))}
.gcm-leadership-warning{display:flex;align-items:flex-start;gap:10px;margin:0 17px 16px;padding:11px 12px;border:1px solid #f6e3bf;border-left:4px solid #f59e0b;border-radius:10px;background:#fffaf0;color:#6b5219;font-size:calc(12.5px + var(--gcm-font-add,0px))}
.gcm-leadership-warning b{flex:0 0 auto;width:18px;height:18px}
.gcm-leadership-warning .gcm-app-icon{width:18px;height:18px}
.gcm-leader-badge{display:inline-block;color:#f59e0b;font-size:.85em;line-height:1}
.gcm-employee-leadership-line{margin:4px 0 0;padding:4px 10px;display:inline-block;border-radius:8px;background:#fff7e8;color:#8a5a06;font-size:calc(12px + var(--gcm-font-add,0px))}
@media (max-width:640px){
  .gcm-leadership-grid{grid-template-columns:1fr}
}

/* v1.11.9 — Năng lực đơn hàng theo giây công đoạn và quân số từng tổ. */
.gcm-order-capacity-page{display:flex;flex-direction:column;gap:14px}
.gcm-order-capacity-hero{display:flex!important;align-items:center;justify-content:space-between;gap:18px;padding:18px}
.gcm-order-capacity-hero h2{margin:3px 0 6px;color:#172033;font-size:calc(24px + var(--gcm-font-add,0px))}
.gcm-order-capacity-hero p{margin:0;color:#64748b;line-height:1.5}
.gcm-order-capacity-form{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;padding:17px}
.gcm-order-capacity-form label{display:flex;flex-direction:column;gap:6px;min-width:0;color:#475569;font-size:calc(12px + var(--gcm-font-add,0px));font-weight:750}
.gcm-order-capacity-form input,.gcm-order-capacity-form select,.gcm-order-capacity-form textarea{width:100%;border:1px solid #dbe4ef;border-radius:10px;background:#fff;color:#172033;padding:10px 11px;font-size:calc(13px + var(--gcm-font-add,0px))}
.gcm-order-capacity-form textarea{resize:vertical}
.gcm-order-capacity-form small{color:#7c8797;font-weight:500;line-height:1.45}
.gcm-order-capacity-form .gcm-checkbox{justify-content:center;gap:8px;flex-direction:row;align-items:center}
.gcm-order-capacity-form .gcm-checkbox input{width:auto}
.gcm-order-capacity-wide{grid-column:1/-1}
.gcm-order-capacity-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.gcm-order-capacity-kpis>.gcm-app-card{padding:16px 17px;border-left:4px solid #dbeafe}
.gcm-order-capacity-kpis small,.gcm-order-capacity-kpis strong,.gcm-order-capacity-kpis span{display:block}
.gcm-order-capacity-kpis small{color:#718096;font-size:calc(10px + var(--gcm-font-add,0px));font-weight:850;text-transform:uppercase}
.gcm-order-capacity-kpis strong{margin-top:7px;color:#172033;font-size:calc(22px + var(--gcm-font-add,0px));line-height:1.15}
.gcm-order-capacity-kpis span{margin-top:5px;color:#64748b;font-size:calc(11px + var(--gcm-font-add,0px))}
.gcm-order-capacity-kpis .is-risk{border-left-color:#ef4444}.gcm-order-capacity-kpis .is-good{border-left-color:#22c55e}
.gcm-order-capacity-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:14px}
.gcm-order-capacity-result{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 17px 17px}
.gcm-order-capacity-result>div{padding:12px;border:1px solid #e5edf6;border-radius:12px;background:#fbfdff}
.gcm-order-capacity-result small,.gcm-order-capacity-result strong{display:block}
.gcm-order-capacity-result small{color:#7b8796;font-size:calc(10px + var(--gcm-font-add,0px));font-weight:800}
.gcm-order-capacity-result strong{margin-top:5px;color:#172033;font-size:calc(14px + var(--gcm-font-add,0px))}
.gcm-order-capacity-lines,.gcm-order-capacity-ops{padding:0 17px 17px}
.gcm-order-capacity-lines>div,.gcm-order-capacity-ops>div{display:grid;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf2f7}
.gcm-order-capacity-lines>div{grid-template-columns:1.2fr .7fr .9fr .8fr}
.gcm-order-capacity-lines.is-advanced{overflow:auto}
.gcm-order-capacity-lines.is-advanced>div{grid-template-columns:minmax(92px,1fr) 70px 70px minmax(120px,1fr) 110px 100px 90px;min-width:760px}
.gcm-order-capacity-lines.is-advanced>div.is-warning{background:#fff8eb;border-radius:10px;padding-left:8px;padding-right:8px;border-bottom-color:#f5d79a}
.gcm-order-capacity-lines small{display:block;margin-top:3px;color:#8793a3;font-size:calc(10px + var(--gcm-font-add,0px));font-weight:500;line-height:1.35}
.gcm-order-capacity-ops>div{grid-template-columns:70px minmax(0,1fr) 110px 130px 110px}
.gcm-order-capacity-lines>.is-head,.gcm-order-capacity-ops>.is-head{color:#64748b;font-size:calc(10px + var(--gcm-font-add,0px));font-weight:850;text-transform:uppercase}
.gcm-order-capacity-lines b,.gcm-order-capacity-ops b{color:#172033}
.gcm-order-capacity-ops small{display:block;margin-top:3px;color:#8793a3}
.gcm-app-alert.is-warning{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid #f4ddb2;border-left:4px solid #f59e0b;border-radius:12px;background:#fff8eb;color:#6b4e13}
.gcm-app-alert.is-warning b{white-space:nowrap}
@media(max-width:1120px){
  .gcm-order-capacity-form{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gcm-order-capacity-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gcm-order-capacity-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .gcm-order-capacity-hero{align-items:flex-start;flex-direction:column}
  .gcm-order-capacity-form,.gcm-order-capacity-kpis,.gcm-order-capacity-result{grid-template-columns:1fr}
  .gcm-order-capacity-lines>div,.gcm-order-capacity-ops>div{grid-template-columns:1fr;gap:4px}
}

/* v1.12.24 — What-if sản xuất: hiển thị theo năng lực tổ may, tránh danh sách công đoạn dài khó đọc */
.gcm-whatif-resources-card .gcm-whatif-resource-list{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:10px;padding:0 18px 18px}.gcm-whatif-resources-card .gcm-whatif-resource{min-height:0;display:grid;grid-template-columns:1fr;gap:10px;align-items:start;border:1px solid #e6ebf2;border-radius:12px;padding:13px;background:#fbfcfe}.gcm-whatif-resources-card .gcm-whatif-resource>div:first-child small{line-height:1.45}.gcm-whatif-resources-card .gcm-whatif-resource>div:last-child{text-align:left;display:flex;align-items:baseline;gap:6px}.gcm-whatif-resources-card .gcm-whatif-resource.is-critical{background:#fff7f7;border-color:#ffd8d8}.gcm-whatif-resources-card .gcm-whatif-resource.is-warning{background:#fffaf2;border-color:#ffe8c2}.gcm-whatif-resources-card .gcm-whatif-finance{border-radius:0 0 12px 12px;overflow:hidden}.gcm-whatif-resources-card .gcm-whatif-finance b{line-height:1.35}.gcm-whatif-resources-card .gcm-app-stage-progress{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:10px;align-items:center}@media(max-width:980px){.gcm-whatif-resources-card .gcm-whatif-resource-list{grid-template-columns:1fr}}

/* v1.12.25 — sửa vỡ layout phân bổ tổ may trong mô phỏng */
.gcm-sim-sewing-allocation-card{overflow:hidden}.gcm-sim-sewing-allocation{display:grid;gap:10px;padding:0 17px 17px}.gcm-sim-sewing-allocation>div{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;align-items:start!important;padding:13px 14px!important;border:1px solid #e6ebf2!important;border-radius:12px!important;background:#fbfcfe!important}.gcm-sim-sewing-allocation>div:last-child{border-bottom:1px solid #e6ebf2!important}.gcm-sim-sewing-allocation span b{font-size:calc(12px + var(--gcm-font-add,0px))!important;color:#203047!important}.gcm-sim-sewing-allocation span small{font-size:calc(10px + var(--gcm-font-add,0px))!important;line-height:1.45!important;color:#718096!important}.gcm-sim-sewing-allocation>div>strong{display:inline-flex;width:max-content;max-width:100%;padding:6px 10px;border-radius:999px;background:#eaf2ff;color:#1769ff!important;font-size:calc(12px + var(--gcm-font-add,0px))!important;line-height:1.2;white-space:nowrap}.gcm-sim-sewing-allocation>div>em{white-space:normal!important;font-size:calc(10px + var(--gcm-font-add,0px))!important;line-height:1.45!important;color:#6f7b8d!important}.gcm-sim-flow-grid{grid-template-columns:minmax(360px,1.15fr) minmax(300px,.95fr) minmax(300px,.9fr)}@media(max-width:1380px){.gcm-sim-flow-grid{grid-template-columns:1fr 1fr}.gcm-sim-sewing-allocation-card{grid-column:1/-1}}@media(max-width:980px){.gcm-sim-flow-grid{grid-template-columns:1fr}}

/* v1.12.26 — Mô phỏng: bỏ form cố định khi cuộn để không che nội dung */
.gcm-whatif-layout{align-items:start}.gcm-whatif-form-card{position:static!important;top:auto!important;grid-row:auto!important;align-self:start}.gcm-whatif-form-card.is-sticky,.gcm-whatif-form-card[style*="sticky"]{position:static!important;top:auto!important}
.gcm-workforce-attendance-alerts{margin-bottom:17px;overflow:hidden}.gcm-attendance-metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:0 18px 16px}.gcm-attendance-metric-grid>div{border:1px solid #e3eaf3;background:#fbfdff;border-radius:12px;padding:12px 14px;min-height:90px}.gcm-attendance-metric-grid small{display:block;color:#7c8797;font-size:calc(10px + var(--gcm-font-add,0px));font-weight:800;text-transform:uppercase;letter-spacing:.04em}.gcm-attendance-metric-grid strong{display:block;margin-top:7px;font-size:calc(24px + var(--gcm-font-add,0px));line-height:1;color:#111a2c}.gcm-attendance-metric-grid span{display:block;margin-top:5px;color:#7a8596;font-size:calc(11px + var(--gcm-font-add,0px))}.gcm-attendance-metric-grid .is-danger{border-color:#ffc8c8;background:#fff4f4}.gcm-attendance-metric-grid .is-danger strong{color:#df272b}.gcm-attendance-metric-grid .is-warning{border-color:#ffd99a;background:#fff9ed}.gcm-attendance-metric-grid .is-warning strong{color:#c97700}.gcm-attendance-alert-list{border-top:1px solid #edf1f6}.gcm-attendance-alert-row{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(170px,.7fr) minmax(180px,.8fr);gap:14px;align-items:center;padding:13px 18px;border-bottom:1px solid #edf1f6;background:#fff}.gcm-attendance-alert-row:hover{background:#f8fbff}.gcm-attendance-alert-row span b{display:block;font-size:calc(13px + var(--gcm-font-add,0px));color:#162033}.gcm-attendance-alert-row span small,.gcm-attendance-alert-row em{display:block;color:#788498;font-style:normal;font-size:calc(11px + var(--gcm-font-add,0px));margin-top:3px}.gcm-attendance-alert-row strong{justify-self:start;border-radius:999px;padding:5px 9px;font-size:calc(11px + var(--gcm-font-add,0px));background:#fff7e8;color:#bd6a00}.gcm-attendance-alert-row.is-critical{box-shadow:inset 4px 0 0 #ef3538}.gcm-attendance-alert-row.is-critical strong{background:#fff0f0;color:#dc2428}.gcm-attendance-alert-row.is-warning{box-shadow:inset 4px 0 0 #ff9800}@media(max-width:980px){.gcm-attendance-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gcm-attendance-alert-row{grid-template-columns:1fr}}@media(max-width:640px){.gcm-attendance-metric-grid{grid-template-columns:1fr}}
.gcm-whatif-bundle{display:grid!important;grid-column:1/-1;gap:8px;border:1px solid #e3eaf3;background:#fbfdff;border-radius:14px;padding:12px}.gcm-whatif-bundle-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:2px}.gcm-whatif-bundle-head b{font-size:calc(14px + var(--gcm-font-add,0px));color:#172033}.gcm-whatif-bundle-head span{font-size:calc(10.5px + var(--gcm-font-add,0px));color:#7b8797}.gcm-whatif-bundle-grid{display:grid;grid-template-columns:minmax(210px,1.25fr) minmax(110px,.55fr) minmax(120px,.65fr) minmax(120px,.65fr) minmax(130px,.7fr);gap:8px;align-items:center}.gcm-whatif-bundle-grid.is-head{font-size:calc(9.5px + var(--gcm-font-add,0px));font-weight:800;color:#7b8797;text-transform:uppercase;letter-spacing:.04em;padding:0 2px}.gcm-whatif-bundle-grid select,.gcm-whatif-bundle-grid input{width:100%;min-width:0}.gcm-whatif-bundle-result{margin:0 18px 15px;border:1px solid #e4eaf2;border-radius:12px;overflow:hidden}.gcm-whatif-bundle-result>div{display:grid;grid-template-columns:minmax(210px,1.2fr) minmax(95px,.5fr) minmax(90px,.45fr) minmax(120px,.6fr) minmax(90px,.45fr);gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid #edf1f6;background:#fff}.gcm-whatif-bundle-result>div:last-child{border-bottom:0}.gcm-whatif-bundle-result .is-head{background:#f7f9fc;color:#758195;font-size:calc(9.5px + var(--gcm-font-add,0px));font-weight:800;text-transform:uppercase;letter-spacing:.04em}.gcm-whatif-bundle-result b{display:block}.gcm-whatif-bundle-result small{display:block;color:#7c8797;margin-top:2px}@media(max-width:900px){.gcm-whatif-bundle-grid,.gcm-whatif-bundle-result>div{grid-template-columns:1fr}.gcm-whatif-bundle-grid.is-head,.gcm-whatif-bundle-result .is-head{display:none}.gcm-whatif-bundle-head{display:block}}
.gcm-order-capacity-picker{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(130px,.55fr) minmax(140px,.6fr) minmax(140px,.6fr) minmax(100px,.45fr) auto;gap:10px;align-items:end;padding:14px 16px;margin-bottom:14px}.gcm-order-capacity-picker label span{display:block;margin-bottom:6px;color:#667286;font-size:calc(10px + var(--gcm-font-add,0px));font-weight:800;text-transform:uppercase;letter-spacing:.04em}.gcm-order-capacity-picker select,.gcm-order-capacity-picker input{width:100%;min-width:0}@media(max-width:1100px){.gcm-order-capacity-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.gcm-order-capacity-picker .gcm-app-btn{grid-column:1/-1;justify-content:center}}@media(max-width:640px){.gcm-order-capacity-picker{grid-template-columns:1fr}}
.gcm-whatif-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important;align-items:start!important}.gcm-whatif-form-card{position:static!important;grid-column:1/-1!important;overflow:hidden}.gcm-whatif-form-card .gcm-app-card-head{padding:22px 24px 12px}.gcm-whatif-form-card .gcm-app-card-head h2{font-size:calc(24px + var(--gcm-font-add,0px));letter-spacing:-.025em}.gcm-whatif-form-card .gcm-app-card-head p{max-width:920px;font-size:calc(13px + var(--gcm-font-add,0px));line-height:1.55}.gcm-whatif-form-intro{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 24px 16px}.gcm-whatif-form-intro span{display:flex;align-items:center;gap:10px;border:1px solid #e4ebf4;background:#f8fbff;border-radius:12px;padding:10px 12px;color:#526176}.gcm-whatif-form-intro b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#1769ff;color:#fff;font-size:13px;flex:0 0 auto}.gcm-whatif-form-intro small{font-size:calc(11px + var(--gcm-font-add,0px));font-weight:750}.gcm-whatif-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;padding:0 24px 22px!important}.gcm-whatif-bundle{padding:16px!important;border-radius:16px!important;background:linear-gradient(180deg,#fbfdff,#f6f9fe)!important}.gcm-whatif-bundle-head{align-items:center!important;margin-bottom:10px!important}.gcm-whatif-bundle-head b{font-size:calc(17px + var(--gcm-font-add,0px))!important}.gcm-whatif-bundle-head span{max-width:620px;text-align:right;line-height:1.45}.gcm-whatif-bundle-grid{grid-template-columns:minmax(280px,1.35fr) minmax(150px,.62fr) minmax(155px,.68fr) minmax(155px,.68fr) minmax(170px,.76fr)!important;gap:10px!important}.gcm-whatif-bundle-grid:not(.is-head){padding:8px;border:1px solid #e8eef6;border-radius:12px;background:#fff}.gcm-whatif-bundle-grid.is-head{padding:0 10px 2px!important}.gcm-whatif-bundle-grid select,.gcm-whatif-bundle-grid input{height:46px!important;border-radius:10px!important;font-size:calc(13px + var(--gcm-font-add,0px))!important}.gcm-whatif-bundle-grid .gcm-whatif-input-unit{height:46px}.gcm-whatif-bundle-grid .gcm-whatif-input-unit input{height:100%!important}.gcm-whatif-bundle-grid .gcm-whatif-input-unit em{min-width:44px;text-align:center}.gcm-whatif-submit{height:52px!important;border-radius:13px!important;justify-content:center!important;font-size:calc(15px + var(--gcm-font-add,0px))!important}.gcm-whatif-result,.gcm-whatif-options-card,.gcm-whatif-resources-card,.gcm-sim-flow-card,.gcm-whatif-empty{grid-column:1/-1!important}.gcm-whatif-result{overflow:hidden}.gcm-whatif-verdict{padding:22px 24px!important}.gcm-whatif-verdict strong{font-size:calc(25px + var(--gcm-font-add,0px))!important}.gcm-whatif-bundle-result{margin:0 24px 18px!important}.gcm-whatif-result-metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important}.gcm-whatif-empty{min-height:260px;display:grid;place-items:center;text-align:center;padding:34px}.gcm-whatif-empty p{max-width:620px}@media(max-width:1100px){.gcm-whatif-form-intro{grid-template-columns:repeat(2,minmax(0,1fr))}.gcm-whatif-bundle-grid{grid-template-columns:minmax(220px,1fr) repeat(4,minmax(120px,.7fr))!important}.gcm-whatif-result-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:760px){.gcm-whatif-form-card .gcm-app-card-head,.gcm-whatif-form,.gcm-whatif-form-intro{padding-left:14px!important;padding-right:14px!important}.gcm-whatif-form-intro{grid-template-columns:1fr}.gcm-whatif-bundle-head{display:block!important}.gcm-whatif-bundle-head span{text-align:left;display:block;margin-top:4px}.gcm-whatif-bundle-grid{grid-template-columns:1fr!important}.gcm-whatif-bundle-grid.is-head{display:none}.gcm-whatif-bundle-result{margin-left:14px!important;margin-right:14px!important}.gcm-whatif-result-metrics{grid-template-columns:1fr!important}}
.gcm-whatif-add-row{margin-top:10px;width:100%;justify-content:center;border-style:dashed!important;background:#fff!important}.gcm-whatif-add-row:disabled{opacity:.45;cursor:not-allowed}.gcm-whatif-month-result,.gcm-order-month-plan{margin:0 24px 18px;border:1px solid #e5ebf3;border-radius:14px;overflow:auto;background:#fff}.gcm-whatif-month-result>div,.gcm-order-month-plan>div{display:grid;grid-template-columns:minmax(150px,1fr) 95px 115px 135px 115px 115px minmax(150px,1fr);gap:10px;align-items:center;min-width:920px;padding:12px 14px;border-bottom:1px solid #edf2f7}.gcm-order-month-plan>div{grid-template-columns:minmax(140px,1fr) minmax(150px,1fr) 90px 125px 125px 120px minmax(145px,1fr)}.gcm-whatif-month-result>div:last-child,.gcm-order-month-plan>div:last-child{border-bottom:0}.gcm-whatif-month-result>.is-head,.gcm-order-month-plan>.is-head{background:#f6f9fd;color:#657387;font-size:calc(10px + var(--gcm-font-add,0px));font-weight:850;text-transform:uppercase;letter-spacing:.04em}.gcm-whatif-month-result b,.gcm-order-month-plan b{color:#172033}.gcm-whatif-month-result small,.gcm-order-month-plan small{display:block;margin-top:2px;color:#8792a3}.gcm-whatif-month-result .is-short,.gcm-order-month-plan .is-short{background:#fff7f7}.gcm-whatif-month-result .is-short>span:last-child,.gcm-order-month-plan .is-short>span:last-child{color:#dc2626;font-weight:850}.gcm-whatif-month-result .is-ok,.gcm-order-month-plan .is-ok{background:#fbfffc}.gcm-whatif-month-result .is-ok>span:last-child,.gcm-order-month-plan .is-ok>span:last-child{color:#15803d;font-weight:850}.gcm-order-capacity-picker{grid-template-columns:minmax(300px,1.4fr) minmax(190px,.85fr) minmax(130px,.55fr) minmax(145px,.65fr) minmax(145px,.65fr) minmax(105px,.45fr) auto!important;border:1px solid #dfe8f5;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:16px;padding:16px!important}.gcm-order-capacity-picker select,.gcm-order-capacity-picker input{height:44px!important;border-radius:10px!important;border:1px solid #d7e0ec!important;background:#fff!important;padding:0 10px!important}.gcm-order-capacity-picker .gcm-app-btn{height:44px;border-radius:10px}.gcm-order-month-plan-card{grid-column:1/-1;overflow:hidden}@media(max-width:1280px){.gcm-order-capacity-picker{grid-template-columns:repeat(3,minmax(0,1fr))!important}.gcm-order-capacity-picker .gcm-app-btn{grid-column:1/-1;justify-content:center}}@media(max-width:760px){.gcm-order-capacity-picker{grid-template-columns:1fr!important}.gcm-whatif-month-result,.gcm-order-month-plan{margin-left:14px;margin-right:14px}}

/* v1.12.37 - Frontend tỷ lệ vắng mặt */
.gcm-workforce-absence-card{overflow:hidden}.gcm-workforce-absence-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 18px 16px}.gcm-workforce-absence-kpis>div{border:1px solid #e3eaf3;background:#fbfdff;border-radius:14px;padding:14px}.gcm-workforce-absence-kpis small,.gcm-workforce-absence-kpis span{display:block;color:#7b8797;font-size:calc(10px + var(--gcm-font-add,0px));font-weight:800}.gcm-workforce-absence-kpis strong{display:block;margin:6px 0 4px;color:#111827;font-size:calc(25px + var(--gcm-font-add,0px));line-height:1}.gcm-workforce-absence-kpis .is-critical{border-color:#fecaca;background:#fff7f7}.gcm-workforce-absence-kpis .is-critical strong{color:#dc2626}.gcm-workforce-absence-kpis .is-warning{border-color:#fed7aa;background:#fff8ed}.gcm-workforce-absence-kpis .is-warning strong{color:#c97700}.gcm-workforce-absence-kpis .is-healthy{border-color:#bbf7d0;background:#f4fff7}.gcm-workforce-absence-kpis .is-healthy strong{color:#15803d}.gcm-workforce-absence-lists{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 18px 18px}.gcm-workforce-absence-lists h3{margin:0 0 10px;color:#172033;font-size:calc(16px + var(--gcm-font-add,0px))}.gcm-workforce-absence-lists>div>div{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e8edf4;border-radius:12px;background:#fff;padding:11px 12px;margin-bottom:8px}.gcm-workforce-absence-lists b,.gcm-workforce-absence-lists small{display:block}.gcm-workforce-absence-lists b{color:#172033}.gcm-workforce-absence-lists small{color:#7c8797;margin-top:3px;line-height:1.35}.gcm-workforce-absence-lists strong{font-size:calc(18px + var(--gcm-font-add,0px));color:#172033}.gcm-workforce-absence-lists .is-critical{border-color:#fecaca;background:#fff7f7}.gcm-workforce-absence-lists .is-critical strong{color:#dc2626}.gcm-workforce-absence-lists .is-warning{border-color:#fed7aa;background:#fff8ed}.gcm-workforce-absence-lists .is-warning strong{color:#c97700}@media(max-width:980px){.gcm-workforce-absence-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.gcm-workforce-absence-lists{grid-template-columns:1fr}}@media(max-width:640px){.gcm-workforce-absence-kpis{grid-template-columns:1fr}}

/* v1.12.38 - Bảng năng lực đơn hàng có thêm % vắng */
.gcm-order-month-plan>div{grid-template-columns:minmax(130px,1fr) minmax(145px,1fr) 82px 82px 115px 130px 115px minmax(145px,1fr)!important}

/* v1.12.39 - Tooltip sáng, rõ công thức; bảng tháng đủ chỗ cho nguồn tỷ lệ vắng */
.gcm-order-month-plan>div{grid-template-columns:minmax(130px,1fr) minmax(150px,1fr) 82px 110px 115px 135px 115px minmax(145px,1fr)!important}
.gcm-order-month-plan span small{font-size:calc(9.5px + var(--gcm-font-add,0px));line-height:1.25;color:#718096}
.gcm-app-tooltip{background:#fff!important;color:#182235!important;border:1px solid #d8e2ee!important;border-radius:14px!important;box-shadow:0 18px 46px rgba(15,23,42,.20)!important;min-width:min(300px,calc(100vw - 28px))!important;max-width:min(420px,calc(100vw - 28px))!important;padding:12px 13px!important;line-height:1.45!important;font-size:calc(11.5px + var(--gcm-font-add,0px))!important;backdrop-filter:none!important}
.gcm-app-tooltip-title{display:block!important;margin:0 0 8px!important;padding:0 0 8px!important;border-bottom:1px solid #e7edf5!important;color:#111827!important;font-weight:850!important;font-size:calc(13px + var(--gcm-font-add,0px))!important}
.gcm-app-tooltip-row{display:grid!important;grid-template-columns:minmax(120px,.85fr) minmax(0,1.15fr)!important;gap:14px!important;align-items:start!important;padding:6px 0!important;border-top:1px solid #eef3f8!important}
.gcm-app-tooltip-title+.gcm-app-tooltip-row{border-top:0!important}
.gcm-app-tooltip-row>span:first-child{color:#6b7788!important;font-weight:700!important}
.gcm-app-tooltip-row>span:last-child{color:#172033!important;text-align:right!important;font-weight:800!important;white-space:normal!important;overflow-wrap:anywhere}
.gcm-app-tooltip-copy{display:block!important;padding:6px 0!important;color:#485669!important;line-height:1.55!important}

/* v1.12.40 - Năng lực đơn hàng: thêm SP/ngày, tổng tổ may, thu gọn công đoạn */
.gcm-order-month-plan>div{grid-template-columns:minmax(120px,1fr) minmax(145px,1fr) 78px 100px 95px 110px 128px 108px minmax(145px,1fr)!important;min-width:1080px}
.gcm-order-capacity-lines.is-advanced>div.is-total{position:sticky;bottom:0;background:#f6f9fd!important;border-top:2px solid #d7e3f2!important;border-bottom:0!important;font-weight:850;box-shadow:0 -8px 18px rgba(15,23,42,.06)}
.gcm-order-capacity-lines.is-advanced>div.is-total span{color:#172033}
.gcm-order-ops-details{padding:0 17px 17px}
.gcm-order-ops-details>summary{width:max-content;max-width:100%;list-style:none;cursor:pointer;margin:0 0 12px}
.gcm-order-ops-details>summary::-webkit-details-marker{display:none}
.gcm-order-ops-details[open]>summary{background:#eaf2ff;color:#1769ff;border-color:#b9d4ff}
.gcm-order-ops-details .gcm-order-capacity-ops{padding:0}

.gcm-planning-month-card,.gcm-planning-order-card,.gcm-planning-recommend-card{overflow:hidden}.gcm-planning-pregrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:18px}.gcm-planning-month-table,.gcm-planning-line-month-table{margin:0 18px 18px;border:1px solid #e5ebf3;border-radius:14px;overflow:auto;background:#fff}.gcm-planning-month-table>div,.gcm-planning-line-month-table>div{display:grid;gap:10px;align-items:center;min-width:980px;padding:12px 14px;border-bottom:1px solid #edf2f7}.gcm-planning-month-table>div{grid-template-columns:minmax(130px,1fr) minmax(145px,1fr) 82px 70px 105px 105px 105px 80px minmax(145px,1fr)}.gcm-planning-line-month-table>div{grid-template-columns:95px minmax(110px,1fr) 70px 70px 105px 105px 105px 80px}.gcm-planning-month-table>div:last-child,.gcm-planning-line-month-table>div:last-child{border-bottom:0}.gcm-planning-month-table>.is-head,.gcm-planning-line-month-table>.is-head{background:#f6f9fd;color:#657387;font-size:calc(10px + var(--gcm-font-add,0px));font-weight:850;text-transform:uppercase;letter-spacing:.04em}.gcm-planning-month-table b,.gcm-planning-line-month-table b{color:#172033}.gcm-planning-month-table .is-critical,.gcm-planning-line-month-table .is-critical{background:#fff5f5}.gcm-planning-month-table .is-critical>span:last-child,.gcm-planning-line-month-table .is-critical>span:last-child{color:#dc2626;font-weight:850}.gcm-planning-month-table .is-warning,.gcm-planning-line-month-table .is-warning{background:#fffaf0}.gcm-planning-month-table .is-warning>span:last-child,.gcm-planning-line-month-table .is-warning>span:last-child{color:#b45309;font-weight:850}.gcm-planning-month-table .is-healthy,.gcm-planning-line-month-table .is-healthy{background:#fbfffc}.gcm-planning-month-table .is-healthy>span:last-child,.gcm-planning-line-month-table .is-healthy>span:last-child{color:#15803d;font-weight:850}.gcm-planning-order-list{margin:0 18px 18px;border:1px solid #e5ebf3;border-radius:14px;overflow:auto;background:#fff}.gcm-planning-order-list>div{display:grid;grid-template-columns:minmax(150px,1.25fr) 90px minmax(100px,.8fr) minmax(135px,1fr) 105px 105px;gap:10px;align-items:center;min-width:760px;padding:11px 13px;border-bottom:1px solid #edf2f7}.gcm-planning-order-list>div:last-child{border-bottom:0}.gcm-planning-order-list>.is-head{background:#f6f9fd;color:#657387;font-size:calc(10px + var(--gcm-font-add,0px));font-weight:850;text-transform:uppercase;letter-spacing:.04em}.gcm-planning-order-list b{display:block;color:#172033}.gcm-planning-order-list small{display:block;margin-top:2px;color:#8792a3}.gcm-planning-order-list .is-critical{background:#fff7f7}.gcm-planning-order-list .is-critical>span:last-child{color:#dc2626;font-weight:850}.gcm-planning-order-list .is-warning{background:#fffaf0}.gcm-planning-order-list .is-warning>span:last-child{color:#b45309;font-weight:850}.gcm-planning-recommend-list{display:grid;gap:10px;padding:0 18px 18px}.gcm-planning-recommend-list>div{padding:12px 13px;border-radius:12px;border:1px solid #dbe7f3;background:#fbfdff}.gcm-planning-recommend-list b{display:block;color:#172033}.gcm-planning-recommend-list span{display:block;margin-top:5px;color:#64748b;line-height:1.45}.gcm-planning-recommend-list .is-critical{background:#fff5f5;border-color:#fecaca}.gcm-planning-recommend-list .is-critical b{color:#dc2626}.gcm-planning-recommend-list .is-warning{background:#fffaf0;border-color:#fed7aa}.gcm-planning-recommend-list .is-warning b{color:#b45309}.gcm-planning-recommend-list .is-healthy{background:#f0fdf4;border-color:#bbf7d0}.gcm-planning-recommend-list .is-healthy b{color:#15803d}@media(max-width:1100px){.gcm-planning-pregrid{grid-template-columns:1fr}}@media(max-width:760px){.gcm-planning-month-table,.gcm-planning-line-month-table,.gcm-planning-order-list{margin-left:12px;margin-right:12px}.gcm-planning-recommend-list{padding-left:12px;padding-right:12px}}

/* v1.12.41 - Tooltip căn cứ đề xuất nhân sự & máy móc */
.gcm-workforce-recommend-list>div.gcm-app-hover{cursor:help}

/* v1.12.50 - Lập kế hoạch thông minh: hiệu suất lịch, sản lượng đã làm, tiến độ theo tổ */
.gcm-planning-month-table>div{grid-template-columns:minmax(115px,.9fr) minmax(150px,1fr) minmax(78px,.7fr) minmax(58px,.5fr) minmax(96px,.8fr) minmax(92px,.8fr) minmax(96px,.8fr) minmax(96px,.8fr) minmax(72px,.65fr) minmax(160px,1.1fr)!important;min-width:1180px}
.gcm-planning-line-month-table>div{grid-template-columns:minmax(90px,.75fr) minmax(110px,1fr) minmax(60px,.5fr) minmax(60px,.5fr) minmax(96px,.85fr) minmax(96px,.85fr) minmax(96px,.85fr) minmax(86px,.75fr) minmax(78px,.65fr) minmax(70px,.6fr)!important;min-width:1080px}
.gcm-planning-days b{display:block;white-space:nowrap}.gcm-planning-days small{display:block;margin-top:2px;color:#8792a3;font-size:calc(10px + var(--gcm-font-add,0px));line-height:1.25}
.gcm-smart-planning .gcm-gantt-row .gcm-gantt-lane-label{min-height:86px}
.gcm-smart-planning .gcm-gantt-track{min-height:86px}
.gcm-smart-planning .gcm-gantt-item{top:14px;height:58px;padding:10px 12px;border-radius:12px}
.gcm-smart-planning .gcm-gantt-item strong,.gcm-smart-planning .gcm-gantt-item span{position:relative;z-index:2}
.gcm-smart-planning .gcm-gantt-item .gcm-gantt-fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:12px;background:linear-gradient(90deg,rgba(36,178,89,.34),rgba(36,178,89,.12));z-index:1;pointer-events:none}
.gcm-smart-planning .gcm-gantt-item span{white-space:normal;line-height:1.25}

/* v1.12.61 - Tài chính bản 58: tooltip công thức, bóc tách lãi/lỗ, hòa vốn và so sánh kỳ trước */
.gcm-finance-data-alert{display:flex;align-items:flex-start;gap:14px;padding:15px 18px;border-color:#fed7aa!important;background:#fff8ed!important;box-shadow:inset 4px 0 0 #f59e0b}
.gcm-finance-data-alert strong{display:block;color:#9a5a00;font-size:calc(14px + var(--gcm-font-add,0px));white-space:nowrap}
.gcm-finance-data-alert p{margin:0;color:#694b1e;line-height:1.55;font-size:calc(12px + var(--gcm-font-add,0px))}
.gcm-finance-decision-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr) minmax(280px,.75fr);gap:16px;align-items:stretch}
.gcm-finance-decision-grid>.gcm-app-card{overflow:hidden;border:1px solid #e4ebf4}
.gcm-finance-profit-layers .gcm-app-card-head,.gcm-finance-break-even .gcm-app-card-head,.gcm-finance-period-compare .gcm-app-card-head{padding:17px 18px 10px}
.gcm-finance-profit-layers .gcm-app-card-head h2,.gcm-finance-break-even .gcm-app-card-head h2,.gcm-finance-period-compare .gcm-app-card-head h2{margin:2px 0 4px;font-size:calc(19px + var(--gcm-font-add,0px));letter-spacing:-.02em}
.gcm-finance-profit-layers .gcm-app-card-head p,.gcm-finance-break-even .gcm-app-card-head p,.gcm-finance-period-compare .gcm-app-card-head p{margin:0;color:#6f7e91;font-size:calc(11.5px + var(--gcm-font-add,0px));line-height:1.45}
.gcm-finance-profit-layers details{padding:0 18px 18px}
.gcm-finance-profit-layers summary{cursor:pointer;list-style:none;width:max-content;max-width:100%;margin:0 0 12px;padding:8px 12px;border:1px solid #d8e5f5;border-radius:999px;background:#f6faff;color:#1769ff;font-size:calc(12px + var(--gcm-font-add,0px));font-weight:850}
.gcm-finance-profit-layers summary::-webkit-details-marker{display:none}
.gcm-finance-formula{display:grid;border:1px solid #e6edf5;border-radius:14px;background:#fbfdff;overflow:hidden}
.gcm-finance-formula>div{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr);gap:14px;align-items:center;padding:9px 12px;border-bottom:1px solid #edf2f7}
.gcm-finance-formula>div:last-child{border-bottom:0}
.gcm-finance-formula span{color:#526177;font-size:calc(12px + var(--gcm-font-add,0px));font-weight:650}
.gcm-finance-formula b{text-align:right;color:#182235;font-size:calc(12px + var(--gcm-font-add,0px));font-variant-numeric:tabular-nums}
.gcm-finance-formula .is-minus{background:#fff}
.gcm-finance-formula .is-total{background:#f8fbff}
.gcm-finance-formula .is-final{background:#f7fff9}
.gcm-finance-formula .is-total span,.gcm-finance-formula .is-final span{font-weight:900;color:#172033}
.gcm-finance-formula .is-total b,.gcm-finance-formula .is-final b{font-size:calc(13px + var(--gcm-font-add,0px));font-weight:950}
.gcm-finance-break-even-number{padding:0 18px 12px}
.gcm-finance-break-even-number small,.gcm-finance-break-even-number span{display:block;color:#758195;font-size:calc(11px + var(--gcm-font-add,0px));font-weight:750}
.gcm-finance-break-even-number strong{display:block;margin:7px 0 5px;color:#172033;font-size:clamp(26px,2vw,34px);line-height:1;letter-spacing:-.035em}
.gcm-finance-break-even-line{height:12px;margin:0 18px 12px;border-radius:999px;background:#e8eef6;overflow:hidden}
.gcm-finance-break-even-line i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#16a34a,#4ade80);min-width:2px}
.gcm-finance-break-even p{margin:0 18px 18px;padding:10px 12px;border-radius:12px;background:#f8fafc;font-size:calc(12px + var(--gcm-font-add,0px));font-weight:850;line-height:1.45}
.gcm-finance-compare-list{display:grid;gap:9px;padding:0 18px 18px}
.gcm-finance-compare-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #e6edf5;border-radius:12px;background:#fbfdff}
.gcm-finance-compare-list span{color:#607088;font-size:calc(11.5px + var(--gcm-font-add,0px));font-weight:800}
.gcm-finance-compare-list b{font-size:calc(13px + var(--gcm-font-add,0px));font-variant-numeric:tabular-nums;text-align:right}
.is-success-text{color:#15803d!important}
@media(max-width:1180px){.gcm-finance-decision-grid{grid-template-columns:1fr}.gcm-finance-data-alert{display:block}.gcm-finance-data-alert strong{white-space:normal;margin-bottom:5px}}
@media(max-width:680px){.gcm-finance-formula>div{grid-template-columns:1fr;gap:3px}.gcm-finance-formula b{text-align:left}.gcm-finance-profit-layers details{padding-left:12px;padding-right:12px}.gcm-finance-break-even-number,.gcm-finance-break-even-line,.gcm-finance-break-even p,.gcm-finance-compare-list{margin-left:12px;margin-right:12px;padding-left:0;padding-right:0}}

/* v1.12.76 - Tài chính: hòa vốn, nguồn chi phí lớn nhất và timeline dễ đọc */
.gcm-finance-insight-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr) minmax(0,.9fr);gap:14px}
.gcm-finance-insight-grid>.gcm-app-card{padding:17px 18px;border:1px solid #e2eaf3}
.gcm-finance-insight-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.gcm-finance-insight-head span{color:#64748b;font-size:11px;font-weight:900;letter-spacing:.08em}
.gcm-finance-insight-head b{color:#0f172a;font-size:15px;font-variant-numeric:tabular-nums}
.gcm-finance-insight-grid h3{margin:0;color:#172033;font-size:22px;line-height:1.12;letter-spacing:0}
.gcm-finance-insight-grid p{margin:10px 0 0;color:#64748b;font-size:13px;line-height:1.45}
.gcm-finance-break-even-card.is-ok{box-shadow:inset 4px 0 0 #16a34a}
.gcm-finance-break-even-card.is-watch{box-shadow:inset 4px 0 0 #f59e0b}
.gcm-finance-break-track{position:relative;height:14px;margin:15px 0 13px;border-radius:999px;background:#e9eff6;overflow:hidden}
.gcm-finance-break-track i{display:block;height:100%;border-radius:999px;background:#2563eb}
.gcm-finance-break-track em{position:absolute;top:-3px;bottom:-3px;left:calc(100% - 2px);width:2px;background:#172033;opacity:.5}
.gcm-finance-insight-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.gcm-finance-insight-pairs span{display:block;padding:9px 10px;border:1px solid #edf2f7;border-radius:10px;background:#fbfdff}
.gcm-finance-insight-pairs small,.gcm-finance-insight-pairs b{display:block}
.gcm-finance-insight-pairs small{color:#8491a3;font-size:10px;font-weight:800}.gcm-finance-insight-pairs b{margin-top:3px;color:#172033;font-size:12px;font-variant-numeric:tabular-nums}
.gcm-finance-driver-card{box-shadow:inset 4px 0 0 #ef4444}.gcm-finance-unit-card{box-shadow:inset 4px 0 0 #0ea5e9}
.gcm-finance-mini-rank{display:grid;gap:8px;margin-top:13px}
.gcm-finance-mini-rank span{display:grid;grid-template-columns:minmax(0,1fr) minmax(72px,.9fr) 44px;align-items:center;gap:8px}
.gcm-finance-mini-rank b{overflow:hidden;color:#334155;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.gcm-finance-mini-rank i{height:8px;border-radius:999px;background:#edf2f7;overflow:hidden}.gcm-finance-mini-rank em{display:block;height:100%;border-radius:999px;background:#ef4444}
.gcm-finance-mini-rank small{text-align:right;color:#64748b;font-size:10px;font-weight:800}
.gcm-finance-legend .is-profit{background:#16a34a}
.gcm-finance-trend-list{display:grid;gap:10px;max-height:430px;overflow:auto;padding:2px 4px 4px}
.gcm-finance-trend-row{display:grid;grid-template-columns:72px minmax(0,1fr) 116px;gap:12px;align-items:center;padding:11px 12px;border:1px solid #edf2f7;border-radius:12px;background:#fff}
.gcm-finance-trend-row.is-loss{background:#fffafa;border-color:#fee2e2}.gcm-finance-trend-row.is-gain{background:#fbfffc;border-color:#dcfce7}
.gcm-finance-trend-date b,.gcm-finance-trend-date small,.gcm-finance-trend-profit small,.gcm-finance-trend-profit b{display:block}
.gcm-finance-trend-date b{color:#172033;font-size:13px}.gcm-finance-trend-date small{margin-top:2px;color:#8491a3;font-size:10px;font-weight:800}
.gcm-finance-trend-bars{display:grid;gap:6px}
.gcm-finance-trend-bars span{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:10px;align-items:center}
.gcm-finance-trend-bars i{height:11px;border-radius:999px;min-width:2px}.gcm-finance-trend-bars .is-production{background:#2563eb}.gcm-finance-trend-bars .is-expense{background:#f59e0b}
.gcm-finance-trend-bars b{color:#475569;font-size:11px;text-align:right;font-variant-numeric:tabular-nums}
.gcm-finance-trend-profit{text-align:right}.gcm-finance-trend-profit small{color:#8491a3;font-size:10px;font-weight:800}.gcm-finance-trend-profit b{margin-top:3px;color:#172033;font-size:13px;font-variant-numeric:tabular-nums}.gcm-finance-trend-row.is-loss .gcm-finance-trend-profit b{color:#b91c1c}.gcm-finance-trend-row.is-gain .gcm-finance-trend-profit b{color:#15803d}
.gcm-finance-quality-note strong{font-size:22px;line-height:1.12;letter-spacing:0}
@media(max-width:1180px){.gcm-finance-insight-grid{grid-template-columns:1fr}.gcm-finance-trend-list{max-height:none}}
@media(max-width:680px){.gcm-finance-insight-pairs{grid-template-columns:1fr}.gcm-finance-trend-row{grid-template-columns:1fr;gap:8px}.gcm-finance-trend-profit{text-align:left}.gcm-finance-trend-bars span{grid-template-columns:minmax(0,1fr) 88px}}


/* v1.12.62 - Dữ liệu vận hành: kiểm tra nền cho toàn bộ menu */
.gcm-data-quality-page{display:grid;gap:18px}
.gcm-data-quality-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;background:linear-gradient(135deg,#ffffff 0%,#f7fbff 58%,#eef6ff 100%)}
.gcm-data-quality-hero h2{margin:4px 0 8px;font-size:calc(26px + var(--gcm-font-add,0px));letter-spacing:-.035em;color:#111827}
.gcm-data-quality-hero p{margin:0;max-width:860px;color:#64748b;line-height:1.55;font-size:calc(13px + var(--gcm-font-add,0px))}
.gcm-data-quality-score{min-width:190px;border:1px solid #dfe8f5;border-radius:18px;background:#fff;padding:18px;text-align:center;box-shadow:0 14px 34px rgba(15,23,42,.07)}
.gcm-data-quality-score small,.gcm-data-quality-score span{display:block;color:#738096;font-size:calc(11px + var(--gcm-font-add,0px));font-weight:850}
.gcm-data-quality-score strong{display:block;margin:6px 0;color:#172033;font-size:clamp(34px,4vw,52px);line-height:1;letter-spacing:-.06em}
.gcm-data-quality-score.is-critical{border-color:#fecaca;background:#fff7f7}.gcm-data-quality-score.is-critical strong{color:#dc2626}
.gcm-data-quality-score.is-warning{border-color:#fed7aa;background:#fff8ed}.gcm-data-quality-score.is-warning strong{color:#b45309}
.gcm-data-quality-score.is-ok{border-color:#bbf7d0;background:#f4fff7}.gcm-data-quality-score.is-ok strong{color:#15803d}
.gcm-data-quality-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.gcm-data-quality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gcm-data-quality-group{overflow:hidden;border:1px solid #e4ebf4}
.gcm-data-quality-group-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px;border-bottom:1px solid #edf2f7;background:#fbfdff}
.gcm-data-quality-group-head small{display:block;color:#718096;font-size:calc(10px + var(--gcm-font-add,0px));font-weight:950;letter-spacing:.08em}
.gcm-data-quality-group-head h3{margin:2px 0 0;color:#172033;font-size:calc(19px + var(--gcm-font-add,0px));letter-spacing:-.025em}
.gcm-data-quality-group-head strong{min-width:58px;text-align:center;padding:8px 10px;border-radius:999px;background:#eef4ff;color:#1769ff;font-size:calc(13px + var(--gcm-font-add,0px))}
.gcm-data-quality-group.is-critical{box-shadow:inset 4px 0 0 #ef4444}.gcm-data-quality-group.is-warning{box-shadow:inset 4px 0 0 #f59e0b}.gcm-data-quality-group.is-ok{box-shadow:inset 4px 0 0 #22c55e}
.gcm-data-quality-checks{display:grid;padding:10px 12px 14px;gap:9px}
.gcm-data-quality-check{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e7edf5;border-radius:13px;background:#fff;text-decoration:none!important;color:#172033;transition:.16s ease}
.gcm-data-quality-check:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(15,23,42,.08);border-color:#cfe0f5}
.gcm-data-quality-check span{display:grid;grid-template-columns:12px minmax(0,1fr);column-gap:9px;row-gap:2px;align-items:start;min-width:0}
.gcm-data-quality-check i{grid-row:1/3;width:10px;height:10px;border-radius:50%;margin-top:4px;background:#22c55e}
.gcm-data-quality-check b{font-size:calc(13px + var(--gcm-font-add,0px));white-space:normal}
.gcm-data-quality-check small{grid-column:2;color:#718096;line-height:1.38;font-size:calc(11px + var(--gcm-font-add,0px));font-weight:650}
.gcm-data-quality-check strong{flex:0 0 auto;min-width:42px;text-align:right;font-size:calc(18px + var(--gcm-font-add,0px));font-variant-numeric:tabular-nums}
.gcm-data-quality-check.is-critical{border-color:#fecaca;background:#fff7f7}.gcm-data-quality-check.is-critical i{background:#ef4444}.gcm-data-quality-check.is-critical strong{color:#dc2626}
.gcm-data-quality-check.is-warning{border-color:#fed7aa;background:#fffaf0}.gcm-data-quality-check.is-warning i{background:#f59e0b}.gcm-data-quality-check.is-warning strong{color:#b45309}
.gcm-data-quality-check.is-ok{background:#fbfffc}.gcm-data-quality-check.is-ok strong{color:#15803d}
.gcm-data-quality-table>div{grid-template-columns:minmax(145px,.85fr) minmax(260px,1.5fr) minmax(105px,.65fr) minmax(80px,.45fr) minmax(260px,1.5fr)!important;min-width:980px}
.gcm-data-quality-table .is-row.is-critical{background:#fff7f7}.gcm-data-quality-table .is-row.is-critical span:nth-child(3){color:#dc2626;font-weight:900}
.gcm-data-quality-table .is-row.is-warning{background:#fffaf0}.gcm-data-quality-table .is-row.is-warning span:nth-child(3){color:#b45309;font-weight:900}
.gcm-data-quality-table .is-row.is-ok span:nth-child(3){color:#15803d;font-weight:900}
.gcm-data-quality-table small{display:block;color:#7c8797;margin-top:3px;line-height:1.35}
@media(max-width:1120px){.gcm-data-quality-hero{align-items:flex-start}.gcm-data-quality-grid{grid-template-columns:1fr}.gcm-data-quality-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.gcm-data-quality-hero{display:grid;padding:16px}.gcm-data-quality-score{min-width:0}.gcm-data-quality-kpis{grid-template-columns:1fr}.gcm-data-quality-group-head{padding:14px}.gcm-data-quality-check{align-items:flex-start}.gcm-data-quality-check strong{font-size:calc(16px + var(--gcm-font-add,0px))}}

/* v1.12.63 - Công đoạn theo mã: xếp hạng điểm nghẽn và tooltip nguồn tính */
.gcm-order-ops-insight{grid-column:1/-1;overflow:hidden}
.gcm-order-ops-rank{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 18px 18px}
.gcm-order-ops-rank>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.6fr) minmax(86px,.42fr);gap:12px;align-items:center;border:1px solid #e5ebf3;border-radius:14px;background:#fff;padding:12px 13px;cursor:help}
.gcm-order-ops-rank>div span{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:10px;row-gap:2px;min-width:0}
.gcm-order-ops-rank>div span b{grid-row:1/3;width:30px;height:30px;border-radius:10px;background:#eef5ff;color:#1769ff;display:grid;place-items:center;font-size:13px}
.gcm-order-ops-rank>div span strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#172033;font-size:calc(13px + var(--gcm-font-add,0px))}
.gcm-order-ops-rank>div span small{grid-column:2;color:#718096;font-size:calc(10.5px + var(--gcm-font-add,0px));font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gcm-order-ops-rank>div em{display:block;height:10px;border-radius:999px;background:#e8eef6;overflow:hidden}
.gcm-order-ops-rank>div em i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#f59e0b,#ef4444)}
.gcm-order-ops-rank>div>strong{text-align:right;color:#172033;font-variant-numeric:tabular-nums;font-size:calc(13px + var(--gcm-font-add,0px))}
@media(max-width:980px){.gcm-order-ops-rank{grid-template-columns:1fr}}
@media(max-width:640px){.gcm-order-ops-rank{padding-left:12px;padding-right:12px}.gcm-order-ops-rank>div{grid-template-columns:1fr;gap:8px}.gcm-order-ops-rank>div>strong{text-align:left}}

/* v1.12.64 - Năng lực đơn hàng nhiều mã: form rõ, không còn bó vào 1 mã */
.gcm-order-capacity-multi-picker{padding:18px 20px;margin-bottom:14px;border:1px solid #dce7f5;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:18px}
.gcm-order-capacity-multi-head{display:grid;grid-template-columns:minmax(280px,1fr) minmax(360px,.8fr);gap:18px;align-items:start;margin-bottom:16px}
.gcm-order-capacity-multi-head h3{margin:4px 0 6px;font-size:calc(22px + var(--gcm-font-add,0px));line-height:1.15;color:#172033}
.gcm-order-capacity-multi-head p{margin:0;color:#6b7788;font-size:calc(14px + var(--gcm-font-add,0px));line-height:1.45}
.gcm-order-capacity-controls{display:grid;grid-template-columns:1fr 170px;gap:12px}
.gcm-order-capacity-multi-picker label span{display:block;margin:0 0 6px;color:#667286;font-size:calc(11px + var(--gcm-font-add,0px));font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.gcm-order-capacity-multi-picker select,.gcm-order-capacity-multi-picker input{width:100%;height:44px!important;border:1px solid #d7e0ec!important;border-radius:12px!important;background:#fff!important;padding:0 11px!important;color:#172033}
.gcm-order-capacity-bundle{border:1px solid #e1e9f4;border-radius:16px;overflow:hidden;background:#fff}
.gcm-order-capacity-row{display:grid;grid-template-columns:minmax(260px,1.45fr) minmax(130px,.6fr) minmax(140px,.62fr) minmax(140px,.62fr) 76px;gap:10px;align-items:end;padding:10px 12px;border-top:1px solid #edf2f7}
.gcm-order-capacity-row:first-child{border-top:0}.gcm-order-capacity-row.is-head{align-items:center;background:#f4f7fb;color:#657387;font-size:calc(11px + var(--gcm-font-add,0px));font-weight:850;text-transform:uppercase;letter-spacing:.04em}.gcm-order-capacity-row.is-head span{display:block}.gcm-order-capacity-row.is-head+div{border-top:0}
.gcm-order-capacity-row .gcm-app-btn{height:44px;justify-content:center}.gcm-order-capacity-add-row{width:100%;justify-content:center;margin:12px 0;border-style:dashed!important;background:#fff!important}.gcm-order-capacity-submit{width:100%;height:50px;justify-content:center;font-size:calc(16px + var(--gcm-font-add,0px))}
.gcm-order-capacity-bundle-summary{margin:0 0 14px}.gcm-order-capacity-bundle-summary>.gcm-app-card-head strong{font-size:calc(24px + var(--gcm-font-add,0px));color:#0f62fe}
.gcm-order-capacity-item-list{border:1px solid #e1e9f4;border-radius:14px;overflow:auto}.gcm-order-capacity-item-list>div{display:grid;grid-template-columns:minmax(220px,1.4fr) 120px 100px 130px 130px 100px;gap:12px;align-items:center;min-width:860px;padding:12px 14px;border-top:1px solid #edf2f7}.gcm-order-capacity-item-list>div:first-child{border-top:0}.gcm-order-capacity-item-list>.is-head{background:#f4f7fb;color:#657387;font-size:calc(11px + var(--gcm-font-add,0px));font-weight:850;text-transform:uppercase;letter-spacing:.04em}.gcm-order-capacity-item-list b{display:block;color:#172033}.gcm-order-capacity-item-list small{display:block;margin-top:2px;color:#7a8698}
@media(max-width:1100px){.gcm-order-capacity-multi-head{grid-template-columns:1fr}.gcm-order-capacity-controls{grid-template-columns:1fr 1fr}.gcm-order-capacity-row{grid-template-columns:1fr 1fr}.gcm-order-capacity-row.is-head{display:none}.gcm-order-capacity-row .gcm-app-btn{grid-column:1/-1}.gcm-order-capacity-submit{height:46px}}
@media(max-width:640px){.gcm-order-capacity-multi-picker{padding:14px}.gcm-order-capacity-controls,.gcm-order-capacity-row{grid-template-columns:1fr}.gcm-order-capacity-multi-head h3{font-size:calc(20px + var(--gcm-font-add,0px))}}

/* v1.12.66 - Lập kế hoạch thông minh: chèn thử nhiều đơn vào tải hiện tại */
.gcm-planning-insert-card{overflow:hidden;border-color:#dce8f6;background:linear-gradient(180deg,#fff,#f8fbff)}
.gcm-planning-insert-card form{display:grid;gap:14px;padding:0 18px 18px}
.gcm-plan-insert-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.gcm-plan-insert-steps span{padding:10px 12px;border:1px solid #e2eaf5;border-radius:14px;background:#f8fbff;color:#526074;font-size:calc(12px + var(--gcm-font-add,0px));font-weight:850}
.gcm-plan-insert-rows{border:1px solid #e1e9f4;border-radius:16px;background:#fff;overflow:auto}
.gcm-plan-insert-row{display:grid;grid-template-columns:minmax(280px,1.4fr) minmax(140px,.52fr) minmax(150px,.58fr) minmax(150px,.58fr) 74px;gap:10px;align-items:center;min-width:920px;padding:10px 12px;border-top:1px solid #edf2f7}
.gcm-plan-insert-row:first-child{border-top:0}
.gcm-plan-insert-row.is-head{background:#f4f7fb;color:#657387;font-size:calc(11px + var(--gcm-font-add,0px));font-weight:900;text-transform:uppercase;letter-spacing:.055em}
.gcm-plan-insert-row label{position:relative;margin:0}
.gcm-plan-insert-row select,.gcm-plan-insert-row input{width:100%;height:44px!important;border:1px solid #d7e0ec!important;border-radius:12px!important;background:#fff!important;color:#172033!important;padding:0 12px!important;font-size:calc(13px + var(--gcm-font-add,0px))}
.gcm-plan-insert-row label b{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:#7c889a;font-size:calc(11px + var(--gcm-font-add,0px));pointer-events:none}
.gcm-plan-insert-row label input[name="gcm_plan_insert_qtys[]"]{padding-right:36px!important}
.gcm-plan-insert-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.gcm-plan-insert-actions .gcm-app-btn-primary{min-width:260px;justify-content:center}
.gcm-plan-insert-error{margin:0 18px 18px;padding:12px 14px;border:1px solid #fecaca;border-left:4px solid #ef4444;border-radius:14px;background:#fff5f5;color:#b91c1c;font-size:calc(13px + var(--gcm-font-add,0px));font-weight:800}
.gcm-plan-insert-result{margin:0 18px 18px;border:1px solid #dbe6f2;border-radius:18px;background:#fff;overflow:hidden}
.gcm-plan-insert-result.is-critical{border-color:#ffcaca;box-shadow:inset 4px 0 0 #ef4444}
.gcm-plan-insert-result.is-healthy{border-color:#bbf7d0;box-shadow:inset 4px 0 0 #22c55e}
.gcm-plan-insert-verdict{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 18px;padding:16px 18px;border-bottom:1px solid #edf2f7}
.gcm-plan-insert-verdict span{grid-column:1/-1;width:max-content;max-width:100%;padding:5px 10px;border-radius:999px;background:#eef7ff;color:#1769ff;font-size:calc(11px + var(--gcm-font-add,0px));font-weight:950;text-transform:uppercase;letter-spacing:.05em}
.gcm-plan-insert-result.is-critical .gcm-plan-insert-verdict span{background:#fff0f0;color:#dc2626}
.gcm-plan-insert-result.is-healthy .gcm-plan-insert-verdict span{background:#ecfdf3;color:#15803d}
.gcm-plan-insert-verdict strong{font-size:calc(22px + var(--gcm-font-add,0px));letter-spacing:-.03em;color:#172033}
.gcm-plan-insert-verdict small{align-self:end;color:#6f7d91;font-size:calc(12px + var(--gcm-font-add,0px));font-weight:750}
.gcm-plan-insert-scenarios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 16px;border-bottom:1px solid #edf2f7}
.gcm-plan-insert-scenarios>div{display:grid;gap:5px;padding:13px;border:1px solid #e3eaf3;border-radius:14px;background:#fbfdff}
.gcm-plan-insert-scenarios b{color:#536176;font-size:calc(11px + var(--gcm-font-add,0px));text-transform:uppercase;letter-spacing:.045em}
.gcm-plan-insert-scenarios strong{color:#172033;font-size:calc(18px + var(--gcm-font-add,0px));line-height:1.15}
.gcm-plan-insert-scenarios span{color:#718096;font-size:calc(12px + var(--gcm-font-add,0px));line-height:1.4}
.gcm-plan-insert-scenarios .is-critical{background:#fff7f7;border-color:#fecaca}.gcm-plan-insert-scenarios .is-critical strong{color:#dc2626}
.gcm-plan-insert-scenarios .is-warning{background:#fffaf0;border-color:#fed7aa}.gcm-plan-insert-scenarios .is-warning strong{color:#b45309}
.gcm-plan-insert-scenarios .is-healthy{background:#f7fff9;border-color:#bbf7d0}.gcm-plan-insert-scenarios .is-healthy strong{color:#15803d}
.gcm-plan-insert-month-table{overflow:auto}
.gcm-plan-insert-month-table>div{display:grid;grid-template-columns:minmax(170px,1fr) minmax(100px,.55fr) minmax(150px,.78fr) minmax(135px,.7fr) minmax(105px,.55fr) minmax(150px,.85fr);gap:12px;align-items:center;min-width:980px;padding:12px 14px;border-top:1px solid #edf2f7}
.gcm-plan-insert-month-table>div:first-child{border-top:0}
.gcm-plan-insert-month-table>.is-head{background:#f4f7fb;color:#657387;font-size:calc(11px + var(--gcm-font-add,0px));font-weight:900;text-transform:uppercase;letter-spacing:.055em}
.gcm-plan-insert-month-table b{display:block;color:#172033}.gcm-plan-insert-month-table small{display:block;margin-top:2px;color:#7c889a}
.gcm-plan-insert-month-table .is-critical{background:#fff7f7}.gcm-plan-insert-month-table .is-critical span:last-child{color:#dc2626;font-weight:950}
.gcm-plan-insert-month-table .is-warning{background:#fffaf0}.gcm-plan-insert-month-table .is-warning span:last-child{color:#b45309;font-weight:950}
.gcm-plan-insert-month-table .is-healthy span:last-child{color:#15803d;font-weight:950}
@media(max-width:980px){.gcm-plan-insert-steps{grid-template-columns:1fr 1fr}.gcm-plan-insert-scenarios{grid-template-columns:1fr}.gcm-plan-insert-verdict{grid-template-columns:1fr}.gcm-plan-insert-actions{align-items:stretch;flex-direction:column}.gcm-plan-insert-actions .gcm-app-btn{width:100%;justify-content:center}}
@media(max-width:640px){.gcm-planning-insert-card form{padding-left:12px;padding-right:12px}.gcm-plan-insert-steps{grid-template-columns:1fr}.gcm-plan-insert-result{margin-left:12px;margin-right:12px}.gcm-plan-insert-verdict strong{font-size:calc(18px + var(--gcm-font-add,0px))}}

/* v1.12.67 - UX polish cho doi soat luong va bang don hang overview */
.gcm-finance-payroll-source{position:relative;grid-template-columns:minmax(320px,1fr) repeat(3,minmax(178px,.36fr));gap:10px;align-items:stretch;padding:16px 18px;border-color:#dfe8f4;background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);overflow:hidden}
.gcm-finance-payroll-source:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#1769ff}
.gcm-finance-payroll-source>div{display:flex;flex-direction:column;justify-content:center;padding-right:8px}
.gcm-finance-payroll-source h2{margin:4px 0 5px;font-size:calc(18px + var(--gcm-font-add,0px));letter-spacing:-.02em;color:#172033}
.gcm-finance-payroll-source p{max-width:640px;color:#5d6d82;font-size:calc(12px + var(--gcm-font-add,0px));line-height:1.5}
.gcm-finance-payroll-source label{position:relative;display:grid;align-content:center;min-height:70px;padding:12px 14px 12px 16px;border:1px solid #e1e9f3;border-radius:14px;background:rgba(255,255,255,.86);box-shadow:0 6px 16px rgba(15,23,42,.035);cursor:default;overflow:hidden}
.gcm-finance-payroll-source label:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:99px;background:#94a3b8}
.gcm-finance-payroll-source label.is-selected{border-color:#b8d2ff;background:#f5f9ff;box-shadow:0 8px 20px rgba(37,99,235,.07)}
.gcm-finance-payroll-source label.is-selected:before{background:#1769ff}
.gcm-finance-payroll-source label:nth-of-type(2):before{background:#22c55e}
.gcm-finance-payroll-source label:nth-of-type(3):before{background:#ef4444}
.gcm-finance-payroll-source label b{font-size:calc(11px + var(--gcm-font-add,0px));letter-spacing:.02em;text-transform:uppercase;color:#5c6879}
.gcm-finance-payroll-source label small{margin-top:7px;color:#172033;font-size:calc(12px + var(--gcm-font-add,0px));font-weight:850;white-space:normal;line-height:1.25;font-variant-numeric:tabular-nums}
.gcm-finance-payroll-source label:nth-of-type(3) small{color:#dc2626}

.gcm-app-orders-card{border-color:#dfe8f4;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
.gcm-app-orders-card .gcm-app-card-head{padding:18px 22px 12px;border-bottom:0}
.gcm-app-orders-card .gcm-app-count-pill{height:30px;min-width:56px;background:#edf5ff;color:#0f62fe}
.gcm-app-orders-card .gcm-app-table-wrap{padding:0 18px 18px;overflow-x:auto}
.gcm-app-orders-card .gcm-app-data-table{min-width:760px}
.gcm-app-order-table .gcm-app-table-row{grid-template-columns:minmax(170px,1.22fr) minmax(95px,.58fr) minmax(82px,.45fr) minmax(86px,.48fr) minmax(160px,1fr) minmax(112px,.62fr) minmax(104px,.58fr)}
.gcm-app-order-table .gcm-app-table-row.is-head{min-height:43px;margin:0 0 8px;padding:0 12px;border:1px solid #e4ebf4;border-radius:12px;background:#f6f9fd;color:#6c7788;font-size:calc(10px + var(--gcm-font-add,0px));letter-spacing:.04em}
.gcm-app-order-row{min-height:74px;margin-top:8px;padding:12px;border:1px solid #e8eef6;border-bottom:1px solid #e8eef6;border-radius:14px;background:#fff;box-shadow:0 6px 16px rgba(15,23,42,.035);transition:box-shadow .16s,transform .16s,border-color .16s}
.gcm-app-order-row:first-of-type{margin-top:0}
.gcm-app-order-row:hover{transform:translateY(-1px);border-color:#cbd8e8;box-shadow:0 10px 24px rgba(15,23,42,.06)}
.gcm-app-order-row.is-critical{background:linear-gradient(90deg,#fff7f7 0%,#fff 28%);border-color:#ffd7d7}
.gcm-app-order-row.is-warning{background:linear-gradient(90deg,#fffaf0 0%,#fff 28%);border-color:#ffe2b7}
.gcm-app-order-code strong{font-size:calc(13px + var(--gcm-font-add,0px));font-weight:850}
.gcm-app-order-code small{margin-top:5px;color:#7b8798}
.gcm-app-order-row b{font-size:calc(13px + var(--gcm-font-add,0px));font-weight:850;font-variant-numeric:tabular-nums}
.gcm-app-order-row small{margin-top:5px;color:#7b8798;line-height:1.3}
.gcm-app-order-progress{grid-template-columns:minmax(76px,1fr) 46px!important}
.gcm-app-order-progress .gcm-app-progress-track{height:8px;background:#e8edf4}
.gcm-app-order-progress .gcm-app-progress-track b{width:2px;background:#334155;opacity:.55}
.gcm-app-order-progress strong{font-size:calc(12px + var(--gcm-font-add,0px));font-weight:850}
.gcm-app-order-row>span:last-child b{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border-radius:999px;background:#edf8ef;color:#167a31;font-size:calc(11px + var(--gcm-font-add,0px))}
.gcm-app-order-row.is-critical>span:last-child b{background:#fff0f0;color:#dc2626}
.gcm-app-order-row.is-warning>span:last-child b{background:#fff7df;color:#b66b00}
.gcm-app-status-dot{width:7px;height:7px;margin-right:6px}
@media(max-width:1180px){.gcm-finance-payroll-source{grid-template-columns:1fr 1fr}.gcm-finance-payroll-source>div{grid-column:1/-1}.gcm-finance-payroll-source label:nth-of-type(3){grid-column:1/-1}}
@media(max-width:760px){.gcm-finance-payroll-source{grid-template-columns:1fr;padding:15px}.gcm-finance-payroll-source label:nth-of-type(3){grid-column:auto}.gcm-app-orders-card .gcm-app-table-wrap{padding-left:12px;padding-right:12px}.gcm-app-orders-card .gcm-app-data-table{min-width:720px}.gcm-app-order-row{min-height:68px}}

.gcm-app-refresh-btn{border:0;background:transparent;padding:0;cursor:pointer}
.gcm-app-refresh-btn:hover{color:#1769ff}
.gcm-app-refresh-btn.is-loading .gcm-app-icon{animation:gcm-spin .85s linear infinite}
@keyframes gcm-spin{to{transform:rotate(360deg)}}
.gcm-print-report-header{display:none}
@media print{
  @page{size:A4 landscape;margin:10mm}
  html.gcm-app-active,body.gcm-app-active,body.gcm-standalone-dashboard{width:auto!important;height:auto!important;overflow:visible!important;background:#fff!important}
  body.gcm-report-printing *{visibility:hidden!important}
  body.gcm-report-printing .gcm-app,body.gcm-report-printing .gcm-app *{visibility:visible!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  body.gcm-report-printing .gcm-app{position:static!important;display:block!important;width:auto!important;height:auto!important;min-height:0!important;background:#fff!important;overflow:visible!important}
  body.gcm-report-printing .gcm-app-sidebar,body.gcm-report-printing .gcm-app-overlay,body.gcm-report-printing .gcm-app-header,body.gcm-report-printing .gcm-app-customize,body.gcm-report-printing .gcm-app-tooltip{display:none!important}
  body.gcm-report-printing .gcm-app-main{display:block!important;overflow:visible!important;padding:0!important;width:100%!important}
  body.gcm-report-printing .gcm-print-report-header{display:grid!important;grid-template-columns:minmax(230px,.72fr) minmax(420px,1.3fr) minmax(180px,.55fr);gap:14px;align-items:center;margin:0 0 10mm;padding:0 0 7mm;border-bottom:2px solid #1769ff;break-inside:avoid}
  body.gcm-report-printing .gcm-print-report-brand{display:flex;align-items:center;gap:10px}
  body.gcm-report-printing .gcm-print-report-brand span{width:42px;height:42px;border:1px solid #dfe7f1;border-radius:10px;display:grid;place-items:center;overflow:hidden}
  body.gcm-report-printing .gcm-print-report-brand img{width:100%;height:100%;object-fit:contain;padding:4px}
  body.gcm-report-printing .gcm-print-report-brand strong{display:block;font-size:14pt;color:#111827}
  body.gcm-report-printing .gcm-print-report-brand small,body.gcm-report-printing .gcm-print-report-title p,body.gcm-report-printing .gcm-print-report-meta span,body.gcm-report-printing .gcm-print-report-meta small{display:block;color:#64748b}
  body.gcm-report-printing .gcm-print-report-title h1{margin:0;color:#111827;font-size:20pt;line-height:1.1}
  body.gcm-report-printing .gcm-print-report-title p{margin:4px 0 0;font-size:9pt;line-height:1.4}
  body.gcm-report-printing .gcm-print-report-meta{text-align:right}
  body.gcm-report-printing .gcm-print-report-meta span{font-size:8pt;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
  body.gcm-report-printing .gcm-print-report-meta b{display:block;margin-top:3px;color:#111827;font-size:12pt}
  body.gcm-report-printing .gcm-print-report-meta small{margin-top:2px;font-size:8pt}
  body.gcm-report-printing .gcm-app-kpis,body.gcm-report-printing .gcm-app-top-grid,body.gcm-report-printing .gcm-app-bottom-grid,body.gcm-report-printing .gcm-app-management-grid,body.gcm-report-printing .gcm-smart-grid,body.gcm-report-printing .gcm-order-capacity-layout{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8mm!important;margin-bottom:8mm!important}
  body.gcm-report-printing .gcm-app-kpis{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4mm!important}
  body.gcm-report-printing .gcm-app-card,body.gcm-report-printing .gcm-app-kpi,body.gcm-report-printing .gcm-app-decision-strip{box-shadow:none!important;border:1px solid #d9e2ef!important;border-radius:8px!important;background:#fff!important;break-inside:avoid-page;page-break-inside:avoid}
  body.gcm-report-printing .gcm-app-card-head{min-height:0!important;padding:10px 12px!important}
  body.gcm-report-printing .gcm-app-card-head h2{font-size:12pt!important}
  body.gcm-report-printing .gcm-app-section-head p,body.gcm-report-printing small{font-size:8pt!important}
  body.gcm-report-printing .gcm-app-btn,body.gcm-report-printing .gcm-app-text-btn,body.gcm-report-printing .gcm-app-row-inspect,body.gcm-report-printing .gcm-app-risk-footer,body.gcm-report-printing .gcm-app-stage-legend{display:none!important}
  body.gcm-report-printing .gcm-app-table-wrap,body.gcm-report-printing .gcm-control-table-wrap{overflow:visible!important;padding:0 10px 10px!important}
  body.gcm-report-printing .gcm-app-data-table,body.gcm-report-printing .gcm-control-table,body.gcm-report-printing .gcm-order-capacity-item-list{min-width:0!important;width:100%!important}
  body.gcm-report-printing svg{max-width:100%!important}
  body.gcm-report-printing a[href]:after{content:""!important}
}

/* v1.12.81 - Professional grouped sidebar navigation */
.gcm-app-nav-groups{gap:8px;padding:12px 10px 92px;background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)}
.gcm-app-nav-group{border:1px solid transparent;border-radius:13px;background:transparent;overflow:hidden}
.gcm-app-nav-group[open],.gcm-app-nav-group.is-active{border-color:#e2e9f3;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.04)}
.gcm-app-nav-group summary{height:42px;display:grid;grid-template-columns:28px minmax(0,1fr) auto 14px;align-items:center;gap:9px;padding:0 10px;list-style:none;cursor:pointer;color:#657287;font-size:calc(10.5px + var(--gcm-font-add,0px));font-weight:850;text-transform:uppercase;letter-spacing:.06em;border-radius:12px}
.gcm-app-nav-group summary::-webkit-details-marker{display:none}
.gcm-app-nav-group summary:hover{background:#f5f8fc;color:#185cc7}
.gcm-app-nav-group summary>span:nth-child(2){min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gcm-app-nav-group summary>b{min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:#edf3fb;color:#58708e;font-size:10px;letter-spacing:0;text-transform:none}
.gcm-app-nav-group summary>.gcm-app-icon{width:14px;height:14px;transition:transform .16s;color:#8a97a8}
.gcm-app-nav-group[open] summary>.gcm-app-icon{transform:rotate(90deg)}
.gcm-app-nav-group-icon{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#f1f5fa;color:#607086}
.gcm-app-nav-group-icon .gcm-app-icon{width:17px;height:17px}
.gcm-app-nav-group.is-active summary{color:#155bd9}
.gcm-app-nav-group.is-active .gcm-app-nav-group-icon{background:#eaf2ff;color:#1769ff}
.gcm-app-nav-group-body{display:grid;gap:4px;padding:0 6px 8px}
.gcm-app-nav-group-body>.gcm-app-nav-item{min-height:41px;padding:0 9px 0 10px;border-radius:10px;gap:10px;font-size:calc(12.5px + var(--gcm-font-add,0px));font-weight:700;color:#516176}
.gcm-app-nav-group-body>.gcm-app-nav-item .gcm-app-icon{width:18px;height:18px;color:#718096}
.gcm-app-nav-group-body>.gcm-app-nav-item:hover{background:#f5f8fc;color:#175fcf}
.gcm-app-nav-group-body>.gcm-app-nav-item.is-active{background:#eef5ff;color:#0f62ef;box-shadow:inset 0 0 0 1px #cfe0ff}
.gcm-app-nav-group-body>.gcm-app-nav-item.is-active:before{left:-7px;top:8px;bottom:8px;width:3px;border-radius:99px;background:#1769ff}
.gcm-app-nav-group-body>.gcm-app-nav-item.is-active .gcm-app-icon{color:#1769ff}
.gcm-app-nav-sub{display:none;margin:-1px 0 4px 35px;padding:2px 0 2px 10px;border-left:1px solid #dce5f0}
.gcm-app-nav-sub.is-open,.gcm-app-nav-group[open] .gcm-app-nav-sub{display:grid;gap:2px}
.gcm-app-nav-sub a{min-height:30px;padding:0 8px;border-radius:8px;font-size:calc(11px + var(--gcm-font-add,0px));font-weight:700;color:#6f7c8f}
.gcm-app-nav-sub a:before{display:none!important}
.gcm-app-nav-sub a.is-active{background:#f1f6ff;color:#1769ff}
.gcm-app-nav-new{height:19px;display:inline-grid;place-items:center}
.gcm-app-nav-badge{min-width:20px;height:20px}
@media(max-width:1280px){.gcm-app-nav-group summary{font-size:calc(10px + var(--gcm-font-add,0px));gap:8px}.gcm-app-nav-group-body>.gcm-app-nav-item{font-size:calc(12px + var(--gcm-font-add,0px));gap:9px}}
@media(max-width:1060px){.gcm-app-nav-groups{padding:10px 8px 92px!important}.gcm-app-nav-group summary{height:43px}.gcm-app-nav-group-body>.gcm-app-nav-item{min-height:44px!important;font-size:14px!important}.gcm-app-nav-sub a{min-height:34px!important;font-size:13px!important}}
@media(max-width:760px){.gcm-app-nav-group{border-color:#eef2f7}.gcm-app-nav-group[open],.gcm-app-nav-group.is-active{box-shadow:none}.gcm-app-nav-group summary{height:46px}.gcm-app-nav-group summary>b{display:none}.gcm-app-nav-group-body{padding-bottom:10px}}

/* v1.12.82 - Flow Intelligence */
.gcm-flow-intel-card{display:grid;grid-template-columns:minmax(360px,1fr) minmax(520px,1.1fr);gap:18px;align-items:center;padding:22px 24px;background:linear-gradient(135deg,#ffffff 0%,#f5f9ff 100%);border-color:#dce8f7}
.gcm-flow-intel-card h2{margin:4px 0 7px;font-size:calc(24px + var(--gcm-font-add,0px));letter-spacing:-.025em;color:#142038}
.gcm-flow-intel-card p{margin:0;color:#66758b;font-size:calc(11.5px + var(--gcm-font-add,0px));line-height:1.55}
.gcm-flow-intel-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.gcm-flow-intel-kpis>span{min-height:76px;padding:13px 14px;border:1px solid #dce6f2;border-radius:13px;background:rgba(255,255,255,.82);box-shadow:0 8px 18px rgba(15,23,42,.035)}
.gcm-flow-intel-kpis small,.gcm-flow-intel-kpis b{display:block}.gcm-flow-intel-kpis small{color:#7a8798;font-size:calc(9px + var(--gcm-font-add,0px));font-weight:800;text-transform:uppercase;letter-spacing:.04em}.gcm-flow-intel-kpis b{margin-top:8px;color:#172033;font-size:calc(16px + var(--gcm-font-add,0px));line-height:1.15}
.gcm-flow-intel-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:16px}
.gcm-flow-action-card,.gcm-flow-impact-card{overflow:hidden}.gcm-flow-action-list,.gcm-flow-impact-list{display:grid;gap:9px;padding:0 17px 17px}
.gcm-flow-action-list>div{padding:12px 13px;border:1px solid #e5ebf3;border-left:4px solid #94a3b8;border-radius:12px;background:#fbfcfe}
.gcm-flow-action-list>div.is-critical{border-left-color:#ef4444;background:#fff7f7;border-color:#f8d9d9}.gcm-flow-action-list>div.is-warning{border-left-color:#f59e0b;background:#fffaf0;border-color:#f4e2bd}.gcm-flow-action-list>div.is-healthy{border-left-color:#22a447;background:#f3fbf5;border-color:#d7eedc}
.gcm-flow-action-list b,.gcm-flow-action-list span{display:block}.gcm-flow-action-list b{color:#223149;font-size:calc(12px + var(--gcm-font-add,0px))}.gcm-flow-action-list span{margin-top:5px;color:#637388;font-size:calc(10.5px + var(--gcm-font-add,0px));line-height:1.45}
.gcm-flow-impact-list>a{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;gap:12px;align-items:center;min-height:58px;padding:10px 0;border-bottom:1px solid #edf1f5;color:inherit}
.gcm-flow-impact-list>a:last-child{border-bottom:0}.gcm-flow-impact-list>a:hover{color:#1769ff}.gcm-flow-impact-list b,.gcm-flow-impact-list small{display:block}.gcm-flow-impact-list b{font-size:calc(11.5px + var(--gcm-font-add,0px));color:#223149}.gcm-flow-impact-list small{margin-top:4px;color:#7c8898;font-size:calc(9.2px + var(--gcm-font-add,0px))}.gcm-flow-impact-list strong{font-size:calc(13px + var(--gcm-font-add,0px));color:#0f62ef;white-space:nowrap}.gcm-flow-impact-list .gcm-app-icon{width:15px;height:15px;color:#90a0b4}
.gcm-flow-stage{border-top:4px solid #22a447}.gcm-flow-stage.is-warning{border-top-color:#f59e0b;background:#fffdf7}.gcm-flow-stage.is-critical{border-top-color:#ef4444;background:#fff8f8}.gcm-flow-stage.is-no_data{border-top-color:#94a3b8;background:#fbfcfe}
.gcm-flow-stage-top{align-items:flex-start}.gcm-flow-stage-top>strong{flex:1;min-width:0}.gcm-flow-stage-top>b{display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border-radius:999px;background:#edf8ef;color:#16822f;font-size:calc(8px + var(--gcm-font-add,0px));font-weight:850;white-space:nowrap}.gcm-flow-stage.is-warning .gcm-flow-stage-top>b{background:#fff3d7;color:#b66b00}.gcm-flow-stage.is-critical .gcm-flow-stage-top>b{background:#ffe8e8;color:#cf3034}.gcm-flow-stage.is-no_data .gcm-flow-stage-top>b{background:#eef2f6;color:#718096}
@media(max-width:1320px){.gcm-flow-intel-card{grid-template-columns:1fr}.gcm-flow-intel-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.gcm-flow-intel-grid{grid-template-columns:1fr}}
@media(max-width:680px){.gcm-flow-intel-card{padding:17px}.gcm-flow-intel-kpis{grid-template-columns:1fr}.gcm-flow-impact-list>a{grid-template-columns:1fr 16px}.gcm-flow-impact-list strong{grid-column:1}.gcm-flow-impact-list .gcm-app-icon{grid-column:2;grid-row:1/3}}

/* v1.12.83 - Process report blocks */
.gcm-process-lots-report,.gcm-process-map-report{overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);border-color:#dce7f4}
.gcm-process-lot-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:0 18px 14px}
.gcm-process-lot-summary>span{min-height:66px;padding:11px 12px;border:1px solid #e2e9f2;border-radius:12px;background:#f8fbff}
.gcm-process-lot-summary small,.gcm-process-lot-summary b{display:block}.gcm-process-lot-summary small{color:#718096;font-size:calc(9px + var(--gcm-font-add,0px));font-weight:850;text-transform:uppercase;letter-spacing:.04em}.gcm-process-lot-summary b{margin-top:7px;color:#172033;font-size:calc(20px + var(--gcm-font-add,0px));line-height:1}
.gcm-process-lot-buckets{display:grid;gap:9px;padding:0 18px 15px}
.gcm-process-lot-buckets>div,.gcm-process-attention-lots>div,.gcm-process-location-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;border:1px solid #e3eaf3;border-left:4px solid #9aa8ba;border-radius:12px;background:#fff;padding:11px 12px}
.gcm-process-lot-buckets>div.is-active,.gcm-process-attention-lots>div.is-in_progress,.gcm-process-location-list>div.is-active{border-left-color:#22a447;background:#f6fbf7}.gcm-process-lot-buckets>div.is-hold,.gcm-process-attention-lots>div.is-hold,.gcm-process-location-list>div.is-hold{border-left-color:#f59e0b;background:#fff9ed}.gcm-process-lot-buckets>div.is-completed,.gcm-process-attention-lots>div.is-completed,.gcm-process-location-list>div.is-done{border-left-color:#2563eb;background:#f5f8ff}.gcm-process-attention-lots>div.is-late{border-left-color:#ef4444;background:#fff7f7}
.gcm-process-lot-buckets b,.gcm-process-lot-buckets small,.gcm-process-attention-lots b,.gcm-process-attention-lots small,.gcm-process-location-list b,.gcm-process-location-list small{display:block;min-width:0}
.gcm-process-lot-buckets b,.gcm-process-attention-lots b,.gcm-process-location-list b{color:#172033;font-size:calc(12px + var(--gcm-font-add,0px));font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcm-process-lot-buckets small,.gcm-process-attention-lots small,.gcm-process-location-list small{margin-top:4px;color:#768498;font-size:calc(9.5px + var(--gcm-font-add,0px));line-height:1.35}
.gcm-process-lot-buckets strong,.gcm-process-lot-buckets em,.gcm-process-attention-lots em,.gcm-process-location-list strong,.gcm-process-location-list em{font-size:calc(11px + var(--gcm-font-add,0px));font-weight:850;font-style:normal;white-space:nowrap;font-variant-numeric:tabular-nums}.gcm-process-lot-buckets strong,.gcm-process-location-list strong{color:#1769ff}.gcm-process-lot-buckets em,.gcm-process-attention-lots em,.gcm-process-location-list em{color:#6b7788}
.gcm-process-attention-lots{display:grid;gap:8px;margin:0 18px 18px;padding-top:13px;border-top:1px solid #edf1f6}.gcm-process-attention-lots>strong{color:#172033;font-size:calc(12px + var(--gcm-font-add,0px));font-weight:900}.gcm-process-attention-lots>p,.gcm-process-location-list>p{margin:0;padding:12px;border:1px dashed #d6e0ed;border-radius:12px;background:#f8fbff;color:#718096;font-size:calc(11px + var(--gcm-font-add,0px));line-height:1.45}
.gcm-process-map-layout{display:grid;grid-template-columns:minmax(360px,1fr) minmax(260px,.62fr);gap:14px;padding:0 16px 16px;align-items:stretch}.gcm-process-map-layout .gcm-process-factory-map{height:360px;margin:0}.gcm-process-map-layout .gcm-process-factory-map>div{border-width:2px}.gcm-process-map-layout .gcm-process-factory-map>div.is-flow-active{border-color:#22a447;background:#f0fbf3}.gcm-process-map-layout .gcm-process-factory-map>div.is-flow-hold{border-color:#f59e0b;background:#fff7e4}.gcm-process-map-layout .gcm-process-factory-map>div.is-flow-done{border-color:#3b82f6;background:#eff6ff}.gcm-process-map-layout .gcm-process-factory-map>div.is-flow-empty{opacity:.66}
.gcm-process-location-list{display:grid;align-content:start;gap:9px;min-height:360px;padding:12px;border:1px solid #e3eaf3;border-radius:14px;background:#f8fbff;overflow:auto}.gcm-process-location-list>div{grid-template-columns:minmax(0,1fr) auto auto;padding:10px 11px;background:#fff}.gcm-process-location-list strong{font-size:calc(12px + var(--gcm-font-add,0px))}
@media(max-width:1180px){.gcm-process-map-layout{grid-template-columns:1fr}.gcm-process-location-list{min-height:0;max-height:260px}.gcm-process-lot-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.gcm-process-lot-summary{grid-template-columns:1fr;padding:0 13px 12px}.gcm-process-lot-buckets,.gcm-process-attention-lots{padding-left:13px;padding-right:13px;margin-left:13px;margin-right:13px}.gcm-process-lot-buckets>div,.gcm-process-attention-lots>div,.gcm-process-location-list>div{grid-template-columns:1fr auto}.gcm-process-lot-buckets em,.gcm-process-location-list em{grid-column:2}.gcm-process-map-layout{padding:0 12px 12px}.gcm-process-map-layout .gcm-process-factory-map{height:300px}}
@media print{body.gcm-report-printing .gcm-process-map-layout{grid-template-columns:1.1fr .9fr!important}body.gcm-report-printing .gcm-process-lot-summary{grid-template-columns:repeat(4,minmax(0,1fr))!important}body.gcm-report-printing .gcm-process-location-list{overflow:visible!important;min-height:0!important}}

/* v1.12.84 - Sidebar menu must be fully scrollable */
.gcm-app{--gcm-sidebar-width:286px}
.gcm-app-sidebar{height:100vh;height:100dvh;overflow:hidden}
.gcm-app-brand{flex:0 0 auto;min-width:0}
.gcm-app-brand>div{min-width:0}.gcm-app-brand strong,.gcm-app-brand small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gcm-app-nav{flex:1 1 auto;min-height:0;overflow-y:auto!important;overflow-x:hidden;padding:12px 11px 14px!important;scrollbar-gutter:stable}
.gcm-app-nav::-webkit-scrollbar{width:8px}.gcm-app-nav::-webkit-scrollbar-track{background:transparent}.gcm-app-nav::-webkit-scrollbar-thumb{background:#d6deea;border-radius:99px;border:2px solid #fff}.gcm-app-nav:hover::-webkit-scrollbar-thumb{background:#b9c5d6}
.gcm-app-sidebar-bottom{flex:0 0 auto;margin-top:0!important;padding:12px 14px 14px;border-top:1px solid #eef2f7;background:#fff}
.gcm-app-nav-groups{gap:7px;background:#fff}
.gcm-app-nav-group{overflow:visible!important;border-radius:12px}
.gcm-app-nav-group[open],.gcm-app-nav-group.is-active{box-shadow:0 6px 16px rgba(15,23,42,.04)}
.gcm-app-nav-group summary{min-height:42px;height:auto!important;grid-template-columns:28px minmax(0,1fr) 24px 14px;padding:7px 9px;gap:8px}
.gcm-app-nav-group summary>span:nth-child(2){letter-spacing:.05em}
.gcm-app-nav-group summary>b{min-width:24px;height:22px;padding:0 5px}
.gcm-app-nav-group-body{gap:3px;padding:1px 6px 9px}
.gcm-app-nav-group-body>.gcm-app-nav-item{min-height:39px;padding:0 8px 0 9px;gap:9px}
.gcm-app-nav-sub{margin:1px 0 5px 34px;padding:2px 0 3px 9px;gap:2px!important}
.gcm-app-nav-sub a{min-height:31px!important;padding:0 9px;font-size:calc(10.5px + var(--gcm-font-add,0px));border-radius:8px}
.gcm-app-nav-sub a.is-active{background:#edf4ff;box-shadow:inset 0 0 0 1px #d5e4ff}
.gcm-app.is-sidebar-compact .gcm-app-nav-group summary{grid-template-columns:28px minmax(0,1fr) 20px 12px;font-size:calc(9.4px + var(--gcm-font-add,0px));gap:6px}
.gcm-app.is-sidebar-wide .gcm-app-nav-group summary>span:nth-child(2),.gcm-app.is-sidebar-wide .gcm-app-nav a>span{white-space:nowrap}
@media(max-width:1280px){.gcm-app-nav-group summary{font-size:calc(10px + var(--gcm-font-add,0px))}.gcm-app-nav-group-body>.gcm-app-nav-item{font-size:calc(12px + var(--gcm-font-add,0px))}}
@media(max-width:1060px){.gcm-app-sidebar{width:min(var(--gcm-sidebar-width,286px),88vw)!important}.gcm-app-nav{padding-bottom:14px!important}.gcm-app-sidebar-bottom{padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}}
@media(max-width:760px){.gcm-app-nav{padding:10px 8px 12px!important}.gcm-app-nav-group summary{min-height:44px}.gcm-app-nav-group-body>.gcm-app-nav-item{min-height:42px!important}.gcm-app-nav-sub a{min-height:34px!important}}

/* v1.12.85 - Overview order/resource cards */
.gcm-app[data-gcm-view="overview"] .gcm-app-management-grid{grid-template-columns:minmax(560px,1.16fr) minmax(420px,.84fr);align-items:start}
.gcm-overview-empty-orders{min-height:238px;margin:0 18px 18px;padding:24px;border:1px dashed #cfdced;border-radius:16px;background:linear-gradient(135deg,#f8fbff 0%,#fff 100%);display:grid;grid-template-columns:54px minmax(0,1fr);grid-template-rows:auto auto;gap:14px 16px;align-items:start}
.gcm-overview-empty-icon{width:54px;height:54px;border-radius:15px;background:#eaf2ff;color:#1769ff;display:grid;place-items:center}.gcm-overview-empty-icon .gcm-app-icon{width:27px;height:27px}
.gcm-overview-empty-orders strong{display:block;color:#172033;font-size:calc(17px + var(--gcm-font-add,0px));line-height:1.2}.gcm-overview-empty-orders p{max-width:560px;margin:7px 0 0;color:#6f7d91;font-size:calc(12px + var(--gcm-font-add,0px));line-height:1.55}
.gcm-overview-empty-actions{grid-column:2;display:flex;gap:9px;flex-wrap:wrap}.gcm-overview-empty-actions .gcm-app-btn{width:auto!important}
.gcm-app[data-gcm-view="overview"] .gcm-app-orders-card .gcm-app-table-wrap{padding-bottom:14px}.gcm-app[data-gcm-view="overview"] .gcm-app-orders-card .gcm-app-data-table{min-width:760px}
.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card{overflow:hidden}
.gcm-resource-snapshot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 18px 13px}
.gcm-resource-snapshot>span{min-height:58px;padding:9px 10px;border:1px solid #e4ebf4;border-radius:12px;background:#f8fbff}.gcm-resource-snapshot small,.gcm-resource-snapshot b{display:block}.gcm-resource-snapshot small{color:#718096;font-size:calc(8.5px + var(--gcm-font-add,0px));font-weight:850;text-transform:uppercase;letter-spacing:.04em}.gcm-resource-snapshot b{margin-top:6px;color:#172033;font-size:calc(19px + var(--gcm-font-add,0px));line-height:1}
.gcm-resource-snapshot .is-critical{border-color:#ffd7d7;background:#fff7f7}.gcm-resource-snapshot .is-critical b{color:#dc2626}.gcm-resource-snapshot .is-warning{border-color:#ffe2b7;background:#fffaf0}.gcm-resource-snapshot .is-warning b{color:#b66b00}.gcm-resource-snapshot .is-active{border-color:#cfead6;background:#f4fbf6}.gcm-resource-snapshot .is-active b{color:#15803d}
.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-list{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:0 18px 18px!important}
.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;min-height:0!important;padding:12px!important;border:1px solid #e5edf6!important;border-radius:14px!important;background:#fff!important;box-shadow:0 5px 14px rgba(15,23,42,.035)!important}
.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-row.is-critical{border-color:#ffd0d0!important;background:linear-gradient(180deg,#fff,#fff7f7)!important}.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-row.is-warning{border-color:#ffe0aa!important;background:linear-gradient(180deg,#fff,#fffaf0)!important}.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-row.is-idle{background:#fbfcfe!important}
.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-name{display:grid!important;grid-template-columns:32px minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;padding-right:0!important;position:static!important}
.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-name .gcm-app-stage-icon{width:32px;height:32px;margin:0;color:#506178;background:#f1f5fa;border-radius:9px}
.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-name strong{font-size:calc(13px + var(--gcm-font-add,0px))!important;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-name small{margin-top:4px!important;color:#7d899a!important;font-size:calc(10px + var(--gcm-font-add,0px))!important;line-height:1.35!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-name em{position:static!important;max-width:none!important;justify-self:end;display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border-radius:999px;background:#edf8ef;color:#167a31;font-size:calc(10px + var(--gcm-font-add,0px));font-style:normal;font-weight:850;white-space:nowrap}
.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-row.is-critical .gcm-app-resource-name em{background:#fff0f0;color:#dc2626}.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-row.is-warning .gcm-app-resource-name em{background:#fff5df;color:#b66b00}.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-row.is-idle .gcm-app-resource-name em{background:#eef2f7;color:#64748b}
.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-progress{display:grid!important;grid-template-columns:minmax(0,1fr) 56px!important;gap:10px!important;align-items:center!important}.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-progress strong{text-align:right;font-size:calc(12px + var(--gcm-font-add,0px));font-weight:900}
.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-metrics span{min-width:0!important;padding:8px 9px!important;border-radius:10px!important;background:#f5f8fc!important}.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-metrics small{display:block;color:#7a8798;font-size:calc(9px + var(--gcm-font-add,0px));line-height:1.2}.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-metrics b{display:block;margin-top:3px;color:#172033;font-size:calc(11.5px + var(--gcm-font-add,0px));font-weight:850;white-space:nowrap}
@media(max-width:1180px){.gcm-app[data-gcm-view="overview"] .gcm-app-management-grid{grid-template-columns:1fr}.gcm-resource-snapshot{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.gcm-overview-empty-orders{grid-template-columns:1fr;min-height:0;margin:0 13px 13px;padding:18px}.gcm-overview-empty-actions{grid-column:auto}.gcm-overview-empty-actions .gcm-app-btn{width:100%!important}.gcm-resource-snapshot{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:13px;padding-right:13px}.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-list{padding-left:13px!important;padding-right:13px!important}.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-name{grid-template-columns:32px minmax(0,1fr)!important}.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-name em{grid-column:2;justify-self:start}.gcm-app[data-gcm-view="overview"] .gcm-app-resources-card .gcm-app-resource-metrics{grid-template-columns:1fr 1fr 1fr!important}}

/* v1.12.97 - Order capacity style/range filter */
.gcm-order-capacity-view-filter{display:grid;grid-template-columns:minmax(280px,1.25fr) minmax(260px,1fr) 150px 150px auto;gap:12px;align-items:end;padding:16px 18px;border-color:#dbe8f7;background:linear-gradient(180deg,#fff,#f8fbff)}.gcm-order-capacity-view-filter h3{margin:4px 0 5px;color:#172033;font-size:calc(18px + var(--gcm-font-add,0px));line-height:1.18}.gcm-order-capacity-view-filter p{margin:0;color:#68778c;font-size:calc(11.5px + var(--gcm-font-add,0px));line-height:1.45}.gcm-order-capacity-view-filter label{display:flex;min-width:0;flex-direction:column;gap:6px}.gcm-order-capacity-view-filter label span{color:#667286;font-size:calc(10px + var(--gcm-font-add,0px));font-weight:850;text-transform:uppercase;letter-spacing:.04em}.gcm-order-capacity-view-filter label small{min-height:15px;color:#64748b;font-size:calc(10px + var(--gcm-font-add,0px));font-weight:750}.gcm-order-capacity-view-filter select,.gcm-order-capacity-view-filter input{width:100%;height:42px!important;border:1px solid #d7e2f0!important;border-radius:11px!important;background:#fff!important;color:#172033!important;padding:0 11px!important;box-shadow:none!important}.gcm-order-capacity-view-filter .gcm-app-btn{height:42px;justify-content:center;white-space:nowrap}@media(max-width:1240px){.gcm-order-capacity-view-filter{grid-template-columns:1fr 1fr 150px 150px}.gcm-order-capacity-view-filter>div{grid-column:1/-1}.gcm-order-capacity-view-filter .gcm-app-btn{grid-column:1/-1}}@media(max-width:760px){.gcm-order-capacity-view-filter{grid-template-columns:1fr;padding:14px}.gcm-order-capacity-view-filter .gcm-app-btn{width:100%}}

/* v1.12.104 - PO detail card */
.gcm-order-po-card{margin-bottom:12px;overflow:hidden;background:linear-gradient(180deg,#fff,#f8fbff);border-color:#dce8f7}.gcm-order-po-card .gcm-app-card-head{align-items:flex-start}.gcm-order-po-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.gcm-order-po-actions .gcm-app-text-btn{white-space:nowrap}
.gcm-order-po-summary{display:grid;grid-template-columns:1.15fr repeat(5,minmax(0,1fr));gap:9px;padding:0 18px 14px}.gcm-order-po-summary>div{min-height:66px;border:1px solid #e2eaf4;border-radius:12px;background:#fff;padding:11px 12px;min-width:0}.gcm-order-po-summary>div.is-primary{border-color:#bdd6ff;background:#eff6ff}.gcm-order-po-summary small,.gcm-order-po-sizes small,.gcm-order-po-note small{display:block;color:#748196;font-size:calc(8.8px + var(--gcm-font-add,0px));font-weight:850;text-transform:uppercase;letter-spacing:.04em}.gcm-order-po-summary b{display:block;margin-top:7px;color:#172033;font-size:calc(12.5px + var(--gcm-font-add,0px));line-height:1.22;overflow-wrap:anywhere}.gcm-order-po-summary .is-primary b{color:#0b5bea;font-size:calc(20px + var(--gcm-font-add,0px))}.gcm-order-po-summary span{display:block;margin-top:4px;color:#64748b;font-size:calc(10px + var(--gcm-font-add,0px));line-height:1.35}
.gcm-order-po-sizes{display:grid;grid-template-columns:minmax(190px,.32fr) repeat(7,minmax(0,1fr));gap:8px;align-items:stretch;padding:0 18px 14px}.gcm-order-po-sizes>div,.gcm-order-po-sizes>span{border:1px solid #e2eaf4;border-radius:12px;background:#fff;padding:10px 11px;min-width:0}.gcm-order-po-sizes strong{display:block;color:#172033;font-size:calc(12px + var(--gcm-font-add,0px));line-height:1.2}.gcm-order-po-sizes>div span{display:block;margin-top:5px;color:#748196;font-size:calc(10px + var(--gcm-font-add,0px));line-height:1.35}.gcm-order-po-sizes b{display:block;margin-top:7px;color:#172033;font-size:calc(15px + var(--gcm-font-add,0px));line-height:1}.gcm-order-po-sizes .is-total{border-color:#bdd6ff;background:#eff6ff}.gcm-order-po-sizes .is-total b{color:#0b5bea}
.gcm-order-po-note{margin:0 18px 16px;border:1px solid #e2eaf4;border-radius:12px;background:#fff;padding:12px}.gcm-order-po-note pre{white-space:pre-wrap;margin:8px 0 0;color:#3f4d63;font:calc(10.5px + var(--gcm-font-add,0px))/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
@media(max-width:1280px){.gcm-order-po-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.gcm-order-po-sizes{grid-template-columns:repeat(4,minmax(0,1fr))}.gcm-order-po-sizes>div{grid-column:1/-1}}
@media(max-width:760px){.gcm-order-po-card .gcm-app-card-head{gap:10px}.gcm-order-po-actions{justify-content:flex-start}.gcm-order-po-summary{grid-template-columns:1fr;padding-left:13px;padding-right:13px}.gcm-order-po-sizes{grid-template-columns:1fr 1fr;padding-left:13px;padding-right:13px}.gcm-order-po-sizes>div{grid-column:1/-1}.gcm-order-po-note{margin-left:13px;margin-right:13px}}

/* v1.12.116 - UX/UI Năng lực đơn hàng: gom bộ lọc và cài đặt tính toán */
.gcm-order-capacity-panel.gcm-order-capacity-view-filter{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(620px,1.6fr);gap:18px;align-items:stretch;padding:18px 20px;border:1px solid #dce8f7;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:18px}
.gcm-order-capacity-panel-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:2px 4px 2px 0}
.gcm-order-capacity-panel-copy h3{margin:5px 0 6px!important;font-size:calc(21px + var(--gcm-font-add,0px))!important;line-height:1.16!important;color:#172033!important}
.gcm-order-capacity-panel-copy p{max-width:560px;margin:0!important;color:#667286!important;font-size:calc(13px + var(--gcm-font-add,0px))!important;line-height:1.48!important}
.gcm-order-capacity-filter-fields{display:grid;grid-template-columns:minmax(280px,1.45fr) minmax(150px,.62fr) minmax(165px,.7fr) minmax(132px,.5fr);gap:12px;align-items:end;align-content:center;border:1px solid #e3ecf7;border-radius:16px;background:#fff;padding:14px;box-shadow:0 10px 24px rgba(15,23,42,.035)}
.gcm-order-capacity-filter-fields .is-product{min-width:0}
.gcm-order-capacity-filter-fields .gcm-app-btn{width:100%;height:44px!important;border-radius:12px!important}
.gcm-order-capacity-filter-fields label small{display:block;margin-top:2px;min-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#64748b!important}
.gcm-order-capacity-multi-picker{padding:18px 20px!important;border-color:#dce8f7!important;background:linear-gradient(180deg,#fff,#f8fbff)!important}
.gcm-order-capacity-multi-head{grid-template-columns:minmax(280px,.72fr) minmax(620px,1.6fr)!important;gap:18px!important;align-items:stretch!important;margin-bottom:16px!important}
.gcm-order-capacity-multi-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding-right:6px}
.gcm-order-capacity-multi-copy h3{margin:5px 0 6px!important;font-size:calc(21px + var(--gcm-font-add,0px))!important;line-height:1.16!important}
.gcm-order-capacity-multi-copy p{margin:0!important;color:#667286!important;font-size:calc(13px + var(--gcm-font-add,0px))!important;line-height:1.48!important}
.gcm-order-capacity-settings{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(420px,1fr);gap:12px;align-items:center;border:1px solid #e3ecf7;border-radius:16px;background:#fff;padding:14px;box-shadow:0 10px 24px rgba(15,23,42,.035)}
.gcm-order-capacity-settings-title{min-width:0}.gcm-order-capacity-settings-title span{display:block;color:#1d4ed8;font-size:calc(11px + var(--gcm-font-add,0px));font-weight:900;text-transform:uppercase;letter-spacing:.08em}.gcm-order-capacity-settings-title small{display:block;margin-top:5px;color:#6b7788;font-size:calc(11.5px + var(--gcm-font-add,0px));line-height:1.35;font-weight:700}
.gcm-order-capacity-settings .gcm-order-capacity-controls{display:grid;grid-template-columns:minmax(260px,1fr) minmax(150px,.45fr);gap:12px;align-items:end}
.gcm-order-capacity-settings label span{font-size:calc(10px + var(--gcm-font-add,0px))!important}
.gcm-order-capacity-settings select,.gcm-order-capacity-settings input,.gcm-order-capacity-filter-fields select,.gcm-order-capacity-filter-fields input{height:44px!important;border-radius:12px!important}
@media(max-width:1280px){.gcm-order-capacity-panel.gcm-order-capacity-view-filter,.gcm-order-capacity-multi-head{grid-template-columns:1fr!important}.gcm-order-capacity-filter-fields,.gcm-order-capacity-settings{grid-template-columns:1fr 1fr!important}.gcm-order-capacity-filter-fields .is-product{grid-column:1/-1}.gcm-order-capacity-filter-fields .gcm-app-btn{grid-column:1/-1}.gcm-order-capacity-settings-title{grid-column:1/-1}.gcm-order-capacity-settings .gcm-order-capacity-controls{grid-column:1/-1}}
@media(max-width:760px){.gcm-order-capacity-panel.gcm-order-capacity-view-filter,.gcm-order-capacity-multi-picker{padding:14px!important}.gcm-order-capacity-filter-fields,.gcm-order-capacity-settings,.gcm-order-capacity-settings .gcm-order-capacity-controls{grid-template-columns:1fr!important}.gcm-order-capacity-panel-copy h3,.gcm-order-capacity-multi-copy h3{font-size:calc(20px + var(--gcm-font-add,0px))!important}.gcm-order-capacity-filter-fields label small{white-space:normal}}

/* 1.12.118: clean bottleneck display in Order Control Tower */
.gcm-control-bottleneck{display:block;border-radius:12px;padding:7px 9px;background:#f6f8fb;border:1px solid #e8edf4;min-width:0}
.gcm-control-bottleneck b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gcm-control-bottleneck small{line-height:1.3!important}
.gcm-control-bottleneck.is-ok{background:#f5fbf7;border-color:#dcefe2}
.gcm-control-bottleneck.is-warning,.gcm-control-bottleneck.is-unmapped{background:#fff8e8;border-color:#ffe1a6}
.gcm-control-bottleneck.is-over,.gcm-control-bottleneck.is-no-capacity{background:#fff0f0;border-color:#ffc9c9}
.gcm-control-bottleneck.is-unmapped b,.gcm-control-bottleneck.is-warning b{color:#9a5b00!important}
.gcm-control-bottleneck.is-no-capacity b,.gcm-control-bottleneck.is-over b{color:#d63638!important}

/* 1.12.119: cleaner production-stage progress layout */
.gcm-app-production-overview{grid-template-columns:minmax(520px,.95fr) minmax(660px,1.05fr)!important;gap:18px!important;align-items:stretch!important}
.gcm-app-stage-card.gcm-app-stage-modern{overflow:visible!important;background:linear-gradient(180deg,#fff,#fbfcff)!important}
.gcm-app-stage-modern-head{min-height:66px!important;padding:17px 18px 13px!important;border-bottom:1px solid #eef2f7!important}
.gcm-app-stage-modern-head .gcm-app-text-btn{height:38px!important;padding:0 13px!important;border-radius:10px!important;background:#fff!important}
.gcm-app-stage-modern-list{padding:14px 16px 12px!important;display:flex!important;flex-direction:column!important;gap:10px!important}
.gcm-app-stage-modern-row{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto auto 24px!important;grid-template-areas:"title numbers status inspect" "progress progress progress progress"!important;gap:10px 12px!important;align-items:center!important;min-height:auto!important;padding:13px 14px!important;border:1px solid #e7edf5!important;border-radius:15px!important;background:#fff!important;box-shadow:0 8px 22px rgba(15,23,42,.035)!important;transition:.15s ease!important;overflow:hidden!important}
.gcm-app-stage-modern-row:hover{border-color:#cfe0fb!important;box-shadow:0 12px 26px rgba(37,99,235,.07)!important;transform:translateY(-1px)}
.gcm-app-stage-modern-row:last-child{border-bottom:1px solid #e7edf5!important}
.gcm-app-stage-modern-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#35b557;opacity:.85}
.gcm-app-stage-modern-row.is-warning:before{background:#f59e0b}.gcm-app-stage-modern-row.is-critical:before{background:#ef4444}
.gcm-app-stage-modern-title{grid-area:title!important;min-width:0!important;gap:11px!important}
.gcm-app-stage-modern-title .gcm-app-stage-icon{width:34px!important;height:34px!important;border-radius:10px!important;background:#f1f5f9!important;color:#64748b!important}
.gcm-app-stage-modern-title strong{font-size:calc(13px + var(--gcm-font-add,0px))!important;line-height:1.25!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;color:#142033!important}
.gcm-app-stage-modern-title small{margin-top:4px!important;font-size:calc(10px + var(--gcm-font-add,0px))!important;color:#7c889b!important;font-weight:650!important}
.gcm-app-stage-modern-progress{grid-area:progress!important;min-width:0!important;padding-top:1px!important}
.gcm-app-stage-modern-line{display:grid!important;grid-template-columns:minmax(0,1fr) 56px!important;gap:11px!important;align-items:center!important}
.gcm-app-stage-modern-line .gcm-app-progress-track{height:12px!important;border-radius:999px!important;background:#e8edf3!important;overflow:visible!important}
.gcm-app-stage-modern-line .gcm-app-progress-track i{border-radius:999px!important;min-width:3px!important}
.gcm-app-stage-modern-line .gcm-app-progress-track b{top:-6px!important;bottom:-6px!important;width:2px!important;background:#334155!important;opacity:.38!important;border-radius:2px!important}
.gcm-app-stage-modern-line>strong{font-size:calc(13px + var(--gcm-font-add,0px))!important;font-weight:850!important;text-align:right!important;color:#111827!important}
.gcm-app-stage-modern-meta{justify-content:flex-start!important;gap:10px!important;margin-top:7px!important;font-size:calc(10px + var(--gcm-font-add,0px))!important;color:#7b8797!important}
.gcm-app-stage-modern-meta span{display:inline-flex!important;align-items:center!important;min-height:22px!important;padding:0 8px!important;border-radius:999px!important;background:#f4f7fb!important;font-weight:720!important;white-space:nowrap!important}
.gcm-app-stage-modern-meta .is-behind{background:#fff0f0!important;color:#dc2626!important}.gcm-app-stage-modern-meta .is-ahead{background:#ecfdf3!important;color:#16803a!important}
.gcm-app-stage-modern-numbers{grid-area:numbers!important;text-align:right!important;min-width:130px!important;padding:8px 10px!important;border-radius:12px!important;background:#f8fafc!important;border:1px solid #eef2f7!important}
.gcm-app-stage-modern-numbers strong{font-size:calc(13px + var(--gcm-font-add,0px))!important;font-weight:850!important;line-height:1.1!important;white-space:nowrap!important;color:#162033!important}
.gcm-app-stage-modern-numbers strong em{display:inline!important;font-size:calc(10px + var(--gcm-font-add,0px))!important;color:#728096!important}
.gcm-app-stage-modern-numbers small{margin-top:5px!important;font-size:calc(10px + var(--gcm-font-add,0px))!important;line-height:1.25!important;color:#7c889b!important;max-width:170px!important;white-space:normal!important}
.gcm-app-stage-status{grid-area:status!important;min-height:29px!important;padding:0 10px!important;border-radius:999px!important;font-size:calc(10px + var(--gcm-font-add,0px))!important;font-weight:850!important;white-space:nowrap!important}
.gcm-app-row-inspect{grid-area:inspect!important;align-self:start!important;margin-top:2px!important;background:#f8fafc!important}
.gcm-app-stage-legend{min-height:34px!important;padding:8px 18px 10px!important;gap:12px!important;border-top:1px solid #eef2f7!important;background:#fbfcff!important}
.gcm-app-stage-legend span:last-child{display:none!important}
@media(max-width:1320px){.gcm-app-production-overview{grid-template-columns:1fr!important}.gcm-app-progress-card,.gcm-app-stage-modern{min-height:0!important}}
@media(max-width:780px){.gcm-app-stage-modern-row{grid-template-columns:1fr!important;grid-template-areas:"title" "numbers" "progress" "status"!important}.gcm-app-stage-modern-numbers{text-align:left!important;min-width:0!important}.gcm-app-row-inspect{display:none!important}.gcm-app-stage-modern-line{grid-template-columns:1fr 52px!important}}
