:root{color:#17211f;background:#f6f7f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #f6f7f5;--panel: #ffffff;--panel-muted: #f1f5f3;--ink: #17211f;--muted: #62706a;--line: #d9e0dc;--accent: #19795c;--accent-strong: #105b45;--blue: #2d65a3;--warning: #a66a1f;--danger: #aa3f39;--shadow: 0 18px 50px rgba(23, 33, 31, .1)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{margin:0;min-width:320px;height:100dvh;background:linear-gradient(180deg,#ffffffc7,#f6f7f500),var(--bg)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{display:grid;grid-template-rows:68px minmax(0,1fr);height:100dvh;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 22px;border-bottom:1px solid var(--line);background:#ffffffe6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar h1,.panel-header h2,.login-panel h1{margin:0;letter-spacing:0}.topbar h1{font-size:20px}.eyebrow{margin:0 0 3px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase}.topbar-actions,.project-toolbar,.dialog-actions{display:flex;align-items:center;gap:8px}.admin-workspace{display:grid;grid-template-columns:minmax(320px,430px) minmax(0,1fr);gap:0;min-height:0;overflow:hidden}.panel,.project-panel{min-height:0;background:var(--panel)}.project-panel{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);border-right:1px solid var(--line)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px 12px}.panel-header h2{font-size:18px}.search-row{display:grid;grid-template-columns:18px 1fr;align-items:center;gap:8px;margin:0 14px 12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#f9faf8;color:var(--muted)}.search-row input{width:100%;border:0;outline:0;background:transparent;color:var(--ink)}.project-toolbar{flex-wrap:wrap;padding:0 14px 12px;color:var(--muted);font-size:13px;font-weight:700}.tool-button,.primary-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font-weight:700}.tool-button,.primary-button{padding:0 13px}.tool-button.active,.icon-button.active{border-color:#19795c59;background:#e7f2ec;color:var(--accent-strong)}.icon-button{width:38px;padding:0}.primary-button{border-color:var(--accent);background:var(--accent);color:#fff}.project-list{display:grid;align-content:start;gap:8px;min-height:0;overflow:auto;padding:0 10px 16px}.list-empty{display:grid;min-height:86px;place-items:center;color:var(--muted);font-size:13px;font-weight:700}.project-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:74px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.project-card.hidden{background:#f5f6f4;color:var(--muted)}.project-card-main{display:grid;gap:5px;min-width:0}.project-card-main strong,.project-card-main small,.project-card-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card-main strong{font-size:15px}.project-card-main small{color:var(--muted);font-size:12px}.project-card-meta{display:grid;justify-items:end;gap:5px;min-width:76px;color:var(--muted);font-size:12px;font-weight:700}.mini-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--muted)}.mini-icon:hover{background:var(--panel-muted);color:var(--accent)}.admin-main{display:grid;align-content:start;gap:16px;min-height:0;overflow:auto;padding:22px}.status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.status-card,.command-panel{border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 8px 28px #17211f0d}.status-card{display:grid;gap:14px;padding:18px}.status-card.ok{border-color:#19795c59}.status-card.pending{border-color:#a66a1f61}.status-card.warn{border-color:#aa3f3959}.status-card-head{display:flex;align-items:center;gap:11px}.status-card-head>span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;background:var(--panel-muted);color:var(--accent)}.status-card-head div{display:grid;gap:2px;min-width:0}.status-card-head small{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.status-card-head strong{overflow:hidden;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.status-card-body{display:grid;gap:8px}.status-row{display:grid;grid-template-columns:minmax(88px,.38fr) minmax(0,1fr);gap:12px;align-items:center;min-height:30px;color:var(--muted);font-size:13px}.status-row strong{overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.status-warning,.error-banner,.success-banner{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:700}.status-warning,.error-banner{border:1px solid rgba(170,63,57,.25);background:#fff0ef;color:var(--danger)}.success-banner{border:1px solid rgba(25,121,92,.25);background:#ebf6ef;color:var(--accent-strong)}.command-panel{padding-bottom:18px}.command-list{display:grid;gap:8px;padding:0 18px}.command-step{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(0,1fr);align-items:center;gap:12px;min-height:42px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfb;color:var(--muted)}.command-step code{overflow:hidden;color:var(--blue);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.status-pill{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:13px;font-weight:800}.status-pill.ok{border-color:#19795c4d;color:var(--accent)}.status-pill.pending{border-color:#a66a1f59;color:var(--warning)}.status-pill.warn{border-color:#aa3f3959;color:var(--danger)}.login-screen,.center-screen{display:grid;place-items:center;min-height:100dvh;padding:24px;background:var(--bg)}.login-panel{display:grid;gap:14px;width:min(420px,100%);padding:26px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.login-panel label,.dialog-panel label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:800}.login-panel input,.dialog-panel input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;padding:0 11px;color:var(--ink);outline:0}.login-panel input:focus,.dialog-panel input:focus{border-color:#19795c8c;box-shadow:0 0 0 3px #19795c1f}.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:18px;background:#17211f6b;z-index:20}.dialog-panel{display:grid;gap:14px;width:min(460px,100%);padding:22px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.dialog-panel h2{margin:0;font-size:18px}.dialog-actions{justify-content:flex-end}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:980px){.app-shell{grid-template-rows:auto minmax(0,1fr)}.topbar{align-items:flex-start;flex-wrap:wrap;padding:12px 14px}.admin-workspace{grid-template-columns:1fr;grid-template-rows:minmax(240px,42dvh) minmax(0,1fr)}.project-panel{border-right:0;border-bottom:1px solid var(--line)}.admin-main{padding:14px}.status-grid{grid-template-columns:1fr}.command-step{grid-template-columns:1fr;gap:4px}}
