:root{--bg:#f4f7fb;--primary:#1261a6;--secondary:#0f9f8f;--dark:#17324d;--card:#fff;--text:#263445;--muted:#758195;--danger:#d64545}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0c4a7d,#0f9f8f)}.login-card{background:white;width:min(430px,92vw);border-radius:28px;padding:36px;box-shadow:0 25px 80px #002b4f66}.brand{display:flex;gap:12px;align-items:center}.logo{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--secondary));display:grid;place-items:center;color:#fff;font-size:27px}.input{width:100%;padding:13px 14px;border:1px solid #dbe4ef;border-radius:14px;margin:7px 0 16px;background:#fbfdff}.btn{border:0;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:white;padding:12px 18px;font-weight:700;cursor:pointer}.layout{display:flex;min-height:100vh}.sidebar{width:282px;background:#0d2d4c;color:#d9e9f7;padding:22px;position:fixed;inset:0 auto 0 0;overflow:auto}.sidebar h2{font-size:18px;color:#fff}.nav a{display:flex;gap:12px;padding:11px 12px;border-radius:14px;margin:5px 0;color:#dcecf8}.nav a:hover,.nav a.active{background:#ffffff18;color:#fff}.main{margin-left:282px;width:calc(100% - 282px);padding:24px}.topbar{background:#fff;border-radius:22px;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 10px 30px #18324d12}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:20px}.card{background:var(--card);border-radius:22px;padding:20px;box-shadow:0 10px 30px #18324d12;border:1px solid #edf1f6}.card h3{margin:0 0 8px;font-size:17px}.metric{font-size:27px;font-weight:800;color:var(--dark);margin-top:8px}.muted{color:var(--muted);font-size:13px}.menu-card{transition:.2s}.menu-card:hover{transform:translateY(-3px);box-shadow:0 16px 35px #18324d22}.icon{font-size:32px;margin-bottom:12px}.table-wrap{overflow:auto;background:#fff;border-radius:20px;box-shadow:0 10px 30px #18324d12;margin-top:18px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:12px 14px;border-bottom:1px solid #edf1f6;text-align:left}th{background:#f7fafd;color:#44546a;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.alert{padding:12px;border-radius:12px;margin:12px 0}.alert-success{background:#eaf8f3;color:#157a55}.alert-danger{background:#fdecec;color:#a53030}.right{text-align:right}.section-title{margin:26px 0 8px}.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#eaf3ff;color:#1261a6;font-weight:700}@media(max-width:850px){.sidebar{position:static;width:100%;height:auto}.layout{display:block}.main{margin-left:0;width:100%}}
/* Dashboard menyerupai Sheet MENU Excel */
.excel-menu{display:grid;grid-template-columns:1.15fr 1.08fr .58fr;gap:0;background:#14304d;border:2px solid #0a2035;border-radius:10px;overflow:hidden;box-shadow:0 18px 45px #0b254422;margin-top:16px}.menu-panel{border:2px solid #20486b;background:#d8f5b9;min-height:265px}.left-panel{display:grid;grid-template-rows:92px 1fr}.entry-btn{margin:10px 16px;border-radius:12px;border:2px solid #24608b;background:linear-gradient(#ffd9aa,#efb373);display:grid;place-items:center;font-size:30px;font-weight:900;color:#954600;text-shadow:1px 2px 4px #fff;box-shadow:inset 0 0 0 2px #ffe3bb,0 4px 0 #183d59}.green-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 16px}.green-grid a,.green-btn{background:linear-gradient(#ecffd8,#bdf18a);border:2px solid #266c9b;box-shadow:inset 0 0 0 2px #f6ffe9,0 4px 0 #143954;border-radius:12px;display:grid;place-items:center;text-align:center;font-weight:900;color:#c3163b;text-shadow:1px 1px 2px #fff;min-height:66px}.center-panel{background:#e0ffc0}.koperasi-title{text-align:center;font-size:22px;font-weight:900;color:#7daa5e;padding:9px;background:#e0ffc0;border-bottom:4px double #2d79ac}.chart-card{margin:0;background:#f7e4d3;min-height:265px;text-align:center;padding:12px}.chart-card h2{font-size:18px;color:#111;margin:0 0 10px}.pie-wrap{display:flex;align-items:center;justify-content:center;gap:22px}.pie{width:135px;height:135px;border-radius:50%;background:conic-gradient(#4d80b8 0 60%,#b94d48 60% 80%,#9bbb59 80% 90%,#8064a2 90% 95%,#f79646 95% 100%);box-shadow:12px 14px 0 #1e3650}.pie-wrap ul{font-size:10px;text-align:left;line-height:1.15;margin:0;padding-left:14px}.yellow-stack{display:grid;gap:9px;padding:8px 14px;background:#3d5f32}.yellow-stack a,.yellow-btn{background:linear-gradient(#ffff00,#f5df00);border:2px solid #275b82;box-shadow:inset 0 0 0 2px #ffff7a,0 4px 0 #17344e;border-radius:12px;display:grid;place-items:center;text-align:center;font-weight:900;color:#c3163b;text-shadow:1px 1px 2px #fff;min-height:60px}.bottom-menu{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;background:#0d2d4c;border:2px solid #0a2035;border-radius:0 0 10px 10px;padding:10px;margin-bottom:18px}.bottom-menu a{min-height:86px}.red-btn{background:linear-gradient(#ff1010,#df0000);border:2px solid #861616;box-shadow:inset 0 0 0 2px #ff7070,0 4px 0 #4b0b0b;border-radius:12px;display:grid;place-items:center;text-align:center;font-weight:900;color:#6ee8ff;text-shadow:1px 1px 2px #003;min-height:86px}@media(max-width:1100px){.excel-menu{grid-template-columns:1fr}.bottom-menu{grid-template-columns:repeat(2,1fr)}}
textarea.input{font-family:inherit;resize:vertical}
.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:16px;margin-top:12px}.chart-box canvas{width:100%;display:block}.chart-box h3{margin-bottom:12px}.chart-box.wide{grid-column:1/-1}@media(max-width:900px){.chart-grid{grid-template-columns:1fr}.chart-box.wide{grid-column:auto}}


.action-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.inline-form{display:inline;margin:0}
.btn-ai{background:linear-gradient(135deg,#7c3aed,#2563eb);color:#fff;border:0}
.ai-result{border-left:5px solid #7c3aed}
.ai-result pre{white-space:pre-wrap;font-family:inherit;line-height:1.6;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:14px;margin:0}
.btn-danger{background:linear-gradient(135deg,#dc2626,#991b1b);padding:8px 12px;border-radius:10px;font-size:12px}.table-wrap form{margin:0}.table-wrap .btn{white-space:nowrap}
