:root{--v:#7c5ce7;--lav:#eee9ff;--ink:#24222b;--muted:#77727f;--line:#e8e5ed;--bg:#f7f7fb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif}button,input,select,textarea{font:inherit}.auth-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#211e29,#704ed5);padding:20px}.auth-card{width:min(430px,100%);background:#fff;padding:32px;border-radius:20px;box-shadow:0 25px 70px #0004}.auth-brand{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--v);color:#fff;font-size:24px}.auth-card h1{font-size:25px;margin:18px 0 8px}.auth-card>p,.auth-card>small{color:var(--muted);font-size:12px}.auth-card form{display:grid;gap:14px;margin:22px 0}.auth-card label,.fields label{display:grid;gap:6px;font-size:11px;font-weight:700}.auth-card input,.fields input,.fields select,.fields textarea{width:100%;height:43px;border:1px solid var(--line);border-radius:9px;padding:0 11px;outline:0;background:#fff}.auth-card input:focus,.fields input:focus,.fields select:focus,.fields textarea:focus{border-color:var(--v);box-shadow:0 0 0 3px #7c5ce718}.auth-card button,.form-card footer button,.primary-link{height:44px;border:0;border-radius:9px;background:var(--v);color:#fff;font-weight:700;display:grid;place-items:center;text-decoration:none}.error,.success,.flash{padding:12px 14px;border-radius:10px;font-size:12px;margin:14px 0}.error{background:#ffe8e8;color:#a13131}.success{background:#e1f7ec;color:#247a56}.shell>aside{position:fixed;inset:0 auto 0 0;width:245px;background:linear-gradient(160deg,#282631,#1c1b23);padding:27px 18px;color:#c7c4cf;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:#fff;padding:0 8px 28px}.brand>i{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#9970fb,#6842d2);font-style:normal}.brand b,.brand small,.profile b,.profile a{display:block}.brand small{font-size:10px;color:#aaa5b3;margin-top:4px}.shell nav{display:grid;gap:6px}.shell nav a{height:48px;padding:0 15px;border-radius:13px;display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none;font-size:13px}.shell nav a:hover,.shell nav a.active{background:#7c5ce72e;color:#fff;box-shadow:inset 3px 0 #936cf1}.shell nav i{font-style:normal;font-size:20px}.profile{margin-top:auto;padding:18px 8px 0;border-top:1px solid #ffffff14;display:flex;align-items:center;gap:10px}.profile>span{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:var(--lav);color:var(--v);font-weight:bold}.profile b{font-size:11px;color:#fff}.profile a{font-size:9px;color:#aaa;margin-top:4px}.shell>main{margin-left:245px;min-height:100vh;padding:30px 34px 50px}.shell>main>header{display:flex;align-items:center;margin-bottom:25px}.shell>main>header h1{font-size:31px;margin:0 0 7px}.shell>main>header p{margin:0;color:var(--muted);font-size:12px}.menu{display:none}.flash{background:#e5f7ee;color:#247a56;border:1px solid #c7ead8}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.stats article{min-height:150px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 3px 12px #221c3d08}.stats i{width:40px;height:40px;border-radius:10px;background:var(--lav);color:var(--v);font-style:normal;display:grid;place-items:center}.stats small,.stats b{display:block}.stats small{color:var(--muted);font-size:11px;margin-top:12px}.stats b{font-size:30px;margin-top:4px}.grid2{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;margin-top:20px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 3px 12px #221c3d08}.card-head{height:64px;padding:0 21px;border-bottom:1px solid var(--line);display:flex;align-items:center}.card-head h2{font-size:16px;margin:0}.card-head a{margin-left:auto;color:var(--v);font-size:10px}.list-row{padding:14px 20px;border-bottom:1px solid #f0edf3;display:flex;align-items:center}.list-row span b,.list-row span small{display:block}.list-row span b{font-size:12px}.list-row span small{font-size:9px;color:var(--muted);margin-top:4px}.list-row strong{margin-left:auto;font-size:12px}.money-total{padding:25px 21px}.money-total small,.money-total b{display:block}.money-total small{font-size:10px;color:var(--muted)}.money-total b{font-size:25px;margin-top:7px;color:var(--v)}.money-total.light{border-top:1px solid var(--line)}.form-card{overflow:hidden;margin-bottom:20px}.form-card form{margin:0}.fields{padding:20px 21px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.fields .wide{grid-column:1/-1}.fields textarea{height:72px;padding-top:10px;resize:vertical}.form-card footer{padding:14px 21px;border-top:1px solid var(--line);display:flex;justify-content:flex-end}.form-card footer button{padding:0 18px;cursor:pointer}.table-card{overflow:hidden}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:780px}th{text-align:left;background:#faf9fc;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em;padding:12px 16px}td{padding:14px 16px;border-top:1px solid #efedf2;font-size:11px;color:#5b5762}td b,td small{display:block}td small{font-size:9px;color:#999;margin-top:4px}.badge{padding:5px 8px;border-radius:99px;background:var(--lav);color:#6545c5;font-weight:700;font-size:9px}.inline{display:inline}.danger,.action{border:1px solid #eadde2;background:#fff4f6;color:#a3465b;border-radius:7px;padding:6px 8px;font-size:9px;text-decoration:none;cursor:pointer}.action{border-color:#ded6f5;background:#f7f4ff;color:var(--v);margin-right:5px}.empty{text-align:center;padding:30px;color:var(--muted);font-size:11px}.empty[hidden]{display:none}@media(max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}.fields{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}}@media(max-width:720px){.shell>aside{transform:translateX(-105%);transition:.2s;z-index:10}.menu-open .shell>aside{transform:none}.shell>main{margin:0;padding:20px 13px 60px}.menu{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:9px;background:#fff;margin-right:10px}.shell>main>header h1{font-size:23px}.fields{grid-template-columns:1fr}.fields .wide{grid-column:auto}.stats{gap:10px}.stats article{min-height:125px;padding:15px}.stats b{font-size:23px}}@media(max-width:420px){.stats{grid-template-columns:1fr 1fr}.stats small{font-size:9px}.stats b{font-size:20px}}
