.factory{height:100%;width:100%;display:flex;flex-direction:column;padding:2.2vh 2.5vw;gap:1.8vh;user-select:none}.factory--loading{align-items:center;justify-content:center}.factory__loading-text{font-size:3vw;color:var(--text-dim)}.factory__header{display:flex;align-items:baseline;justify-content:space-between;flex:0 0 auto}.factory__title{margin:0;font-size:clamp(1.6rem,3.4vw,3.6rem);font-weight:700;letter-spacing:.01em}.factory__clock{display:flex;align-items:baseline;gap:1.5vw;font-size:clamp(1rem,1.8vw,1.8rem);color:var(--text-dim)}.factory__stale{color:var(--warn);font-size:clamp(.8rem,1.4vw,1.4rem)}.factory__hero{flex:1 1 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1.4vw;align-content:stretch;min-height:0}.line-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;padding:1.6vh 1.4vw;display:flex;flex-direction:column;justify-content:space-between;gap:1vh}.line-card--met{border-color:var(--good-dim);background:linear-gradient(180deg,rgba(53,196,107,.08),var(--bg-elev))}.line-card__label{font-size:clamp(1rem,1.8vw,2rem);font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.line-card__numbers{display:flex;align-items:baseline;gap:.4vw;font-variant-numeric:tabular-nums;line-height:1}.line-card__made{font-size:clamp(2.6rem,6vw,7rem);font-weight:800;color:var(--text)}.line-card--met .line-card__made{color:var(--good)}.line-card__sep{font-size:clamp(1.6rem,3vw,3.4rem);color:var(--text-dim)}.line-card__target{font-size:clamp(1.8rem,3.6vw,4rem);font-weight:600;color:var(--text-dim)}.line-card__bar{height:clamp(10px,1.4vh,20px);background:var(--bg-elev-2);border-radius:999px;overflow:hidden}.line-card__bar-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .6s ease}.line-card--met .line-card__bar-fill{background:var(--good)}.factory__sales{flex:0 0 auto;display:flex;align-items:center;gap:3vw;background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;padding:1.6vh 2vw}.sales__label{font-size:clamp(1rem,1.8vw,2rem);font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.sales__figures{display:flex;gap:4vw}.sales__stat{display:flex;align-items:baseline;gap:.6vw}.sales__value{font-size:clamp(2rem,4.4vw,5rem);font-weight:800;font-variant-numeric:tabular-nums}.sales__unit{font-size:clamp(.9rem,1.6vw,1.6rem);color:var(--text-dim)}.factory__ticker{flex:0 0 auto;text-align:center;color:var(--text-dim);font-family:var(--mono);font-size:clamp(.85rem,1.5vw,1.5rem);letter-spacing:.02em}.placeholder{height:100%;width:100%;display:flex;align-items:center;justify-content:center;padding:4vh 4vw}.placeholder__inner{text-align:center;max-width:900px}.placeholder__inner--list{text-align:left;width:100%}.placeholder__title{margin:0 0 .4em;font-size:clamp(1.8rem,4vw,3.6rem);font-weight:700}.placeholder__msg{font-size:clamp(1.1rem,2vw,2rem);color:var(--text-dim);margin:0 0 1.2em}.placeholder__msg--warn{color:var(--warn)}.screen-list{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}.screen-list__link{display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.2rem;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px}.screen-list__link:hover{border-color:var(--accent)}.screen-list__name{font-family:var(--mono);font-size:clamp(1rem,1.8vw,1.5rem);color:var(--text)}.screen-list__meta{font-size:.95rem;color:var(--text-dim)}.placeholder__foot{margin-top:2rem}.placeholder__adminlink{font-size:1.1rem}:root{--bg: #0b0e13;--bg-elev: #151a22;--bg-elev-2: #1c232e;--border: #2a323f;--text: #f2f5f8;--text-dim: #9aa7b6;--accent: #4da3ff;--good: #35c46b;--good-dim: #1e6b3d;--warn: #ffb020;--bad: #ff5c5c;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, "Cascadia Code", Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}#root{display:flex;flex-direction:column}a{color:var(--accent);text-decoration:none}
