:root{font-family:Arial,Helvetica,sans-serif;color-scheme:dark;color:#f0f4e6;background:#07140b;font-size:14px}*{box-sizing:border-box}body{margin:0;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(at top left,#233d21,#061009 70%)}button,input,select{font:inherit}button{cursor:pointer;border:0;color:inherit}button:disabled{opacity:.38;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #c3ff3d;outline-offset:3px}.topbar{flex:none;padding:12px 12px 10px;padding-top:max(12px,env(safe-area-inset-top));border-bottom:1px solid #3a5230}.brand{display:flex;align-items:center;gap:9px;margin-bottom:10px}.brand>img{width:40px;height:40px;object-fit:contain}.brand>div{flex:1;min-width:0}.brand>button{border:1px solid #536843;border-radius:13px;background:linear-gradient(135deg,#263c23,#112013);width:40px;height:40px;padding:5px}.brand>button img{width:100%;height:100%;object-fit:contain}h1{font-size:21px;letter-spacing:-.7px;margin:0}h1 span{color:#c4fb3e}.brand p{margin:5px 0 0;color:#a4b099;font-size:9px;letter-spacing:1.2px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.resources{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:7px}.resources button{background:linear-gradient(140deg,#1b3423,#0b190f);border:1px solid #465b38;border-radius:15px;padding:10px 7px;text-align:left;display:grid;grid-template-columns:27px 1fr;gap:3px;align-items:center;min-width:0}.resources img{width:27px;height:27px;object-fit:contain}.resources b{font-size:14px;white-space:nowrap;letter-spacing:-.4px}.resources small{font-size:9px;color:#a9b49e;grid-column:1/-1}main{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none;background:#20281d}canvas{display:block;width:100%;height:100%}#loading{position:absolute;inset:0;display:grid;place-content:center;background:#102316}.tools{position:absolute;top:10px;right:10px;display:flex;padding:4px;background:#07170de8;border:1px solid #566b3e;border-radius:14px;gap:1px}.tools button{font-size:12px;background:none;min-width:28px;padding:5px 6px}.tools button:first-child,.tools button:nth-child(2){font-size:21px}.tools #original[aria-pressed=true]{color:#c2ff38}.scene-jump{position:absolute;left:12px;bottom:12px;background:#10220dea;border:1px solid #5f793e;border-radius:12px;padding:9px 14px;font-size:11px}#preview-tag{position:absolute;bottom:12px;right:12px;padding:5px 8px;font-size:8px;background:#0a160de8;color:#d6e6be;border-radius:7px}.delivery{flex:none;display:flex;gap:9px;align-items:center;width:100%;text-align:left;padding:11px 12px;border-top:1px solid #435432;background:linear-gradient(135deg,#152e1b,#0b1a10)}.delivery>img{width:40px;height:40px;object-fit:contain}.delivery>img:last-child{width:36px}.delivery>span{flex:1;min-width:0}.delivery b{display:block;font-size:12px}.delivery small{display:block;color:#aebda1;font-size:10px;line-height:1.4;margin-top:4px}.delivery i{display:block;height:4px;border-radius:5px;background:#07120b;margin-top:7px;overflow:hidden}.delivery em{display:block;width:0;height:100%;background:linear-gradient(90deg,#749a25,#d0fc4a)}nav{display:flex;flex:none;justify-content:space-around;padding:7px 8px max(7px,env(safe-area-inset-bottom));gap:5px;background:#06120a;border-top:1px solid #2e4425}nav button{flex:1;min-width:0;background:none;border:1px solid transparent;border-radius:15px;display:flex;flex-direction:column;align-items:center;padding:7px 2px;gap:4px;font-size:10px;color:#aebda3}nav img{width:33px;height:33px;object-fit:contain}nav button.active{border-color:#6a823c;background:linear-gradient(140deg,#2b4218,#12230d);color:#d1fd76}dialog{position:fixed;inset:auto 0 0;margin:0 auto;width:min(100%,600px);max-width:100%;height:auto;max-height:82dvh;overflow:hidden;padding:0;border:1px solid #5b713d;border-bottom:0;border-radius:25px 25px 0 0;background:linear-gradient(145deg,#1e3722,#09180e);color:#eff4e4;box-shadow:0 -15px 70px #0008}dialog::backdrop{background:#0009}.sheet-head{display:flex;align-items:center;padding:18px 20px 12px;gap:15px;border-bottom:1px solid #35492e}.sheet-head h2{margin:0;font-size:19px;flex:1}.sheet-head button{font-size:27px;background:none;color:#c4d2b7}#sheet-body{padding:16px 18px 24px;overflow-y:auto;max-height:calc(82dvh - 66px);overscroll-behavior:contain}.card{border:1px solid #405837;border-radius:17px;background:linear-gradient(140deg,#1a3323,#0c2115);padding:15px;margin-bottom:12px}.card h3{margin:0 0 7px;font-size:15px}.muted{color:#aabca0;font-size:12px;line-height:1.5}.status{display:inline-block;color:#d1eea1;font-size:11px;border:1px solid #455f32;border-radius:7px;padding:4px 7px;margin-bottom:9px}.status.warning{color:#ebcf8a;border-color:#7a653a}.row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0}.row span{font-size:12px;color:#b9c9ad}.row b{font-size:13px;text-align:right}.grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.grid .card{margin:0}.action,.secondary{border:1px solid #607d3f;border-radius:12px;padding:10px 13px;text-align:center;font-size:12px}.action{background:linear-gradient(140deg,#d1fc60,#a6d91d);color:#1b2e09;font-weight:bold;box-shadow:inset 0 1px #eaffaa}.secondary{background:linear-gradient(140deg,#254429,#122818);color:#d6e5c7}.wide{width:100%;margin-top:8px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.actions>*{flex:1}label{display:block;font-size:12px;color:#c3d2b7;margin:14px 0 6px}input,select{background:#0b1b11;color:#eef5e3;border:1px solid #567141;border-radius:10px;padding:10px;width:100%;min-height:40px}input[type=checkbox]{width:18px;min-height:18px;vertical-align:middle;accent-color:#aee838;margin-right:7px}.switch{display:flex;align-items:center;gap:5px}.progress{height:6px;border:1px solid #4c6440;background:#07120b;border-radius:7px;overflow:hidden;margin:10px 0}.progress>span{display:block;height:100%;background:linear-gradient(90deg,#7d9f28,#c8fa49)}.menu-item{width:100%;display:flex;align-items:center;gap:13px;border:1px solid #425d36;border-radius:15px;background:linear-gradient(135deg,#203b25,#0c2114);padding:15px;margin-bottom:10px;text-align:left}.menu-item img{width:36px;height:36px;object-fit:contain}.menu-item>span{flex:1}.menu-item b{display:block;font-size:14px}.menu-item small{display:block;color:#a8b99b;font-size:11px;margin-top:5px}.menu-item em{font-style:normal;color:#c1e981;font-size:21px}#toast{position:fixed;bottom:95px;left:15px;right:15px;max-width:500px;margin:auto;padding:12px 16px;border:1px solid #789449;border-radius:14px;background:#193321f5;color:#ebf4db;z-index:20;box-shadow:0 4px 20px #0009;font-size:12px}.history{font-size:11px;color:#b7c9a8;border-bottom:1px solid #354d2d;padding:9px 0}.code{font-family:monospace;overflow-wrap:anywhere;background:#06120b;border:1px solid #597b3b;padding:15px;border-radius:12px;color:#d5ff92;font-size:16px;line-height:1.8}.error{color:#efc58d;font-size:12px;line-height:1.5}.divider{margin:20px 0 10px;font-size:13px;color:#d1e5ba}.icon-line{display:flex;align-items:center;gap:10px}.icon-line img{width:40px;height:40px;object-fit:contain}hr{border:0;border-top:1px solid #3d5432;margin:18px 0}@media(min-width:700px){.topbar{padding:14px 24px}.resources{max-width:650px}.brand{margin-bottom:10px}h1{font-size:25px}.delivery{padding:12px 24px}nav button{max-width:160px}#preview-tag{font-size:11px}}
/* Freigegebener matter 3D-Spielstil mit ruhigen, gebrauchten Grüntönen. */
:root{background:#0b211b;color:#f0f1df;font-size:14px}
body{background:linear-gradient(150deg,#234033,#0b211b 70%)}
.topbar{background:linear-gradient(110deg,#203e32,#0d2820);border-bottom:0;padding:13px 12px 9px}
.brand{gap:10px;margin-bottom:12px}.brand>img{width:45px;height:45px;filter:saturate(.72) brightness(.93)}
h1{font-size:23px;letter-spacing:-.7px;color:#f2f1df}h1 span{color:inherit}
.brand p{font-size:11px;letter-spacing:.2px;color:#b6c4ac;margin-top:5px}
.brand>button{border-radius:50%;width:44px;height:44px;background:#243d30;border-color:#63765c;box-shadow:inset 0 1px 2px #a2ad6e22,0 3px 6px #0004}
.resources{gap:7px;grid-template-columns:1.2fr 1fr .85fr}
.resources button{border-color:#63775e;border-radius:15px;background:linear-gradient(135deg,#294337,#102c22);padding:10px 7px;grid-template-columns:31px 1fr;box-shadow:inset 0 1px 1px #afb29322,0 3px 5px #0003}
.resources img{width:31px;height:31px;filter:saturate(.75)}.resources b{font-size:15px;color:#f4f2e1}.resources small{color:#b2c1aa}
.delivery{width:calc(100% - 24px);margin:0 12px 10px;padding:12px 10px;gap:9px;border:1px solid #647556;border-radius:19px;background:linear-gradient(120deg,#2b4732,#0c2c24);box-shadow:inset 0 1px 2px #a0b37e22,0 4px 7px #0003}
.delivery>img{width:47px;height:54px;filter:saturate(.72)}.delivery>img:last-child{width:37px}.delivery .order-caption{display:block;font-size:10px;font-weight:600;letter-spacing:.8px;color:#c4d4b0;margin-bottom:5px}.delivery b{font-size:17px;font-weight:600;line-height:1.15}.delivery small{font-size:10px;color:#b8c8b2}.delivery i{height:6px;background:#0a251e;border:1px solid #70846b;margin-top:8px}.delivery em{background:linear-gradient(90deg,#688344,#a6c56b)}
main{background:#3b3b30}.tools{background:#18342ded;border-color:#62775b;border-radius:12px}.tools button{color:#e4ead8}.tools #original[aria-pressed=true]{color:#c3d593}.scene-jump{background:#1d3a2ced;border-color:#78845b;color:#e7edda;border-radius:13px;box-shadow:0 2px 5px #0004}
nav{background:#102b23;border-color:#465f47;padding:8px 8px max(8px,env(safe-area-inset-bottom));gap:6px}
nav button{background:linear-gradient(135deg,#25453b,#12362e);border:1px solid #62796e;border-radius:19px;padding:7px 2px 8px;color:#e1e8d8;gap:5px;font-size:11px;box-shadow:inset 0 1px 1px #cad3ae18,0 3px 5px #0004}
nav img{width:40px;height:40px;filter:saturate(.73)}nav button.active{background:linear-gradient(140deg,#405b2e,#234326);border-color:#82965d;color:#f3f5df}
dialog{background:linear-gradient(145deg,#2a4635,#102b22);border-color:#738364}.card,.menu-item{background:linear-gradient(135deg,#294739,#143327);border-color:#63795b}.sheet-head{border-color:#526b4e}
.action{background:linear-gradient(135deg,#b1cf75,#83aa49);color:#182814;border-color:#a3be76;box-shadow:inset 0 1px #d5dfae66}
.secondary{background:linear-gradient(135deg,#345238,#1b3a2b);color:#e5eada;border-color:#7b8c66}.progress>span{background:linear-gradient(90deg,#719146,#a6c767)}
.menu-item em{color:#c1d0a8}.status{color:#d8e6bd;border-color:#72815c}.code{color:#d3e4ab}.muted{color:#bac9af}input,select{background:#112b21;border-color:#718565}
#toast{background:#244535f5;border-color:#8a9a72;bottom:108px}#preview-tag{background:#19342bdc;color:#ccd8c2}
@media(max-width:350px){h1{font-size:20px}.brand>img{width:36px;height:36px}.resources b{font-size:13px}.resources img{width:25px;height:25px}.resources button{grid-template-columns:25px 1fr}.delivery b{font-size:15px}nav img{width:34px;height:34px}nav button{font-size:10px}}
@media(min-width:700px){.topbar{padding:15px 24px 12px}.resources{max-width:750px}.resources b{font-size:18px}.resources button{padding:12px}.delivery{width:calc(100% - 48px);margin:0 24px 12px;padding:14px 18px}.delivery b{font-size:21px}.delivery small{font-size:12px}.delivery .order-caption{font-size:11px}nav img{width:44px;height:44px}nav button{max-width:170px;font-size:13px}}
/* Feste volle Hallenbreite: keine Kamerafahrt, keine Zoomstufen, keine Seitenränder. */
main{touch-action:auto;padding:0;border:0;width:100%;background:#3b3b30}
#scene-scroll{position:absolute;inset:0;overflow-x:hidden;overflow-y:auto;touch-action:pan-y;overscroll-behavior-y:contain;scrollbar-width:none;outline-offset:-3px}
#scene-scroll::-webkit-scrollbar{display:none}
#canvas{width:100%;height:auto;display:block;touch-action:pan-y}
.scene-jump,#preview-tag{z-index:2}
/* Patina nur auf den festen Anzeigen über und unter der Halle.
   Die Struktur liegt hinter Text und Icons und verändert keine Abmessungen. */
:root{
 --paint-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='grain' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23grain)' opacity='.13'/%3E%3C/svg%3E");
 --paint-wear:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='140' viewBox='0 0 220 140'%3E%3Cg fill='none' stroke='%23b9ae7f' stroke-linecap='round'%3E%3Cpath opacity='.16' stroke-width='1' d='M5 7l17 1m-9 2l7-1M187 5l25 1M3 113l1 13m3-7v9M177 132l19-2m5 0l11-1M57 37l6-1m71 35l4-1M91 105l9-1'/%3E%3Cpath opacity='.09' stroke-width='2' d='M3 3l19 1M207 3l9 1M4 133l13 1M198 134l17-2'/%3E%3C/g%3E%3Cg fill='%23938155' opacity='.12'%3E%3Cellipse cx='9' cy='19' rx='5' ry='2'/%3E%3Cellipse cx='205' cy='122' rx='7' ry='3'/%3E%3Cellipse cx='37' cy='131' rx='10' ry='2'/%3E%3C/g%3E%3C/svg%3E");
}
.topbar{
 background-image:var(--paint-grain),radial-gradient(ellipse at 0 0,#92805b16,transparent 58%),linear-gradient(110deg,#293e32,#182d25);
}
.resources button,.brand>button,.delivery,nav button{
 background-image:var(--paint-wear),var(--paint-grain),linear-gradient(135deg,#35483a,#1a332a);
 background-size:100% 100%,160px 160px,100% 100%;
 border-color:#777e60;
 box-shadow:inset 0 1px 1px #b8ad7838,inset 0 -2px 3px #07190f55,0 3px 5px #0003;
}
.delivery{background-image:var(--paint-wear),var(--paint-grain),radial-gradient(ellipse at 4% 20%,#93846016,transparent 68%),linear-gradient(120deg,#394c37,#1a342b);background-size:100% 100%,160px 160px,100% 100%,100% 100%}
nav{background-image:var(--paint-grain),linear-gradient(120deg,#233b2e,#142d25);border-color:#686e50}
nav button.active{background-image:var(--paint-wear),var(--paint-grain),linear-gradient(140deg,#4b5c34,#2e472c);border-color:#96966a}
/* Kompaktere Anzeigen und deutlicher Rost an den Lackkanten. */
:root{
 --paint-rust:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='140' viewBox='0 0 240 140'%3E%3Cg fill='%236b3825' opacity='.20'%3E%3Cpath d='M0 0h40l-3 3-11 1-4 4-8-2-5 5-3-1-3 14-3-4zM240 0h-23l5 4-2 4 9 3 1 6 6-2 4 10zM240 140h-49l5-4 15 1 7-5 7 2 4-7 6 3 1-15 4 4zM0 140h29l-3-4-9-1-3-5-7 2-2-11-5 3z'/%3E%3C/g%3E%3Cg fill='%23aa6137' opacity='.14'%3E%3Cpath d='M2 2h25l-3 2-11 1-3 3-5-1-3 10zM238 2h-15l6 3 1 6 5-1 3 8zM237 137h-31l8-2 6-4 9 3 6-7zM2 137h17l-8-3-3-5-4 2z'/%3E%3C/g%3E%3Cg stroke='%23b87b4a' stroke-width='1' opacity='.16'%3E%3Cpath d='M39 2l22 1m117 134l17-1M2 39v13m235 42v8M88 4l9 1'/%3E%3C/g%3E%3Cg fill='%23895132' opacity='.16'%3E%3Ccircle cx='14' cy='16' r='2'/%3E%3Ccircle cx='31' cy='8' r='1.2'/%3E%3Ccircle cx='225' cy='123' r='2.2'/%3E%3Ccircle cx='208' cy='130' r='1.5'/%3E%3Ccircle cx='7' cy='111' r='1.6'/%3E%3C/g%3E%3C/svg%3E");
}
.resources button,.brand>button,.delivery,nav button{
 background-image:var(--paint-rust),var(--paint-wear),var(--paint-grain),linear-gradient(135deg,#35483a,#1a332a);
 background-size:100% 100%,100% 100%,160px 160px,100% 100%;
 border-color:#777e60;
 box-shadow:inset 0 1px 1px #b8ad7830,inset 0 -2px 3px #07190f55,0 2px 4px #0003;
}
.delivery{background-image:var(--paint-rust),var(--paint-wear),var(--paint-grain),linear-gradient(120deg,#394c37,#1a342b)}
nav button.active{background-image:var(--paint-rust),var(--paint-wear),var(--paint-grain),linear-gradient(140deg,#4b5c34,#2e472c);border-color:#96966a}
.topbar{padding:8px 12px 7px;padding-top:max(8px,env(safe-area-inset-top))}
.brand{margin-bottom:6px;gap:8px}
.brand>img{width:36px;height:36px}
.brand>button{width:44px;height:44px;padding:7px}
h1{font-size:21px;letter-spacing:-.6px}
.brand p{font-size:10px;margin-top:3px}
.resources{gap:6px}
.resources button{padding:7px 6px;grid-template-columns:25px 1fr;gap:2px;border-radius:12px;min-height:49px}
.resources img{width:25px;height:25px}
.resources b{font-size:14px;letter-spacing:-.5px}
.resources small{font-size:8px}
.delivery{width:calc(100% - 24px);margin:0 12px 6px;padding:7px 9px;gap:7px;border-radius:15px}
.delivery>img{width:34px;height:38px}
.delivery>img:last-child{width:29px}
.delivery .order-caption{font-size:9px;letter-spacing:.65px;margin-bottom:3px}
.delivery b{font-size:15px;line-height:1.15}
.delivery small{font-size:9px;margin-top:3px}
.delivery i{height:4px;margin-top:5px}
nav{padding:5px 8px max(5px,env(safe-area-inset-bottom));gap:6px}
nav button{padding:5px 2px 6px;gap:3px;font-size:10px;border-radius:14px;min-height:58px}
nav img{width:30px;height:30px}
#toast{bottom:82px}
@media(max-width:350px){h1{font-size:19px}.resources b{font-size:12px}.resources button{grid-template-columns:22px 1fr;padding:7px 5px}.resources img{width:22px;height:22px}.delivery b{font-size:14px}nav button{font-size:9px}}
/* Roller: sofortige Breitenwahl ohne Tastatur. */
.cut-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cut-preset{min-height:46px;padding:10px 5px;font-size:13px;touch-action:manipulation}
.cut-preset.selected{background:linear-gradient(135deg,#b1cf75,#83aa49);border-color:#b5ce88;color:#182814;font-weight:bold}
.cut-summary{padding:12px;border:1px solid #72815c;border-radius:12px;background:#142f24;margin-top:12px}
.cut-summary b,.cut-summary span{display:block}.cut-summary b{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.cut-summary span{font-size:12px;line-height:1.5;color:#bac9af;margin-top:3px}
.cut-combinations{margin-top:12px}.cut-combinations summary{min-height:44px;cursor:pointer;padding:12px 0;color:#d8e6bd}
.cut-presets.mixed{grid-template-columns:repeat(2,minmax(0,1fr))}.cut-presets.mixed button{font-size:12px}
.cut-help{margin-bottom:0}

.machine-automatic{min-height:44px}

/* Freie Schnittpläne aus einzelnen Breiten, ohne Tastatur. */
.cut-preset small{display:block;font-size:9px;line-height:1.2;margin-top:3px;opacity:.8}
.cut-slots{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.cut-slot{min-height:44px;padding:10px;font-size:12px;touch-action:manipulation}
.cut-slot span{font-size:16px;margin-left:5px}
.cut-slots+.actions button{min-height:44px}

/* Proportionale Rollenvorschau: matte Papierflächen und markierter Schnitt-Ausschuss. */
.cut-roll-view{margin:12px 0 6px;padding:4px 0 9px;border-bottom:1px solid #53684c}
.cut-roll{display:block;width:100%;height:auto;overflow:visible}
.cut-roll text{font-family:Arial,Helvetica,sans-serif}
.cut-roll-legend{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:9px;color:#c8d4bc;font-size:11px;line-height:1.4}
.cut-roll-legend>span{display:flex;align-items:center;gap:5px}.cut-roll-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;flex:none}
.roll-paper-key{background:#dddcc4;border:1px solid #919d75}.roll-scrap-key{background:repeating-linear-gradient(135deg,#b57a5a,#b57a5a 3px,#804e36 3px,#804e36 5px)}
.cut-roll-legend .scrap-note{color:#dfb796}

.cut-trim-note{margin:8px 0 0;color:#d3bfa3;font-size:12px;line-height:1.5}

[hidden]{display:none!important}.sheet-head h2{min-width:0;flex:1;line-height:1.2}#sheet-machine-timer{max-width:44%;font-size:11px;font-variant-numeric:tabular-nums;border:1px solid #7c8a63;border-radius:8px;padding:7px 8px;color:#dde7bb;background:#18392a}#sheet-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:8px 12px;background:#183426;border-bottom:1px solid #6e805c}#sheet-tabs button{min-height:44px;padding:7px 4px;font-size:11px;border-radius:10px;line-height:1.2;background:#142e22;color:#c2ccb8;border:1px solid #687b58}#sheet-tabs [aria-selected="true"]{background:#4c6636;color:#f0f2dd;border-color:#94ac69}#sheet-tabs button:focus-visible{outline:2px solid #cadf84;outline-offset:2px}dialog:has(#sheet-tabs:not([hidden])) #sheet-body{max-height:calc(82dvh - 134px)}.research-filters{padding-bottom:16px}@media(max-width:350px){.sheet-head h2{font-size:17px}#sheet-machine-timer{font-size:10px}#sheet-tabs button{font-size:10px}}

.group-shortcut{display:flex;align-items:center;justify-content:space-between;padding:5px 16px;gap:8px;background:#10251c;color:#c6d4bb;font-size:12px}.group-shortcut button{background:#284d35;color:#e6f5d4;border:1px solid #6c9665;border-radius:9px;padding:7px 12px;font-weight:700}.group-shortcut span{font-size:11px}.group-join input,.group-join select{max-width:100%}

/* V2.1: Eindeutige, gut lesbare Unterscheidung zwischen Privat- und Gruppenfabrik */
.factory-mode-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 15px;margin:0;background:linear-gradient(110deg,#183a2b,#10251e);border-top:2px solid #9fb77c;border-bottom:2px solid #75946a;min-height:76px}
.factory-mode-identity{display:flex;flex-direction:column;gap:5px;min-width:0}
.factory-mode-identity>span{font-size:11px;font-weight:900;letter-spacing:1.5px;color:#d8e7ae}
.factory-mode-identity strong{font-size:15px;line-height:1.3;color:#fff;overflow-wrap:anywhere}
.factory-mode-banner button{border:1px solid #7d9c77;background:#244b38;color:#fff;border-radius:12px;padding:10px 12px;min-height:45px;font-size:12px;font-weight:700;max-width:48%;flex-shrink:0;line-height:1.3}
body.is-group-factory .factory-mode-banner{background:linear-gradient(110deg,#413014,#231e15);border-color:#e7b651;box-shadow:inset 0 0 24px #ad772321}
body.is-group-factory .factory-mode-identity>span{color:#ffd67b}
body.is-group-factory .factory-mode-banner button{background:#64451d;border-color:#c69a48}
body.is-group-factory .resources{border-top:3px solid #c69a48}
.invite-code-box{padding:13px 0;border-top:1px solid #63765b;border-bottom:1px solid #63765b;margin:12px 0}
.invite-code-box label{display:block;margin-bottom:8px;font-weight:700}
.invite-code-controls{display:flex;gap:8px;align-items:stretch;min-width:0}
.invite-code-controls input{min-width:0;flex:1;width:0;font-size:16px;font-weight:800;letter-spacing:.5px;user-select:text}
.invite-code-controls button{flex-shrink:0;min-height:48px;padding:10px 13px}
.invite-code-box small{display:block;margin-top:7px;color:#bdcbb5}
@media(max-width:370px){.factory-mode-banner{padding:10px}.factory-mode-identity strong{font-size:13px}.factory-mode-banner button{font-size:11px;padding:9px}.invite-code-controls{flex-wrap:wrap}.invite-code-controls input{flex-basis:100%;width:100%}}

/* V2.3: Zwei echte Fabrik-Reiter statt Gruppenverwaltung-Text */
.factory-switch{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:12px 14px 7px;background:#12291f}
.factory-switch .factory-tab{appearance:none;display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:53px;padding:9px 7px;border-radius:13px;border:1px solid #617968;background:#1c352b;color:#c3d0c5;font-size:15px;font-weight:800;line-height:1.2;white-space:normal;box-shadow:none}
.factory-switch .factory-tab.active{background:linear-gradient(135deg,#7a9e59,#426e42);color:#fff;border:2px solid #d4e8aa;box-shadow:0 2px 12px #0005}
body.is-group-factory .factory-switch .factory-tab.active{background:linear-gradient(135deg,#a97827,#66461b);border-color:#ffdc88}
.factory-mode-status{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#1b3829;border-bottom:3px solid #85a86d;padding:9px 15px;min-height:44px}
.factory-mode-status span{font-size:11px;letter-spacing:1px;font-weight:900;color:#c5e9a5}
.factory-mode-status strong{font-size:13px;text-align:right;color:#fff;overflow-wrap:anywhere}
body.is-group-factory .factory-mode-status{background:#403018;border-color:#dbad53}
body.is-group-factory .factory-mode-status span{color:#ffda83}
@media(max-width:365px){.factory-switch .factory-tab{font-size:13px}}

/* Factory-only zoom: navigation, orders and header stay fixed. */
#scene-scroll{overflow:auto!important;touch-action:none!important;overscroll-behavior:contain}
#canvas{max-width:none!important;touch-action:none!important;user-select:none;-webkit-user-select:none}
.zoom-controls{position:absolute;right:12px;bottom:15px;z-index:8;display:flex;align-items:center;gap:5px;padding:5px;background:#13291fe8;border:1px solid #a2ba89;border-radius:14px;box-shadow:0 3px 15px #0008}
.zoom-controls button{min-width:43px;min-height:43px;border:1px solid #718b69;background:#254b36;color:#fff;border-radius:10px;font-size:23px;font-weight:800;touch-action:manipulation}
.zoom-controls #zoom-reset{font-size:13px;min-width:57px}
.zoom-controls button:disabled{opacity:.4}

/* V2.5 Zoom controls in top header, outside factory picture */
.topbar .brand{display:flex;align-items:center;gap:8px;min-width:0}
.topbar .brand>div:not(.zoom-controls){min-width:0;flex:1}
.topbar .brand .zoom-controls{position:static!important;right:auto!important;bottom:auto!important;z-index:auto!important;flex:0 0 auto;display:flex;gap:3px;padding:3px;border-radius:11px;box-shadow:none;background:#1c372b}
.topbar .brand .zoom-controls button{min-width:29px;min-height:34px;padding:2px 4px;font-size:18px;border-radius:7px}
.topbar .brand .zoom-controls #zoom-reset{min-width:43px;font-size:11px}
@media(max-width:410px){.topbar .brand{gap:5px}.topbar .brand .zoom-controls button{min-width:27px;min-height:32px}.topbar .brand .zoom-controls #zoom-reset{min-width:39px}.topbar .brand h1{font-size:clamp(15px,4vw,22px)}}
