:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#eef2f7}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;background:#eef2f7}button,input,select{font:inherit}button{cursor:pointer}.app-shell{display:flex;min-height:100vh;background:#eef2f7}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;display:flex;width:280px;transform:translate(-100%);flex-direction:column;gap:18px;overflow-y:auto;background:linear-gradient(180deg,#101a34,#132343 58%,#0f1b32);color:#eaf1ff;padding:22px 16px;transition:transform .18s ease}.sidebar-open{transform:translate(0)}.sidebar-brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:14px;background:#2f7df6;color:#fff;font-weight:900}.brand-title{font-size:14px;font-weight:800;letter-spacing:.02em}.brand-subtitle,.role-text{color:#93a4c4;font-size:12px}.role-card{display:flex;align-items:center;gap:10px;border:1px solid rgba(147,164,196,.2);border-radius:16px;background:#ffffff0f;padding:12px}.role-name{font-weight:800;text-transform:capitalize}.sidebar-nav{display:flex;flex-direction:column;gap:6px}.nav-item{display:flex;width:100%;align-items:center;gap:11px;border:0;border-radius:13px;background:transparent;color:#c8d5ef;padding:11px 12px;text-align:left}.nav-item span{flex:1}.nav-item:hover,.nav-active{background:#2f7df62e;color:#fff}.content-shell{display:flex;min-width:0;flex:1;flex-direction:column}.topbar{display:flex;min-height:78px;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #dde5f0;background:#fff;padding:16px 22px}.topbar h1{margin:0;color:#15213a;font-size:22px}.topbar p{margin:4px 0 0;color:#6c7890;font-size:13px}.topbar-meta{display:flex;align-items:center;gap:12px;color:#627087;font-size:13px}.topbar-meta span{display:inline-flex;align-items:center;gap:6px}.topbar-meta b{border-radius:999px;background:#e8f0ff;color:#225bc7;padding:7px 12px;text-transform:capitalize}.main-content{flex:1;overflow:auto;padding:22px}.page-stack{display:flex;flex-direction:column;gap:18px}.panel{border:1px solid #dde5f0;border-radius:20px;background:#fff;padding:18px;box-shadow:0 10px 28px #101a3412}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.section-heading h2{margin:0;color:#15213a;font-size:18px}.section-heading p{margin:5px 0 0;color:#738199;font-size:13px}.segmented{display:inline-flex;flex-wrap:wrap;gap:6px;border-radius:14px;background:#f1f5fb;padding:5px}.segmented.left{align-self:flex-start}.segmented button{border:0;border-radius:11px;background:transparent;color:#65728a;padding:8px 12px;font-weight:700}.segmented button.active{background:#2f7df6;color:#fff;box-shadow:0 8px 18px #2f7df63d}.inline-form{display:grid;grid-template-columns:repeat(6,minmax(135px,1fr));gap:12px;align-items:end}.field{display:flex;min-width:0;flex-direction:column;gap:6px}.label,.field span{color:#667389;font-size:12px;font-weight:800}.dark-label{color:#aebdde}.input,.select,.search-box input{width:100%;min-height:42px;border:1px solid #cfdae8;border-radius:12px;background:#fff;color:#172033;padding:9px 11px;outline:none}.dark-select{border-color:#93a4c442;background:#ffffff14;color:#eaf1ff}.input:focus,.select:focus,.search-box:focus-within{border-color:#2f7df6;box-shadow:0 0 0 3px #2f7df61f}.tiny-input{min-height:34px;width:76px;border-radius:9px;padding:6px 8px}.btn-primary,.btn-success,.danger-btn,.icon-btn{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:9px 14px;font-weight:800}.btn-primary{background:#2f7df6;color:#fff}.btn-primary:hover{background:#225bc7}.btn-success{min-height:34px;background:#dcfce7;color:#166534}.danger-btn{min-height:34px;background:#fee2e2;color:#b91c1c}.icon-btn{min-height:38px;border:1px solid #d6dfeb;background:#fff;color:#172033;padding:8px 10px}.sidebar .icon-btn{margin-left:auto;border-color:#ffffff2e;background:#ffffff14;color:#fff}.profit-box{display:flex;min-height:42px;flex-direction:column;justify-content:center;border-radius:12px;background:#edfdf3;color:#166534;padding:6px 11px}.profit-box span{font-size:11px;font-weight:800}.profit-box b{font-size:13px}.status-text{margin:12px 0 0;border-radius:12px;background:#fff7ed;color:#9a3412;padding:10px 12px;font-size:13px;font-weight:700}.toolbar{display:flex;flex-wrap:wrap;gap:10px}.search-box{display:flex;min-width:min(320px,100%);align-items:center;gap:8px;border:1px solid #cfdae8;border-radius:12px;background:#fff;padding:0 10px}.search-box input{min-height:40px;border:0;padding-left:0}.table-wrap{overflow-x:auto;border:1px solid #e4ebf5;border-radius:16px}.data-table{width:100%;min-width:860px;border-collapse:collapse;background:#fff}.data-table th,.data-table td{border-bottom:1px solid #edf2f8;padding:12px 13px;text-align:left;vertical-align:middle;font-size:13px}.data-table th{background:#f8fafd;color:#64748b;font-size:11px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.data-table tr:last-child td{border-bottom:0}.empty-cell{color:#7a879b;text-align:center!important}.category-badge{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900}.category-badge.fcts{background:#dbeafe;color:#1d4ed8}.category-badge.kletikan{background:#f3e8ff;color:#7e22ce}.category-badge.umy{background:#dcfce7;color:#15803d}.money-green{color:#15803d;font-weight:900}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stat-card{border:1px solid #dde5f0;border-radius:18px;background:#fff;padding:18px;box-shadow:0 10px 28px #101a340f}.stat-card span{color:#6f7d93;font-size:13px;font-weight:800}.stat-card b{display:block;margin-top:8px;color:#15213a;font-size:22px}.empty-state{display:grid;min-height:260px;place-items:center;text-align:center;color:#6c7890}.empty-state h2{margin:6px 0 0;color:#15213a}.empty-state p{margin:0}.mobile-only{display:inline-flex}@media (min-width: 900px){.sidebar{position:sticky;top:0;transform:none}.mobile-only{display:none}}@media (max-width: 1100px){.inline-form{grid-template-columns:repeat(2,minmax(150px,1fr))}.section-heading{flex-direction:column}}@media (max-width: 700px){.main-content,.topbar{padding:14px}.topbar{align-items:flex-start}.topbar-meta{display:none}.inline-form,.stats-grid{grid-template-columns:1fr}.panel{border-radius:16px;padding:14px}.toolbar,.segmented{width:100%}.segmented button,.toolbar .select{flex:1}}
