.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 18% 20%,rgba(0,153,216,.16),transparent 28%),radial-gradient(circle at 82% 15%,rgba(15,77,150,.12),transparent 30%),linear-gradient(135deg,#f8fcff,#e8f5fb)}.login-card{width:min(480px,100%);border:1px solid rgba(25,110,166,.14);background:#ffffffe0;box-shadow:0 28px 70px #19486829;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:30px;padding:34px;display:grid;gap:20px}.login-logo{width:220px;max-width:100%;height:auto;justify-self:center}.login-card h1{margin:0;color:#0c2f4f;font-size:clamp(2rem,7vw,2.8rem);line-height:1}.login-card p{color:#12344fad;line-height:1.6;margin:12px 0 0}.login-form{display:grid;gap:12px}.login-form input{width:100%;border:1px solid rgba(25,110,166,.16);background:#fffffff0;color:#12344f;border-radius:16px;padding:14px 16px;outline:none}.login-form input:focus{border-color:#0099d8b8;box-shadow:0 0 0 3px #0099d81f}.login-form button,.oauth-button,.profile-card button{border:0;border-radius:999px;cursor:pointer;font-weight:800;transition:transform .16s ease,opacity .16s ease}.login-form button{background:linear-gradient(135deg,#0099d8,#0f4d96);color:#fff;padding:14px 18px}.oauth-button{background:#0f4d961a;color:#0f4d96;padding:13px 18px}.login-form button:hover,.oauth-button:hover,.profile-card button:hover{opacity:.9;transform:translateY(-1px)}.login-form button:disabled{cursor:wait;opacity:.7}.login-note{font-size:.9rem}.shell{min-height:100vh;display:grid;grid-template-columns:340px minmax(0,1fr)}.sidebar{border-right:1px solid rgba(28,92,132,.12);padding:28px;background:#ffffffc7;box-shadow:18px 0 48px #19486814;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;flex-direction:column;justify-content:space-between;gap:32px}.brand-logo{width:min(210px,100%);height:auto;display:block;margin:0 auto 22px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:#0b7ec3;margin:0 0 8px}.sidebar h1,.hero h2,.panel h3{margin:0}.sidebar h1{font-size:1.72rem;line-height:1.08;text-align:center;white-space:nowrap}.sidebar .muted{text-align:center}.muted{color:#12344fad;line-height:1.6}.menu{display:grid;gap:10px}.menu button{border:0;background:#e8f4fbd9;color:#163a57;padding:14px 16px;border-radius:16px;text-align:left;transition:.18s ease}.menu button:hover,.menu button.active{background:linear-gradient(135deg,#0099d8,#0f4d96);color:#fff;box-shadow:0 14px 28px #125f9838}.profile-card,.hero-panel,.stat-card,.panel,.warning,.success{border:1px solid rgba(25,110,166,.13);background:#ffffffd1;box-shadow:0 18px 50px #255b8417;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:24px}.profile-card{display:flex;align-items:center;gap:12px;padding:16px}.profile-card>div{min-width:0;flex:1}.profile-card button{background:#0f4d961a;color:#0f4d96;padding:8px 12px}.profile-card p{margin:4px 0 0;color:#12344fa3}.dot{width:12px;height:12px;border-radius:999px;background:#2abf72;box-shadow:0 0 18px #2abf7273}.content{padding:40px 28px 18px;display:grid;gap:12px;min-width:0;align-content:start}.hero{width:100%;max-width:976px;margin-bottom:0}.hero h2{font-size:clamp(2.3rem,4vw,3.55rem);line-height:.98;color:#0c2f4f;max-width:none;white-space:nowrap;margin-top:0}.hero p{color:#12344fbd;line-height:1.7;max-width:740px;margin:12px 0 0}.hero-panel{padding:24px;display:grid;align-content:end;gap:10px;background:linear-gradient(160deg,#ffffffe6,#e3f4fccc),radial-gradient(circle at top right,rgba(20,139,202,.22),transparent 32%)}.hero-panel p,.hero-panel span{margin:0}.hero-panel strong{font-size:1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;width:100%;max-width:976px}.stat-card{padding:22px}.stat-card span{display:block;color:#12344f9e;margin-bottom:12px}.stat-card strong{font-size:2.2rem;color:#0f4d96}.stat-card.attention{border-color:#0099d86b}.grid.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%;max-width:976px}.module-stack{display:grid;gap:18px;width:100%;max-width:976px}.module-stack>.panel .table-like{grid-template-columns:1fr}.module-stack>.panel .row{align-items:center;min-height:auto}.panel{padding:22px}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.panel.is-collapsed .panel-header{margin-bottom:0}.panel.is-collapsed{min-height:0;padding:18px 22px}.panel-header span{color:#12344f94}.panel-header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.table-like,.stack,.timeline{display:grid;gap:12px}.row,.timeline-item{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;border-radius:18px;background:#ebf7fdb3}.row p,.row strong,.timeline-item p,.timeline-item strong,.timeline-item span{margin:0}.row p,.timeline-item p,.timeline-item span{color:#12344f9e}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#0099d81f;color:#0f4d96;margin-bottom:8px}.badge.attention{background:#d65e361f;color:#a94624}.meter-row{display:grid;gap:8px}.meter-label{display:flex;justify-content:space-between;gap:16px}.meter{height:12px;border-radius:999px;background:#0f4d961a;overflow:hidden}.meter div{height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f9bd7,#0f4d96)}.timeline-item{justify-content:flex-start}.timeline-marker{width:12px;height:12px;flex:none;border-radius:999px;background:#0f9bd7;box-shadow:0 0 14px #0f9bd773;margin-top:6px}.warning,.success{padding:16px 18px}.warning{color:#a94624;border-color:#d65e3666}.success{color:#167345;border-color:#5cd87e73}.form-grid{display:grid;gap:12px}.form-grid input,.form-grid select{width:100%;border:1px solid rgba(25,110,166,.16);background:#ffffffeb;color:#12344f;border-radius:14px;padding:13px 14px;outline:none}.form-grid input:focus,.form-grid select:focus{border-color:#0099d8b8;box-shadow:0 0 0 3px #0099d81f}.form-grid button,.row-actions button,.panel-header button{border:0;border-radius:999px;background:#0f4d96;color:#fff;cursor:pointer;font-weight:700;padding:10px 14px;transition:transform .16s ease,opacity .16s ease}.panel-toggle{width:48px;height:42px;padding:0!important;position:relative;background:linear-gradient(145deg,#fffffff2,#b1def8eb 42%,#0f72b8 43%,#0f4d96)!important;border:1px solid rgba(15,77,150,.22)!important;box-shadow:inset 0 2px 2px #ffffffe0,0 8px 18px #0f4d963d}.panel-toggle:before{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;border-right:4px solid #ffffff;border-bottom:4px solid #ffffff;filter:drop-shadow(0 2px 1px rgba(6,48,86,.45));transform:translate(-50%,-65%) rotate(45deg)}.panel:not(.is-collapsed) .panel-toggle:before{transform:translate(-50%,-35%) rotate(225deg)}.form-grid button:hover,.row-actions button:hover,.panel-header button:hover{opacity:.9;transform:translateY(-1px)}.row-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:nowrap;gap:8px;min-width:max-content}.row-actions .badge{margin-bottom:0}.row-actions button{background:#0f4d961a;color:#0f4d96;font-weight:600}.row-link{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border-radius:999px;background:#0f4d961a;color:#0f4d96;font-size:.92rem;font-weight:700;text-decoration:none}.inline-select{border:1px solid rgba(25,110,166,.16);background:#ffffffe6;color:#12344f;border-radius:999px;padding:10px 12px;min-width:190px;outline:none}.inline-select:focus{border-color:#0099d8b8;box-shadow:0 0 0 3px #0099d81f}.row-actions button.danger-action{color:#b3261e}.row-actions button.icon-delete{width:38px;height:38px;padding:0;display:inline-grid;place-items:center;background:#b3261e1f;color:#b3261e;font-size:1.25rem;font-weight:900;line-height:1}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;border:1px solid rgba(25,110,166,.12);border-radius:16px;background:#ebf7fd9e}.permission-grid label{display:flex;align-items:center;gap:8px;color:#12344f;font-weight:600}.permission-grid input{width:auto;accent-color:#0f4d96}@media(max-width:1100px){.shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:10;border-right:0;border-bottom:1px solid rgba(28,92,132,.12);padding:18px 22px;gap:18px}.brand-logo{width:180px;margin-bottom:12px}.sidebar h1{font-size:1.45rem;white-space:normal}.sidebar .muted,.profile-card{display:none}.menu{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.menu button{flex:0 0 auto;padding:11px 14px;border-radius:999px;white-space:nowrap;scroll-snap-align:start}.content{padding:22px;gap:12px}.hero,.grid.two-columns,.module-stack{grid-template-columns:1fr}.hero h2{font-size:clamp(2rem,8vw,3rem);max-width:16ch;white-space:normal}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.row{align-items:flex-start;flex-direction:column}.row-actions{justify-content:flex-start;flex-wrap:wrap;min-width:0}.module-stack>.panel .table-like{grid-template-columns:1fr}}@media(max-width:720px){.sidebar{padding:16px}.brand-logo{width:150px}.sidebar h1{font-size:1.2rem}.content{padding:16px;gap:12px}.eyebrow{font-size:.68rem;letter-spacing:.1em}.hero h2{font-size:clamp(1.9rem,12vw,2.6rem);line-height:1.04;max-width:12ch}.hero p{font-size:.98rem;line-height:1.55}.stats-grid{grid-template-columns:1fr;gap:12px}.stat-card,.panel,.warning,.success{border-radius:18px;padding:16px}.panel.is-collapsed{padding:16px}.stat-card strong{font-size:1.85rem}.panel-header{align-items:flex-start;flex-direction:column;gap:10px}.panel-header-actions{width:100%}.panel-header button:not(.panel-toggle),.form-grid button{width:100%}.row{padding:14px}.row p{overflow-wrap:anywhere}.row-actions{width:100%}.row-actions button{flex:1 1 120px}.meter-label{align-items:flex-start;flex-direction:column;gap:4px}}@media(max-width:420px){.menu button{padding:10px 12px;font-size:.92rem}.hero h2{font-size:2rem}.form-grid input,.form-grid select{padding:12px}}:root{font-family:Space Grotesk,sans-serif;color:#12344f;background:radial-gradient(circle at top left,rgba(46,154,214,.2),transparent 30%),radial-gradient(circle at right,rgba(111,191,233,.22),transparent 25%),linear-gradient(135deg,#f8fcff,#eef7fc 48%,#eaf3f9);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}#root{min-height:100vh}
