@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&display=swap";:root{font-family:Nunito,sans-serif;color:#393348;background:#f8f6fc;font-synthesis:none;text-rendering:optimizeLegibility;--purple: #8b70bd;--purple-dark: #7256a5;--lavender: #eee8f8;--text: #393348;--muted: #918a9e;--white: #fff}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f8f6fc}button,input{font:inherit}button{cursor:pointer}.app{display:flex;min-height:100vh;background:#f8f6fc;color:var(--text)}.sidebar{width:255px;padding:28px 18px;background:#fff;border-right:1px solid #eeeaf3;flex-shrink:0;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;margin:0 8px 38px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--lavender);color:var(--purple);font-size:23px;font-weight:800}.brand strong{display:block;font-size:20px;font-weight:800}.brand small,.profile small{display:block;color:var(--muted);font-size:11px}nav{flex:1}.nav-heading{margin:25px 10px 10px;color:#aaa3b3;font-size:10px;font-weight:800;letter-spacing:1.4px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px;margin:4px 0;border:0;border-radius:12px;color:#777183;background:transparent;text-align:left;font-size:13px;font-weight:600}.nav-item:hover,.nav-item.active{color:var(--purple-dark);background:var(--lavender)}.profile{display:flex;align-items:center;gap:10px;padding:14px 8px 0;border-top:1px solid #eeeaf3;font-size:13px}.avatar{width:38px;height:38px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:var(--lavender);color:var(--purple-dark);font-weight:800}main{flex:1;min-width:0}.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 35px;background:#fff;border-bottom:1px solid #eeeaf3}.search{display:flex;align-items:center;gap:10px;width:min(400px,60%);padding:11px 14px;border:1px solid #ebe6f1;border-radius:13px;background:#fbfaff;color:var(--muted)}.search input{width:100%;border:0;outline:0;background:transparent;color:var(--text)}.actions{display:flex;align-items:center;gap:12px}.actions button{display:grid;place-items:center;width:40px;height:40px;border:1px solid #eeeaf3;border-radius:12px;background:#fff;color:var(--purple-dark)}.content{max-width:1450px;margin:0 auto;padding:34px}.welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{display:flex;align-items:center;gap:7px;margin-bottom:9px;color:var(--purple);font-size:11px;font-weight:800;letter-spacing:1.3px}.welcome h1{margin:0 0 8px;font-size:clamp(24px,3vw,34px);font-weight:800;letter-spacing:-1px}.welcome h1 em{color:var(--purple);font-style:normal}.welcome p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}.primary{display:flex;align-items:center;gap:8px;padding:12px 18px;border:0;border-radius:12px;background:var(--purple);color:#fff;font-size:13px;font-weight:700}.primary:hover{background:var(--purple-dark)}.banner{display:flex;align-items:center;gap:18px;padding:23px 26px;margin-bottom:30px;border:1px solid #e9e0f5;border-radius:18px;background:linear-gradient(110deg,#f0eafa,#faf8fd);color:var(--purple-dark)}.banner>svg{width:35px;height:35px;flex-shrink:0}.banner b{display:block;margin-bottom:5px}.banner p{margin:0;color:#81758f;font-size:13px;line-height:1.6}.banner span{margin-left:auto;font-size:22px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:30px 0 16px}.section-title h2{margin:0 0 4px;font-size:18px}.section-title p{margin:0;color:var(--muted);font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.stat{min-width:0;padding:20px;border:1px solid #eeeaf3;border-radius:17px;background:#fff;box-shadow:0 3px 14px #51416b08}.stat>div{display:flex;align-items:center;justify-content:space-between;color:var(--purple);font-size:13px}.stat strong{display:block;margin:12px 0 5px;font-size:25px}.stat small{color:var(--muted);font-size:11px}.columns{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;margin-top:20px}.panel{min-width:0;padding:22px;border:1px solid #eeeaf3;border-radius:18px;background:#fff}.panel h2{margin:0 0 6px;font-size:16px}.panel>p{margin:0;color:var(--muted);font-size:12px}.empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:30px 12px;color:var(--purple);text-align:center}.empty>svg{width:34px;height:34px;opacity:.7}.empty b{color:var(--text);font-size:13px}.empty small,.reading small{color:var(--muted);font-size:12px;line-height:1.6}.reading{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.reading>svg{color:var(--purple)}.reading b{font-size:13px}.reading button{padding:9px 13px;border:0;border-radius:10px;background:var(--lavender);color:var(--purple-dark);font-size:12px;font-weight:700}footer{padding:30px 10px 15px;color:var(--muted);text-align:center;font-size:11px}.dark{--text: #eee9f5;--muted: #aaa1b7;background:#211d2b;color:var(--text)}.dark .sidebar,.dark .topbar,.dark .stat,.dark .panel{background:#2b2537;border-color:#40364f}.dark .search,.dark .actions button{background:#352d43;border-color:#493d5b;color:#c9b8e5}.dark .search input{color:var(--text)}.dark .nav-item{color:#c0b6ce}.dark .nav-item:hover,.dark .nav-item.active{background:#403451;color:#d8c4f5}.dark .banner{background:#352d43;border-color:#493d5b}.dark .banner p{color:#c0b6ce}.dark .profile{border-color:#40364f}@media(max-width:950px){.sidebar{width:210px}.content{padding:25px 20px}.topbar{padding:14px 20px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.sidebar{width:66px;padding:20px 8px}.brand{justify-content:center;margin:0 0 30px}.brand>div:last-child,.nav-heading,.nav-item span,.profile>div:last-child{display:none}.nav-item{justify-content:center;padding:13px 5px}.profile{justify-content:center}.topbar{padding:12px}.content{padding:20px 14px}.columns{grid-template-columns:1fr}.welcome{align-items:flex-start;flex-direction:column}.banner{padding:18px}.banner span{display:none}}
