/* minimal subset (same look as before) */
:root{--bg:#0b1020;--card:#141b34;--muted:#9aa3b2;--text:#f3f5f7;--accent:#6ea8fe;--danger:#ff6b6b;--border:#26304d;--input:#0f1530;--shadow:0 10px 30px rgba(0,0,0,.4)}
*{box-sizing:border-box}html,body{height:100%;margin:0}
body.bg{background:radial-gradient(1200px 600px at 10% -10%, #1a2344, transparent),radial-gradient(1000px 400px at 90% 10%, #2b1a4a, transparent),var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif}
.container{max-width:1100px;margin:0 auto;padding:24px}.center{display:grid;place-items:center;min-height:100vh}
.wrapper{max-width:1600px;margin:0 auto;padding:48px 24px}
.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:rgba(10,14,28,.8);backdrop-filter:blur(6px);border-bottom:1px solid var(--border)}
.footer{padding:24px;text-align:center;border-top:1px solid var(--border);background:rgba(10,14,28,.5)}
.card{background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}
.login-card{width:min(440px,92vw);padding:28px}
.chart-card{display:grid;grid-template-columns:1.8fr 1fr;gap:18px;padding:18px}
.grid{display:grid;gap:22px;grid-template-columns:1fr}
@media (max-width:980px){.chart-card{grid-template-columns:1fr}}
.inst-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;margin-top:18px}
.inst-card{display:flex;flex-direction:column;gap:6px;padding:18px 16px;border:1px solid var(--border);border-radius:14px;text-decoration:none;color:var(--text);background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));box-shadow:var(--shadow);transition:transform .2s ease,border-color .2s ease}
.inst-card:hover{transform:translateY(-2px);border-color:#3a4d82}
.inst-name{font-weight:700;font-size:18px}.inst-sub{color:var(--muted);font-size:13px}
.brand{font-weight:800;letter-spacing:.4px}.brand.small{font-size:18px}.brand{font-size:24px}
h1{margin:0 0 12px;font-size:28px}h3{margin:6px 0 8px}.muted{color:var(--muted)}
.form{display:grid;gap:12px;margin-top:12px}label{display:grid;gap:6px}
input,textarea{background:var(--input);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:12px;outline:none}
input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(110,168,254,.2)}
textarea{width:100%;resize:vertical;min-height:160px}
.btn{appearance:none;border:1px solid var(--border);background:#1a2448;color:var(--text);padding:10px 14px;border-radius:12px;cursor:pointer;transition:all .2s ease}
.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(90deg,#5661ff,#8a5dff);border-color:transparent}
.btn.danger{background:linear-gradient(90deg,#ff5d87,#ff6b6b);border-color:transparent}.btn.ghost{background:transparent}
.chart-img{width:100%;height:auto;border-radius:12px;border:1px solid var(--border);cursor:zoom-in}
.chart-img-wrap{position:relative}.chart-img-hint{position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.45);padding:6px 8px;border-radius:10px;font-size:12px;color:#fff;border:1px solid rgba(255,255,255,.15)}
.notes{display:flex;flex-direction:column}.note-actions{display:flex;gap:8px;margin-top:8px}
code{background:#0f1530;color:#e3e8f1;padding:2px 6px;border-radius:6px;border:1px solid var(--border)}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;z-index:1000}
.lightbox.open{display:flex}.lb-inner{width:94vw;height:90vh;background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;overflow:hidden}
.lb-toolbar{display:flex;gap:8px;justify-content:flex-end;align-items:center;padding:10px;background:rgba(10,14,28,.8);border-bottom:1px solid var(--border)}
.lb-canvas{position:relative;flex:1;overflow:auto;background:#0b0f1f}.lb-img{display:block;max-width:none;height:auto;image-rendering:auto}
.lb-title{margin-right:auto;color:var(--muted);font-size:14px;padding-left:6px}.lb-btn{border:1px solid var(--border);background:#1a2448;color:var(--text);padding:8px 10px;border-radius:10px;cursor:pointer}
.lb-btn:hover{transform:translateY(-1px)}.lb-close{background:linear-gradient(90deg,#ff5d87,#ff6b6b);border-color:transparent}
