:root{--bg:#f5f5f7;--panel:#fff;--text:#151517;--muted:#73737b;--line:#e7e7eb;--accent:#111;--green:#178b4b;--amber:#b86d00;--red:#c53532;--blue:#2563eb;--purple:#7c3aed;--shadow:0 8px 30px rgba(0,0,0,.055);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:#0f0f10;color:#fff;padding:24px 16px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 25px}.brand strong{display:block;font-size:15px}.brand span{display:block;font-size:11px;color:#929299;margin-top:3px}.brand-mark{width:48px;height:48px;border-radius:15px;background:#fff;color:#111;display:grid;place-items:center;font-size:24px;font-weight:800;box-shadow:var(--shadow)}.brand-mark.small{width:36px;height:36px;border-radius:11px;font-size:18px}.nav{display:grid;gap:5px}.nav button,.nav a{width:100%;border:0;background:transparent;color:#a8a8af;border-radius:11px;padding:11px 12px;text-align:left;cursor:pointer;display:grid;grid-template-columns:23px 1fr auto;align-items:center;gap:7px;text-decoration:none;font-size:13px}.nav button:hover,.nav button.active,.nav a:hover{background:#232326;color:#fff}.nav button b{font-size:10px;color:#7e7e86;background:#313136;padding:3px 7px;border-radius:999px}.sidebar-footer{margin-top:auto;border-top:1px solid #29292d;padding:16px 8px 0;display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebar-footer span{font-size:11px;color:#8e8e96;overflow:hidden;text-overflow:ellipsis}.sidebar-footer form{margin:0}.sidebar-footer button{border:0;background:none;color:#ccc;cursor:pointer;font-size:12px}.main{min-width:0}.topbar{height:115px;padding:27px 36px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(0,0,0,.05);background:rgba(245,245,247,.88);backdrop-filter:blur(16px);position:sticky;top:0;z-index:10}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:700;color:#8c8c94;margin:0 0 7px}.topbar h1{font-size:29px;letter-spacing:-.035em;margin:0}.top-actions{display:flex;align-items:center;gap:10px}.sync-indicator{font-size:11px;color:#777}.button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 13px;font-weight:600;font-size:12px;cursor:pointer;transition:.16s}.button:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.06)}.button.primary{background:#111;color:#fff;border-color:#111}.button.subtle{background:rgba(255,255,255,.7)}.button.danger{color:var(--red)}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.content{padding:28px 36px 60px;max-width:1540px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin-bottom:24px}.metric{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:var(--shadow)}.metric .label{font-size:11px;color:var(--muted)}.metric strong{display:block;font-size:27px;margin-top:6px;letter-spacing:-.04em}.metric small{display:block;color:#999;margin-top:3px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:26px 0 12px}.section-head h2{font-size:18px;letter-spacing:-.02em;margin:0}.section-head p{font-size:12px;color:var(--muted);margin:4px 0 0}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.search{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px;width:min(320px,44vw);outline:none}.search:focus{border-color:#aaa}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:12px}.card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;box-shadow:0 4px 18px rgba(0,0,0,.035);min-width:0}.card.new{border-color:#b9d1ff;box-shadow:0 0 0 2px #eff5ff}.card-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.card h3{margin:0;font-size:15px;line-height:1.28;overflow-wrap:anywhere}.card .desc{font-size:12px;color:#686872;line-height:1.5;min-height:36px;margin:9px 0 13px}.meta{display:flex;flex-wrap:wrap;gap:5px}.badge{font-size:9px;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:4px 7px;background:#f1f1f3;color:#62626a;font-weight:700}.badge.green{background:#e9f7ef;color:var(--green)}.badge.amber{background:#fff3df;color:var(--amber)}.badge.red{background:#ffeded;color:var(--red)}.badge.blue{background:#edf3ff;color:var(--blue)}.badge.purple{background:#f2edff;color:var(--purple)}.card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid #f0f0f2}.card-actions a,.link{font-size:11px;color:#333;text-decoration:none;font-weight:600}.card-actions .button{padding:7px 9px;font-size:10px}.project-group{margin-bottom:23px}.project-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px;padding:0 2px}.project-title h3{font-size:14px;margin:0}.published-row{display:grid;grid-template-columns:minmax(210px,1.2fr) 110px 115px minmax(240px,1.5fr) 100px;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);padding:12px 14px;border-radius:11px;margin-bottom:6px}.published-row strong{font-size:12px}.published-row span,.published-row a{font-size:10px;color:#73737c;text-decoration:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#aaa;margin-right:5px}.status-dot.ok{background:#24a55a}.empty{padding:40px;text-align:center;background:#fff;border:1px dashed #d9d9de;border-radius:15px;color:#888}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:12px}.settings-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px}.settings-card h3{margin:0 0 3px;font-size:15px}.settings-card>p{margin:0 0 15px;font-size:11px;color:#777;line-height:1.45}.field-grid{display:grid;gap:9px}.field-grid label{font-size:10px;color:#686870;font-weight:700}.field-grid input,.field-grid textarea,.field-grid select{display:block;width:100%;margin-top:5px;border:1px solid #dfdfe3;border-radius:9px;padding:9px 10px;background:#fafafa;outline:none;font-size:11px}.field-grid textarea{min-height:70px;resize:vertical}.settings-actions{display:flex;gap:8px;margin-top:12px}.health{font-size:9px;border-radius:999px;padding:4px 7px;font-weight:700}.health.healthy{background:#eaf8f0;color:var(--green)}.health.error{background:#ffeded;color:var(--red)}.health.configured{background:#edf3ff;color:var(--blue)}.health.unconfigured{background:#f1f1f3;color:#888}.plan{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;margin-bottom:8px;display:grid;grid-template-columns:1fr auto;gap:12px}.plan h3{font-size:13px;margin:0 0 5px}.plan p{font-size:10px;color:#777;margin:0}.plan .urls{margin-top:7px;display:flex;gap:10px;flex-wrap:wrap}.plan .urls a{font-size:10px}.loading{padding:50px;text-align:center;color:#888}.login-body{min-height:100vh;background:#0d0d0f}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(430px,100%);background:#f8f8fa;border-radius:22px;padding:36px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.login-card h1{font-size:31px;letter-spacing:-.045em;margin:20px 0 8px}.muted{color:#707078;line-height:1.5;font-size:13px}.login-form{display:grid;gap:12px;margin-top:24px}.login-form label{font-size:11px;font-weight:700}.login-form input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #dddde2;border-radius:10px;background:#fff}.login-form .button{display:flex;justify-content:space-between;padding:12px 14px;margin-top:3px}.tiny{font-size:9px;color:#aaa;margin:20px 0 0}.alert{border-radius:9px;padding:10px 12px;font-size:11px;margin-top:15px}.alert.error{background:#ffebeb;color:#a11}.notice{padding:13px 15px;border-radius:11px;background:#edf3ff;color:#345ca8;font-size:11px;margin:14px 0}.password-back{margin:14px 0 0}.password-back a{font-size:11px;color:#555;text-decoration:none;font-weight:600}.code-box{background:#111;color:#d9f7d9;border-radius:11px;padding:12px;font:10px ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.two-col{display:grid;grid-template-columns:1.25fr .75fr;gap:12px}#toast-root{position:fixed;right:20px;bottom:20px;display:grid;gap:8px;z-index:100}.toast{background:#111;color:#fff;padding:11px 14px;border-radius:10px;font-size:11px;box-shadow:0 8px 30px rgba(0,0,0,.25);max-width:380px}.toast.error{background:#9d2d2b}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative;padding:14px}.brand{padding-bottom:12px}.nav{grid-template-columns:repeat(6,1fr);overflow:auto}.nav button,.nav a{display:block;text-align:center;white-space:nowrap;padding:9px;font-size:10px}.nav button span,.nav button b,.nav a span{display:none}.sidebar-footer{display:none}.topbar{height:auto;padding:20px;position:sticky}.content{padding:20px}.summary-grid{grid-template-columns:repeat(2,1fr)}.published-row{grid-template-columns:1fr 80px}.published-row>*:nth-child(n+3){display:none}.two-col{grid-template-columns:1fr}}@media(max-width:520px){.summary-grid{grid-template-columns:1fr}.top-actions .sync-indicator{display:none}.cards{grid-template-columns:1fr}.login-card{padding:26px}}