.ko-kiosk-wrap-outer{padding:100px 15px;}
.ko-kiosk-wrap-outer *{box-sizing:border-box;}
.ko-kiosk{width:1260px;margin:0 auto;transform-origin:top left;}
.ko-screen{position:relative;margin-bottom:80px;overflow:hidden;border-radius:20px;background:#f8fafc;border:1px solid #cbd5e1;box-shadow:0 18px 46px rgba(15,23,42,.13);}
.ko-screen-inner{display:flex;flex-direction:column;}
.ko-top{height:70px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 20px;background:linear-gradient(135deg,#1f69c9,#12569d);color:#fff;}
.ko-top.dark{background:linear-gradient(135deg,#0b1f3a,#1f2937);}
.ko-top.green{background:linear-gradient(135deg,#0f766e,#16a34a);}
.ko-top.purple{background:linear-gradient(135deg,#4c1d95,#5b3fb2);}
.ko-title-left{display:flex;align-items:center;gap:11px;min-width:0;}
.ko-no{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;color:#145da0;font-size:20px;font-weight:800;flex:0 0 auto;}
.ko-top h2{margin:0;font-size:28px;line-height:1;font-weight:800;letter-spacing:-.045em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ko-statusbar{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:16px;font-weight:850;color:#dbeafe;}
.ko-statusbar .pill{display:inline-flex;align-items:center;height:36px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;}
.ko-statusbar button{height:38px;padding:0 15px;border:0;border-radius:8px;background:rgba(255,255,255,.14);color:#fff;font-size:16px;font-weight:900;cursor:pointer;}
.ko-content{flex:1;display:grid;gap:16px;padding:16px;font-size:22px;}
.ko-side{display:grid;gap:13px;align-content:start;}
.ko-btn{min-height:66px;border:1px solid #cbd5e1;border-radius:13px;background:#fff;color:#1f2937;font-size:23px;font-weight:800;cursor:pointer;transition:.15s;}
.ko-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.10);}
.ko-btn.big{min-height:88px;font-size:26px;}
.ko-btn.tall{min-height:108px;font-size:26px;}
.ko-btn.blue{background:#2563eb;color:#fff;border-color:#2563eb;}
.ko-btn.green{background:#16a34a;color:#fff;border-color:#16a34a;}
.ko-btn.red{background:#dc2626;color:#fff;border-color:#dc2626;}
.ko-btn.orange{background:#f59e0b;color:#111827;border-color:#f59e0b;}
.ko-btn.purple{background:#5b3fb2;color:#fff;border-color:#5b3fb2;}
.ko-btn.gray{background:#eef2f7;color:#667085;border-color:#d8e0ea;}
.ko-btn.outline{background:#fff;color:#1f2937;border-color:#94a3b8;}
.ko-card{background:#fff;border:1px solid #d8e0ea;border-radius:17px;padding:18px;}
.ko-card.dark{background:#0f172a;color:#fff;border-color:#0f172a;}
.ko-card.fill{height:100%;}
.ko-card h3{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;color:#111827;font-size:27px;line-height:1.2;font-weight:800;letter-spacing:-.04em;}
.ko-card.dark h3{color:#fff;}
.ko-card h3 small{color:#667085;font-size:16px;font-weight:850;letter-spacing:0;}
.ko-card.dark h3 small{color:#cbd5e1;}
.ko-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf2f7;}
.ko-row:last-child{border-bottom:0;}
.ko-row span{color:#667085;font-size:20px;font-weight:750;}
.ko-row b{color:#111827;font-size:21px;font-weight:800;text-align:right;}
.ko-card.dark .ko-row{border-color:rgba(255,255,255,.10);}
.ko-card.dark .ko-row span{color:#cbd5e1;}
.ko-card.dark .ko-row b{color:#fff;}
.ko-badge{display:inline-flex;align-items:center;justify-content:center;height:34px;min-width:76px;padding:0 12px;border-radius:999px;background:#ecfdf3;color:#047857;font-size:17px;font-weight:800;}
.ko-badge.blue{background:#eff6ff;color:#1d4ed8;}
.ko-badge.red{background:#fee2e2;color:#dc2626;}
.ko-badge.orange{background:#fff7ed;color:#c2410c;}
.ko-badge.purple{background:#f5f3ff;color:#6d28d9;}
.ko-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #d8e0ea;border-radius:12px;overflow:hidden;}
.ko-table th,.ko-table td{padding:12px 13px;border-bottom:1px solid #e5eaf2;border-right:1px solid #e5eaf2;font-size:19px;text-align:center;}
.ko-table th{background:#f3f6fa;color:#374151;font-weight:800;}
.ko-table td{color:#374151;font-weight:750;}
.ko-table tr:last-child td{border-bottom:0;}
.ko-table th:last-child,.ko-table td:last-child{border-right:0;}
.ko-input{height:56px;width:100%;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:0 15px;color:#111827;font-size:22px;font-weight:800;}
.ko-textarea{width:100%;min-height:118px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:15px;color:#111827;font-size:21px;font-weight:650;resize:none;}
.ko-mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;}
.ko-metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.ko-metric{padding:18px;border-radius:13px;background:#fff;border:1px solid #d8e0ea;}
.ko-metric span{display:block;color:#667085;font-size:19px;font-weight:850;}
.ko-metric b{display:block;margin-top:8px;color:#111827;font-size:34px;line-height:1;font-weight:800;}
.ko-progress{height:10px;border-radius:999px;background:#e5e7eb;overflow:hidden;}
.ko-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#06b6d4,#2563eb);}
.ko-toggle{position:relative;width:58px;height:32px;border:0;border-radius:999px;background:#cbd5e1;cursor:pointer;}
.ko-toggle:before{content:'';position:absolute;left:4px;top:4px;width:24px;height:24px;border-radius:50%;background:#fff;transition:.18s;box-shadow:0 2px 6px rgba(15,23,42,.2);}
.ko-toggle.on{background:#2563eb;}
.ko-toggle.on:before{left:30px;}
.ko-toast{position:absolute;left:50%;bottom:18px;z-index:30;display:none;transform:translateX(-50%);padding:16px 20px;border-radius:14px;background:#111827;color:#fff;box-shadow:0 18px 46px rgba(15,23,42,.24);font-size:20px;font-weight:700;}
.ko-toast.show{display:block;animation:toastShow .22s ease-out;}
@keyframes toastShow{from{transform:translateX(-50%) translateY(12px);opacity:0;}to{transform:translateX(-50%) translateY(0);opacity:1;}}

.ko-roll-production-layout{grid-template-columns:210px 1fr 250px;}
.ko-roll-production-layout .roll-main{display:grid;grid-template-rows:auto auto 1fr;gap:12px;}
.ko-roll-production-layout .roll-spec{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ko-roll-production-layout .roll-donut{display:grid;place-items:center;height:190px;border-radius:16px;background:#fff;border:1px solid #d8e0ea;}
.ko-roll-production-layout .roll-circle{display:grid;place-items:center;width:145px;height:145px;border-radius:50%;background:conic-gradient(#2563eb 0 50%,#e5e7eb 50% 100%);}
.ko-roll-production-layout .roll-circle div{display:grid;place-items:center;width:104px;height:104px;border-radius:50%;background:#fff;color:#111827;font-size:40px;font-weight:800;}
.ko-roll-production-layout .roll-rpm{display:grid;grid-template-columns:1fr;gap:10px;}
.ko-roll-production-layout .rpm-row{display:grid;grid-template-columns:48px 1fr 1fr;gap:10px;align-items:center;padding:14px;margin-bottom:8px;border-radius:12px;background:#f8fafc;border:1px solid #e5e8ef;}
.ko-roll-production-layout .rpm-row:last-child{margin-bottom:0;}
.ko-roll-production-layout .rpm-row b{font-size:20px;color:#111827;}
.ko-roll-production-layout .rpm-row span{font-size:19px;color:#667085;text-align:center;font-weight:850;}

.ko-injection-shot-layout{grid-template-columns:1fr 310px;}
.ko-injection-shot-layout .press-main{display:grid;grid-template-columns:1.05fr .95fr;gap:12px;}
.ko-injection-shot-layout .press-gauge{position:relative;display:grid;place-items:center;min-height:330px;border-radius:18px;background:#0f172a;color:#fff;overflow:hidden;}
.ko-injection-shot-layout .press-gauge:before{content:'';position:absolute;width:270px;height:270px;border-radius:50%;background:conic-gradient(#06b6d4 0 75%,rgba(255,255,255,.12) 75%);}
.ko-injection-shot-layout .press-gauge:after{content:'';position:absolute;width:195px;height:195px;border-radius:50%;background:#0f172a;}
.ko-injection-shot-layout .press-gauge div{position:relative;z-index:1;text-align:center;}
.ko-injection-shot-layout .press-gauge b{display:block;font-size:58px;line-height:1;font-weight:800;}
.ko-injection-shot-layout .press-gauge span{display:block;margin-top:8px;color:#cbd5e1;font-size:13px;font-weight:800;}
.ko-injection-shot-layout .press-params{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.ko-injection-shot-layout .press-param{padding:17px;border-radius:13px;background:#fff;border:1px solid #d8e0ea;}
.ko-injection-shot-layout .press-param span{display:block;color:#667085;font-size:19px;font-weight:850;}
.ko-injection-shot-layout .press-param b{display:block;margin-top:8px;color:#111827;font-size:34px;font-weight:800;}
.ko-injection-shot-layout .temp-line{display:grid;grid-template-columns:60px 1fr 66px;gap:10px;align-items:center;margin-top:10px;}
.ko-injection-shot-layout .temp-line b{font-size:19px;color:#111827;}
.ko-injection-shot-layout .temp-line i{height:12px;border-radius:999px;background:linear-gradient(90deg,#06b6d4,#2563eb);}
.ko-injection-shot-layout .temp-line span{font-size:19px;color:#667085;font-weight:850;text-align:right;}

.ko-batch-mixing-layout{grid-template-columns:1fr 310px;}
.ko-batch-mixing-layout .blend-layout{display:grid;grid-template-columns:1fr 270px;gap:12px;}
.ko-batch-mixing-layout .tank-wrap{position:relative;min-height:350px;border-radius:18px;background:linear-gradient(180deg,#07111f 0%,#0f172a 62%,#111827 100%);overflow:hidden;border:1px solid #0f172a;}
.ko-batch-mixing-layout .tank-wrap:before{content:'MIXING TANK';position:absolute;left:18px;top:16px;z-index:5;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.10);color:#cbd5e1;font-size:13px;font-weight:800;letter-spacing:.04em;}
.ko-batch-mixing-layout .tank-wrap:after{content:'교반중';position:absolute;right:18px;top:16px;z-index:5;padding:7px 10px;border-radius:999px;background:rgba(34,197,94,.18);color:#86efac;font-size:13px;font-weight:800;}
.ko-batch-mixing-layout .tank{position:absolute;left:50%;top:88px;transform:translateX(-50%);width:230px;height:250px;border:5px solid #67e8f9;border-radius:28px 28px 70px 70px;overflow:hidden;background:rgba(255,255,255,.08);box-shadow:0 0 0 12px rgba(103,232,249,.06),inset 0 0 24px rgba(255,255,255,.08);}
.ko-batch-mixing-layout .tank:before{content:'';position:absolute;left:50%;top:-18px;z-index:5;width:18px;height:160px;border-radius:999px;background:linear-gradient(180deg,#e5e7eb,#94a3b8);transform:translateX(-50%);box-shadow:0 0 18px rgba(255,255,255,.20);}
.ko-batch-mixing-layout .tank:after{content:'';position:absolute;left:50%;top:126px;z-index:6;width:122px;height:18px;border-radius:999px;background:#e5e7eb;transform:translateX(-50%) rotate(0deg);box-shadow:0 0 0 4px rgba(255,255,255,.12);animation:koMixerBlade 1.1s linear infinite;}
.ko-batch-mixing-layout .tank-fill{position:absolute;left:-18px;right:-18px;bottom:-4px;height:68%;background:linear-gradient(180deg,#22d3ee 0%,#2563eb 72%,#1d4ed8 100%);animation:koTankFillWave 3.8s ease-in-out infinite;}
.ko-batch-mixing-layout .tank-fill:before{content:'';position:absolute;left:-20%;right:-20%;top:-18px;height:34px;border-radius:50%;background:rgba(255,255,255,.38);animation:koTankWave 2.4s ease-in-out infinite;}
.ko-batch-mixing-layout .tank-text{position:absolute;z-index:8;left:0;right:0;top:156px;text-align:center;color:#fff;text-shadow:0 3px 12px rgba(0,0,0,.35);}
.ko-batch-mixing-layout .tank-text b{display:block;font-size:54px;line-height:1;font-weight:800;}
.ko-batch-mixing-layout .tank-text span{display:block;margin-top:8px;color:#dbeafe;font-size:18px;font-weight:850;}
.ko-batch-mixing-layout .tank-bubbles{position:absolute;left:18px;right:18px;top:0;bottom:0;z-index:4;pointer-events:none;overflow:hidden;}
.ko-batch-mixing-layout .tank-bubbles:before{content:'';position:absolute;left:0;right:0;bottom:0;height:100%;background:radial-gradient(circle,rgba(255,255,255,.36) 0 5px,transparent 6px),radial-gradient(circle,rgba(255,255,255,.28) 0 4px,transparent 5px),radial-gradient(circle,rgba(255,255,255,.22) 0 6px,transparent 7px);background-size:42px 54px,56px 62px,68px 70px;background-position:0 130px,24px 170px,48px 210px;animation:koTankBubbleInWater 2.2s linear infinite;}
.ko-batch-mixing-layout .pipe{position:absolute;height:12px;border-radius:999px;background:#67e8f9;box-shadow:0 0 16px rgba(103,232,249,.45);}
.ko-batch-mixing-layout .pipe:before{content:'';position:absolute;inset:0;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);}
.ko-batch-mixing-layout .pipe.p1{left:28px;top:196px;width:125px;}
.ko-batch-mixing-layout .pipe.p2{right:28px;top:196px;width:125px;}
.ko-batch-mixing-layout .pipe.p3{left:50%;bottom:36px;width:270px;background:#a3e635;box-shadow:0 0 16px rgba(163,230,53,.45);transform:translateX(-50%);}
.ko-batch-mixing-layout .pipe-label{position:absolute;z-index:6;display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 11px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.14);color:#dbeafe;font-size:14px;font-weight:800;white-space:nowrap;}
.ko-batch-mixing-layout .pipe-label.l1{left:38px;top:158px;}
.ko-batch-mixing-layout .pipe-label.l2{right:38px;top:158px;}
.ko-batch-mixing-layout .pipe-label.l3{left:50%;bottom:58px;color:#d9f99d;transform:translateX(-50%);}
.ko-batch-mixing-layout .material-list{display:grid;gap:9px;}
.ko-batch-mixing-layout .material-item{display:grid;grid-template-columns:56px 1fr 78px;gap:10px;align-items:center;padding:14px;border-radius:12px;background:#fff;border:1px solid #d8e0ea;}
.ko-batch-mixing-layout .material-item i{display:grid;place-items:center;width:56px;height:56px;border-radius:12px;background:#eff6ff;color:#1d4ed8;font-style:normal;font-weight:800;font-size:20px;}
.ko-batch-mixing-layout .material-item b{font-size:20px;color:#111827;display:block;}
.ko-batch-mixing-layout .material-item span{font-size:16px;color:#667085;font-weight:750;display:block;margin-top:4px;}
.ko-batch-mixing-layout .material-item em{font-style:normal;text-align:right;color:#16a34a;font-size:18px;font-weight:800;}
@keyframes koMixerBlade{0%{transform:translateX(-50%) rotate(0deg);}100%{transform:translateX(-50%) rotate(360deg);}}
@keyframes koTankFillWave{0%,100%{height:66%;}50%{height:70%;}}
@keyframes koTankWave{0%,100%{transform:translateX(-18px) rotate(-1deg);}50%{transform:translateX(18px) rotate(1deg);}}
@keyframes koTankBubbleInWater{0%{background-position:0 140px,24px 180px,48px 220px;opacity:.25;}35%{opacity:.85;}100%{background-position:0 -40px,24px -10px,48px 20px;opacity:.15;}}

.ko-cnc-machining-layout{display:grid;grid-template-columns:240px 1fr 240px;gap:12px;}
.ko-cnc-machining-layout .cnc-canvas{position:relative;min-height:365px;border-radius:18px;background:linear-gradient(180deg,#07111f 0%,#0f172a 62%,#111827 100%);overflow:hidden;border:1px solid #111827;}
.ko-cnc-machining-layout .cnc-canvas:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:28px 28px;}
.ko-cnc-machining-layout .cnc-canvas:after{content:'CNC MACHINING';position:absolute;left:18px;top:16px;z-index:8;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.10);color:#cbd5e1;font-size:11px;font-weight:800;letter-spacing:.04em;}
.ko-cnc-machining-layout .cnc-bed{position:absolute;left:50%;bottom:58px;width:480px;height:62px;border-radius:18px;background:repeating-linear-gradient(90deg,#475569 0 26px,#334155 26px 52px);box-shadow:inset 0 10px 18px rgba(255,255,255,.07),inset 0 -12px 20px rgba(0,0,0,.30);transform:translateX(-50%);}
.ko-cnc-machining-layout .cnc-bed:before{content:'';position:absolute;left:30px;right:30px;top:50%;height:3px;background:rgba(255,255,255,.22);transform:translateY(-50%);}
.ko-cnc-machining-layout .cnc-part{position:absolute;left:50%;top:244px;width:300px;height:150px;border-radius:22px;background:linear-gradient(135deg,#64748b,#334155);border:3px solid #94a3b8;box-shadow:0 22px 42px rgba(0,0,0,.35),inset 0 0 0 10px rgba(255,255,255,.04);transform:translate(-50%,-50%);}
.ko-cnc-machining-layout .cnc-part:before{content:'WORKPIECE';position:absolute;left:16px;top:13px;color:#cbd5e1;font-size:11px;font-weight:800;letter-spacing:.05em;}
.ko-cnc-machining-layout .cnc-part:after{content:'';position:absolute;left:34px;right:34px;bottom:24px;height:8px;border-radius:999px;background:linear-gradient(90deg,#06b6d4,#a3e635);box-shadow:0 0 16px rgba(34,211,238,.50);animation:koCncCutLine 2.2s ease-in-out infinite;}
.ko-cnc-machining-layout .cnc-cut{position:absolute;width:74px;height:74px;border-radius:50%;border:4px solid #67e8f9;background:#0f172a;box-shadow:inset 0 0 18px rgba(103,232,249,.20),0 0 18px rgba(103,232,249,.18);}
.ko-cnc-machining-layout .cnc-cut.c1{left:48px;top:48px;}
.ko-cnc-machining-layout .cnc-cut.c2{right:48px;top:48px;}
.ko-cnc-machining-layout .cnc-tool{position:absolute;left:50%;top:84px;z-index:6;width:34px;height:172px;border-radius:10px;background:linear-gradient(180deg,#f8fafc 0%,#94a3b8 48%,#475569 100%);box-shadow:0 18px 32px rgba(0,0,0,.35);transform:translateX(-50%);animation:koCncToolMove 2.2s ease-in-out infinite;}
.ko-cnc-machining-layout .cnc-tool:before{content:'';position:absolute;left:50%;top:-28px;width:88px;height:38px;border-radius:12px;background:#e5e7eb;border:4px solid #94a3b8;transform:translateX(-50%);}
.ko-cnc-machining-layout .cnc-tool:after{content:'';position:absolute;left:50%;bottom:-26px;width:18px;height:36px;border-radius:0 0 999px 999px;background:#cbd5e1;box-shadow:0 0 18px rgba(255,255,255,.30);transform:translateX(-50%);animation:koCncSpin .45s linear infinite;}
.ko-cnc-machining-layout .cnc-spark{position:absolute;left:50%;top:230px;z-index:7;width:90px;height:70px;transform:translateX(-50%);pointer-events:none;animation:koCncSparkMove 2.2s ease-in-out infinite;}
.ko-cnc-machining-layout .cnc-spark:before{content:'';position:absolute;inset:0;background:radial-gradient(circle,#facc15 0 3px,transparent 4px),radial-gradient(circle,#fb923c 0 3px,transparent 4px),radial-gradient(circle,#fde68a 0 2px,transparent 3px);background-size:26px 22px,34px 28px,22px 30px;background-position:8px 18px,34px 8px,58px 26px;filter:drop-shadow(0 0 8px rgba(250,204,21,.8));animation:koCncSpark .55s ease-in-out infinite alternate;}
.ko-cnc-machining-layout .cnc-axis{display:grid;gap:8px;}
.ko-cnc-machining-layout .axis-row{display:grid;grid-template-columns:48px 1fr 84px;gap:10px;align-items:center;padding:14px;border-radius:12px;background:#fff;border:1px solid #d8e0ea;}
.ko-cnc-machining-layout .axis-row b{font-size:20px;color:#111827;}
.ko-cnc-machining-layout .axis-row i{height:10px;border-radius:999px;background:linear-gradient(90deg,#06b6d4,#2563eb);}
.ko-cnc-machining-layout .axis-row span{font-size:19px;color:#667085;text-align:right;font-weight:850;}
@keyframes koCncToolMove{0%,100%{transform:translateX(-118px);}50%{transform:translateX(84px);}}
@keyframes koCncSparkMove{0%,100%{transform:translateX(-118px);}50%{transform:translateX(84px);}}
@keyframes koCncSpin{0%{box-shadow:0 0 10px rgba(255,255,255,.25);transform:translateX(-50%) rotate(0deg);}100%{box-shadow:0 0 22px rgba(255,255,255,.45);transform:translateX(-50%) rotate(360deg);}}
@keyframes koCncSpark{0%{opacity:.25;transform:scale(.7) translateY(4px);}100%{opacity:1;transform:scale(1.05) translateY(-2px);}}
@keyframes koCncCutLine{0%,100%{opacity:.45;box-shadow:0 0 10px rgba(34,211,238,.25);}50%{opacity:1;box-shadow:0 0 24px rgba(163,230,53,.55);}}

.ko-multi-line-control-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;}
.ko-multi-line-control-layout .line-control-board{position:relative;min-height:430px;border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#f5faff 100%);border:1px solid #d8e7f5;overflow:hidden;padding:22px;box-shadow:0 12px 28px rgba(15,23,42,.05);}
.ko-multi-line-control-layout .line-control-board:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(37,99,235,.045) 1px,transparent 1px),linear-gradient(180deg,rgba(37,99,235,.045) 1px,transparent 1px);background-size:28px 28px;opacity:.75;}
.ko-multi-line-control-layout .line-board-head{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:60px;}
.ko-multi-line-control-layout .line-board-head b{display:block;color:#10213f;font-size:28px;line-height:1.1;font-weight:800;}
.ko-multi-line-control-layout .line-board-head span{display:block;margin-top:6px;color:#64748b;font-size:15px;font-weight:750;}
.ko-multi-line-control-layout .line-board-status{display:inline-flex;align-items:center;height:34px;padding:0 12px;border-radius:999px;background:#ecfdf3;color:#047857;font-size:13px;font-weight:800;white-space:nowrap;}
.ko-multi-line-control-layout .control-lines{position:relative;z-index:2;display:grid;gap:38px;}
.ko-multi-line-control-layout .control-line{display:grid;grid-template-columns:118px 1fr 74px;gap:14px;align-items:center;}
.ko-multi-line-control-layout .control-line-title b{display:block;color:#111827;font-size:20px;font-weight:800;}
.ko-multi-line-control-layout .control-line-title span{display:block;margin-top:5px;color:#94a3b8;font-size:13px;font-weight:800;}
.ko-multi-line-control-layout .control-track{position:relative;height:24px;border-radius:999px;background:#edf5ff;border:1px solid #cfe2f7;box-shadow:inset 0 3px 8px rgba(37,99,235,.06);cursor:pointer;}
.ko-multi-line-control-layout .control-track:before{content:'';position:absolute;left:10px;right:10px;top:50%;height:6px;border-radius:999px;background:repeating-linear-gradient(90deg,rgba(37,99,235,.08) 0 12px,rgba(37,99,235,.22) 12px 24px);transform:translateY(-50%);animation:koLineControlFlow 1.4s linear infinite;}
.ko-multi-line-control-layout .control-fill{position:absolute;left:0;top:0;height:100%;border-radius:999px;background:linear-gradient(90deg,#bae6fd,#60a5fa);box-shadow:0 0 12px rgba(96,165,250,.24);}
.ko-multi-line-control-layout .control-knob{position:absolute;top:50%;width:38px;height:38px;border-radius:50%;background:linear-gradient(180deg,#ffffff,#eff6ff);border:2px solid #93c5fd;box-shadow:0 10px 20px rgba(37,99,235,.16),0 0 0 7px rgba(219,234,254,.75);transform:translate(-50%,-50%);animation:koLineKnobPulse 1.8s ease-in-out infinite;cursor:grab;}
.ko-multi-line-control-layout .control-knob:active{cursor:grabbing;}
.ko-multi-line-control-layout .control-knob:before{content:'';position:absolute;left:50%;top:50%;width:12px;height:12px;border-radius:50%;background:#60a5fa;transform:translate(-50%,-50%);}
.ko-multi-line-control-layout .control-value{display:flex;align-items:center;justify-content:center;height:42px;border-radius:12px;background:#fff;border:1px solid #d8e7f5;color:#2563eb;font-size:19px;font-weight:800;box-shadow:0 8px 16px rgba(15,23,42,.04);}
.ko-multi-line-control-layout .control-line.l1 .control-fill{width:72%;}
.ko-multi-line-control-layout .control-line.l1 .control-knob{left:72%;}
.ko-multi-line-control-layout .control-line.l2 .control-fill{width:48%;background:linear-gradient(90deg,#bbf7d0,#67e8f9);}
.ko-multi-line-control-layout .control-line.l2 .control-knob{left:48%;}
.ko-multi-line-control-layout .control-line.l2 .control-knob:before{background:#22c55e;}
.ko-multi-line-control-layout .control-line.l3 .control-fill{width:86%;background:linear-gradient(90deg,#fde68a,#fdba74);}
.ko-multi-line-control-layout .control-line.l3 .control-knob{left:86%;border-color:#fdba74;}
.ko-multi-line-control-layout .control-line.l3 .control-knob:before{background:#f59e0b;}
.ko-multi-line-control-layout .control-line.l4 .control-fill{width:61%;background:linear-gradient(90deg,#ddd6fe,#93c5fd);}
.ko-multi-line-control-layout .control-line.l4 .control-knob{left:61%;border-color:#c4b5fd;}
.ko-multi-line-control-layout .control-line.l4 .control-knob:before{background:#8b5cf6;}
.ko-multi-line-control-layout .control-line.l5 .control-fill{width:35%;background:linear-gradient(90deg,#ccfbf1,#86efac);}
.ko-multi-line-control-layout .control-line.l5 .control-knob{left:35%;}
.ko-multi-line-control-layout .control-line.l5 .control-knob:before{background:#14b8a6;}
.ko-multi-line-control-layout .control-line.l6 .control-fill{width:78%;background:linear-gradient(90deg,#e0f2fe,#7dd3fc);}
.ko-multi-line-control-layout .control-line.l6 .control-knob{left:78%;}
.ko-multi-line-control-layout .line-side-panel{display:grid;gap:12px;}
.ko-multi-line-control-layout .line-mode-card{background:#fff;border:1px solid #d8e0ea;border-radius:17px;padding:18px;box-shadow:0 10px 24px rgba(15,23,42,.04);}
.ko-multi-line-control-layout .line-mode-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;}
.ko-multi-line-control-layout .line-mode-grid button{min-height:58px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#111827;font-size:18px;font-weight:800;cursor:pointer;}
.ko-multi-line-control-layout .line-mode-grid button.on{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;box-shadow:0 10px 20px rgba(37,99,235,.10);}
.ko-multi-line-control-layout .line-check-list{display:grid;gap:9px;}
.ko-multi-line-control-layout .line-check-item{display:grid;grid-template-columns:1fr 76px;gap:10px;align-items:center;padding:12px;border-radius:12px;background:#fff;border:1px solid #d8e0ea;}
.ko-multi-line-control-layout .line-check-item b{display:block;color:#111827;font-size:20px;font-weight:800;}
.ko-multi-line-control-layout .line-check-item>div{text-align:left;}
.ko-multi-line-control-layout .line-check-item>div>span{display:block;margin-top:4px;color:#667085;font-size:14px;font-weight:750;}
@keyframes koLineControlFlow{0%{background-position:0 0;}100%{background-position:48px 0;}}
@keyframes koLineKnobPulse{0%,100%{box-shadow:0 10px 20px rgba(37,99,235,.16),0 0 0 7px rgba(219,234,254,.75);}50%{box-shadow:0 12px 24px rgba(37,99,235,.20),0 0 0 12px rgba(219,234,254,.48);}}

.ko-paint-line-layout{display:grid;grid-template-columns:210px 1fr 260px;gap:12px;}
.ko-paint-line-layout .paint-booth{position:relative;min-height:350px;border-radius:18px;background:linear-gradient(180deg,#111827 0%,#0f172a 58%,#1f2937 100%);overflow:hidden;border:1px solid #111827;}
.ko-paint-line-layout .paint-booth:before{content:'PAINT BOOTH';position:absolute;left:18px;top:16px;z-index:10;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.10);color:#cbd5e1;font-size:11px;font-weight:800;letter-spacing:.04em;}
.ko-paint-line-layout .paint-booth:after{content:'도장 대기';position:absolute;right:18px;top:16px;z-index:10;padding:7px 10px;border-radius:999px;background:rgba(148,163,184,.18);color:#cbd5e1;font-size:11px;font-weight:800;letter-spacing:.04em;}
.ko-paint-line-layout .paint-booth.is-painting:after{content:'도장중';background:rgba(34,197,94,.18);color:#86efac;}
.ko-paint-line-layout .paint-timer{position:absolute;right:80px;top:13px;z-index:10;display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(15,23,42,.72);border:1px solid rgba(255,255,255,.12);color:#fff;font-size:12px;font-weight:800;}
.ko-paint-line-layout .paint-timer b{color:#fcd34d;font-size:15px;font-weight:800;}
.ko-paint-line-layout .paint-line{position:absolute;left:34px;right:34px;top:50%;height:50px;border-radius:999px;background:repeating-linear-gradient(90deg,#475569 0 24px,#334155 24px 48px);box-shadow:inset 0 9px 16px rgba(255,255,255,.07),inset 0 -12px 20px rgba(0,0,0,.28);transform:translateY(18px);}
.ko-paint-line-layout .paint-line:before{content:'';position:absolute;left:18px;right:18px;top:50%;height:3px;background:rgba(255,255,255,.22);transform:translateY(-50%);}
.ko-paint-line-layout .paint-car{position:absolute;left:50%;top:50%;width:280px;height:118px;border-radius:48px 54px 24px 24px;background:linear-gradient(135deg,#64748b 0%,#475569 72%);box-shadow:0 24px 46px rgba(0,0,0,.38);transform:translate(-50%,-36px);transition:background .35s,box-shadow .35s;}
.ko-paint-line-layout .paint-booth.is-painting .paint-car{background:linear-gradient(135deg,#2563eb 0%,#06b6d4 72%);box-shadow:0 24px 46px rgba(0,0,0,.38),0 0 34px rgba(34,211,238,.28);}
.ko-paint-line-layout .paint-car:before{content:'';position:absolute;left:58px;top:18px;width:96px;height:42px;border-radius:28px 28px 10px 10px;background:rgba(255,255,255,.35);border:2px solid rgba(255,255,255,.45);}
.ko-paint-line-layout .paint-car:after{content:'대기';position:absolute;right:22px;top:18px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.20);color:#fff;font-size:12px;font-weight:800;}
.ko-paint-line-layout .paint-booth.is-painting .paint-car:after{content:'도장중';}
.ko-paint-line-layout .truck-wheel{position:absolute;bottom:-20px;width:48px;height:48px;border-radius:50%;background:#0f172a;border:8px solid #cbd5e1;}
.ko-paint-line-layout .truck-wheel.w1{left:48px;}
.ko-paint-line-layout .truck-wheel.w2{right:48px;}
.ko-paint-line-layout .spray-rail{position:absolute;left:90px;right:90px;top:66px;z-index:4;height:14px;border-radius:999px;background:linear-gradient(180deg,#e5e7eb,#94a3b8);box-shadow:0 8px 18px rgba(0,0,0,.28),inset 0 2px 3px rgba(255,255,255,.55);}
.ko-paint-line-layout .spray{position:absolute;top:76px;z-index:5;width:86px;height:165px;opacity:0;transform:translateY(-8px);transition:opacity .25s,transform .25s;overflow:hidden;pointer-events:none;}
.ko-paint-line-layout .paint-booth.is-painting .spray{opacity:1;transform:translateY(0);}
.ko-paint-line-layout .spray:before{content:'';position:absolute;left:50%;top:0;z-index:3;width:46px;height:44px;border-radius:10px 10px 18px 18px;background:linear-gradient(180deg,#f8fafc 0%,#cbd5e1 58%,#64748b 100%);border:3px solid #94a3b8;box-shadow:0 10px 18px rgba(0,0,0,.28);transform:translateX(-50%);}
.ko-paint-line-layout .spray:after{content:'';position:absolute;left:50%;top:39px;z-index:3;width:18px;height:16px;border-radius:0 0 999px 999px;background:#475569;box-shadow:0 0 10px rgba(255,255,255,.18);transform:translateX(-50%);}
.ko-paint-line-layout .spray span{position:absolute;left:0;right:0;top:48px;height:112px;background:linear-gradient(180deg,rgba(96,165,250,.34),rgba(34,211,238,.16),transparent);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);overflow:hidden;}
.ko-paint-line-layout .spray span:before{content:'';position:absolute;left:0;right:0;top:-100%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.42) 0 2px,transparent 3px),radial-gradient(circle,rgba(34,211,238,.40) 0 2px,transparent 3px),radial-gradient(circle,rgba(168,85,247,.30) 0 2px,transparent 3px);background-size:18px 22px,24px 28px,16px 26px;background-position:4px 0,16px 8px,36px 12px;animation:koPaintMistFlow 1.6s linear infinite;}
.ko-paint-line-layout .spray.s1{left:226px;}
.ko-paint-line-layout .spray.s2{right:226px;}
.ko-paint-line-layout .spray.s2 span{background:linear-gradient(180deg,rgba(168,85,247,.30),rgba(96,165,250,.15),transparent);}
.ko-paint-line-layout .dry-panel{position:absolute;left:50%;bottom:30px;z-index:4;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(245,158,11,.16);border:1px solid rgba(245,158,11,.18);color:#fcd34d;font-size:12px;font-weight:800;transform:translateX(-50%);transition:opacity .25s;}
.ko-paint-line-layout .dry-panel:before{content:'';width:8px;height:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 12px rgba(245,158,11,.75);}
.ko-paint-line-layout .paint-booth.is-painting .dry-panel{opacity:.45;}
.ko-paint-line-layout .paint-stats{display:grid;gap:10px;}
.ko-paint-line-layout .paint-stat{padding:13px;border-radius:13px;background:#fff;border:1px solid #d8e0ea;}
.ko-paint-line-layout .paint-stat span{display:block;color:#667085;font-size:19px;font-weight:850;}
.ko-paint-line-layout .paint-stat b{display:block;margin-top:8px;color:#111827;font-size:36px;font-weight:800;}
@keyframes koPaintMistFlow{0%{transform:translateY(0);}100%{transform:translateY(50%);}}

.ko-auto-packaging-layout{display:grid;grid-template-columns:1fr 300px;gap:12px;}
.ko-auto-packaging-layout .pack-line{position:relative;min-height:350px;border-radius:18px;background:#0f172a;overflow:hidden;}
.ko-auto-packaging-layout .conveyor{position:absolute;left:30px;right:30px;top:50%;height:44px;border-radius:999px;background:repeating-linear-gradient(90deg,#475569 0 22px,#334155 22px 44px);background-size:88px 44px;box-shadow:inset 0 8px 16px rgba(255,255,255,.08),inset 0 -10px 18px rgba(0,0,0,.22);transform:translateY(-50%);animation:koConveyorMove 1.1s linear infinite;}
.ko-auto-packaging-layout .conveyor:before{content:'';position:absolute;left:22px;right:22px;top:50%;height:2px;background:rgba(255,255,255,.25);transform:translateY(-50%);}
.ko-auto-packaging-layout .box{position:absolute;left:-90px;top:50%;width:74px;height:58px;margin-top:-51px;border-radius:12px;background:#f59e0b;box-shadow:0 14px 26px rgba(0,0,0,.25);animation:koBoxMove 5.8s linear infinite;}
.ko-auto-packaging-layout .box:before{content:'';position:absolute;left:0;right:0;top:50%;height:2px;background:rgba(255,255,255,.45);}
.ko-auto-packaging-layout .box:after{content:'BOX';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:rgba(17,24,39,.62);font-size:18px;font-weight:800;letter-spacing:.02em;}
.ko-auto-packaging-layout .box.b1{animation-delay:0s;}
.ko-auto-packaging-layout .box.b2{animation-delay:1.45s;}
.ko-auto-packaging-layout .box.b3{animation-delay:2.9s;}
.ko-auto-packaging-layout .box.b4{background:#16a34a;animation-delay:4.35s;}
.ko-auto-packaging-layout .scanner{position:absolute;right:140px;top:50%;width:84px;height:84px;margin-top:-150px;border-radius:18px;border:3px solid #67e8f9;box-shadow:0 0 0 12px rgba(103,232,249,.08);animation:koScannerPulse 1.35s ease-in-out infinite;}
.ko-auto-packaging-layout .scanner:before{content:'';position:absolute;left:50%;top:84px;width:64px;height:88px;background:linear-gradient(180deg,rgba(239,68,68,.30),transparent);clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);transform:translateX(-50%);opacity:.85;}
.ko-auto-packaging-layout .scanner:after{content:'';position:absolute;left:8px;right:8px;top:16px;height:2px;background:#ef4444;box-shadow:0 0 14px #ef4444;animation:koScanLine 1.1s ease-in-out infinite alternate;}
.ko-auto-packaging-layout .pack-side{display:grid;gap:10px;}
@keyframes koConveyorMove{
	0%{background-position:0 0;}
	100%{background-position:88px 0;}
}
@keyframes koBoxMove{
	0%{transform:translateX(0);opacity:0;}
	8%{opacity:1;}
	85%{opacity:1;}
	100%{transform:translateX(900px);opacity:0;}
}
@keyframes koScannerPulse{
	0%,100%{box-shadow:0 0 0 12px rgba(103,232,249,.08);}
	50%{box-shadow:0 0 0 18px rgba(103,232,249,.16);}
}
@keyframes koScanLine{
	0%{top:14px;}
	100%{top:64px;}
}

.ko-shipping-dock-layout{display:grid;grid-template-columns:250px 1fr 280px;gap:12px;}
.ko-shipping-dock-layout .ship-truck{position:relative;min-height:350px;border-radius:18px;background:linear-gradient(180deg,#0f172a 0%,#111827 58%,#1f2937 100%);overflow:hidden;border:1px solid #111827;}
.ko-shipping-dock-layout .ship-truck-scene{position:absolute;left:50%;top:50%;width:620px;height:350px;transform:translate(-50%,-50%) scale(1);transform-origin:center center;}
.ko-shipping-dock-layout .ship-truck:before{content:'LOADING DOCK';position:absolute;left:18px;top:16px;z-index:5;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.10);color:#cbd5e1;font-size:11px;font-weight:800;letter-spacing:.04em;}
.ko-shipping-dock-layout .ship-truck:after{content:'상차 진행중';position:absolute;right:18px;top:16px;z-index:5;padding:7px 10px;border-radius:999px;background:rgba(22,163,74,.18);color:#86efac;font-size:11px;font-weight:800;}
.ko-shipping-dock-layout .dock-door{position:absolute;left:34px;top:82px;width:92px;height:138px;border-radius:16px 16px 4px 4px;background:#334155;border:4px solid #64748b;box-shadow:inset 0 0 0 8px rgba(255,255,255,.04);}
.ko-shipping-dock-layout .dock-door:before{content:'DOCK';position:absolute;left:50%;top:12px;transform:translateX(-50%);color:#cbd5e1;font-size:11px;font-weight:800;}
.ko-shipping-dock-layout .dock-door:after{content:'';position:absolute;left:12px;right:12px;bottom:18px;height:10px;border-radius:999px;background:#22c55e;box-shadow:0 0 16px rgba(34,197,94,.7);}
.ko-shipping-dock-layout .loading-ramp{position:absolute;left:38px;width:205px;top:208px;height:48px;border-radius:10px;background:repeating-linear-gradient(90deg,#475569 0 24px,#334155 24px 48px);box-shadow:inset 0 8px 16px rgba(255,255,255,.07),inset 0 -12px 20px rgba(0,0,0,.28);animation:koDockRampMove 1.1s linear infinite;}
.ko-shipping-dock-layout .loading-ramp:before{content:'';position:absolute;left:16px;right:16px;top:50%;height:3px;background:rgba(255,255,255,.20);transform:translateY(-50%);}
.ko-shipping-dock-layout .truck-body{position:absolute;right:84px;top:105px;width:330px;height:145px;border-radius:18px;background:#f8fafc;box-shadow:0 24px 44px rgba(0,0,0,.32);border:4px solid #cbd5e1;}
.ko-shipping-dock-layout .truck-body:before{content:'TRUCK CARGO';position:absolute;left:16px;top:12px;color:#64748b;font-size:11px;font-weight:800;letter-spacing:.04em;}
.ko-shipping-dock-layout .truck-body:after{content:'';position:absolute;left:-18px;top:20px;width:18px;height:105px;border-radius:8px 0 0 8px;background:#94a3b8;}
.ko-shipping-dock-layout .truck-cab{position:absolute;right:36px;top:142px;width:82px;height:108px;border-radius:18px 28px 18px 10px;background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 24px 44px rgba(0,0,0,.32);}
.ko-shipping-dock-layout .truck-cab:before{content:'';position:absolute;right:12px;top:16px;width:34px;height:28px;border-radius:8px;background:rgba(255,255,255,.36);}
.ko-shipping-dock-layout .truck-wheel{position:absolute;bottom:-24px;width:52px;height:52px;border-radius:50%;background:#0f172a;border:8px solid #94a3b8;}
.ko-shipping-dock-layout .truck-wheel.w1{left:58px;}
.ko-shipping-dock-layout .truck-wheel.w2{right:48px;}
.ko-shipping-dock-layout .pallet-stack{position:absolute;left:52px;top:154px;width:76px;height:58px;border-radius:10px;background:#f59e0b;box-shadow:0 14px 28px rgba(0,0,0,.28);animation:koPalletLoad 4.8s linear infinite;}
.ko-shipping-dock-layout .pallet-stack:before{content:'';position:absolute;left:8px;right:8px;top:10px;height:10px;border-radius:4px;background:rgba(255,255,255,.35);box-shadow:0 16px 0 rgba(255,255,255,.28);}
.ko-shipping-dock-layout .pallet-stack:after{content:'PALLET';position:absolute;left:50%;bottom:7px;transform:translateX(-50%);color:rgba(17,24,39,.68);font-size:10px;font-weight:800;letter-spacing:.04em;}
.ko-shipping-dock-layout .pallet-stack span{display:none;}
.ko-shipping-dock-layout .loaded-pallet-wrap{position:absolute;left:52px;top:352px;width:186px;display:flex;flex-wrap:wrap;gap:8px 12px;}
.ko-shipping-dock-layout .loaded-pallet{position:relative;width:54px;height:42px;border-radius:8px;background:#f59e0b;box-shadow:0 10px 20px rgba(0,0,0,.20);}
.ko-shipping-dock-layout .ship-list{display:grid;gap:9px;}
.ko-shipping-dock-layout .ship-item{display:grid;grid-template-columns:56px 1fr 62px;gap:10px;align-items:center;padding:14px;border-radius:12px;background:#fff;border:1px solid #d8e0ea;}
.ko-shipping-dock-layout .ship-item i{display:grid;place-items:center;width:56px;height:56px;border-radius:12px;background:#ecfdf3;color:#047857;font-style:normal;font-weight:800;font-size:20px;}
.ko-shipping-dock-layout .ship-item b{display:block;font-size:20px;color:#111827;font-weight:800;}
.ko-shipping-dock-layout .ship-item span{display:block;margin-top:4px;font-size:16px;color:#667085;font-weight:750;}
.ko-shipping-dock-layout .ship-item em{font-style:normal;text-align:right;color:#16a34a;font-size:18px;font-weight:800;}
@keyframes koDockRampMove{0%{background-position:0 0;}100%{background-position:96px 0;}}
@keyframes koPalletLoad{0%{transform:translateX(0);opacity:0;}8%{opacity:1;}55%{transform:translateX(245px);opacity:1;}78%{transform:translateX(245px) translateY(-28px);opacity:1;}100%{transform:translateX(330px) translateY(-28px);opacity:0;}}

.ko-shift-handoff-layout{display:grid;grid-template-columns:240px 1fr 270px;gap:12px;}
.ko-shift-handoff-layout .handoff-metrics{display:grid;gap:10px;}
.ko-shift-handoff-layout .handoff-metric{padding:14px;border-radius:14px;background:#fff;border:1px solid #d8e0ea;}
.ko-shift-handoff-layout .handoff-metric span{display:block;color:#667085;font-size:19px;font-weight:850;}
.ko-shift-handoff-layout .handoff-metric b{display:block;margin-top:8px;color:#111827;font-size:38px;font-weight:800;}
.ko-shift-handoff-layout .handoff-timeline{display:grid;gap:9px;}
.ko-shift-handoff-layout .timeline-item{display:grid;grid-template-columns:70px 1fr 70px;gap:10px;align-items:center;padding:11px;border-radius:12px;background:#fff;border:1px solid #d8e0ea;}
.ko-shift-handoff-layout .timeline-item span{font-size:18px;color:#667085;font-weight:850;}
.ko-shift-handoff-layout .timeline-item b{font-size:20px;color:#111827;font-weight:800;}
.ko-shift-handoff-layout .timeline-item em{font-style:normal;text-align:right;color:#16a34a;font-size:18px;font-weight:800;}
.ko-shift-handoff-layout .sign-area{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.ko-shift-handoff-layout .sign-box{height:92px;border:1px dashed #94a3b8;border-radius:12px;background:#f8fafc;display:grid;place-items:center;color:#667085;font-size:13px;font-weight:750;font-style:italic;}

.ko-food-ccp-layout{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ko-food-ccp-layout .ko-food-temp{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.ko-food-ccp-layout .ko-temp-card{padding:18px;border-radius:16px;background:#fff;border:1px solid #d8e0ea;text-align:center;}
.ko-food-ccp-layout .ko-temp-card b{display:block;color:#111827;font-size:52px;font-weight:800;}
.ko-food-ccp-layout .ko-temp-card span{display:block;margin-top:10px;color:#667085;font-size:20px;font-weight:800;}
.ko-food-ccp-layout .ko-food-haccp{display:grid;gap:9px;}
.ko-food-ccp-layout .ko-haccp-row{display:grid;grid-template-columns:1fr 90px;gap:10px;align-items:center;padding:12px;border-radius:12px;background:#f8fafc;border:1px solid #e5e8ef;}
.ko-food-ccp-layout .ko-haccp-row b{font-size:20px;color:#111827;}

.ko-weighing-input-layout{display:grid;grid-template-columns:250px 1fr 270px 340px;gap:12px;}
.ko-weighing-input-layout .ko-scale-display{display:grid;place-items:center;min-height:265px;border-radius:18px;background:#fff;border:1px solid #d8e0ea;}
.ko-weighing-input-layout .ko-scale-number{text-align:center;}
.ko-weighing-input-layout .ko-scale-number small{display:block;color:#667085;font-size:20px;font-weight:850;}
.ko-weighing-input-layout .ko-scale-number b{display:block;margin-top:8px;color:#1d4ed8;font-size:96px;line-height:1;font-weight:800;letter-spacing:-.08em;}
.ko-weighing-input-layout .ko-scale-number span{display:block;margin-top:10px;color:#16a34a;font-size:20px;font-weight:800;}
.ko-weighing-input-layout .ko-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.ko-weighing-input-layout .ko-keypad button{height:66px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#111827;font-size:28px;font-weight:800;cursor:pointer;}
.ko-weighing-input-layout .ko-weight-history{display:grid;gap:8px;}
.ko-weighing-input-layout .ko-weight-history div{display:flex;justify-content:space-between;gap:10px;padding:14px;border-radius:10px;background:#f8fafc;border:1px solid #e5e8ef;font-size:18px;font-weight:850;}
.ko-weighing-input-layout .ko-label-options{display:grid;gap:10px;align-content:start;}
.ko-weighing-input-layout .ko-counter{display:flex;align-items:center;gap:8px;}
.ko-weighing-input-layout .ko-counter button{width:42px;height:42px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#111827;font-size:20px;font-weight:800;cursor:pointer;}
.ko-weighing-input-layout .ko-counter input{width:58px;text-align:center;}
.ko-weighing-input-layout .ko-label-preview{padding:18px;border-radius:16px;background:#fff;border:1px solid #d8e0ea;}
.ko-weighing-input-layout .ko-label-paper{margin:0 auto;padding:18px;border:2px solid #111827;background:#fff;color:#111827;}
.ko-weighing-input-layout .ko-label-paper h3{margin:0 0 12px;font-size:25px;font-weight:800;}
.ko-weighing-input-layout .ko-barcode{height:74px;margin:14px 0;border-radius:6px;background:repeating-linear-gradient(90deg,#111827 0 3px,transparent 3px 7px,#111827 7px 9px,transparent 9px 15px);}
.ko-weighing-input-layout .ko-qr-box{width:70px;height:70px;background:repeating-linear-gradient(45deg,#111827 0 6px,#fff 6px 10px);}
.ko-weighing-input-layout .ko-printer-status{display:grid;gap:10px;}

.ko-warehouse-picking-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;}
.ko-warehouse-picking-layout .ko-warehouse-map{position:relative;min-height:320px;border-radius:16px;background:linear-gradient(180deg,#0f172a 0%,#111827 58%,#1e293b 100%);border:1px solid #0f172a;overflow:hidden;}
.ko-warehouse-picking-layout .ko-warehouse-map:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:32px 32px;}
.ko-warehouse-picking-layout .ko-warehouse-map:after{content:'WAREHOUSE PICKING';position:absolute;left:18px;top:16px;z-index:8;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.10);color:#cbd5e1;font-size:11px;font-weight:800;letter-spacing:.04em;}
.ko-warehouse-picking-layout .ko-zone-box{position:absolute;z-index:3;padding:12px;border-radius:14px;background:#fff;box-shadow:0 12px 28px rgba(0,0,0,.24);}
.ko-warehouse-picking-layout .ko-zone-box:before{content:'';position:absolute;left:10px;right:10px;bottom:9px;height:4px;border-radius:999px;background:repeating-linear-gradient(90deg,#cbd5e1 0 8px,transparent 8px 13px);}
.ko-warehouse-picking-layout .ko-zone-box b{display:block;color:#111827;font-size:20px;font-weight:800;}
.ko-warehouse-picking-layout .ko-zone-box span{display:block;margin-top:6px;color:#667085;font-size:16px;font-weight:750;}
.ko-warehouse-picking-layout .ko-zone-box.z1{left:34px;top:58px;}
.ko-warehouse-picking-layout .ko-zone-box.z2{right:44px;top:58px;}
.ko-warehouse-picking-layout .ko-zone-box.z3{left:50%;top:178px;transform:translateX(-50%);}
.ko-warehouse-picking-layout .ko-zone-box.z4{right:42px;bottom:42px;}
.ko-warehouse-picking-layout .ko-zone-box.z5{left:42px;bottom:42px;}
.ko-warehouse-picking-layout .ko-pick-route{position:absolute;left:104px;right:112px;top:226px;z-index:2;height:4px;border-radius:999px;background:linear-gradient(90deg,#06b6d4,#22c55e,#f59e0b);box-shadow:0 0 16px rgba(34,211,238,.45);}
.ko-warehouse-picking-layout .ko-pick-route:before{content:'';position:absolute;left:0;top:50%;width:100%;height:22px;border-radius:999px;border:2px dashed rgba(255,255,255,.22);border-left:0;border-right:0;transform:translateY(-50%);}
.ko-warehouse-picking-layout .ko-pick-cart{position:absolute;left:86px;top:203px;z-index:5;width:64px;height:44px;border-radius:12px;background:#f59e0b;box-shadow:0 14px 28px rgba(0,0,0,.28);animation:koWarehouseCartMove 4.2s ease-in-out infinite;}
.ko-warehouse-picking-layout .ko-pick-cart:before{content:'';position:absolute;left:9px;right:9px;top:-18px;height:20px;border-radius:8px 8px 0 0;background:#94a3b8;}
.ko-warehouse-picking-layout .ko-pick-cart:after{content:'';position:absolute;left:10px;right:10px;bottom:-9px;height:12px;background:radial-gradient(circle,#0f172a 0 6px,transparent 7px) left center/18px 12px no-repeat,radial-gradient(circle,#0f172a 0 6px,transparent 7px) right center/18px 12px no-repeat;}
.ko-warehouse-picking-layout .ko-pick-worker{position:absolute;left:112px;top:121px;z-index:6;width:24px;height:24px;border-radius:50%;background:#38bdf8;box-shadow:0 0 0 7px rgba(56,189,248,.18);animation:koWarehouseWorkerMove 4.2s ease-in-out infinite;}
.ko-warehouse-picking-layout .ko-pick-worker:before{content:'';position:absolute;left:50%;top:25px;width:18px;height:26px;border-radius:8px;background:#2563eb;transform:translateX(-50%);}
.ko-warehouse-picking-layout .ko-pick-point{position:absolute;z-index:4;width:14px;height:14px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 8px rgba(34,197,94,.16);animation:koWarehousePointPulse 1.4s ease-in-out infinite;}
.ko-warehouse-picking-layout .ko-pick-point.p1{left:96px;top:220px;}
.ko-warehouse-picking-layout .ko-pick-point.p2{right:106px;top:220px;animation-delay:.7s;}
.ko-warehouse-picking-layout .ko-pick-list{display:grid;gap:9px;}
.ko-warehouse-picking-layout .ko-pick-item{display:grid;grid-template-columns:56px 1fr 82px;gap:10px;align-items:center;padding:15px;border-radius:12px;background:#fff;border:1px solid #d8e0ea;}
.ko-warehouse-picking-layout .ko-pick-item i{display:grid;place-items:center;width:56px;height:56px;border-radius:12px;background:#eff6ff;color:#1d4ed8;font-style:normal;font-weight:800;font-size:20px;}
.ko-warehouse-picking-layout .ko-pick-item b{display:block;color:#111827;font-size:20px;font-weight:800;}
.ko-warehouse-picking-layout .ko-pick-item span{display:block;margin-top:5px;color:#667085;font-size:16px;font-weight:750;}
.ko-warehouse-picking-layout .ko-pick-item em{font-style:normal;text-align:right;color:#16a34a;font-size:18px;font-weight:800;}
@keyframes koWarehouseCartMove{0%,100%{transform:translateX(0);}34%{transform:translateX(250px);}68%{transform:translateX(500px);}}
@keyframes koWarehouseWorkerMove{0%,100%{transform:translateX(0);}34%{transform:translateX(250px);}68%{transform:translateX(500px);}}
@keyframes koWarehousePointPulse{0%,100%{transform:scale(1);opacity:.65;}50%{transform:scale(1.35);opacity:1;}}

.ko-equipment-check-layout{display:grid;grid-template-columns:280px 1fr 230px;gap:12px;}
.ko-equipment-check-layout .ko-maint-checks{display:grid;gap:8px;}
.ko-equipment-check-layout .ko-check-row{display:grid;grid-template-columns:1fr 92px 92px;gap:10px;align-items:center;padding:14px;border-radius:12px;background:#fff;border:1px solid #d8e0ea;}
.ko-equipment-check-layout .ko-check-row b{font-size:20px;color:#111827;font-weight:800;}
.ko-equipment-check-layout .ko-check-row button{height:46px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font-size:18px;font-weight:800;cursor:pointer;}
.ko-equipment-check-layout .ko-check-row button.on{background:#16a34a;color:#fff;border-color:#16a34a;}
.ko-equipment-check-layout .ko-maint-summary{display:grid;gap:10px;}
.ko-equipment-check-layout .ko-maint-status{display:grid;place-items:center;height:160px;border-radius:16px;background:#ecfdf3;color:#16a34a;border:1px solid #bbf7d0;text-align:center;}
.ko-equipment-check-layout .ko-maint-status b{font-size:38px;font-weight:800;}
.ko-equipment-check-layout .ko-maint-status span{display:block;margin-top:10px;color:#047857;font-size:20px;font-weight:800;}

.ko-ai-vision-layout{display:grid;grid-template-columns:240px 1fr 270px;gap:12px;}
.ko-ai-vision-layout .vision-side{display:grid;gap:10px;align-content:start;}
.ko-ai-vision-layout .vision-stage{position:relative;min-height:385px;border-radius:18px;background:linear-gradient(180deg,#07111f 0%,#0f172a 58%,#111827 100%);border:1px solid #0f172a;overflow:hidden;}
.ko-ai-vision-layout .vision-stage:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:30px 30px;}
.ko-ai-vision-layout .vision-stage:after{content:'AI VISION INSPECTION';position:absolute;left:18px;top:16px;z-index:10;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.10);color:#cbd5e1;font-size:11px;font-weight:950;letter-spacing:.04em;}
.ko-ai-vision-layout .vision-camera{position:absolute;left:50%;top:52px;z-index:5;width:150px;height:62px;border-radius:18px;background:linear-gradient(180deg,#f8fafc,#94a3b8);border:4px solid #cbd5e1;box-shadow:0 18px 34px rgba(0,0,0,.32);transform:translateX(-50%);}
.ko-ai-vision-layout .vision-camera:before{content:'';position:absolute;left:50%;top:50%;width:42px;height:42px;border-radius:50%;background:#0f172a;border:7px solid #475569;box-shadow:inset 0 0 0 7px #38bdf8,0 0 18px rgba(56,189,248,.40);transform:translate(-50%,-50%);}
.ko-ai-vision-layout .vision-camera:after{content:'';position:absolute;left:50%;top:61px;width:18px;height:32px;border-radius:0 0 999px 999px;background:#64748b;transform:translateX(-50%);}
.ko-ai-vision-layout .vision-light{position:absolute;left:50%;top:124px;z-index:4;width:280px;height:150px;background:linear-gradient(180deg,rgba(56,189,248,.22),rgba(59,130,246,.08),transparent);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);transform:translateX(-50%);animation:koVisionLight 1.4s ease-in-out infinite alternate;}
.ko-ai-vision-layout .vision-conveyor{position:absolute;left:38px;right:38px;bottom:72px;height:54px;border-radius:999px;background:repeating-linear-gradient(90deg,#475569 0 24px,#334155 24px 48px);box-shadow:inset 0 10px 18px rgba(255,255,255,.08),inset 0 -12px 20px rgba(0,0,0,.28);animation:koVisionBelt 1.1s linear infinite;}
.ko-ai-vision-layout .vision-conveyor:before{content:'';position:absolute;left:22px;right:22px;top:50%;height:3px;background:rgba(255,255,255,.22);transform:translateY(-50%);}
.ko-ai-vision-layout .vision-product{position:absolute;left:50%;bottom:112px;z-index:6;width:190px;height:118px;border-radius:24px;background:linear-gradient(135deg,#e5e7eb,#94a3b8);border:3px solid #cbd5e1;box-shadow:0 22px 40px rgba(0,0,0,.35),inset 0 0 0 10px rgba(255,255,255,.12);transform:translateX(-50%);animation:koVisionProduct 4.5s ease-in-out infinite;}
.ko-ai-vision-layout .vision-product:before{content:'PRODUCT';position:absolute;left:16px;top:14px;color:#475569;font-size:12px;font-weight:950;letter-spacing:.04em;}
.ko-ai-vision-layout .vision-product:after{content:'';position:absolute;right:28px;bottom:26px;width:34px;height:34px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 8px rgba(239,68,68,.18),0 0 18px rgba(239,68,68,.50);animation:koVisionDefect 1.2s ease-in-out infinite;}
.ko-ai-vision-layout .vision-scan-line{position:absolute;left:86px;right:86px;top:150px;z-index:7;height:4px;border-radius:999px;background:#22d3ee;box-shadow:0 0 20px rgba(34,211,238,.95);animation:koVisionScan 1.5s ease-in-out infinite;}
.ko-ai-vision-layout .vision-box{position:absolute;right:26px;top:138px;z-index:8;width:160px;padding:12px;border-radius:14px;background:rgba(15,23,42,.78);border:1px solid rgba(255,255,255,.12);box-shadow:0 14px 28px rgba(0,0,0,.28);}
.ko-ai-vision-layout .vision-box b{display:block;color:#fff;font-size:20px;font-weight:950;}
.ko-ai-vision-layout .vision-box span{display:block;margin-top:6px;color:#fca5a5;font-size:14px;font-weight:850;}
.ko-ai-vision-layout .vision-metric{padding:13px;border-radius:14px;background:#fff;border:1px solid #d8e0ea;}
.ko-ai-vision-layout .vision-metric span{display:block;color:#667085;font-size:18px;font-weight:850;}
.ko-ai-vision-layout .vision-metric b{display:block;margin-top:7px;color:#111827;font-size:34px;font-weight:950;}
.ko-ai-vision-layout .vision-log{display:grid;gap:8px;}
.ko-ai-vision-layout .vision-log-item{display:grid;grid-template-columns:58px 1fr 62px;gap:8px;align-items:center;padding:11px;border-radius:12px;background:#fff;border:1px solid #d8e0ea;}
.ko-ai-vision-layout .vision-log-item i{display:grid;place-items:center;width:50px;height:50px;border-radius:12px;background:#eff6ff;color:#1d4ed8;font-style:normal;font-size:18px;font-weight:950;}
.ko-ai-vision-layout .vision-log-item b{display:block;color:#111827;font-size:18px;font-weight:950;}
.ko-ai-vision-layout .vision-log-item span{display:block;margin-top:4px;color:#667085;font-size:13px;font-weight:750;}
.ko-ai-vision-layout .vision-log-item em{font-style:normal;text-align:right;color:#16a34a;font-size:16px;font-weight:950;}
@keyframes koVisionLight{0%{opacity:.55;}100%{opacity:.95;}}
@keyframes koVisionBelt{0%{background-position:0 0;}100%{background-position:96px 0;}}
@keyframes koVisionScan{0%,100%{transform:translateY(0);opacity:.5;}50%{transform:translateY(112px);opacity:1;}}
@keyframes koVisionProduct{0%,100%{transform:translateX(-56%);}50%{transform:translateX(-44%);}}
@keyframes koVisionDefect{0%,100%{transform:scale(1);opacity:.7;}50%{transform:scale(1.25);opacity:1;}}

.ko-smart-clinic-layout{display:grid;grid-template-columns:260px 1fr 270px;gap:12px;}
.ko-smart-clinic-layout .clinic-kiosk{position:relative;min-height:390px;border-radius:18px;background:linear-gradient(180deg,#f8fbff 0%,#edf6ff 100%);border:1px solid #d8e7f5;overflow:hidden;padding:22px;}
.ko-smart-clinic-layout .clinic-kiosk:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 0%,rgba(37,99,235,.10),transparent 30%),radial-gradient(circle at 88% 8%,rgba(20,184,166,.10),transparent 28%);}
.ko-smart-clinic-layout .clinic-head{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;}
.ko-smart-clinic-layout .clinic-head b{display:block;color:#10213f;font-size:28px;font-weight:950;}
.ko-smart-clinic-layout .clinic-head span{display:block;margin-top:5px;color:#64748b;font-size:15px;font-weight:800;}
.ko-smart-clinic-layout .clinic-number{display:grid;place-items:center;width:78px;height:78px;border-radius:24px;background:#2563eb;color:#fff;box-shadow:0 14px 28px rgba(37,99,235,.24);}
.ko-smart-clinic-layout .clinic-number b{color:#fff;font-size:32px;line-height:1;font-weight:950;}
.ko-smart-clinic-layout .clinic-flow{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:18px;}
.ko-smart-clinic-layout .clinic-step{position:relative;min-height:112px;padding:14px;border-radius:16px;background:#fff;border:1px solid #d8e7f5;box-shadow:0 12px 26px rgba(15,23,42,.05);overflow:hidden;}
.ko-smart-clinic-layout .clinic-step:before{content:'';position:absolute;left:0;top:0;width:100%;height:4px;background:#cbd5e1;}
.ko-smart-clinic-layout .clinic-step.on:before{background:linear-gradient(90deg,#2563eb,#14b8a6);}
.ko-smart-clinic-layout .clinic-step i{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#eff6ff;color:#2563eb;font-style:normal;font-size:18px;font-weight:950;}
.ko-smart-clinic-layout .clinic-step b{display:block;margin-top:11px;color:#111827;font-size:19px;font-weight:950;}
.ko-smart-clinic-layout .clinic-step span{display:block;margin-top:6px;color:#667085;font-size:13px;font-weight:750;}
.ko-smart-clinic-layout .clinic-step.on{border-color:#93c5fd;background:#ffffff;animation:koClinicPulse 1.7s ease-in-out infinite;}
.ko-smart-clinic-layout .clinic-queue{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ko-smart-clinic-layout .clinic-ticket{position:relative;min-height:128px;padding:16px;border-radius:18px;background:#0f172a;color:#fff;overflow:hidden;}
.ko-smart-clinic-layout .clinic-ticket:before{content:'';position:absolute;left:-40px;top:-40px;width:120px;height:120px;border-radius:50%;background:rgba(37,99,235,.35);}
.ko-smart-clinic-layout .clinic-ticket b{position:relative;display:block;font-size:42px;line-height:1;font-weight:950;}
.ko-smart-clinic-layout .clinic-ticket span{position:relative;display:block;margin-top:8px;color:#cbd5e1;font-size:17px;font-weight:850;}
.ko-smart-clinic-layout .clinic-call{position:relative;min-height:128px;padding:16px;border-radius:18px;background:#ecfdf3;border:1px solid #bbf7d0;overflow:hidden;}
.ko-smart-clinic-layout .clinic-call:before{content:'';position:absolute;right:16px;top:16px;width:16px;height:16px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 8px rgba(34,197,94,.16);animation:koClinicBlink 1s ease-in-out infinite;}
.ko-smart-clinic-layout .clinic-call b{display:block;color:#047857;font-size:30px;font-weight:950;}
.ko-smart-clinic-layout .clinic-call span{display:block;margin-top:8px;color:#166534;font-size:17px;font-weight:850;}
.ko-smart-clinic-layout .clinic-side{display:grid;gap:10px;align-content:start;}
.ko-smart-clinic-layout .clinic-card{padding:14px;border-radius:14px;background:#fff;border:1px solid #d8e0ea;}
.ko-smart-clinic-layout .clinic-card span{display:block;color:#667085;font-size:18px;font-weight:850;}
.ko-smart-clinic-layout .clinic-card b{display:block;margin-top:7px;color:#111827;font-size:32px;font-weight:950;}
.ko-smart-clinic-layout .clinic-list{display:grid;gap:8px;}
.ko-smart-clinic-layout .clinic-row{display:grid;grid-template-columns:62px 1fr 70px;gap:9px;align-items:center;padding:11px;border-radius:12px;background:#fff;border:1px solid #d8e0ea;}
.ko-smart-clinic-layout .clinic-row i{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#eff6ff;color:#1d4ed8;font-style:normal;font-size:18px;font-weight:950;}
.ko-smart-clinic-layout .clinic-row b{display:block;color:#111827;font-size:18px;font-weight:950;}
.ko-smart-clinic-layout .clinic-row span{display:block;margin-top:4px;color:#667085;font-size:13px;font-weight:750;}
.ko-smart-clinic-layout .clinic-row em{font-style:normal;text-align:right;color:#16a34a;font-size:16px;font-weight:950;}
@keyframes koClinicPulse{0%,100%{box-shadow:0 12px 26px rgba(37,99,235,.05);}50%{box-shadow:0 16px 34px rgba(37,99,235,.18);}}
@keyframes koClinicBlink{0%,100%{opacity:.45;transform:scale(1);}50%{opacity:1;transform:scale(1.22);}}

.ko-smart-farm-layout{display:grid;grid-template-columns:240px 1fr 270px;gap:12px;}
.ko-smart-farm-layout .farm-house{position:relative;min-height:450px;border-radius:18px;background:linear-gradient(180deg,#dff7ff 0%,#effdf5 52%,#d1fae5 100%);border:1px solid #b7e4d2;overflow:hidden;transition:.25s;}
.ko-smart-farm-layout .farm-house:before{content:'SMART FARM CONTROL';position:absolute;left:18px;top:16px;z-index:20;padding:7px 10px;border-radius:999px;background:rgba(15,23,42,.10);color:#0f172a;font-size:11px;font-weight:950;letter-spacing:.04em;}
.ko-smart-farm-layout .farm-house:after{content:'제어 대기';position:absolute;right:18px;top:16px;z-index:20;padding:7px 10px;border-radius:999px;background:rgba(15,23,42,.08);color:#334155;font-size:11px;font-weight:950;}
.ko-smart-farm-layout .farm-house.mode-led:after,.ko-smart-farm-layout .farm-house.mode-water:after,.ko-smart-farm-layout .farm-house.mode-fan1:after,.ko-smart-farm-layout .farm-house.mode-fan2:after,.ko-smart-farm-layout .farm-house.mode-fan3:after,.ko-smart-farm-layout .farm-house.mode-fan4:after,.ko-smart-farm-layout .farm-house.mode-nutrient:after{content:'자동제어 작동중';background:rgba(22,163,74,.13);color:#047857;}
.ko-smart-farm-layout .farm-sun{position:absolute;right:48px;top:38px;width:76px;height:76px;border-radius:50%;background:#facc15;box-shadow:0 0 0 14px rgba(250,204,21,.18),0 0 36px rgba(250,204,21,.55);animation:koFarmSun 2.6s ease-in-out infinite;}
.ko-smart-farm-layout .farm-frame{position:absolute;left:50%;top:86px;width:520px;height:230px;border:6px solid rgba(15,23,42,.18);border-bottom:0;border-radius:250px 250px 0 0;transform:translateX(-50%);}
.ko-smart-farm-layout .farm-frame:before{content:'';position:absolute;left:50%;top:-6px;width:6px;height:230px;background:rgba(15,23,42,.14);transform:translateX(-50%);}
.ko-smart-farm-layout .farm-frame:after{content:'';position:absolute;left:80px;right:80px;top:76px;height:6px;background:rgba(15,23,42,.14);}
.ko-smart-farm-layout .farm-led{position:absolute;left:50%;top:94px;z-index:5;width:330px;height:16px;border-radius:999px;background:linear-gradient(90deg,#f472b6,#60a5fa,#22c55e);box-shadow:0 0 18px rgba(96,165,250,.20);opacity:.32;transform:translateX(-50%);transition:.25s;}
.ko-smart-farm-layout .farm-led:before{content:'';position:absolute;left:0;right:0;top:16px;height:124px;background:linear-gradient(180deg,rgba(96,165,250,.20),rgba(244,114,182,.08),transparent);clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);opacity:0;transition:.25s;}
.ko-smart-farm-layout .farm-house.mode-led .farm-led{opacity:1;box-shadow:0 0 30px rgba(96,165,250,.65),0 0 46px rgba(244,114,182,.35);animation:koFarmLed 1.4s ease-in-out infinite;}
.ko-smart-farm-layout .farm-house.mode-led .farm-led:before{opacity:1;}
.ko-smart-farm-layout .farm-water{position:absolute;left:50%;top:116px;z-index:9;width:360px;height:154px;opacity:0;transform:translateX(-50%);pointer-events:none;}
.ko-smart-farm-layout .farm-water:before{content:'';position:absolute;inset:0;background:radial-gradient(circle,rgba(14,165,233,.70) 0 3px,transparent 4px),radial-gradient(circle,rgba(14,165,233,.48) 0 2px,transparent 3px);background-size:44px 46px,36px 38px;background-position:0 0,18px 12px;animation:koFarmWater 1.4s linear infinite;}
.ko-smart-farm-layout .farm-house.mode-water .farm-water{opacity:1;}
.ko-smart-farm-layout .farm-fans{position:absolute;left:78px;right:78px;top:116px;z-index:7;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;pointer-events:none;}
.ko-smart-farm-layout .farm-fan{position:relative;width:58px;height:58px;margin:0 auto;border-radius:50%;background:#f8fafc;border:4px solid #94a3b8;box-shadow:0 10px 20px rgba(15,23,42,.14);}
.ko-smart-farm-layout .farm-fan:before{content:'';position:absolute;left:50%;top:50%;width:38px;height:38px;background:conic-gradient(from 0deg,#64748b 0 17%,transparent 17% 31%,#64748b 31% 49%,transparent 49% 63%,#64748b 63% 81%,transparent 81% 100%);border-radius:50%;transform:translate(-50%,-50%);}
.ko-smart-farm-layout .farm-fan:after{content:'';position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;background:#334155;transform:translate(-50%,-50%);}
.ko-smart-farm-layout .farm-house.mode-fan1 .farm-fan:nth-child(1):before{animation:koFarmFanSpin .55s linear infinite;}
.ko-smart-farm-layout .farm-house.mode-fan2 .farm-fan:nth-child(2):before{animation:koFarmFanSpin .48s linear infinite;}
.ko-smart-farm-layout .farm-house.mode-fan3 .farm-fan:nth-child(3):before{animation:koFarmFanSpin .62s linear infinite;}
.ko-smart-farm-layout .farm-house.mode-fan4 .farm-fan:nth-child(4):before{animation:koFarmFanSpin .52s linear infinite;}
.ko-smart-farm-layout .farm-wind{position:absolute;left:88px;right:88px;top:180px;z-index:6;height:76px;opacity:0;pointer-events:none;overflow:hidden;}
.ko-smart-farm-layout .farm-wind:before{content:'';position:absolute;left:-20%;right:-20%;top:4px;height:18px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(20,184,166,.45),transparent);box-shadow:0 24px 0 rgba(20,184,166,.26),0 48px 0 rgba(20,184,166,.18);animation:koFarmWindFlow 2.4s linear infinite;}
.ko-smart-farm-layout .farm-house.mode-fan1 .farm-wind,.ko-smart-farm-layout .farm-house.mode-fan2 .farm-wind,.ko-smart-farm-layout .farm-house.mode-fan3 .farm-wind,.ko-smart-farm-layout .farm-house.mode-fan4 .farm-wind{opacity:1;}
.ko-smart-farm-layout .farm-bed{position:absolute;left:58px;right:58px;bottom:54px;height:76px;border-radius:24px;background:linear-gradient(180deg,#854d0e,#713f12);box-shadow:inset 0 10px 16px rgba(255,255,255,.08),0 18px 30px rgba(15,23,42,.16);}
.ko-smart-farm-layout .farm-plant{position:absolute;bottom:111px;z-index:8;width:58px;height:88px;animation:koFarmPlant 2.2s ease-in-out infinite;}
.ko-smart-farm-layout .farm-plant:before{content:'';position:absolute;left:50%;bottom:0;width:8px;height:70px;border-radius:999px;background:#16a34a;transform:translateX(-50%);}
.ko-smart-farm-layout .farm-plant:after{content:'';position:absolute;left:50%;top:8px;width:66px;height:60px;background:radial-gradient(ellipse at 30% 45%,#22c55e 0 16px,transparent 17px),radial-gradient(ellipse at 70% 45%,#16a34a 0 16px,transparent 17px),radial-gradient(ellipse at 50% 15%,#4ade80 0 14px,transparent 15px);transform:translateX(-50%);}
.ko-smart-farm-layout .farm-plant.p1{left:118px;animation-delay:0s;}
.ko-smart-farm-layout .farm-plant.p2{left:220px;animation-delay:.2s;}
.ko-smart-farm-layout .farm-plant.p3{left:324px;animation-delay:.4s;}
.ko-smart-farm-layout .farm-plant.p4{right:118px;animation-delay:.6s;}
.ko-smart-farm-layout .farm-nutrient-drop{position:absolute;left:108px;right:108px;bottom:61px;z-index:11;height:42px;opacity:0;pointer-events:none;}
.ko-smart-farm-layout .farm-nutrient-drop:before{content:'';position:absolute;left:0;right:0;top:0;height:100%;background:radial-gradient(circle,rgba(34,197,94,.60) 0 3px,transparent 4px),radial-gradient(circle,rgba(134,239,172,.55) 0 2px,transparent 3px),radial-gradient(circle,rgba(187,247,208,.50) 0 2px,transparent 3px),radial-gradient(circle,rgba(22,163,74,.42) 0 3px,transparent 4px);background-size:42px 24px,52px 28px,64px 30px,74px 34px;background-position:0 8px,18px 18px,34px 5px,52px 23px;animation:koFarmNutrientMist 3.4s linear infinite;}
.ko-smart-farm-layout .farm-house.mode-nutrient .farm-nutrient-drop{opacity:1;}
.ko-smart-farm-layout .farm-pipe{position:absolute;left:74px;right:74px;bottom:36px;z-index:10;height:16px;border-radius:999px;background:#475569;box-shadow:inset 0 3px 6px rgba(255,255,255,.12);}
.ko-smart-farm-layout .farm-pipe:before{content:'';position:absolute;left:14px;right:14px;top:50%;height:5px;border-radius:999px;background:rgba(255,255,255,.18);transform:translateY(-50%);}
.ko-smart-farm-layout .farm-pipe:after{content:'';position:absolute;left:10px;right:10px;top:50%;height:7px;border-radius:999px;background:linear-gradient(90deg,rgba(34,197,94,.18),rgba(34,197,94,.75),rgba(134,239,172,.95),rgba(34,197,94,.75),rgba(34,197,94,.18));opacity:0;transform:translateY(-50%);background-size:180px 100%;animation:koFarmNutrientFlow 2.8s linear infinite;}
.ko-smart-farm-layout .farm-house.mode-nutrient .farm-pipe:after{opacity:1;}
.ko-smart-farm-layout .farm-side{display:grid;gap:10px;align-content:start;}
.ko-smart-farm-layout .farm-stat{padding:14px;border-radius:14px;background:#fff;border:1px solid #d8e0ea;}
.ko-smart-farm-layout .farm-stat span{display:block;color:#667085;font-size:18px;font-weight:850;}
.ko-smart-farm-layout .farm-stat b{display:block;margin-top:7px;color:#111827;font-size:34px;font-weight:950;}
.ko-smart-farm-layout .farm-control{display:grid;gap:8px;}
.ko-smart-farm-layout .farm-control-row{display:grid;grid-template-columns:1fr 76px;gap:10px;align-items:center;padding:12px;border-radius:12px;background:#fff;border:1px solid #d8e0ea;transition:.18s;cursor:pointer;}
.ko-smart-farm-layout .farm-control-row b{display:block;color:#111827;font-size:19px;font-weight:950;}
.ko-smart-farm-layout .farm-control-row span{display:block;margin-top:4px;color:#667085;font-size:13px;font-weight:750;}
.ko-smart-farm-layout .farm-control-row.on{border-color:#93c5fd;background:#eff6ff;}
.ko-smart-farm-layout .farm-control-row.on b{color:#1d4ed8;}
.ko-smart-farm-layout .farm-fan-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.ko-smart-farm-layout .farm-fan-control-grid .farm-control-row{grid-template-columns:1fr 48px;gap:8px;padding:10px;}
.ko-smart-farm-layout .farm-fan-control-grid .farm-control-row b{font-size:16px;}
.ko-smart-farm-layout .farm-fan-control-grid .farm-control-row span{font-size:12px;}
.ko-smart-farm-layout .farm-fan-control-grid .ko-toggle{width:48px;height:28px;}
.ko-smart-farm-layout .farm-fan-control-grid .ko-toggle:before{left:4px;top:4px;width:20px;height:20px;}
.ko-smart-farm-layout .farm-fan-control-grid .ko-toggle.on:before{left:24px;}
@keyframes koFarmSun{0%,100%{transform:scale(1);opacity:.86;}50%{transform:scale(1.08);opacity:1;}}
@keyframes koFarmLed{0%,100%{opacity:.72;}50%{opacity:1;}}
@keyframes koFarmWater{0%{transform:translateY(-38px);opacity:0;}30%{opacity:.95;}100%{transform:translateY(70px);opacity:0;}}
@keyframes koFarmPlant{0%,100%{transform:translateY(0) rotate(-1deg);}50%{transform:translateY(-4px) rotate(1deg);}}
@keyframes koFarmFanSpin{0%{transform:translate(-50%,-50%) rotate(0deg);}100%{transform:translate(-50%,-50%) rotate(360deg);}}
@keyframes koFarmWindFlow{0%{transform:translateX(-80px);opacity:.12;}25%{opacity:.42;}75%{opacity:.42;}100%{transform:translateX(80px);opacity:.12;}}
@keyframes koFarmNutrientFlow{0%{background-position:0 0;}100%{background-position:180px 0;}}
@keyframes koFarmNutrientMist{0%{background-position:0 8px,18px 18px,34px 5px,52px 23px;opacity:.38;}50%{opacity:.82;}100%{background-position:42px 8px,70px 18px,98px 5px,126px 23px;opacity:.38;}}