:root{color:#0f2747;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--line:#0f27471f;--text:#0f2747;--muted:#52657f;--accent:#eb8a23;--accent-soft:#eb8a2324;--success:#1d69b5;--shadow:0 24px 80px #16335c24;background:radial-gradient(circle at top,#538ac942,#0000 36%),linear-gradient(#f5f8fc 0%,#dfebf7 100%);font-family:Manrope,Segoe UI,sans-serif;font-weight:500;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{min-height:100vh;color:var(--text);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}textarea{resize:vertical;min-height:120px}code{background:#13202814;border-radius:999px;padding:.15rem .45rem}#root{min-height:100vh}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.75rem;font-size:.82rem;font-weight:800;display:inline-flex}h1,h2,p{margin:0}.login-page,.route-loader{place-items:center;min-height:100vh;padding:2rem;display:grid}.route-loader{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-weight:800}.login-card{border:1px solid var(--line);width:min(100%,1080px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f8fbfbd1;border-radius:32px;grid-template-columns:1.05fr .95fr;gap:2rem;padding:2rem;display:grid}.login-card__intro{color:#eef7f8;background:linear-gradient(135deg,#08356dfa,#1a5cafeb);border-radius:26px;min-height:560px;position:relative;overflow:hidden}.login-card__overlay{background:linear-gradient(#0000,#051c39d6 42%,#051c39f5);gap:.8rem;padding:2rem;display:grid;position:absolute;inset:auto 0 0}.login-card__photo{object-fit:cover;width:100%;height:100%}.login-card__intro h1{max-width:14ch;font-size:clamp(2.6rem,4vw,4.3rem);line-height:.95}.login-card__intro p{color:#eef7f8d1;max-width:38rem;margin-top:.75rem}.login-form,.stack-form{gap:1rem;display:grid}.login-form{align-content:center;padding:1.4rem}.login-form__hint{color:var(--muted);gap:.45rem;font-size:.92rem;display:grid}.login-form label{color:var(--muted);gap:.55rem;font-weight:700;display:grid}.login-form input,.login-form select,.stack-form input,.stack-form select,.stack-form textarea{background:#ffffffbd;border:1px solid #13202824;border-radius:18px;outline:none;width:100%;padding:1rem 1.1rem}.form-error,.empty-state{color:#8b2626;background:#ffebebe6;border-radius:16px;padding:.9rem 1rem}.empty-state{color:var(--muted);background:#ffffffb3}.primary-button,.ghost-button{border:0;border-radius:18px;justify-content:center;align-items:center;gap:.5rem;min-height:3.2rem;margin-bottom:10px;padding:.9rem 1.25rem;font-weight:800;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(135deg,#d37c34,#c05f2b);transition:box-shadow .18s,transform .18s;box-shadow:0 16px 30px #d37c3447}.primary-button:hover{box-shadow:0 8px 14px #d37c3414}.primary-button:active{transform:translateY(1px)}.ghost-button{color:var(--text);background:#ffffffa3;border:1px solid #13202829}.ghost-button--link{padding-inline:1rem}.shell{grid-template-columns:320px 1fr;min-height:100vh;display:grid}.sidebar{color:#edf6f7;background:linear-gradient(#092b54fa,#081e3afa);grid-template-rows:auto 1fr auto;gap:1.25rem;padding:1.35rem;display:grid}.brand{background:#ffffff14;border-radius:24px;gap:.3rem;padding:1rem;display:grid}.brand--home{color:#fff7ef;background:linear-gradient(135deg,#eb8a23fa,#da6718f0);border:1px solid #ffffff24;place-items:center;min-height:56px;padding:1.15rem 1.2rem;transition:box-shadow .18s,transform .18s;box-shadow:0 18px 34px #eb8a2347}.brand--home strong{letter-spacing:.01em;text-align:center;font-size:1.05rem}.brand--home:hover{box-shadow:0 10px 18px #eb8a231a}.brand__eyebrow,.sidebar__label,.station-card__eyebrow,.item-row__code,.viewer-hint{color:#edf6f7b3;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700}.sidebar__nav,.page,.items-list,.spec-panel,.admin-list{gap:1rem;display:grid}.nav-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:22px;gap:.35rem;padding:1rem;display:grid}.nav-card--home{text-align:center;justify-content:center;align-items:center;min-height:56px;padding:1.15rem 1.2rem}.nav-card--active{background:#d37c342e;border-color:#d37c3473}.nav-card--sub{margin-left:.8rem}.nav-card__title{font-weight:800}.nav-card__meta{color:#edf6f7b8}.sidebar__footer,.item-row,.page-header,.viewer-panel__header,.admin-list__item,.admin-card__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.sidebar__footer{color:var(--text);background:#fffffff0;border-radius:24px;align-items:center;padding:1rem}.content{padding:2rem}.hero-card,.station-card,.item-row,.viewer-panel,.spec-panel,.info-chip,.admin-card{border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fafcfcd1}.hero-card,.viewer-panel,.spec-panel,.admin-card{border-radius:30px;padding:1.5rem}.hero-card h1,.page-header h1{margin-bottom:.6rem;font-size:clamp(2rem,2.8vw,3.1rem);line-height:1}.hero-card p,.page-copy,.station-card p,.item-row p,.spec-panel p{color:var(--muted)}.station-grid,.model-layout,.admin-grid,.stack-form--wide{gap:1rem;display:grid}.station-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.station-card{border-radius:28px;gap:.9rem;min-height:220px;padding:1.4rem;display:grid}.station-card--interactive{transition:box-shadow .18s,transform .18s}.station-card--interactive:hover{box-shadow:0 10px 18px #16335c14}.station-card--muted{opacity:.5}.station-card__eyebrow{color:var(--success)}.station-card__stats,.info-chip,.admin-list__actions{flex-wrap:wrap;gap:.7rem;display:flex}.station-card__stats span,.info-chip span,.info-chip strong{background:#1320280f;border-radius:999px;padding:.55rem .8rem;font-size:.95rem}.info-chip{padding:.75rem}.item-row{border-radius:24px;padding:1.25rem 1.35rem}.item-row__code{color:var(--accent)}.item-row h2{margin:.1rem 0 .35rem}.item-row__meta{text-align:right;min-width:180px;color:var(--muted);gap:.45rem;font-weight:700;display:grid}.model-layout{grid-template-columns:minmax(0,1.7fr) minmax(320px,.9fr)}.station-workspace{grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:1rem;display:grid}.hero-card--compact,.station-sidecard{border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fafcfcd1;border-radius:30px;padding:1.5rem}.hero-card--draft{max-width:780px}.viewer-panel{gap:1rem;display:grid}.viewer-hint{color:var(--muted)}.viewer-stage{background:linear-gradient(#edf3f5,#c5d4db);border-radius:24px;height:min(68vh,640px);position:relative;overflow:hidden}.viewer-status{color:var(--muted);font-weight:700}.viewer-status--inline{z-index:2;background:#ffffffd1;border:1px solid #13202814;border-radius:999px;padding:.55rem .8rem;position:absolute;top:1rem;left:1rem}.spec-panel__section{gap:.8rem;display:grid}.field-label{color:var(--muted);font-size:.92rem;font-weight:700}.spec-panel__section--accent{background:var(--accent-soft);border-radius:24px;padding:1rem}.spec-list{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.spec-list li{border-bottom:1px solid #13202814;flex-direction:column;gap:.2rem;padding-bottom:.8rem;display:flex}.spec-list li:last-child{border-bottom:0;padding-bottom:0}.spec-list span{color:var(--muted);font-size:.92rem}.inline-link{color:#8d4c17;font-weight:800}.admin-grid,.stack-form--wide{grid-template-columns:repeat(2,minmax(0,1fr))}.stack-form--wide textarea,.stack-form--wide .primary-button{grid-column:1/-1}.admin-list__item{background:#ffffffb8;border:1px solid #13202814;border-radius:20px;padding:1rem}@media (width<=1100px){.shell,.login-card,.station-grid,.station-workspace,.model-layout,.admin-grid,.stack-form--wide{grid-template-columns:1fr}.page-header,.viewer-panel__header,.item-row,.sidebar__footer,.admin-list__item,.admin-card__header{flex-direction:column;align-items:start}.item-row__meta{text-align:left;min-width:0}}@media (width<=720px){.login-page,.content{padding:1rem}.login-card,.hero-card,.viewer-panel,.spec-panel,.admin-card{border-radius:24px;padding:1.15rem}.sidebar{padding:1rem}.viewer-stage{height:360px}}
