:root{
  --bg:#041026;--bg2:#071933;--panel:#0b1b35;--panel2:#0e2445;--line:#1b3d66;
  --text:#f7fbff;--muted:#96acc7;--primary:#08bff7;--primary2:#1469ff;--cyan:#2de1ff;
  --ok:#34d399;--warn:#f6c453;--danger:#ff6b7c;--shadow:0 22px 60px rgba(0,8,24,.42);
  --radius:18px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 85% -10%,rgba(0,174,255,.10),transparent 33%),linear-gradient(180deg,#031024 0%,#06152a 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}a{color:inherit;text-decoration:none}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 15% 8%,rgba(0,194,255,.18),transparent 34%),radial-gradient(circle at 88% 18%,rgba(20,105,255,.18),transparent 32%),linear-gradient(180deg,#031026,#07172f)}
.login-card{width:min(460px,100%);background:rgba(16,29,48,.92);border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow);border-radius:24px;padding:24px;backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#06142b;border:2px solid rgba(45,225,255,.7);box-shadow:0 0 0 5px rgba(8,191,247,.08),0 14px 34px rgba(0,157,255,.28)}.brand-copy b{display:block;font-size:18px;letter-spacing:.1px}.brand-mark img{width:100%;height:100%;display:block;object-fit:cover;transform:scale(1.02)}.brand-copy span{color:var(--muted);font-size:12px}.login-card h1{font-size:30px;margin:24px 0 7px;letter-spacing:-.8px}.login-card p{margin:0 0 22px;color:var(--muted);line-height:1.55}
.label{display:block;margin:13px 0 7px;color:#d8e2ef;font-size:13px;font-weight:700}.field,.select,.area{width:100%;border:1px solid var(--line);border-radius:12px;background:#0a1626;color:var(--text);padding:12px 13px;outline:none;transition:.2s}.field:focus,.select:focus,.area:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(8,191,247,.13)}.area{min-height:100px;resize:vertical}.helper{color:var(--muted);font-size:12px;line-height:1.45;margin-top:6px}
.btn{border:0;border-radius:12px;padding:11px 14px;font-weight:800;color:white;background:#22344f;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s;min-height:42px}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,var(--primary),var(--primary2));box-shadow:0 10px 26px rgba(8,191,247,.22)}.btn.ghost{background:transparent;border:1px solid var(--line);color:#dce6f4}.btn.ok{background:#173f35;color:#87f3ca;border:1px solid #265f50}.btn.warn{background:#433619;color:#ffd97e;border:1px solid #6c5420}.btn.danger{background:#4a2229;color:#ffb7bd;border:1px solid #71333d}.btn.small{padding:8px 10px;min-height:34px;font-size:12px}.btn.block{width:100%}
.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;border-right:1px solid rgba(45,225,255,.10);background:linear-gradient(180deg,#041126,#06172e);display:flex;flex-direction:column;z-index:20}.sidebar .brand{padding:4px 8px 18px}.nav{display:grid;gap:7px}.nav-btn{width:100%;border:0;background:transparent;color:#a9b9ce;border-radius:12px;text-align:left;padding:11px 12px;font-weight:750;display:flex;align-items:center;justify-content:space-between}.nav-btn:hover{background:#0d1b2d;color:#fff}.nav-btn.active{background:linear-gradient(135deg,rgba(8,191,247,.18),rgba(20,105,255,.16));color:#fff;border:1px solid rgba(45,225,255,.22)}.nav-badge{font-size:11px;background:#172943;border:1px solid #263d5e;padding:2px 7px;border-radius:999px;color:#c7d7eb}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.06);padding-top:14px}.user-box{padding:10px;border-radius:12px;background:#0b1829}.user-box b{display:block;font-size:12px}.user-box span{font-size:11px;color:var(--muted);word-break:break-all}
.main{min-width:0}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid rgba(45,225,255,.09);position:sticky;top:0;background:rgba(4,16,38,.88);backdrop-filter:blur(16px);z-index:15}.top-title b{display:block;font-size:16px}.top-title span{font-size:12px;color:var(--muted)}.top-actions{display:flex;gap:8px;align-items:center}.menu-toggle{display:none}.content{padding:22px 24px 46px;max-width:1480px;margin:0 auto}.page{display:none}.page.active{display:block}.page-head{display:flex;gap:18px;justify-content:space-between;align-items:flex-end;margin-bottom:18px}.page-head h1{font-size:28px;letter-spacing:-.7px;margin:0}.page-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}
.hero{border-radius:22px;padding:22px;background:linear-gradient(135deg,rgba(8,191,247,.16),rgba(20,105,255,.14) 50%,rgba(45,225,255,.07));border:1px solid rgba(45,225,255,.20);display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-90px;top:-110px;background:radial-gradient(circle,rgba(8,191,247,.22),transparent 68%)}.hero h2{margin:0 0 6px;font-size:21px}.hero p{margin:0;color:#b9c8da;max-width:760px;font-size:13px;line-height:1.55}.hero .health-circle{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;border:7px solid rgba(255,255,255,.08);background:#0b1828;font-size:20px;font-weight:900;z-index:1}
.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.stat{background:linear-gradient(180deg,var(--panel),#0d1a2c);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:15px;box-shadow:0 12px 24px rgba(0,0,0,.12)}.stat span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.7px;font-weight:800}.stat strong{display:block;font-size:24px;margin-top:7px;letter-spacing:-.6px}.stat small{display:block;margin-top:5px;color:#90a4bd;font-size:11px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.panel{background:linear-gradient(180deg,var(--panel),#0d1a2c);border:1px solid rgba(255,255,255,.07);border-radius:18px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid rgba(255,255,255,.06)}.panel-head h2{font-size:15px;margin:0}.panel-head small{color:var(--muted)}.panel-body{padding:15px 17px}.list{display:grid;gap:10px}.list-item{border:1px solid var(--line);border-radius:14px;background:#0a1727;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.list-item .main-copy{min-width:0}.list-item b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-item span{display:block;margin-top:3px;color:var(--muted);font-size:11px}.empty{padding:26px 12px;text-align:center;color:var(--muted);font-size:13px}
.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.toolbar .search{flex:1;min-width:180px}.table-wrap{overflow:auto;border:1px solid rgba(255,255,255,.07);border-radius:16px}.table{width:100%;border-collapse:collapse;min-width:850px;background:#0d192a}.table th,.table td{padding:12px 13px;border-bottom:1px solid rgba(255,255,255,.06);text-align:left;font-size:12px;vertical-align:middle}.table th{color:#9fb0c7;font-size:10px;text-transform:uppercase;letter-spacing:.7px;background:#0a1626;position:sticky;top:0}.table tr:hover td{background:rgba(255,255,255,.018)}.table td b{font-size:12px}.table td small{display:block;color:var(--muted);margin-top:3px}.row-actions{display:flex;gap:6px;justify-content:flex-end}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;border:1px solid #2b405e;background:#13243a;color:#d4e0ee;font-size:10px;font-weight:850;white-space:nowrap}.badge.ok{background:#12352d;border-color:#225645;color:#7ee7bd}.badge.attention,.badge.warn{background:#3b3018;border-color:#665021;color:#ffd36f}.badge.critical,.badge.danger{background:#3c2026;border-color:#65303a;color:#ff9da7}.badge.never{background:#252c38;border-color:#3b4657;color:#aebccc}.badge.blue{background:#162b4b;border-color:#284b79;color:#9fc2ff}.badge.purple{background:#2a2149;border-color:#493b78;color:#c2b4ff}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.project-card{background:linear-gradient(180deg,#101e31,#0b1728);border:1px solid rgba(255,255,255,.08);border-radius:17px;padding:15px;position:relative}.project-top{display:flex;justify-content:space-between;gap:10px}.project-icon{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#0a3d68,#0d66b7);display:grid;place-items:center;font-weight:900;color:#dbe9ff}.project-card h3{margin:12px 0 4px;font-size:15px}.project-card p{margin:0;color:var(--muted);font-size:11px}.project-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.meta-box{padding:9px;border-radius:11px;background:#0a1626;border:1px solid rgba(255,255,255,.05)}.meta-box span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.5px}.meta-box b{display:block;margin-top:4px;font-size:11px}.project-actions{display:flex;gap:7px;margin-top:12px;flex-wrap:wrap}
.health-card{background:#0c192a;border:1px solid rgba(255,255,255,.07);border-radius:15px;padding:14px}.health-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.health-head h3{font-size:13px;margin:0}.score{font-weight:900;font-size:18px}.health-details{display:grid;gap:7px;margin-top:11px}.check{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:8px 9px;background:#091523;border-radius:10px;border:1px solid rgba(255,255,255,.05)}.check b{font-size:11px}.check span{font-size:10px;color:var(--muted);text-align:right;max-width:58%}.due{color:#ffd36f}.overdue{color:#ff9da7}
.overlay{position:fixed;inset:0;background:rgba(1,8,16,.74);display:none;align-items:flex-end;justify-content:center;padding:14px;z-index:50;backdrop-filter:blur(7px)}.overlay.show{display:flex}.modal{width:min(680px,100%);max-height:92vh;overflow:auto;background:#0e1b2e;border:1px solid rgba(255,255,255,.1);border-radius:22px 22px 16px 16px;box-shadow:var(--shadow)}.modal-top{position:sticky;top:0;background:#0e1b2e;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;padding:15px 17px;z-index:2}.modal-top h2{font-size:16px;margin:0}.modal-body{padding:16px 17px 20px}.close{width:36px;height:36px;border:0;border-radius:10px;background:#18283e;color:white;font-size:21px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;flex-wrap:wrap}.divider{height:1px;background:rgba(255,255,255,.06);margin:16px 0}.section-title{font-size:11px;text-transform:uppercase;letter-spacing:.75px;color:#8095ae;font-weight:900;margin:8px 0 10px}
.toast-host{position:fixed;right:16px;bottom:16px;z-index:100;display:grid;gap:8px;width:min(360px,calc(100% - 32px))}.toast{transform:translateY(10px);opacity:0;transition:.2s;background:#13243a;color:#e9f0f9;border:1px solid #2b405e;border-radius:13px;padding:12px 14px;box-shadow:var(--shadow);font-size:12px;font-weight:700}.toast.show{transform:translateY(0);opacity:1}.toast.error{background:#3a2026;border-color:#6b333d;color:#ffbdc3}.toast.warn{background:#3b3018;border-color:#6a5221;color:#ffe08a}
.loading{opacity:.55;pointer-events:none}.footer{padding:22px 4px 0;color:#667d98;font-size:11px;text-align:center}.mobile-nav{display:none}
@media(max-width:1080px){.stats{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-270px;width:250px;transition:.22s;box-shadow:20px 0 60px rgba(0,0,0,.35)}.sidebar.open{left:0}.menu-toggle{display:inline-flex}.content{padding:16px 14px 80px}.topbar{height:62px;padding:0 14px}.top-actions .desktop-only{display:none}.grid2{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.hero{align-items:flex-start}.hero .health-circle{display:none}.modal{border-radius:20px}.form-grid{grid-template-columns:1fr}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);bottom:0;left:0;right:0;background:rgba(4,16,38,.97);backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.07);z-index:30;padding:7px max(7px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left))}.mobile-nav button{border:0;background:transparent;color:#8da1ba;font-size:10px;font-weight:800;padding:7px 3px}.mobile-nav button.active{color:#fff}.mobile-nav b{display:block;font-size:16px;margin-bottom:2px}}
@media(max-width:480px){.stats{grid-template-columns:1fr 1fr}.stat strong{font-size:20px}.hero{padding:17px}.page-head h1{font-size:24px}.top-title span{display:none}.btn{font-size:12px}.panel-head{padding:13px}.panel-body{padding:13px}}

/* JCR Studio v1.1 visual identity */
.login-card{border-color:rgba(45,225,255,.14);background:linear-gradient(180deg,rgba(10,28,54,.95),rgba(6,20,42,.96));}
.login-card:before{content:"";display:block;height:2px;border-radius:99px;background:linear-gradient(90deg,transparent,var(--cyan),var(--primary2),transparent);margin:-8px 0 20px;opacity:.8}
.brand-copy span{letter-spacing:.5px;text-transform:uppercase;font-size:10px}
.hero{box-shadow:inset 0 1px rgba(255,255,255,.04),0 16px 40px rgba(0,14,38,.22)}
.stat,.panel,.project-card{box-shadow:inset 0 1px rgba(255,255,255,.025),0 12px 26px rgba(0,8,24,.14)}
.nav-btn.active:before{content:"";width:3px;height:20px;border-radius:99px;background:linear-gradient(180deg,var(--cyan),var(--primary2));margin-right:8px}
.nav-btn.active{justify-content:flex-start}.nav-btn.active .nav-badge{margin-left:auto}
.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(45,225,255,.34),transparent)}
.footer{letter-spacing:.25px}
@media(max-width:820px){.brand-mark{width:48px;height:48px}.sidebar .brand{padding-bottom:14px}}
