:root{--green:#08a979;--green2:#12c48b;--navy:#0e172b;--sidebar:#fff;--bg:#f4f8fa;--card:#fff;--text:#121b2e;--muted:#7c889d;--line:#e6edf1;--blue:#4b7bec;--purple:#8e5ee8;--red:#e34a6f;--orange:#d97800;--shadow:0 8px 24px rgba(20,45,70,.06);font-family:Inter,Poppins,Segoe UI,Arial,sans-serif;color-scheme:light}html[data-theme=dark]{--sidebar:#1b283b;--bg:#0e172b;--card:#1c293d;--text:#f7f9fd;--muted:#9aa8be;--line:#2b3b51;--shadow:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:278px;background:var(--sidebar);border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;overflow-y:auto;z-index:20;transition:.25s}.brand{height:225px;border-bottom:1px solid var(--line);display:flex;align-items:center;flex-direction:column;justify-content:center;gap:10px}.brand-mark{width:78px;height:78px;border-radius:50%;background:var(--green);color:#fff;font-size:48px;display:grid;place-items:center;box-shadow:0 12px 30px rgba(8,169,121,.3)}.brand strong{letter-spacing:1px}.brand small{font-size:10px;letter-spacing:2px;color:var(--green)}.nav-group{padding:22px 16px 0}.nav-label{display:block;font-size:11px;font-weight:800;letter-spacing:1.2px;color:var(--muted);margin:0 12px 14px}.nav-link{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:9px;color:var(--muted);font-weight:600;margin-bottom:3px}.nav-link:hover,.nav-link.active{background:#e9fbf4;color:var(--green)}html[data-theme=dark] .nav-link.active,html[data-theme=dark] .nav-link:hover{background:#e5fbf4;color:#06a779}.nav-icon{font-size:22px;width:26px;text-align:center}.sidebar-footer{text-align:center;padding:30px;color:var(--muted);font-size:10px;letter-spacing:1px}.main{margin-left:278px;min-width:0;flex:1}.topbar{height:94px;background:var(--card);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 40px;position:sticky;top:0;z-index:15}.topbar>div:nth-child(2){display:flex;flex-direction:column}.page-kicker{color:var(--green);letter-spacing:2px}.topbar small{font-size:10px;letter-spacing:1px;color:var(--muted)}.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.date-pill,.icon-btn{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:11px 16px;color:var(--text)}.icon-btn{width:44px;height:44px;padding:0;cursor:pointer}.notify{position:relative;color:var(--red)}.notify i{position:absolute;top:-8px;right:-4px;background:var(--red);color:#fff;border-radius:20px;font-size:9px;padding:3px 6px}.user-block{display:flex;align-items:center;gap:12px;margin-left:8px}.user-block>div{display:flex;flex-direction:column;text-align:right}.avatar{width:46px;height:46px;border-radius:50%;background:#fff0f3;color:#d33c59;display:grid;place-items:center;font-weight:800}.logout-btn{border:0;background:none;color:var(--muted);font-size:20px;cursor:pointer}.content{padding:38px 40px 70px;max-width:1700px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;gap:20px}.page-heading h1,.form-title h1{font-size:31px;margin:0 0 6px;font-weight:850;letter-spacing:-.8px}.page-heading p{margin:0;color:var(--muted)}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;padding:13px 24px;font-weight:800;border:1px solid var(--green);cursor:pointer}.primary{background:var(--green);color:#fff;box-shadow:0 8px 20px rgba(8,169,121,.18)}.primary:hover{background:#078e67}.secondary{background:var(--card);color:var(--text);border-color:var(--line)}.secondary.small{padding:9px 18px;font-size:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow);padding:26px}.stat-grid{display:grid;gap:24px;margin-bottom:26px}.stat-grid.four{grid-template-columns:repeat(4,1fr);max-width:1000px}.stat-grid.five{grid-template-columns:repeat(5,1fr)}.stat-card{min-height:196px;padding:25px;border:1px solid var(--line);background:var(--card);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.stat-title{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.8px;display:flex;justify-content:space-between}.stat-title span{width:34px;height:34px;border-radius:10px;background:#eafbf5;color:var(--green);display:grid;place-items:center}.stat-card.blue .stat-title span{background:#eef3ff;color:var(--blue)}.stat-card.purple .stat-title span{background:#f4edff;color:var(--purple)}.stat-value{font-size:23px;font-weight:850;margin:17px 0 7px}.stat-card small{color:var(--muted)}.spark{height:3px;background:currentColor;margin-top:52px;opacity:.9}.stat-card.green{color:var(--green)}.stat-card.blue{color:var(--blue)}.stat-card.purple{color:var(--purple)}.stat-card .stat-value{color:var(--text)}.dashboard-grid{display:grid;grid-template-columns:2fr 1.05fr 1.35fr;gap:24px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.card-head h3,.card h3{margin:0;font-size:16px;letter-spacing:.3px}.card-head a{color:var(--purple);font-size:11px;font-weight:800}.card-head select{border:1px solid var(--line);border-radius:10px;background:var(--card);padding:10px}.line-chart{width:100%;height:260px;margin-top:15px}.grid-lines line{stroke:var(--line);stroke-width:1}.line-chart polyline{fill:none;stroke:var(--green);stroke-width:4;stroke-linejoin:round}.donut-card{display:flex;flex-direction:column}.donut{width:190px;height:190px;border-radius:50%;background:conic-gradient(var(--green) 0 59%,#3e80ed 59% 100%);position:relative;margin:35px auto 25px}.donut:before{content:'';position:absolute;inset:28px;background:var(--card);border-radius:50%}.donut>div{position:absolute;inset:0;display:grid;place-content:center;text-align:center;z-index:2}.donut span{color:var(--muted)}.donut b{font-size:18px}.legend{display:flex;justify-content:center;gap:18px;color:var(--muted);font-size:11px}.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.green-dot{background:var(--green)}.blue-dot{background:var(--blue)}.recent-row{display:grid;grid-template-columns:1.2fr 1fr .8fr .7fr;gap:10px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center;font-size:12px}.recent-row b{color:var(--purple)}.recent-row small,.recent-row span{color:var(--muted)}.lower-grid{display:grid;grid-template-columns:2.4fr 1fr;gap:24px;margin-top:24px}.compact-card{margin-bottom:24px}.ranking{margin:18px 0}.ranking>div{display:flex;justify-content:space-between;font-size:12px}.ranking progress{width:100%;height:10px;accent-color:var(--green)}.wrap{align-items:flex-start}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.filters input,.filters select,.toolbar input,.toolbar select{border:1px solid var(--line);background:var(--card);padding:10px 12px;border-radius:10px;color:var(--text)}.empty,.empty-table,.empty-state{text-align:center;color:var(--muted);padding:35px}.empty-table{min-height:160px;display:grid;place-items:center}.alert{padding:16px 20px;border-radius:12px;margin-bottom:22px}.alert.success{background:#e6faf3;color:#087451}.alert.danger{background:#fff0f3;color:#b12a4d;border:1px solid #ffd5df}.form-title{display:flex;align-items:center;gap:18px;margin-bottom:28px}.title-icon{width:68px;height:68px;border-radius:14px;background:var(--green);color:#fff;font-size:42px;display:grid;place-items:center}.form-section{margin-bottom:24px}.section-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:22px}.form-grid{display:grid;gap:18px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.four{grid-template-columns:repeat(4,1fr)}.form-grid.five{grid-template-columns:repeat(5,1fr)}label{font-size:11px;font-weight:800;color:var(--muted);letter-spacing:.4px;display:flex;flex-direction:column;gap:9px}input,select,textarea{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;padding:13px 14px;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid rgba(8,169,121,.15);border-color:var(--green)}.full{grid-column:1/-1}.info-panel{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;grid-template-columns:1fr 1fr 80px;gap:18px;position:relative}.info-panel span{font-size:10px;color:var(--muted)}.photo-placeholder{grid-column:3;grid-row:1/3;width:68px;height:68px;background:var(--card);border:1px solid var(--line);border-radius:12px}.purchase-item{padding:20px 0;border-top:1px solid var(--line)}.price-panel{background:var(--bg);border-radius:14px;padding:20px;margin-top:20px}.input-prefix,.input-suffix,.compound{display:flex}.input-prefix span,.input-suffix span{border:1px solid var(--line);background:var(--bg);padding:13px;border-radius:10px 0 0 10px}.input-prefix input,.input-suffix input{flex:1;border-radius:0 10px 10px 0}.input-suffix input{border-radius:10px 0 0 10px}.input-suffix span{border-radius:0 10px 10px 0}.compound select{width:110px;border-radius:10px 0 0 10px}.compound input{flex:1;border-radius:0 10px 10px 0}.compound.country select{width:125px}.align-right{text-align:right;margin-top:22px}.sticky-save{position:sticky;bottom:15px;background:var(--navy);color:#fff;border-radius:16px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 15px 35px rgba(0,0,0,.22);z-index:5}.sticky-save div{display:flex;flex-direction:column}.sticky-save small{color:#9aa8be}.registry h3{padding-bottom:25px;border-bottom:1px solid var(--line)}.responsive-table{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:850px}th{text-align:left;color:var(--muted);font-size:11px;letter-spacing:1px;padding:20px 12px;border-bottom:1px solid var(--line)}td{padding:22px 12px;border-bottom:1px solid var(--line);vertical-align:middle}td b,td small{display:block}.tag{background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:4px 8px;font-size:10px;display:inline-block;margin:2px}.status-dot{width:9px;height:9px;background:var(--green);border-radius:50%;display:inline-block;margin-right:8px}.green-text{color:var(--green)!important}.red-text{color:var(--red)!important}.blue-text{color:var(--blue)!important}.orange-text{color:var(--orange)!important}.icon-action{border:1px solid var(--line);background:var(--card);color:var(--muted);width:38px;height:38px;border-radius:10px;display:inline-grid;place-items:center;margin:2px;cursor:pointer}.icon-action.danger{color:var(--red)}.badge{font-size:10px;border-radius:20px;padding:6px 12px;font-weight:850;display:inline-block}.badge.success{background:#e5faf2;color:#078c65}.filter-bar{display:grid;grid-template-columns:1fr 1fr 1.2fr auto auto;gap:18px;align-items:end;margin-bottom:26px}.mini-stat{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:25px;min-height:145px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:center}.mini-stat span{color:var(--muted);font-size:11px;font-weight:800}.mini-stat b{font-size:21px;margin:10px 0}.mini-stat small{color:var(--muted)}.gem-badge{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--purple);color:#fff;margin-right:10px}.detail-grid{display:grid;grid-template-columns:2.4fr 1fr;gap:24px}.metric-row{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-bottom:24px}.metric-row small,.info-grid small,.summary span,.card p small{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.8px}.metric-row b{font-size:24px;display:block;margin-top:10px}.metric-row em{font-style:normal;font-size:12px;color:var(--muted)}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:25px}.info-grid p{border-bottom:1px solid var(--line);padding-bottom:12px}.image-card{min-height:260px}.no-image{min-height:210px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--muted);gap:10px;font-size:50px}.no-image b{font-size:13px;color:var(--text)}.no-image small{font-size:11px}.summary p{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0}.small-avatar{display:inline-grid;width:38px;height:38px;margin-right:10px}.narrow{max-width:900px;margin:auto}.toolbar{display:flex;gap:12px;justify-content:flex-end;margin-bottom:20px}.empty-state{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-state span{font-size:50px;color:var(--green)}.report-grid,.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.report-card span,.role-card>span{font-size:35px;color:var(--green)}.report-card p,.role-card p{color:var(--muted);min-height:45px}.add-role{display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--muted);min-height:220px}.settings-layout{display:grid;grid-template-columns:280px 1fr;gap:24px}.settings-nav button{width:100%;text-align:left;border:0;background:none;padding:14px;border-radius:10px;color:var(--muted);font-weight:700}.settings-nav button.active{background:#eafbf5;color:var(--green)}.muted{color:var(--muted);font-size:11px}.mobile-menu{display:none}.login-page{min-height:100vh;background:radial-gradient(circle at 20% 20%,#0d3541,#0e172b 55%);display:grid;grid-template-columns:1fr 520px;align-items:center;padding:8vw;color:#fff}.login-identity h1{font-size:58px;line-height:.95;margin:0}.login-identity span{color:var(--green2)}.login-identity p{color:#93a4bc}.login-card{background:#182842;border:1px solid #29405e;border-radius:24px;padding:50px;box-shadow:0 25px 60px rgba(0,0,0,.25)}.login-card-head{display:flex;justify-content:space-between}.login-card h2{font-size:25px;margin:0}.login-card p{color:#8495ad}.gem-icon{width:52px;height:52px;border-radius:14px;background:#153a45;color:var(--green2);display:grid;place-items:center;font-size:32px}.login-card label{color:#8fa0b8;margin-top:22px}.field-icon{display:flex;position:relative;margin-top:8px}.field-icon input{width:100%;background:#f7f9fd;color:#17243a;padding:16px 50px 16px 16px}.field-icon span,.field-icon button{position:absolute;right:12px;top:10px;border:0;background:none;font-size:20px;color:#607089}.label-row{display:flex;align-items:end;justify-content:space-between}.label-row a{color:var(--green2);font-size:10px;font-weight:800}.remember{flex-direction:row;align-items:center}.login-button{width:100%;margin-top:30px}.authorized{display:block;text-align:center;color:#65758d;margin-top:35px;font-size:9px;line-height:1.7}.login-error{background:#51283a;color:#ffbecf;padding:12px;border-radius:9px;margin:15px 0}.error-page{min-height:100vh;background:var(--bg);display:grid;place-items:center}.error-card{background:var(--card);padding:50px;border-radius:20px;text-align:center;box-shadow:var(--shadow);max-width:520px}.error-card h1{font-size:80px;margin:10px}.error-card p{color:var(--muted);margin-bottom:30px}@media(max-width:1200px){.stat-grid.four,.stat-grid.five{grid-template-columns:repeat(2,1fr);max-width:none}.dashboard-grid{grid-template-columns:1fr 1fr}.recent-card{grid-column:1/-1}.lower-grid{grid-template-columns:1fr}.form-grid.five{grid-template-columns:repeat(3,1fr)}.metric-row{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.main{margin-left:0}.mobile-menu{display:block;margin-right:16px}.topbar{padding:0 18px}.date-pill{display:none}.content{padding:25px 18px}.top-actions{gap:6px}.user-block>div{display:none}.dashboard-grid,.detail-grid,.settings-layout{grid-template-columns:1fr}.form-grid.four,.form-grid.five,.form-grid.two,.filter-bar,.report-grid,.role-grid{grid-template-columns:1fr 1fr}.login-page{grid-template-columns:1fr;padding:20px}.login-identity{display:none}.login-card{max-width:520px;width:100%;margin:auto}.stat-grid.four,.stat-grid.five{grid-template-columns:1fr 1fr}}@media(max-width:600px){.stat-grid.four,.stat-grid.five,.form-grid.four,.form-grid.five,.form-grid.two,.filter-bar,.report-grid,.role-grid,.info-grid,.metric-row{grid-template-columns:1fr}.page-heading{flex-direction:column}.content{padding:22px 12px}.topbar{height:76px}.topbar>div:nth-child(2){display:none}.card{padding:18px}.login-card{padding:28px}.sticky-save{position:static;flex-direction:column;gap:16px;align-items:stretch}.sticky-save button{width:100%}}
