.gate{color:#1a1814;background:#f6f4f1;place-items:center;min-height:100%;padding:16px 18px;display:grid;position:relative;overflow:hidden}.gate-arc{pointer-events:none;z-index:0;background:orange;border-radius:50%;position:absolute}.gate-arc-nw{width:max(320px,42vw);height:max(320px,42vw);top:-170px;left:-150px}.gate-arc-se{width:max(380px,50vw);height:max(380px,50vw);bottom:-200px;right:-170px}.gate-card{z-index:1;background:#fff;border-radius:16px;grid-template-columns:1fr 1fr;width:min(960px,100%);min-height:400px;display:grid;position:relative;overflow:hidden;box-shadow:0 22px 55px #301c0629,0 2px 8px #301c060f}.gate-form-col{text-align:center;background:#fff;flex-direction:column;justify-content:center;align-items:center;padding:22px 28px 18px;display:flex}.gate-kicker{letter-spacing:.12em;color:#8a8378;margin:0 0 4px;font-size:.78rem;font-weight:500}.gate-title{letter-spacing:.02em;color:orange;margin:0;font-size:clamp(1.45rem,2vw,1.75rem);font-weight:700}.gate-lead{color:#7a736a;max-width:300px;margin:6px 0 14px;font-size:.86rem;line-height:1.35}.gate-form{text-align:left;gap:10px;width:min(340px,100%);display:grid}.gate-field{background:#fff;border:1px solid #e3ddd4;border-radius:24px;align-items:center;gap:8px;height:42px;padding:0 6px 0 12px;display:flex}.gate-field:focus-within{border-color:orange;box-shadow:0 0 0 3px #ffa50038}.gate-icon{color:#9a9186;flex:none;width:18px;height:18px}.gate-field input{color:#1a1814;min-width:0;height:100%;font:inherit;background:0 0;border:0;outline:none;flex:1;padding:0;font-size:.95rem}.gate-field input::placeholder{color:#a39b90}.gate-reveal{color:#9a9186;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;display:grid}.gate-reveal:hover{color:#5c564c}.gate-submit{color:#fff;height:42px;font:inherit;letter-spacing:.06em;cursor:pointer;background:orange;border:0;border-radius:999px;font-size:.92rem;font-weight:700}.gate-submit:hover:not(:disabled){background:#f09800}.gate-submit:disabled{opacity:.45;cursor:not-allowed}.gate-form .error{text-align:center;margin:0}.gate-aside{text-align:center;color:#fff;background:linear-gradient(orange 0%,#f08a00 46%,#c45300 100%);flex-direction:column;justify-content:center;align-items:center;padding:22px 24px;display:flex}.gate-aside-title{letter-spacing:.04em;margin:0;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:700}.gate-aside-lead{max-width:260px;margin:8px 0 0;font-size:.88rem;line-height:1.45}@media (width<=720px){.gate{align-content:center;padding:14px 12px}.gate-card{grid-template-columns:1fr;min-height:0}.gate-form-col{padding:18px 16px 16px}.gate-aside{min-height:132px;padding:20px 16px}}.shell{flex-direction:column;gap:12px;min-height:100%;padding:14px 16px 16px;display:flex}.shell:not(.shell-lanes)>.workspace,.shell:not(.shell-lanes)>.result-block{flex:1;min-height:0}.result-block{flex-direction:column;gap:12px;min-width:0;display:flex}.shell:not(.shell-lanes) .result-block .workspace{flex:1;min-height:0}.top{gap:12px;display:grid}.brand-row{flex-wrap:wrap;align-items:center;gap:14px 22px;width:100%;display:flex}.screen-nav{align-items:center;gap:16px;margin-left:auto;display:flex}.nav-logout{color:#cfc6b6;font:inherit;cursor:pointer;background:0 0;border:0;padding:0 0 2px;font-weight:500}.nav-link{color:#cfc6b6;border-bottom:2px solid #0000;padding-bottom:2px;font-weight:500;text-decoration:none}.nav-link.active{color:orange;border-bottom-color:orange}.brand{color:#0000;-webkit-text-fill-color:transparent;background-image:repeating-linear-gradient(90deg, #6a3800 0 46px, var(--accent) 54px, #fff6c8 62px, var(--accent) 70px, #6a3800 78px 140px);background-size:140px 100%;-webkit-background-clip:text;background-clip:text;margin:0;font-family:Fraunces,serif;font-size:clamp(1.8rem,2.4vw,2.35rem);font-weight:700;animation:1.8s linear infinite traffic-flow}@keyframes traffic-flow{0%{background-position:0 0}to{background-position:140px 0}}.tagline{color:#cfc6b6;margin:0;font-size:.98rem;font-weight:500}.metrics-band{border-top:3px solid var(--accent);gap:10px;padding-top:10px;display:grid}.cards{grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;display:grid}.card{background:var(--panel);color:var(--ink);min-width:0;padding:8px 10px 7px}.card-label{text-transform:none;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.card-value{white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:.95rem;font-weight:700;overflow:hidden}.card-unit{color:var(--muted);min-height:.9em;margin-top:2px;font-size:.68rem}.workspace{grid-template-columns:320px minmax(0,1fr);gap:12px;min-height:0;display:grid}.side-spacer{width:320px}.side,.chart-panel{background:var(--panel);min-height:0}.side{flex-direction:column;gap:14px;padding:16px;display:flex}.file-label{gap:8px;font-size:.9rem;font-weight:500;display:grid}.file-label input{width:100%;accent-color:var(--accent)}.lane-pull{border-top:3px solid orange;gap:8px;padding:10px 0 2px;display:grid}.lane-pull label{gap:6px;font-size:.9rem;font-weight:500;display:grid}.lane-pull select,.lane-pull input{width:100%;color:var(--ink);font:inherit;background:#fffdf8;border:1px solid #d9d0c0;padding:8px}.lane-pull select:focus,.lane-pull input:focus{border-color:orange;outline:2px solid orange}.lane-pull button{color:#1a1814;cursor:pointer;background:orange;border:0;padding:11px 14px;font-weight:700}.lane-pull button:disabled{opacity:.45;cursor:not-allowed}.meta-name{word-break:break-word;font-weight:700}.meta-place,.meta-detector{color:var(--ink);word-break:break-word;margin-top:6px;font-size:.86rem}.meta-detector{color:var(--muted)}.meta-range{color:var(--muted);margin-top:6px;font-size:.82rem}.status{min-height:2.7em;color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:6px 12px;font-size:.92rem;display:flex}.status-word{color:var(--muted);font-weight:500}.status-formula{font-weight:500;animation:.35s formula-in}.status-formula sub,.status-formula sup{font-size:.72em}@keyframes formula-in{0%{opacity:0}to{opacity:1}}.error{color:var(--danger);font-size:.9rem;line-height:1.4}.export-btn{background:var(--accent);color:var(--ink);cursor:pointer;border:0;margin-top:auto;padding:11px 14px;font-weight:700}.export-btn:hover:not(:disabled){background:#a34c1e}.export-btn:disabled{opacity:.45;cursor:not-allowed}.chart-panel{padding:10px 12px 8px;display:flex}.chart-wrap{width:100%;height:100%;min-height:280px}.chart-wrap-compact{height:320px;min-height:320px}.chart-empty{text-align:center;max-width:28rem;color:var(--muted);margin:auto;padding:24px;font-size:1.02rem}.lane-title{color:var(--panel);margin:0;font-size:1.35rem;font-weight:700}.lane-error{color:var(--danger);padding:8px 0;font-size:.95rem}.shell-lanes .chart-panel{min-height:320px}@media (width<=1100px){.cards{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width<=820px){.shell{height:auto;min-height:100%}.workspace{grid-template-rows:auto minmax(360px,55vh);grid-template-columns:1fr}.side-spacer{display:none}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.journal-shell{color:#1a1814;background:#1c1915}.journal-panel{color:#1a1814;background:#f4efe6;padding:16px 18px 18px}.journal-panel h2{margin:0 0 14px;font-size:1.25rem;font-weight:600}.journal-error{color:#1a1814;margin:0 0 10px}.journal-table{border-collapse:collapse;color:#1a1814;background:#f4efe6;width:100%}.journal-table th,.journal-table td{text-align:left;border-bottom:1px solid #1a1814;padding:8px 10px}.journal-table th{font-size:.78rem;font-weight:600}.users-create{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.users-create input,.users-create select,.journal-table input,.journal-table select{color:#1a1814;background:#fff;border:1px solid #1a1814;border-radius:6px;padding:6px 8px}.users-actions{gap:8px;display:flex}.users-save,.users-delete{cursor:pointer;color:#1a1814;border:0;border-radius:6px;padding:6px 10px}.users-save{background:orange}.users-delete{background:#e7d7c3}.stats-shell{background:linear-gradient(90deg, #ffa50024 0 8px, transparent 8px), var(--bg);flex-direction:column;gap:12px;min-height:100%;padding:14px 16px 20px;display:flex}.stats-shell .brand{background-image:repeating-linear-gradient(90deg,#6a3800 0 46px,orange 54px,#fff6c8 62px,orange 70px,#6a3800 78px 140px)}.stats-rail{background:var(--panel);color:var(--ink);border-top:6px solid orange;grid-template-columns:minmax(180px,1.4fr) minmax(140px,.8fr) minmax(160px,.7fr) minmax(160px,.7fr);align-items:end;gap:10px 12px;padding:12px 14px 14px;display:grid}.stats-login{grid-template-columns:minmax(160px,220px) minmax(160px,220px) auto;align-self:start;width:min(720px,100%)}.stats-rail label{color:var(--muted);gap:6px;font-size:.78rem;font-weight:500;display:grid}.stats-rail input,.stats-rail select{width:100%;color:var(--ink);font:inherit;background:#fffdf8;border:1px solid #d9d0c0;padding:8px;font-size:.92rem}.stats-actions{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.stats-rail button{color:#f4efe6;cursor:pointer;background:#2a261f;border:0;padding:10px 12px;font-weight:700}.stats-go{color:#1a1814!important;background:orange!important}.stats-rail button:disabled{opacity:.45;cursor:not-allowed}.stats-alert,.stats-sync,.stats-notes,.stats-empty{margin:0}.stats-sync,.stats-notes{color:#1a1814;background:#fff4d6;border-left:4px solid orange;padding:8px 12px}.stats-empty{color:#cfc6b6;padding:28px 8px}.stats-stage{grid-template-columns:340px minmax(0,1fr);gap:12px;min-height:0;display:grid}.stats-stage-full{grid-template-columns:minmax(0,1fr)}.sensor-map-wrap{background:var(--panel);flex-direction:column;gap:6px;min-height:420px;padding:8px 8px 10px;display:flex}.sensor-map{background:#d7e3d4;flex:1;min-height:360px}.map-caption{color:var(--muted);margin:0;font-size:.78rem}.flow-quad{grid-template-columns:1fr 1fr;gap:12px;min-width:0;display:grid}.flow-chart{background:var(--panel);min-width:0;padding:8px 8px 4px}.flow-chart h2{color:var(--ink);margin:0 0 4px;font-size:.95rem;font-weight:700}.flow-chart-canvas{height:280px}@media (width<=980px){.stats-rail,.stats-login,.stats-stage,.flow-quad{grid-template-columns:1fr}}:root{--bg:#1c1915;--panel:#f4efe6;--ink:#1a1814;--accent:#c45c26;--mark5:#2f6f4e;--mark85:#8a5a12;--mark95:#8f2d2d;--muted:#5c564c;--line:#d9d0c0;--danger:#8f2d2d;--font-sans:"IBM Plex Sans", sans-serif;--font-mono:"IBM Plex Mono", monospace;font-family:var(--font-sans);color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.35}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{min-height:100%}button,input{font:inherit}.mono{font-family:var(--font-mono);font-weight:400}
