:root{--burg:#800020;--burg2:#a41236;--burg3:#5f0018;--rose:#fbf3f5;--rose2:#f4e6ea;--green:#12a53a;--orange:#ff8a00;--ink:#32111a;--muted:#6f6065;--line:#eadde1;--shadow:0 12px 30px rgba(91,0,24,.10)}*{box-sizing:border-box}html,body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:#f8f7f8;color:var(--ink)}button,input,select,textarea{font:inherit}.app{min-height:100vh}.topbar{height:76px;background:linear-gradient(110deg,var(--burg3),var(--burg),#9b0030);color:#fff;display:flex;align-items:center;gap:18px;padding:0 26px;position:sticky;top:0;z-index:20;box-shadow:0 2px 18px rgba(65,0,18,.18)}.brand{display:flex;align-items:center;gap:11px;min-width:250px}.brand img{width:62px;height:50px;object-fit:contain;background:white;border-radius:10px;padding:3px}.brand strong{display:block;font-size:24px;line-height:1}.brand span{display:block;font-size:11px;font-weight:700;margin-top:5px}.bar-title{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.16);padding:10px 22px;border-radius:999px;font-weight:800}.spacer{flex:1}.userbox{display:flex;align-items:center;gap:10px}.avatar{width:40px;height:40px;border-radius:50%;background:white;color:var(--burg);display:grid;place-items:center;font-weight:900}.user-meta{line-height:1.1}.user-meta strong{display:block}.user-meta small{opacity:.85}.layout{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 76px)}.sidebar{background:linear-gradient(180deg,#99012d,var(--burg3));color:white;padding:18px 14px;position:sticky;top:76px;height:calc(100vh - 76px);overflow:auto}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;color:white;text-decoration:none;margin-bottom:4px;font-weight:700;cursor:pointer;border:0;width:100%;background:transparent;text-align:left}.nav-item:hover,.nav-item.active{background:linear-gradient(90deg,#c5335d,#ad1641)}.nav-icon{width:26px;text-align:center;font-size:20px}.badge{margin-left:auto;background:var(--orange);color:white;border-radius:999px;padding:2px 8px;font-size:11px}.sidebar hr{border:0;border-top:1px solid rgba(255,255,255,.22);margin:14px 7px}.content{padding:26px;min-width:0}.page-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px}.page-head h1{margin:0;color:var(--burg3);font-size:28px}.page-head p{margin:4px 0 0;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.card{background:white;border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:var(--shadow)}.metric{display:flex;align-items:center;gap:13px}.metric .micon{width:48px;height:48px;border-radius:13px;background:var(--rose2);display:grid;place-items:center;color:var(--burg);font-size:23px}.metric strong{font-size:26px;color:var(--burg3);display:block}.metric small{color:var(--muted)}.card.primary{background:linear-gradient(135deg,var(--burg2),var(--burg));color:white;border:0}.card.primary .micon{background:rgba(255,255,255,.15);color:white}.card.primary strong,.card.primary small{color:white}.grid-2{display:grid;grid-template-columns:1.35fr .9fr;gap:18px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-title h2{font-size:18px;margin:0;color:var(--burg3)}.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer}.btn-primary{background:var(--burg);color:white}.btn-soft{background:var(--rose2);color:var(--burg)}.btn-outline{background:white;color:var(--burg);border:1px solid #d9aab7}.quick{display:grid;gap:10px}.quick button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 15px;border:1px solid #d9aab7;border-radius:10px;background:white;color:var(--burg3);font-weight:800;cursor:pointer}.quick button:hover{background:var(--rose)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:11px 10px;border-bottom:1px solid #eee;text-align:left}th{font-size:12px;color:#5e4d53;background:#faf8f9}.status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800}.st-new{background:#ffe6ec;color:#a20030}.st-proc{background:#fff0d9;color:#b46500}.st-done,.st-active{background:#e3f6e8;color:#138134}.panel{display:none}.panel.active{display:block}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field label{display:block;font-size:12px;font-weight:800;margin-bottom:6px;color:#5e4d53}.field input,.field select,.field textarea{width:100%;border:1px solid #d8c7cc;border-radius:10px;padding:11px 12px;background:white}.field textarea{min-height:120px;resize:vertical}.member-card{border-radius:18px;overflow:hidden;border:1px solid #e2ccd3;background:white;display:grid;grid-template-columns:110px 1fr 105px;align-items:center;gap:18px;padding:18px;position:relative}.member-card:before{content:'';position:absolute;right:0;top:0;width:39%;height:100%;background:linear-gradient(135deg,transparent 22%,var(--burg) 22%);z-index:0}.member-card>*{position:relative;z-index:1}.member-card .photo{width:90px;height:110px;border-radius:10px;background:#e9e7e8;display:grid;place-items:center;font-size:45px;color:#777}.member-card .details{font-size:13px}.member-card .details h3{margin:0 0 8px;color:var(--burg3);font-size:24px}.member-card .details div{margin:3px 0}.qr{width:82px;height:82px;background:repeating-conic-gradient(#111 0 25%,#fff 0 50%) 50%/18px 18px;border:7px solid white;box-shadow:0 0 0 1px #ccc}.toast{position:fixed;right:20px;bottom:20px;background:#2d151d;color:white;padding:12px 16px;border-radius:10px;box-shadow:var(--shadow);opacity:0;transform:translateY(20px);pointer-events:none;transition:.25s;z-index:50}.toast.show{opacity:1;transform:translateY(0)}.mobile-toggle{display:none;background:transparent;border:0;color:white;font-size:27px}.overlay{display:none}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1.3fr;background:linear-gradient(135deg,#fff 0,#fbf3f5 55%,#f0dde3)}.login-art{display:flex;align-items:center;justify-content:center;padding:40px;position:relative;overflow:hidden}.login-art:before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(128,0,32,.10),transparent 50%)}.login-card{background:white;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--shadow);max-width:440px;width:100%;position:relative;z-index:1}.login-card img{width:130px;display:block;margin:0 auto 10px}.login-card h1{text-align:center;color:var(--burg3);font-size:28px;margin:5px 0}.login-card p{text-align:center;color:var(--muted);margin-top:6px}.login-form{display:grid;gap:12px;margin-top:24px}.login-form input{padding:13px;border:1px solid #d8c7cc;border-radius:11px}.login-side{background:linear-gradient(135deg,var(--burg3),var(--burg),#b10d3f);display:grid;place-items:center;color:white;padding:40px}.login-side .copy{max-width:580px}.login-side h2{font-size:44px;margin:0 0 10px}.login-side p{font-size:18px;opacity:.9}.small-note{background:var(--rose);border:1px solid #f0d8df;padding:12px;border-radius:11px;color:var(--burg3);font-size:13px;text-align:center}.admin-cards{grid-template-columns:repeat(5,minmax(0,1fr))}.chart{width:100%;height:230px}.donut{width:180px;height:180px;border-radius:50%;background:conic-gradient(#b10d39 0 28%,#ff9b19 28% 71%,#2fad46 71% 92%,#bbb 92%);display:grid;place-items:center}.donut-inner{width:105px;height:105px;border-radius:50%;background:white;display:grid;place-items:center;text-align:center}
@media(max-width:1050px){.cards,.admin-cards{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.brand{min-width:0}.brand strong{font-size:19px}.bar-title{display:none}.login-page{grid-template-columns:1fr}.login-side{display:none}}
@media(max-width:760px){.topbar{padding:0 14px;height:68px}.brand img{width:52px;height:44px}.brand span{display:none}.user-meta{display:none}.mobile-toggle{display:block}.layout{grid-template-columns:1fr;min-height:calc(100vh - 68px)}.sidebar{position:fixed;left:-270px;top:68px;width:250px;height:calc(100vh - 68px);z-index:40;transition:.25s}.sidebar.open{left:0}.overlay.open{display:block;position:fixed;inset:68px 0 0;background:rgba(20,0,8,.35);z-index:30}.content{padding:16px}.cards,.admin-cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.member-card{grid-template-columns:80px 1fr}.member-card:before{width:34%}.qr{display:none}.page-head{flex-direction:column}.grid-2{display:block}.grid-2>.card{margin-bottom:14px}.table-wrap{overflow:auto}.table-wrap table{min-width:680px}.brand strong{font-size:16px}.login-art{padding:18px}.login-card{padding:24px}}
