:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20233b;background:#f7f8fc;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}h1,h2,p{margin-top:0}h1{font-size:2rem;letter-spacing:-.04em;line-height:1.16;margin-bottom:.55rem}h2{font-size:1rem;letter-spacing:-.015em;margin-bottom:.4rem}p{line-height:1.55}.muted{color:#8389a1}.eyebrow{color:#7771d4;font-size:.72rem;font-weight:800;letter-spacing:.14em;margin-bottom:.7rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid #e8eaf2;padding:29px 15px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;padding:3px 13px 35px}.brand-mark{width:35px;height:35px;background:linear-gradient(145deg,#6e64dc,#534cc4);border-radius:11px;position:relative;box-shadow:0 6px 15px #6e64dc35;display:inline-flex;align-items:center;justify-content:center;flex:none}.brand-mark:before,.brand-mark:after,.brand-mark span:before,.brand-mark span:after{content:"";position:absolute;width:7px;height:7px;border:2px solid white;opacity:.96}.brand-mark:before{top:7px;left:7px;border-right:0;border-bottom:0;border-radius:2px 0 0 0}.brand-mark:after{top:7px;right:7px;border-left:0;border-bottom:0;border-radius:0 2px 0 0}.brand-mark span:before{bottom:7px;left:7px;border-right:0;border-top:0;border-radius:0 0 0 2px}.brand-mark span:after{bottom:7px;right:7px;border-left:0;border-top:0;border-radius:0 0 2px 0}.brand-copy{display:flex;flex-direction:column;line-height:1.12}.brand-copy strong{font-size:1.08rem;letter-spacing:-.035em}.brand-copy small{font-size:.59rem;letter-spacing:.17em;color:#9da0b2;font-weight:800;margin-top:4px}.workspace-label{font-size:.65rem;font-weight:800;letter-spacing:.14em;color:#a6aab9;margin:5px 13px 12px}.nav{display:grid;gap:5px}.nav-link{display:flex;align-items:center;gap:12px;color:#777d94;font-size:.88rem;font-weight:650;padding:12px 14px;border-radius:10px;transition:background .15s,color .15s}.nav-link:hover{background:#f5f4ff;color:#6259cd}.nav-link.active{background:#efedff;color:#5f55cf}.nav-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}.sidebar-bottom{margin-top:auto;padding:20px 12px 0;border-top:1px solid #edf0f5}.system-note{display:flex;align-items:center;gap:8px;font-size:.73rem;color:#9095a7;margin-bottom:18px}.status-dot{width:7px;height:7px;border-radius:50%;background:#31bb8d;box-shadow:0 0 0 4px #e2f8ef}.docs-link{font-size:.83rem;font-weight:600;color:#666d87;display:flex;justify-content:space-between;margin-bottom:18px}.docs-link:hover{color:#5e54d0}.logout-button{border:0;background:transparent;color:#9a9fb0;padding:0;font-size:.82rem}.logout-button:hover{color:#d85066}
.main-area{min-width:0;display:flex;flex-direction:column}.topbar{height:72px;background:#fff;border-bottom:1px solid #e8eaf2;display:flex;align-items:center;justify-content:space-between;padding:0 42px}.breadcrumbs{font-size:.82rem;color:#9297a9}.breadcrumbs span{color:#c4c7d3;margin:0 8px}.breadcrumbs a:hover{color:#645ad1}.admin-chip{display:flex;align-items:center;gap:10px;font-size:.78rem;font-weight:700;color:#62687f}.admin-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#eeeaff;color:#6558d2;font-size:.75rem}.content{padding:38px 42px 54px;max-width:1540px;width:100%;margin:0 auto;flex:1}.footer{padding:0 42px 23px;color:#a5aab9;font-size:.73rem}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading .muted{font-size:.91rem;margin-bottom:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:41px;padding:10px 16px;border-radius:9px;border:1px solid transparent;font-size:.82rem;font-weight:750;white-space:nowrap;transition:transform .13s,background .13s,box-shadow .13s}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button-primary{background:#695ed4;color:#fff;box-shadow:0 5px 12px #695ed428}.button-primary:hover{background:#5a4fc9}.button-secondary{background:#fff;color:#6057c8;border-color:#dcdaf3}.button-secondary:hover{background:#f7f5ff}.button-danger{background:#e45468;color:#fff}.button-danger:hover{background:#ce4357}.button-full{width:100%}.count-badge{color:#6e64d1;background:#efedff;padding:9px 13px;border-radius:8px;font-size:.76rem;font-weight:800}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.stat-card{background:#fff;border:1px solid #e9ebf3;border-radius:14px;padding:21px 22px 20px;min-height:176px;box-shadow:0 3px 14px #29346306}.stat-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:9px;font-size:1.2rem;font-weight:650;margin-bottom:17px}.stat-icon.violet{background:#f0edff;color:#685ed5}.stat-icon.blue{background:#eaf2ff;color:#4d8fea}.stat-icon.green{background:#e6f8f1;color:#25a77c}.stat-icon.amber{background:#fff4e5;color:#d69c3f}.stat-label{color:#8f94a7;font-size:.77rem;font-weight:650}.stat-value{font-size:1.85rem;font-weight:800;letter-spacing:-.045em;margin-top:5px;line-height:1.2}.stat-foot{color:#a4a8b7;font-size:.7rem;margin-top:8px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:20px}.panel{background:#fff;border:1px solid #e9ebf3;border-radius:14px;box-shadow:0 3px 14px #29346306}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:23px 25px 18px}.panel-heading h2{margin-bottom:5px}.panel-heading p{color:#a0a5b5;font-size:.76rem;margin:0}.legend{display:flex;gap:15px;color:#9297a7;font-size:.72rem;white-space:nowrap;padding-top:3px}.legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.legend-dot.add{background:#867cf0}.legend-dot.search{background:#4fc8b1}.chart-scroll{padding:0 25px 22px;max-height:548px;overflow:auto}.activity-row{display:grid;grid-template-columns:46px minmax(0,1fr) 53px;align-items:center;gap:13px;padding:6px 0;border-bottom:1px solid #f3f4f8}.activity-row:last-child{border-bottom:0}.activity-row time{color:#9aa0b2;font-size:.68rem}.activity-bars{display:grid;gap:3px}progress{appearance:none;-webkit-appearance:none;width:100%;height:7px;border:0;background:transparent}progress::-webkit-progress-bar{background:#f2f3f8;border-radius:10px}progress::-webkit-progress-value{border-radius:10px}progress::-moz-progress-bar{border-radius:10px}.progress-add::-webkit-progress-value{background:#877bf0}.progress-add::-moz-progress-bar{background:#877bf0}.progress-search::-webkit-progress-value{background:#4cc8b2}.progress-search::-moz-progress-bar{background:#4cc8b2}.activity-values{color:#798096;text-align:right;font-size:.69rem;font-weight:700}.activity-values span{color:#c3c6d1}.tenants-panel{min-height:300px}.text-link{color:#6b60d5;font-size:.75rem;font-weight:750;white-space:nowrap}.text-link:hover{text-decoration:underline}.top-list{padding:0 15px 15px}.top-item{display:flex;align-items:center;gap:11px;padding:14px 10px;border-top:1px solid #f2f3f7;border-radius:7px}.top-item:hover{background:#f9f8ff}.tenant-avatar{width:36px;height:36px;display:grid;place-items:center;background:#eeedfb;color:#655ec2;border-radius:10px;font-weight:800;font-size:.85rem;flex:none}.top-name{display:flex;flex-direction:column;min-width:0;flex:1;gap:3px}.top-name strong{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-name small{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#a9adba;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.62rem}.top-count{text-align:right;color:#3d4055;font-weight:800;font-size:.85rem}.top-count small{display:block;color:#aaaebe;font-size:.63rem;font-weight:500;margin-top:3px}.empty-state{text-align:center;padding:45px 20px 50px;color:#a1a6b8}.empty-state strong{display:block;color:#535971;margin-bottom:7px}.empty-state p{font-size:.8rem;margin:0 auto 13px;max-width:240px}.empty-icon{width:43px;height:43px;margin:0 auto 14px;display:grid;place-items:center;border-radius:11px;background:#f1efff;color:#766bd8;font-size:1.3rem}
.create-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 25px;margin-bottom:20px}.create-panel h2{margin:0 0 5px}.create-panel p{font-size:.77rem;color:#9ca1b2;margin:0}.inline-form{display:flex;align-items:center;gap:10px;min-width:365px}input[type=text],input[type=password],textarea{width:100%;border:1px solid #dfe2ed;background:#fff;border-radius:9px;padding:11px 13px;outline:none;color:#282d45;min-height:42px;font-size:.83rem;transition:border .15s,box-shadow .15s}input:focus,textarea:focus{border-color:#8d81e4;box-shadow:0 0 0 3px #8d81e426}input::placeholder{color:#afb3c1}.table-panel .panel-heading{border-bottom:1px solid #f0f1f6}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:750px}th{text-align:left;color:#a0a5b4;font-size:.67rem;letter-spacing:.065em;text-transform:uppercase;padding:13px 22px;background:#fcfcfe}td{border-top:1px solid #f1f2f7;padding:14px 22px;font-size:.78rem;color:#626980}tbody tr:hover{background:#fcfbff}.table-tenant{display:flex;gap:11px;align-items:center;min-width:210px}.table-tenant span:last-child{min-width:0}.table-tenant strong,.table-tenant small{display:block}.table-tenant strong{font-size:.79rem;color:#3b4058;margin-bottom:4px}.table-tenant small{color:#a5aabb;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.64rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:210px}.status-pill{display:inline-flex;align-items:center;gap:7px;background:#e8f8f0;color:#26946f;border-radius:100px;padding:6px 9px;font-size:.66rem;font-weight:750;white-space:nowrap}.status-pill i{width:6px;height:6px;border-radius:50%;background:currentColor}.status-pill.status-deleting{background:#fff1e9;color:#d58854}.numeric{font-variant-numeric:tabular-nums;color:#3d425a;font-weight:750}.date-cell{white-space:nowrap}.row-link{color:#6c61d4;font-weight:750;white-space:nowrap}.row-link:hover{text-decoration:underline}.alert{padding:12px 15px;border-radius:9px;font-size:.8rem;font-weight:600;margin-bottom:20px}.alert-error{background:#fff0f1;color:#bf485c;border:1px solid #ffdae0}.alert-success{background:#e9f8f1;color:#218763;border:1px solid #cfedde}
.back-link{display:inline-block;color:#7970d5;font-size:.76rem;font-weight:700;margin-bottom:13px}.back-link:hover{text-decoration:underline}.detail-heading h1{margin-bottom:5px}.detail-heading .muted{font-size:.76rem}.detail-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-stats .stat-card{min-height:126px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}.action-panel{padding:0 25px 24px}.action-panel .panel-heading{padding:24px 0 20px}.form-stack{display:grid;gap:11px}.form-stack label,.key-panel label{font-size:.77rem;font-weight:700;color:#636980}.form-stack .button{justify-self:start;margin-top:3px}.info-line{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #f0f1f6;margin-top:24px;padding-top:17px;font-size:.74rem;color:#a0a5b4}.info-line strong{color:#6b7186;font-weight:600}.key-placeholder{border:1px dashed #d7d9e8;border-radius:9px;background:#fbfbfe;color:#a5a8ba;letter-spacing:.13em;padding:16px;margin:2px 0 19px;font-weight:800}.danger-panel{border-color:#f3dfe2;padding:24px 25px;display:flex;justify-content:space-between;gap:24px;align-items:center}.danger-panel h2{color:#bc4f5e}.danger-panel p{font-size:.76rem;color:#979cac;margin:0;max-width:550px}.delete-form{display:flex;align-items:center;gap:9px;min-width:370px}.delete-form input{min-width:0}.key-panel{max-width:670px;padding:34px}.success-mark{display:grid;place-items:center;border-radius:11px;width:42px;height:42px;color:#27a779;background:#e5f7ee;font-size:1.3rem;font-weight:800;margin-bottom:19px}.key-panel h2{font-size:1.2rem}.key-panel p{font-size:.84rem;color:#9096a9;max-width:500px}.key-panel label{display:block;margin:23px 0 8px}.key-panel textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;resize:none;word-break:break-all;color:#49408c;background:#f9f8ff}.key-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:21px}
@media(max-width:1150px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.chart-scroll{max-height:430px}.create-panel,.danger-panel{align-items:flex-start;flex-direction:column}.inline-form,.delete-form{min-width:0;width:100%}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;height:auto;padding:14px 20px;border-right:0;border-bottom:1px solid #e8eaf2;display:block}.brand{padding:0 0 13px}.workspace-label,.sidebar-bottom{display:none}.nav{display:flex}.nav-link{padding:9px 12px}.topbar{height:53px;padding:0 20px}.admin-chip{font-size:0}.admin-avatar{font-size:.75rem}.content{padding:27px 20px 45px}.footer{padding:0 20px 20px}.page-heading{align-items:flex-start;flex-direction:column}.detail-grid{grid-template-columns:1fr}.stats-grid{gap:10px}.stat-card{padding:17px;min-height:150px}.detail-stats .stat-card{min-height:115px}.stat-value{font-size:1.5rem}.create-panel,.danger-panel{padding:20px}.panel-heading{padding:20px}.chart-scroll{padding:0 20px 20px}}
@media(max-width:480px){.stats-grid,.detail-stats{grid-template-columns:1fr 1fr}.detail-stats .stat-card:last-child{grid-column:1/-1}.page-heading h1{font-size:1.7rem}.inline-form,.delete-form{flex-direction:column;align-items:stretch}.inline-form .button,.delete-form .button{width:100%}.activity-row{grid-template-columns:40px minmax(0,1fr) 46px;gap:8px}}

.login-page{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 7% 13%,#eeebff,transparent 31%),radial-gradient(circle at 92% 88%,#e8f3fa,transparent 32%),#f7f8fc}
.login-shell{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(380px,.96fr);width:min(100%,990px);min-height:620px;background:#fff;border:1px solid #e9eaf1;border-radius:25px;overflow:hidden;box-shadow:0 30px 90px #333a6a1a}
.login-intro{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:38px 42px 30px;background:linear-gradient(148deg,#655ad4 0%,#5145b3 59%,#383389 100%);color:#fff}
.login-intro:before,.login-intro:after{content:"";position:absolute;border:1px solid #ffffff13;border-radius:50%;pointer-events:none}.login-intro:before{width:550px;height:550px;left:-300px;bottom:-280px}.login-intro:after{width:420px;height:420px;right:-190px;top:-190px}
.login-intro .login-brand{position:relative;z-index:1;margin:0;font-size:1.07rem}.login-intro .brand-mark{background:#ffffff29;border:1px solid #ffffff42;box-shadow:none}.login-intro .login-brand strong{display:flex;align-items:center;gap:9px}.login-intro .login-brand strong span{font-size:.52rem;letter-spacing:.11em;padding:5px 7px;border:1px solid #ffffff60;border-radius:5px}
.login-intro-copy{position:relative;z-index:1;margin-top:80px;max-width:410px}.login-kicker{display:block;color:#ccc8ff;font-size:.66rem;font-weight:800;letter-spacing:.15em;margin-bottom:17px}.login-intro h1{font-size:2.1rem;line-height:1.2;letter-spacing:-.045em;margin:0 0 17px}.login-intro-copy p{color:#e4e1ff;font-size:.88rem;line-height:1.65;margin:0;max-width:360px}
.scan-visual{position:relative;width:205px;height:150px;margin:30px auto 0;flex:none}.scan-ring{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid #ffffff20}.scan-ring-outer{width:180px;height:180px}.scan-ring-inner{width:130px;height:130px;background:#ffffff0b}.scan-face{position:absolute;left:50%;top:34px;transform:translateX(-50%);width:100px;height:100px;overflow:hidden}.scan-head{position:absolute;top:0;left:32px;width:36px;height:43px;border-radius:50% 50% 46% 46%;background:#c9c4fa}.scan-shoulders{position:absolute;left:5px;bottom:-43px;width:90px;height:90px;border-radius:47% 47% 0 0;background:#c9c4fa}.scan-corner{position:absolute;width:19px;height:19px;border:2px solid #dcd9ff}.scan-corner-tl{left:15px;top:2px;border-right:0;border-bottom:0}.scan-corner-tr{right:15px;top:2px;border-left:0;border-bottom:0}.scan-corner-bl{left:15px;bottom:2px;border-right:0;border-top:0}.scan-corner-br{right:15px;bottom:2px;border-left:0;border-top:0}.scan-pulse{position:absolute;left:30px;right:30px;top:68px;height:1px;background:linear-gradient(90deg,transparent,#c7fff1,transparent);box-shadow:0 0 8px #b2fff3}
.login-intro-footer{display:flex;align-items:center;gap:9px;margin-top:auto;color:#d2cfff;font-size:.67rem;position:relative;z-index:1}.login-intro-footer .status-dot{background:#63e4b6;box-shadow:0 0 0 4px #63e4b625}.login-intro-footer span:nth-child(2){opacity:.5}
.login-form-panel{display:grid;place-items:center;padding:60px 56px}.login-form-inner{width:100%;max-width:360px}.login-form-icon{display:grid;place-items:center;width:43px;height:43px;background:#f0eeff;color:#6257ca;border-radius:12px;font-size:1.35rem;font-weight:700;margin-bottom:29px}.login-form-inner .eyebrow{margin-bottom:11px}.login-form-inner h2{font-size:1.75rem;letter-spacing:-.04em;margin-bottom:9px}.login-subtitle{font-size:.82rem;color:#858ba0;margin-bottom:30px}.login-form{display:grid;gap:19px}.login-field{display:grid;gap:8px}.login-field label{font-size:.76rem;font-weight:750;color:#4d5269}.login-field input{min-height:47px;border-radius:10px;font-size:.85rem}.login-submit{min-height:47px;margin-top:5px;font-size:.85rem;justify-content:space-between;padding-left:20px;padding-right:20px}.login-submit span{font-size:1.2rem;font-weight:400;line-height:1}.login-error{font-size:.77rem;margin-top:-6px;margin-bottom:23px}.login-hint{text-align:center;color:#a3a8b8;font-size:.71rem;margin:24px 0 0}
@media(max-width:850px){.login-shell{grid-template-columns:1fr;max-width:480px;min-height:0}.login-intro{padding:27px 30px 25px}.login-intro-copy{margin-top:29px}.login-intro h1{font-size:1.5rem}.login-intro-copy p{font-size:.8rem}.scan-visual,.login-intro-footer{display:none}.login-form-panel{padding:37px 35px 42px;display:block}.login-form-inner{max-width:none}.login-form-icon{margin-bottom:21px}}
@media(max-width:480px){.login-page{padding:0;background:#fff;display:block}.login-shell{width:100%;min-height:100vh;border:0;border-radius:0;box-shadow:none}.login-intro{padding:24px 25px 28px}.login-intro-copy{margin-top:26px}.login-intro h1{font-size:1.42rem}.login-form-panel{padding:34px 25px 45px}.login-form-inner h2{font-size:1.55rem}}
