@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@700;800;900&family=Outfit:wght@400;600;700;800&family=Cinzel:wght@700;800&family=Lora:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Montserrat:wght@500;600;700;800&display=swap";:root{--font-sans:"Outfit", system-ui, -apple-system, sans-serif;--font-heading:"Plus Jakarta Sans", var(--font-sans);--font-mono:ui-monospace, SFMono-Regular, Consolas, monospace;--bg-base:#f3f4f6;--bg-card:#fff;--border-color:#000;--yellow:#facc15;--yellow-light:#fef08a;--orange:#f97316;--green:#22c55e;--green-bg:#dcfce7;--green-border:#000;--red:#ef4444;--red-bg:#fee2e2;--red-border:#000;--blue:#2563eb;--blue-bg:#dbeafe;--blue-border:#000;--ink:#000;--ink-soft:#1f2937;--ink-mute:#4b5563;--border-width:2px;--shadow-offset:3px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;height:100%}body{font-family:var(--font-sans);color:var(--ink);background:#d1d5db;justify-content:center;align-items:flex-start;height:100%;line-height:1.4;display:flex;overflow-x:hidden}#root{background:var(--bg-base);border-left:3px solid var(--border-color);border-right:3px solid var(--border-color);flex-direction:column;width:100%;max-width:480px;min-height:100vh;display:flex;position:relative;box-shadow:8px 0 #00000026}a{color:inherit;text-decoration:none}input,select,textarea,button{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}img{max-width:100%;height:auto}.no-scroll::-webkit-scrollbar{display:none}.no-scroll{-ms-overflow-style:none;scrollbar-width:none}.card{background:var(--bg-card);border:var(--border-width) solid var(--border-color);box-shadow:var(--shadow-offset) var(--shadow-offset) 0px 0px var(--border-color);border-radius:4px;padding:16px;transition:transform .1s,box-shadow .1s;position:relative}.hero-card{color:#fff;border:var(--border-width) solid var(--border-color);box-shadow:var(--shadow-offset) var(--shadow-offset) 0px 0px var(--yellow);background:#000;border-radius:4px;padding:20px 16px}.stat-card{background:var(--bg-card);border:var(--border-width) solid var(--border-color);cursor:pointer;box-shadow:2px 2px 0px 0px var(--border-color);border-radius:4px;padding:14px 12px;transition:transform .1s,box-shadow .1s}.stat-card:hover{box-shadow:3px 3px 0px 0px var(--border-color);transform:translate(-1px,-1px)}.stat-icon{border:1.5px solid var(--border-color);width:34px;height:34px;box-shadow:1.5px 1.5px 0px var(--border-color);border-radius:4px;justify-content:center;align-items:center;margin-bottom:8px;font-size:15px;display:flex}.field{border:var(--border-width) solid var(--border-color);width:100%;color:var(--ink);background:#fff;border-radius:4px;outline:none;padding:10px 12px;font-size:13px;font-weight:700;transition:background-color .1s;box-shadow:inset 1.5px 1.5px #00000014}.field:focus{background-color:var(--yellow-light)}.field:disabled{cursor:not-allowed;background:#e5e7eb}.field-label{font-family:var(--font-heading);color:var(--ink);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px;font-size:10px;font-weight:800;display:block}.search-wrap{position:relative}.search-wrap i{color:var(--ink);font-size:15px;font-weight:900;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-wrap .field{padding-left:36px}.radio-group{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.radio-group label{cursor:pointer}.radio-group label input{display:none}.radio-group label div{border:var(--border-width) solid var(--border-color);text-align:center;font-family:var(--font-heading);text-transform:uppercase;color:var(--ink);box-shadow:1.5px 1.5px 0px var(--border-color);background:#fff;border-radius:4px;padding:10px 4px;font-size:11px;font-weight:800;transition:all .1s}.radio-group input:checked+div{background:var(--yellow);box-shadow:.5px .5px 0px var(--border-color);transform:translate(1px,1px)}.tab-bar{border:var(--border-width) solid var(--border-color);box-shadow:2px 2px 0px var(--border-color);background:#fff;border-radius:4px;padding:3px;display:flex}.tab-btn{font-family:var(--font-heading);text-transform:uppercase;color:var(--ink-soft);text-align:center;border-radius:2px;flex:1;padding:8px;font-size:11px;font-weight:800;transition:all .1s}.tab-btn.active{background:var(--ink);color:#fff}.filter-chips{gap:6px;padding-bottom:6px;display:flex;overflow-x:auto}.chip{border:var(--border-width) solid var(--border-color);font-family:var(--font-heading);text-transform:uppercase;color:var(--ink);white-space:nowrap;cursor:pointer;box-shadow:1.5px 1.5px 0px var(--border-color);background:#fff;border-radius:4px;padding:6px 12px;font-size:10px;font-weight:800}.chip.active{background:var(--yellow);box-shadow:.5px .5px 0px var(--border-color);transform:translate(1px,1px)}.btn-primary{background:var(--yellow);color:#000;border:var(--border-width) solid var(--border-color);width:100%;font-family:var(--font-heading);text-transform:uppercase;text-align:center;letter-spacing:.03em;box-shadow:2px 2px 0px var(--border-color);border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:11px;font-size:12px;font-weight:800;transition:transform .1s,box-shadow .1s;display:flex}.btn-primary:hover{box-shadow:3px 3px 0px var(--border-color);transform:translate(-1px,-1px)}.btn-primary:active{box-shadow:.5px .5px 0px var(--border-color);transform:translate(1.5px,1.5px)}.btn-ghost{border:var(--border-width) solid var(--border-color);color:var(--ink);font-family:var(--font-heading);text-transform:uppercase;box-shadow:1.5px 1.5px 0px var(--border-color);background:#fff;border-radius:4px;padding:10px;font-size:11px;font-weight:800;transition:all .1s}.btn-ghost:hover{box-shadow:2.5px 2.5px 0px var(--border-color);transform:translate(-1px,-1px)}.btn-ghost:active{box-shadow:.5px .5px 0px var(--border-color);transform:translate(1px,1px)}.btn-icon{border:var(--border-width) solid var(--border-color);cursor:pointer;width:36px;height:36px;box-shadow:1.5px 1.5px 0px var(--border-color);background:#fff;border-radius:4px;justify-content:center;align-items:center;font-size:15px;transition:all .1s;display:flex}.btn-icon:hover{box-shadow:2.5px 2.5px 0px var(--border-color);transform:translate(-1px,-1px)}.btn-icon:active{box-shadow:.5px .5px 0px var(--border-color);transform:translate(1px,1px)}.btn-logout{background:var(--red-bg);width:34px;height:34px;color:var(--red);border:var(--border-width) solid var(--border-color);box-shadow:1.5px 1.5px 0px var(--border-color);border-radius:4px;justify-content:center;align-items:center;font-size:15px;transition:all .1s;display:flex}.btn-logout:hover{background:var(--red);color:#fff;box-shadow:2.5px 2.5px 0px var(--border-color);transform:translate(-1px,-1px)}.badge{font-family:var(--font-heading);text-transform:uppercase;border:1.5px solid var(--border-color);border-radius:3px;align-items:center;padding:2px 6px;font-size:9px;font-weight:800;display:inline-flex}.badge-green{background:var(--green-bg);color:var(--green)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-amber{background:var(--yellow-light);color:var(--orange)}.avatar{border:1.5px solid var(--border-color);font-family:var(--font-heading);box-shadow:1.5px 1.5px 0px var(--border-color);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:flex}.kas-item{border:var(--border-width) solid var(--border-color);box-shadow:2px 2px 0px var(--border-color);background:#fff;border-radius:4px;align-items:center;gap:12px;padding:12px;display:flex}.feed-icon{border:1.5px solid var(--border-color);width:36px;height:36px;box-shadow:1px 1px 0px var(--border-color);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;display:flex}.member-card{border:var(--border-width) solid var(--border-color);box-shadow:2px 2px 0px var(--border-color);background:#fff;border-radius:4px;justify-content:space-between;align-items:center;padding:12px;display:flex}#app{background:var(--bg-base);flex-direction:column;width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.app-header{z-index:50;border-bottom:2.5px solid var(--border-color);background:#fff;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.header-eyebrow{font-family:var(--font-heading);color:var(--ink-mute);text-transform:uppercase;letter-spacing:.05em;font-size:9px;font-weight:800}.header-title{font-family:var(--font-heading);color:var(--ink);text-transform:uppercase;margin-top:1px;font-size:18px;font-weight:900}.main-scroll{flex:1;overflow:hidden auto}.app-nav{border-top:2.5px solid var(--border-color);z-index:50;background:#fff;flex-shrink:0;justify-content:space-around;align-items:center;width:100%;height:60px;display:flex;position:sticky;bottom:0;left:0}.nav-item{color:var(--ink-mute);height:100%;font-family:var(--font-heading);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-weight:800;transition:all .1s;display:flex}.nav-item i{font-size:16px}.nav-item span{text-transform:uppercase;letter-spacing:.02em;font-size:9px}.nav-item.active{color:var(--ink);background:var(--yellow)}.nav-badge{background:var(--red);color:#fff;border:1.5px solid var(--border-color);border-radius:3px;padding:1px 4px;font-size:8px;font-weight:800;position:absolute;top:6px;right:18%}.overlay{z-index:200;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);background:#0009;width:100%;height:100%;position:fixed;top:0;left:0}.sheet{z-index:210;width:100%;max-width:480px;box-shadow:0 -4px 0px var(--border-color);border:2.5px solid var(--border-color);background:#fff;border-bottom:none;border-radius:8px 8px 0 0;flex-direction:column;max-height:94vh;transition:transform .22s cubic-bezier(.32,.72,0,1);display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)translateY(100%)}.sheet.open{transform:translate(-50%)translateY(0)}.sheet-handle{background:var(--border-color);border-radius:99px;flex-shrink:0;width:40px;height:5px;margin:10px auto 6px}.sheet-head{border-bottom:2px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.sheet-title{font-family:var(--font-heading);text-transform:uppercase;color:var(--ink);font-size:14px;font-weight:900}.sheet-close{border:1.5px solid var(--border-color);width:26px;height:26px;color:var(--ink);box-shadow:1px 1px 0px var(--border-color);background:#fff;border-radius:4px;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.sheet-body{flex:1;padding:16px 16px 28px;overflow-y:auto}.brut-body{background:var(--bg-base);color:var(--ink);flex-direction:column;flex:1;display:flex}.brut-topbar{color:#fff;font-family:var(--font-heading);letter-spacing:.08em;text-align:center;border-bottom:2px solid var(--border-color);background:#000;justify-content:space-between;padding:6px 16px;font-size:9px;font-weight:800;display:flex}.brut-nav{border-bottom:2.5px solid var(--border-color);z-index:100;background:#fff;position:sticky;top:0}.brut-nav-inner{justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.brut-brand{align-items:center;gap:8px;display:flex}.brut-logo-box{border:1.5px solid var(--border-color);background:var(--bg-base);border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;padding:2px;display:flex;overflow:hidden}.brut-logo-box img{object-fit:contain;width:100%;height:100%}.brut-brand-name{font-family:var(--font-heading);letter-spacing:.01em;font-size:13px;font-weight:900}.brut-brand-sub{color:var(--ink-mute);letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:700}.brut-login-btn{color:#fff;border:2px solid var(--border-color);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.03em;box-shadow:2px 2px 0px var(--yellow);background:#000;border-radius:4px;align-items:center;gap:4px;padding:6px 10px;font-size:10.5px;font-weight:800;transition:all .1s;display:flex}.brut-login-btn:hover{box-shadow:3px 3px 0px var(--yellow);transform:translate(-1px,-1px)}.brut-login-btn:active{box-shadow:1px 1px 0px var(--yellow);transform:translate(1px,1px)}.brut-hero{background:var(--yellow);border-bottom:2.5px solid var(--border-color);padding:36px 16px 32px;position:relative;overflow:hidden}.brut-hero-bg{pointer-events:none;position:absolute;inset:0}.brut-bg-mark{font-family:var(--font-heading);opacity:.06;color:#000;font-weight:800;position:absolute}.brut-bg-mark-1{font-size:80px;top:-10px;right:-10px}.brut-bg-mark-2{font-size:64px;bottom:-20px;left:-10px}.brut-bg-mark-3{font-size:48px;top:40%;right:10%}.brut-hero-inner{z-index:10;position:relative}.brut-stamp{color:#fff;font-family:var(--font-heading);letter-spacing:.05em;border:1.5px solid var(--border-color);background:#000;border-radius:2px;margin-bottom:12px;padding:3px 6px;font-size:9px;font-weight:800;display:inline-block;transform:rotate(-1.5deg);box-shadow:1.5px 1.5px #fff}.brut-hero-title{font-family:var(--font-heading);letter-spacing:-.01em;text-transform:uppercase;margin-bottom:16px;font-size:32px;font-weight:900;line-height:1.05}.brut-hero-title-accent{color:#000;border:2px solid var(--border-color);box-shadow:2.5px 2.5px 0px var(--border-color);background:#fff;border-radius:4px;margin-top:4px;padding:2px 8px;font-size:30px;display:inline-block;transform:rotate(1.2deg)}.brut-hero-desc{color:#000;max-width:98%;margin-bottom:24px;font-size:13px;font-weight:600;line-height:1.55}.brut-hero-cta{align-items:stretch;gap:10px;width:100%;display:flex}.brut-hero-cta>a,.brut-hero-cta>button{text-align:center;flex:1;justify-content:center}.brut-cta-main{color:#fff;font-family:var(--font-heading);letter-spacing:.03em;text-transform:uppercase;background:#000;border:2px solid #000;border-radius:4px;align-items:center;gap:6px;padding:11px 18px;font-size:12px;font-weight:800;transition:all .1s;display:inline-flex;box-shadow:2.5px 2.5px #fff}.brut-cta-main:hover{transform:translate(-1px,-1px);box-shadow:3.5px 3.5px #fff}.brut-cta-main:active{transform:translate(1px,1px);box-shadow:1.5px 1.5px #fff}.brut-cta-sec{color:#000;font-family:var(--font-heading);letter-spacing:.03em;box-shadow:2.5px 2.5px 0px var(--border-color);text-transform:uppercase;background:#fff;border:2px solid #000;border-radius:4px;align-items:center;padding:11px 16px;font-size:12px;font-weight:800;transition:all .1s;display:inline-flex}.brut-cta-sec:hover{box-shadow:3.5px 3.5px 0px var(--border-color);transform:translate(-1px,-1px)}.brut-cta-sec:active{box-shadow:1.5px 1.5px 0px var(--border-color);transform:translate(1px,1px)}.brut-ticker{color:#fff;border-bottom:2.5px solid var(--border-color);white-space:nowrap;background:#000;padding:8px 0;overflow:hidden}.brut-ticker-track{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:800;animation:25s linear infinite ticker;display:inline-block}.brut-tick-sep{color:var(--yellow);margin:0 12px}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.brut-section{border-bottom:2.5px solid var(--border-color);background:#fff;padding:28px 16px}.brut-section-label{font-family:var(--font-heading);color:var(--ink-mute);letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:800}.brut-label-light{color:#9ca3af}.brut-section-title{font-family:var(--font-heading);letter-spacing:-.01em;text-transform:uppercase;margin-bottom:18px;font-size:24px;font-weight:900;line-height:1.1}.brut-title-light{color:#fff}.brut-fitur-grid{flex-direction:column;gap:12px;display:flex}.brut-fitur-card{border:var(--border-width) solid var(--border-color);box-shadow:2.5px 2.5px 0px var(--border-color);background:#fff;border-radius:4px;padding:16px;position:relative}.brut-fitur-num{font-family:var(--font-heading);color:var(--yellow);-webkit-text-stroke:1px #000;font-size:14px;font-weight:900;position:absolute;top:10px;right:12px}.brut-fitur-icon{background:var(--bg-base);border:1.5px solid var(--border-color);width:36px;height:36px;box-shadow:1.5px 1.5px 0px var(--border-color);border-radius:4px;justify-content:center;align-items:center;margin-bottom:12px;font-size:16px;display:flex}.brut-fitur-label{font-family:var(--font-heading);text-transform:uppercase;margin-bottom:4px;font-size:13px;font-weight:900}.brut-fitur-desc{color:var(--ink-mute);font-size:11.5px;font-weight:600;line-height:1.45}.brut-divider{background:var(--yellow);border-bottom:2.5px solid var(--border-color);text-align:center;font-family:var(--font-heading);letter-spacing:.1em;justify-content:space-around;padding:8px;font-size:10px;font-weight:800;display:flex}.brut-section-dark{color:#fff;border-bottom:2.5px solid var(--border-color);background:#000}.brut-pengurus-list{flex-direction:column;gap:10px;display:flex}.brut-person{border:var(--border-width) solid #fff;background:#111;border-radius:4px;align-items:center;gap:12px;padding:12px;display:flex;box-shadow:2.5px 2.5px #fff}.brut-person-num{font-family:var(--font-heading);color:var(--yellow);font-size:16px;font-weight:900}.brut-person-av{color:#000;width:36px;height:36px;font-family:var(--font-heading);box-shadow:1.5px 1.5px 0px var(--yellow);background:#fff;border:1.5px solid #fff;border-radius:4px;justify-content:center;align-items:center;font-size:11px;font-weight:900;display:flex}.brut-person-info{flex-direction:column;display:flex}.brut-person-name{font-family:var(--font-heading);color:#fff;letter-spacing:.01em;font-size:13px;font-weight:900}.brut-person-role{color:#9ca3af;text-transform:uppercase;margin-top:1px;font-size:10px;font-weight:700}.brut-rt-grid{flex-direction:column;gap:10px;display:flex}.brut-rt-card{border:var(--border-width) solid var(--border-color);box-shadow:2.5px 2.5px 0px var(--border-color);background:#fff;border-radius:4px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:12px;display:grid}.brut-rt-num{font-family:var(--font-heading);font-size:18px;font-weight:900}.brut-rt-label{font-family:var(--font-heading);text-transform:uppercase;font-size:12px;font-weight:800}.brut-rt-bar{border:1.5px solid var(--border-color);background:#f3f4f6;border-radius:2px;grid-column:span 3;height:10px;overflow:hidden}.brut-rt-fill{background:var(--yellow);border-right:1.5px solid var(--border-color);height:100%}.brut-rt-pct{color:#fff;border:1px solid var(--border-color);background:#000;border-radius:2px;padding:1px 4px;font-size:10px;font-weight:800}.brut-cta-block{color:#fff;text-align:center;border-bottom:2.5px solid var(--border-color);background:#000;flex-direction:column;align-items:center;gap:12px;padding:28px 16px;display:flex}.brut-cta-block-text{font-family:var(--font-heading);text-transform:uppercase;font-size:20px;font-weight:900;line-height:1.1}.brut-cta-block-accent{color:var(--yellow)}.brut-cta-xl{box-shadow:3.5px 3.5px 0px var(--yellow);width:100%;max-width:280px;padding:14px 18px;font-size:13px}.brut-footer{color:#fff;background:#111;flex-direction:column;gap:12px;padding:28px 16px;display:flex}.brut-footer-brand{align-items:center;gap:8px;display:flex}.brut-footer-logo{background:var(--yellow);border:1.5px solid #fff;border-radius:50%;width:28px;height:28px;padding:2px;box-shadow:1.5px 1.5px #fff}.brut-footer-name{font-family:var(--font-heading);letter-spacing:.01em;font-size:11px;font-weight:900}.brut-footer-line{background:#374151;height:1.5px}.brut-footer-copy{color:#9ca3af;text-align:center;font-size:9px;font-weight:700;line-height:1.4}.toast{color:#fff;border:var(--border-width) solid var(--border-color);font-family:var(--font-heading);text-transform:uppercase;border-radius:4px;align-items:center;gap:8px;padding:8px 14px;font-size:11px;font-weight:800;animation:.2s ease-out forwards toast-in;display:flex;box-shadow:2px 2px #000}.tugas-row{align-items:center;gap:6px;display:flex}.tugas-row input,.tugas-row select{border:2px solid var(--border-color);border-radius:4px;padding:6px 8px;font-size:12px;font-weight:700}.empty{text-align:center;color:var(--ink-mute);border:var(--border-width) dashed var(--border-color);background:#fff;border-radius:4px;padding:24px 16px}.empty i{color:var(--ink);margin-bottom:6px;font-size:28px;display:block}.empty p{font-family:var(--font-heading);text-transform:uppercase;font-size:11px;font-weight:800}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.appear{opacity:0;animation:.2s ease-out forwards appear;transform:translateY(4px)}@keyframes appear{to{opacity:1;transform:translateY(0)}}
