*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#f4f7fb}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-body{background:#f4f7fb}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#0f1f3d;color:#dbe7ff;padding:20px 16px;display:flex;flex-direction:column;z-index:20}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:5px 4px 22px}.sidebar-brand strong{display:block;font-size:18px;color:#fff}.sidebar-brand small{color:#8ea7cb}.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#1683ff,#1160de 55%,#27b564);display:grid;place-items:center;color:white;font-weight:900;box-shadow:0 10px 24px rgba(24,111,236,.25)}.brand-mark.large{width:70px;height:70px;border-radius:22px;font-size:22px}.sidebar-nav{display:flex;flex-direction:column;gap:6px}.sidebar-nav a,.sidebar-bottom a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:12px;color:#aebfd9;font-weight:650;font-size:14px}.sidebar-nav a span{width:24px;text-align:center}.sidebar-nav a.active{background:#1768e8;color:#fff;box-shadow:0 8px 24px rgba(23,104,232,.25)}.sidebar-nav a:hover,.sidebar-bottom a:hover{background:#172b4f;color:#fff}.sidebar-nav a.disabled{opacity:.58}.sidebar-nav em{margin-left:auto;font-size:9px;font-style:normal;background:#263c61;padding:4px 6px;border-radius:99px}.sidebar-bottom{margin-top:auto;display:grid;gap:6px}.main{grid-column:2;padding:26px 28px 100px;max-width:1600px;width:100%}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.topbar h1{margin:2px 0 0;font-size:28px}.eyebrow{margin:0;font-size:11px;letter-spacing:.12em;font-weight:800;color:#6f7c93}.user-chip{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e4eaf3;padding:7px 12px 7px 8px;border-radius:16px;box-shadow:0 5px 16px rgba(20,37,63,.04)}.avatar{width:38px;height:38px;border-radius:12px;background:#1768e8;color:#fff;display:grid;place-items:center;font-weight:800}.avatar.soft{background:#e8f2ff;color:#1768e8}.user-chip strong,.user-chip small{display:block}.user-chip small{font-size:11px;color:#7b8799}.hero-card{background:linear-gradient(120deg,#0e5dd8,#147cf2 58%,#2ba66f);color:#fff;border-radius:24px;padding:24px 26px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 16px 34px rgba(19,103,232,.2);overflow:hidden;position:relative}.hero-card:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08);right:-70px;top:-90px}.hero-card h2{margin:4px 0 4px;font-size:27px}.hero-card p{margin:0;color:#dceaff}.hero-card .eyebrow{color:#bcd7ff}.hero-location{position:relative;z-index:1;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);padding:14px 18px;border-radius:18px;min-width:220px}.hero-location strong,.hero-location span{display:block}.hero-location span{font-size:12px;color:#dbeaff;margin-top:3px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.stat-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e6ebf3;border-radius:20px;padding:17px;box-shadow:0 5px 18px rgba(23,43,77,.045);transition:.2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(23,43,77,.08)}.stat-icon{width:45px;height:45px;border-radius:15px;display:grid;place-items:center;font-weight:900}.stat-card span,.stat-card small{display:block;color:#7b8798}.stat-card strong{display:block;font-size:21px;margin:2px 0}.stat-card small{font-size:11px}.stat-card.blue .stat-icon{background:#e9f2ff;color:#1768e8}.stat-card.green .stat-icon{background:#e7f8ef;color:#1c9b64}.stat-card.amber .stat-icon{background:#fff4de;color:#d88910}.stat-card.red .stat-icon{background:#ffeded;color:#dc4b4b}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.quick-item{background:#fff;border:1px solid #e6ebf3;border-radius:17px;padding:15px;display:grid;grid-template-columns:42px 1fr;column-gap:10px;align-items:center}.quick-item>span{grid-row:1/3;width:42px;height:42px;border-radius:14px;background:#edf4ff;color:#1768e8;display:grid;place-items:center;font-size:20px}.quick-item strong{font-size:14px}.quick-item small{color:#8390a4;font-size:11px}.content-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:16px}.panel,.form-card{background:#fff;border:1px solid #e4eaf2;border-radius:21px;padding:20px;box-shadow:0 6px 20px rgba(20,37,63,.04)}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.panel-head h3{margin:0 0 4px;font-size:18px}.panel-head p{margin:0;color:#7d899a;font-size:12px}.panel-head>a{color:#1768e8;font-size:12px;font-weight:750}.list{display:grid;gap:2px}.list-row{display:flex;align-items:center;gap:10px;padding:11px 4px;border-bottom:1px solid #eff2f6}.list-row:last-child{border-bottom:0}.grow{flex:1;min-width:0}.list-row strong,.list-row small{display:block}.list-row small{color:#7b8798;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{display:inline-flex;padding:5px 8px;border-radius:99px;font-size:10px;font-weight:800}.badge.success{background:#e4f8ed;color:#168556}.badge.warning{background:#fff3dc;color:#bd7304}.badge.danger{background:#ffe8e8;color:#c43c3c}.privacy-chip{font-size:10px;background:#eef3fa;color:#66758a;padding:5px 8px;border-radius:99px}.desil-bars{display:grid;gap:11px}.desil-bars>div{display:grid;grid-template-columns:55px 1fr 44px;align-items:center;gap:9px;font-size:11px}.bar{height:8px;background:#eef2f7;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#1768e8,#27aa73);border-radius:99px}.notice{margin-top:14px;background:#fff7e8;color:#886019;padding:12px;border-radius:12px;font-size:12px}.roadmap-card{margin-top:16px;border:1px dashed #b7c6da;background:#f8fbff;padding:16px 18px;border-radius:17px}.roadmap-card>div{display:flex;align-items:center;gap:8px}.roadmap-card p{margin:7px 0 0;color:#708095;font-size:12px;line-height:1.55}.status-dot{width:9px;height:9px;border-radius:50%;background:#29aa72;box-shadow:0 0 0 5px #e1f6ed}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.search-box{flex:1;max-width:560px;background:#fff;border:1px solid #dfe6ef;border-radius:14px;display:flex;align-items:center;padding:0 12px}.search-box input{border:0;outline:0;background:transparent;width:100%;padding:12px 8px}.filter-bar{flex:1;display:flex;gap:10px}.filter-bar .search-box{max-width:none}.filter-bar select{border:1px solid #dfe6ef;background:#fff;border-radius:14px;padding:0 12px;min-width:150px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:13px;padding:11px 15px;border:1px solid transparent;font-weight:800;font-size:13px}.btn.primary{background:#1768e8;color:#fff;box-shadow:0 7px 16px rgba(23,104,232,.19)}.btn.ghost{background:#fff;border-color:#dfe6ef;color:#42516a}.btn.wide{width:100%}.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:760px}.table-wrap th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#8a96a7;padding:10px 12px;border-bottom:1px solid #e8edf4}.table-wrap td{padding:13px 12px;border-bottom:1px solid #eef2f6;font-size:13px;vertical-align:middle}.table-wrap td strong,.table-wrap td small{display:block}.table-wrap td small{font-size:10px;color:#8995a6;margin-top:3px}.actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.actions a,.actions button{border:0;background:none;padding:0;color:#1768e8;font-size:11px;font-weight:800}.actions .link-danger{color:#d24a4a}.empty{text-align:center;color:#8995a6;padding:20px}.empty.big{padding:45px 20px}.empty a{color:#1768e8;font-weight:800}.form-card{max-width:950px}.form-grid,.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label,.setup-card label,.auth-card label{font-size:12px;font-weight:750;color:#4d5b70}.form-grid input,.form-grid select,.form-grid textarea,.setup-card input,.setup-card select,.auth-card input{width:100%;margin-top:6px;border:1px solid #d9e2ee;border-radius:12px;padding:11px 12px;background:#fbfcfe;outline:none;color:#1b2638}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.setup-card input:focus,.auth-card input:focus{border-color:#4a92f4;box-shadow:0 0 0 3px #e6f1ff}.span-2{grid-column:span 2}.form-actions{display:flex;gap:10px;margin-top:6px}.privacy-banner{background:#eff7ff;border:1px solid #cfe3ff;border-radius:20px;padding:17px 18px;margin-bottom:15px;display:flex;align-items:center;gap:14px}.privacy-icon{width:43px;height:43px;border-radius:14px;background:#fff;display:grid;place-items:center;box-shadow:0 5px 15px rgba(20,80,160,.08)}.privacy-banner div:nth-child(2){flex:1}.privacy-banner strong{display:block}.privacy-banner p{margin:3px 0 0;font-size:11px;color:#60738c;line-height:1.5}.social-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.social-card{border:1px solid #e5eaf2;border-radius:17px;padding:14px;background:#fcfdff}.social-top{display:flex;align-items:center;gap:10px}.social-top strong,.social-top small{display:block}.social-top small{font-size:10px;color:#8290a3}.desil-badge{width:42px;height:42px;border-radius:13px;background:#eef2f7;color:#6d7b8f;display:grid;place-items:center;font-size:12px;font-weight:900}.desil-badge.priority{background:#fff0e2;color:#c26712}.social-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.social-meta span{background:#f5f8fb;border-radius:11px;padding:9px}.social-meta small,.social-meta b{display:block}.social-meta small{font-size:9px;color:#8995a6}.social-meta b{font-size:11px;margin-top:2px}.social-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf1f5;padding-top:10px}.social-footer small{font-size:9px;color:#8a96a8}.social-footer a{font-size:10px;color:#1768e8;font-weight:800}.module-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.module-grid>div{border:1px solid #e7ecf3;border-radius:13px;padding:12px;display:flex;justify-content:space-between;align-items:center}.module-grid strong{font-size:12px}.module-grid span{font-size:9px;background:#f0f3f7;color:#6f7c8d;padding:5px 7px;border-radius:99px}.module-grid span.ready{background:#e6f7ee;color:#16885a}.version{font-size:11px;background:#edf4ff;color:#1768e8;padding:6px 9px;border-radius:99px}.alert{padding:12px 14px;border-radius:13px;margin-bottom:14px;font-size:12px;font-weight:650}.alert.success{background:#e7f8ef;color:#167d54}.alert.danger{background:#ffe8e8;color:#b93e3e}.bottom-nav{display:none}.auth-body,.setup-body{min-height:100vh;background:radial-gradient(circle at 20% 20%,#e9f4ff 0,transparent 35%),radial-gradient(circle at 85% 70%,#e5f8ee 0,transparent 30%),#f5f8fc}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;max-width:1100px;margin:auto;align-items:center;padding:35px}.auth-visual{padding:50px}.auth-visual h1{font-size:48px;margin:17px 0 9px;color:#132445}.auth-visual h1 span{color:#259a62}.auth-visual p{max-width:520px;color:#64738a;font-size:16px;line-height:1.6}.auth-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.auth-pills span{background:#fff;border:1px solid #dfe8f3;padding:8px 12px;border-radius:99px;font-size:11px;color:#53627a}.auth-card{background:#fff;border:1px solid #e2e8f0;border-radius:25px;padding:30px;box-shadow:0 24px 70px rgba(30,53,84,.12);max-width:430px;width:100%;justify-self:center}.auth-card h2{font-size:26px;margin:4px 0 5px}.auth-card .muted{color:#8190a4;font-size:12px;margin:0 0 20px}.auth-card label{display:block;margin-bottom:13px}.secure-note{display:block;text-align:center;color:#8795a7;margin-top:13px}.mobile-logo{display:none}.setup-shell{max-width:830px;margin:0 auto;padding:38px 20px 70px}.setup-brand{display:flex;align-items:center;gap:13px;margin-bottom:20px}.setup-brand h1{margin:0;font-size:27px}.setup-brand p{margin:3px 0 0;color:#738097}.setup-card{background:#fff;border:1px solid #e3e9f1;border-radius:25px;padding:24px;box-shadow:0 18px 50px rgba(26,47,79,.08)}.section-title{display:flex;gap:10px;align-items:center;margin:7px 0 13px}.section-title>span{width:29px;height:29px;border-radius:10px;background:#1768e8;color:white;display:grid;place-items:center;font-size:12px;font-weight:900}.section-title strong,.section-title small{display:block}.section-title small{color:#8996a8;font-weight:500;font-size:10px}.setup-card .grid{margin-bottom:22px}.check-row{display:flex!important;gap:10px;align-items:flex-start;background:#f5f8fc;border:1px solid #e6ebf2;padding:12px;border-radius:13px;margin:5px 0 17px}.check-row input{width:auto!important;margin:2px 0 0!important}.check-row strong,.check-row small{display:block}.check-row small{color:#8290a3;font-weight:500}.setup-note{text-align:center;color:#8b97a7;font-size:10px;margin:12px 0 0}

@media(max-width:980px){.stats-grid,.quick-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr}.auth-visual{display:none}.auth-card{max-width:460px}.mobile-logo{display:flex;align-items:center;gap:10px;margin-bottom:24px}.main{padding:22px 20px 90px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{display:none}.main{padding:18px 14px 92px}.topbar{margin-bottom:15px}.topbar h1{font-size:22px}.user-chip{padding:5px}.user-chip>div:last-child{display:none}.hero-card{padding:19px;border-radius:20px}.hero-card h2{font-size:22px}.hero-location{display:none}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin:12px 0}.stat-card{padding:13px;border-radius:17px;gap:10px}.stat-icon{width:39px;height:39px}.stat-card strong{font-size:16px}.stat-card span{font-size:10px}.stat-card small{font-size:9px}.quick-grid{grid-template-columns:repeat(2,1fr);gap:9px}.quick-item{padding:12px}.panel,.form-card{border-radius:18px;padding:15px}.toolbar{align-items:stretch}.toolbar,.filter-bar{flex-direction:column}.toolbar .btn{width:100%}.filter-bar select{height:43px}.bottom-nav{position:fixed;z-index:30;left:8px;right:8px;bottom:8px;height:66px;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border:1px solid #dfe6ef;border-radius:20px;box-shadow:0 12px 35px rgba(21,42,70,.18);display:grid;grid-template-columns:repeat(5,1fr);padding:6px}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#8a97a8;border-radius:14px}.bottom-nav a span{font-size:18px}.bottom-nav a small{font-size:9px;font-weight:800}.bottom-nav a.active{background:#eaf3ff;color:#1768e8}.table-wrap{overflow:visible}.table-wrap table{min-width:0}.table-wrap thead{display:none}.table-wrap tbody{display:grid;gap:10px}.table-wrap tr{display:block;border:1px solid #e6ebf2;border-radius:15px;padding:10px}.table-wrap td{display:flex;justify-content:space-between;align-items:center;border-bottom:1px dashed #edf1f5;padding:9px 5px;text-align:right}.table-wrap td:last-child{border-bottom:0}.table-wrap td:before{content:attr(data-label);font-size:9px;text-transform:uppercase;color:#8e99aa;font-weight:800;text-align:left}.table-wrap td strong,.table-wrap td small{text-align:right}.table-wrap td.actions:before{content:"Aksi"}.form-grid,.grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.form-actions{flex-direction:column}.privacy-banner{align-items:flex-start;flex-wrap:wrap}.privacy-banner .btn{width:100%}.social-cards{grid-template-columns:1fr}.module-grid{grid-template-columns:1fr}.panel-head{align-items:center}.auth-shell{padding:18px}.auth-card{padding:23px;border-radius:22px}.setup-shell{padding:20px 12px 45px}.setup-card{padding:17px;border-radius:20px}}
@media(max-width:420px){.stats-grid{grid-template-columns:1fr 1fr}.stat-card{display:block}.stat-icon{margin-bottom:8px}.quick-item{grid-template-columns:36px 1fr}.quick-item>span{width:36px;height:36px}.topbar .eyebrow{font-size:9px}}

/* v0.2 - Scan / Upload KK */
.toolbar-actions{display:flex;gap:10px}.btn.scan{background:#eaf7f1;border-color:#ccebdc;color:#168458}.scan-hero{background:linear-gradient(120deg,#102c5c,#1768e8 55%,#24a871);color:#fff;border-radius:24px;padding:24px 26px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:0 14px 32px rgba(23,104,232,.15)}.scan-hero h2{margin:5px 0 7px;font-size:24px}.scan-hero p{margin:0;max-width:790px;color:#dfeaff;line-height:1.55;font-size:12px}.scan-kicker{font-size:10px;font-weight:900;letter-spacing:.13em;color:#bfe0ff}.privacy-box{min-width:230px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:17px;padding:14px}.privacy-box strong,.privacy-box small{display:block}.privacy-box small{color:#dcecff;font-size:10px;margin-top:4px;line-height:1.5}.scan-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:16px}.scan-panel{min-width:0}.upload-zone{min-height:190px;border:2px dashed #bdd0e9;border-radius:20px;background:#f8fbff;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px;cursor:pointer;transition:.2s}.upload-zone:hover{border-color:#438bf0;background:#f1f7ff}.upload-icon{width:58px;height:58px;border-radius:18px;background:#e5f0ff;color:#1768e8;display:grid;place-items:center;font-size:26px;margin-bottom:11px}.upload-zone strong{font-size:14px}.upload-zone span{font-size:10px;color:#7e8ca0;margin-top:5px}.scan-preview{margin-top:14px}.scan-preview img{display:block;width:100%;max-height:310px;object-fit:contain;background:#eef2f7;border-radius:16px;margin-bottom:10px}.scan-hidden{display:none!important}.ocr-progress{margin-top:14px;background:#f5f8fc;border:1px solid #e4eaf2;border-radius:15px;padding:13px}.ocr-progress-head{display:flex;justify-content:space-between;font-size:11px}.ocr-track{height:8px;background:#e5ebf3;border-radius:99px;overflow:hidden;margin:9px 0}.ocr-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,#1768e8,#22a76e);border-radius:99px;transition:.2s}.ocr-progress small{font-size:9px;color:#8693a5}.raw-box{margin-top:12px;background:#fafcff;border:1px solid #e5eaf2;border-radius:14px;padding:11px}.raw-box summary{font-size:11px;font-weight:800;cursor:pointer}.raw-box textarea{width:100%;border:1px solid #dfe6ef;border-radius:11px;margin:10px 0;padding:10px;font-size:10px}.members-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:4px}.members-head strong,.members-head small{display:block}.members-head small{font-size:9px;color:#8592a5;margin-top:3px}.member-list{display:grid;gap:10px}.member-card{display:grid;grid-template-columns:34px 1fr 28px;gap:10px;align-items:start;background:#f8fafc;border:1px solid #e4eaf1;border-radius:15px;padding:12px}.member-index{width:32px;height:32px;border-radius:11px;background:#1768e8;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:900}.member-fields{display:grid;grid-template-columns:1.25fr 1.1fr 1fr .8fr;gap:8px}.member-fields label{font-size:9px!important}.member-fields input,.member-fields select{padding:9px!important;margin-top:4px!important}.member-remove{width:28px;height:28px;border:0;border-radius:9px;background:#ffeaea;color:#c74242;font-size:18px}.verify-note{background:#fff7e7;border:1px solid #f4dfb6;color:#725620;border-radius:13px;padding:11px;font-size:10px;line-height:1.5}.alert.warning{background:#fff4dc;color:#976411}
@media(max-width:1050px){.scan-grid{grid-template-columns:1fr}.member-fields{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.toolbar-actions{display:grid;grid-template-columns:1fr 1fr}.toolbar-actions .btn{width:auto}.scan-hero{display:block;padding:19px;border-radius:20px}.scan-hero h2{font-size:20px}.privacy-box{margin-top:14px;min-width:0}.member-fields{grid-template-columns:1fr 1fr}.scan-panel{padding:14px}.members-head{align-items:flex-start;flex-direction:column}.members-head .btn{width:100%}}
@media(max-width:430px){.toolbar-actions{grid-template-columns:1fr}.member-card{grid-template-columns:28px 1fr 26px}.member-fields{grid-template-columns:1fr}.upload-zone{min-height:165px}}

/* CreativeWarga v0.3 - KK Pintar detail fields */
.scan-tips{margin-top:12px;padding:13px 14px;border-radius:14px;background:#f4f8ff;border:1px solid #dbe8fb;display:grid;gap:4px;font-size:10px;color:#56677c;line-height:1.45}.scan-tips strong{color:#17345f;margin-bottom:2px}.scan-validation{padding:13px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0}.scan-validation>strong{font-size:11px}.validation-items{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.check-item{padding:6px 9px;border-radius:999px;font-size:9px;font-weight:800}.check-item.waiting{background:#edf2f7;color:#7b8798}.check-item.ok{background:#e5f8ef;color:#147a53}.check-item.bad{background:#ffeded;color:#bc3e3e}.member-card-full{grid-template-columns:34px minmax(0,1fr) 28px}.member-body{min-width:0}.member-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.member-title{font-size:11px}.member-fields-full{grid-template-columns:repeat(3,minmax(0,1fr))}.member-fields-full label:first-child{grid-column:span 2}.member-fields input.field-ok,.member-fields select.field-ok{border-color:#9bdabe!important;background:#fbfffd}.member-fields input.field-warn,.member-fields select.field-warn{border-color:#f0d493!important;background:#fffdf7}.member-fields input.field-bad,.member-fields select.field-bad{border-color:#ee9c9c!important;background:#fff9f9;box-shadow:0 0 0 2px rgba(225,68,68,.05)}.member-checks{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.mini-check{font-size:8px;font-weight:800;border-radius:999px;padding:4px 7px}.mini-check.ok{background:#e7f7ef;color:#14774f}.mini-check.bad{background:#ffeded;color:#b83d3d}.confirm-box{display:flex!important;align-items:flex-start;gap:10px;padding:13px 14px!important;background:#edf7ff;border:1px solid #cfe5fa;border-radius:14px;cursor:pointer}.confirm-box input{width:18px!important;height:18px;margin:1px 0 0!important;flex:0 0 auto}.confirm-box span{display:block}.confirm-box strong,.confirm-box small{display:block}.confirm-box strong{font-size:10px;color:#17345f}.confirm-box small{font-size:9px;color:#6f8095;margin-top:3px;line-height:1.45}.badge.danger{background:#ffebeb;color:#bf4141}
@media(max-width:1180px){.member-fields-full{grid-template-columns:repeat(2,minmax(0,1fr))}.member-fields-full label:first-child{grid-column:span 1}}
@media(max-width:760px){.member-fields-full{grid-template-columns:1fr}.member-title-row{align-items:flex-start;flex-direction:column}.validation-items{display:grid;grid-template-columns:1fr 1fr}.check-item{border-radius:10px}.member-card-full{grid-template-columns:28px minmax(0,1fr) 26px}}
@media(max-width:430px){.validation-items{grid-template-columns:1fr}}

/* v0.3.3: clean text navigation */
.bottom-nav a { justify-content: center; min-height: 48px; }
.bottom-nav a small { font-size: 12px; font-weight: 600; }
.quick-item { grid-template-columns: minmax(0, 1fr); gap: 6px; }
.member-remove { width: auto; min-width: 54px; padding: 6px 10px; font-size: 12px; }

.member-card-full { grid-template-columns: 28px minmax(0,1fr) auto; }
.privacy-banner > div:first-child { flex: 1; }
.ocr-engine-status{margin-top:10px;padding:10px 12px;border-radius:10px;background:#f3f5f4;color:#52605a;font-size:13px;font-weight:600}
.ocr-engine-status.loading{background:#fff8e8;color:#825f11}
.ocr-engine-status.ready{background:#eaf8ef;color:#176b3a}
.ocr-engine-status.failed{background:#fff0f0;color:#9b2c2c}
.archive-option{margin-top:10px;display:flex;align-items:flex-start;gap:10px;padding:11px 12px;background:#f7faf8;border:1px solid #dce9e1;border-radius:12px;cursor:pointer}
.archive-option input{margin-top:3px}.archive-option strong,.archive-option small{display:block}.archive-option small{margin-top:3px;color:#718078;font-size:10px;line-height:1.45}
.photo-upload-card{display:flex;align-items:center;gap:16px;padding:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px}
.photo-upload-copy{flex:1;min-width:0}.photo-upload-copy label{display:block}.photo-upload-copy small,.field-help{display:block;margin-top:5px;color:#758296;font-size:10px;font-weight:500;line-height:1.45}
.photo-preview{display:block;object-fit:cover;background:#eef2f6;border:1px solid #dfe6ef}.photo-preview.profile,.photo-placeholder{width:92px;height:92px;border-radius:18px;flex:0 0 92px}.photo-preview.kk,.photo-placeholder.document{width:150px;height:100px;border-radius:13px;flex:0 0 150px}.photo-preview.kk{object-fit:contain}
.photo-placeholder{display:grid;place-items:center;text-align:center;padding:8px;background:#edf2f6;color:#7c899b;font-size:10px;font-weight:700}
.photo-remove{margin-top:8px!important;display:flex!important;align-items:center;gap:7px;color:#9b3a3a!important}.photo-remove input{width:auto!important;margin:0!important}
.resident-identity{display:flex;align-items:center;gap:10px;min-width:180px}.resident-photo,.resident-initial{width:42px;height:42px;border-radius:13px;flex:0 0 42px}.resident-photo{object-fit:cover;background:#eef2f6}.resident-initial{display:grid;place-items:center;background:#e8f2ff;color:#1768e8;font-weight:800}.document-link{color:#1768e8;font-weight:750}.member-photo-input{background:#fff!important}.field-help{margin-top:4px!important}
@media(max-width:760px){.photo-upload-card{align-items:flex-start}.photo-preview.kk,.photo-placeholder.document{width:105px;height:78px;flex-basis:105px}.resident-identity{min-width:0}.archive-option{font-size:12px}}
@media(max-width:390px){.photo-upload-card{flex-direction:column}.photo-preview.profile,.photo-placeholder{width:82px;height:82px;flex-basis:82px}.photo-preview.kk,.photo-placeholder.document{width:100%;height:135px;flex-basis:135px}}

/* v0.5.0: Informasi & Pengumuman */
.sidebar-nav{min-height:0;overflow-y:auto;scrollbar-width:thin}
.announcement-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:15px;padding:22px 24px;border-radius:22px;background:linear-gradient(125deg,#14345f,#1768e8 58%,#259667);color:#fff;box-shadow:0 14px 30px rgba(23,104,232,.14)}
.announcement-hero h2{margin:5px 0 6px;font-size:23px}.announcement-hero p:not(.eyebrow){margin:0;max-width:720px;color:#dce9fb;font-size:12px;line-height:1.55}.announcement-hero .eyebrow{color:#c7dcfa}.announcement-hero .btn{flex:0 0 auto;background:#fff;color:#155fcf;box-shadow:none}
.announcement-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:15px}.announcement-stats>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border:1px solid #e2e9f2;border-radius:16px;background:#fff}.announcement-stats span{font-size:11px;color:#748197}.announcement-stats strong{font-size:20px;color:#1a2b45}
.announcement-form{margin-bottom:15px;max-width:none}.announcement-filters{display:grid;grid-template-columns:minmax(220px,1fr) 180px 160px auto;gap:9px;margin-bottom:15px}.announcement-filters input,.announcement-filters select{min-width:0;border:1px solid #dfe6ef;border-radius:12px;padding:10px 11px;background:#fbfcfe;color:#26354d;outline:none}.announcement-filters input:focus,.announcement-filters select:focus{border-color:#4a92f4;box-shadow:0 0 0 3px #e6f1ff}
.announcement-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.announcement-card{position:relative;overflow:hidden;border:1px solid #e2e8f1;border-radius:17px;padding:16px;background:#fcfdff}.announcement-card:before,.dashboard-announcement:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#8c9aad}.announcement-card.priority-penting:before,.dashboard-announcement.priority-penting:before{background:#e3a11d}.announcement-card.priority-darurat:before,.dashboard-announcement.priority-darurat:before{background:#d84a4a}.announcement-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.announcement-tags{display:flex;flex-wrap:wrap;gap:5px}.announcement-tags span{padding:4px 7px;border-radius:99px;background:#eef2f7;color:#647287;font-size:9px;font-weight:750}.announcement-tags .announcement-type{background:#e8f2ff;color:#1768e8}.announcement-tags .priority-label{background:#fff0df;color:#a96205}.announcement-card.priority-darurat .priority-label{background:#ffe8e8;color:#b83f3f}.announcement-card h3{margin:13px 0 7px;font-size:16px}.announcement-copy{color:#56657a;font-size:11px;line-height:1.65;white-space:normal}.announcement-meta{display:flex;flex-wrap:wrap;gap:7px 16px;margin-top:13px;padding-top:10px;border-top:1px dashed #dfe6ef;color:#8290a3;font-size:9px}.announcement-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:12px}.announcement-actions form{margin:0}.announcement-actions .btn{padding:8px 10px;font-size:10px}.btn.danger-soft{background:#fff0f0;border-color:#f4cece;color:#b94444}.badge:empty{display:none}
.dashboard-announcements{margin-bottom:16px}.dashboard-announcement-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.dashboard-announcement{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:13px 13px 13px 16px;border:1px solid #e6ebf2;border-radius:14px;background:#fbfcfe}.dashboard-announcement span,.dashboard-announcement small{font-size:9px;color:#8190a3}.dashboard-announcement strong{display:block;margin:5px 0;font-size:13px;color:#1d2c44}.dashboard-announcement p{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 9px;color:#647287;font-size:10px;line-height:1.5}.announcement-empty{padding:10px 0;text-align:left}
@media(max-width:980px){.announcement-list{grid-template-columns:1fr}.dashboard-announcement-list{grid-template-columns:1fr}.announcement-filters{grid-template-columns:1fr 1fr}.announcement-filters input{grid-column:span 2}}
@media(max-width:760px){.announcement-hero{display:block;padding:19px;border-radius:19px}.announcement-hero h2{font-size:20px}.announcement-hero .btn{width:100%;margin-top:14px}.announcement-stats{grid-template-columns:1fr 1fr}.announcement-stats>div{padding:12px}.announcement-filters{grid-template-columns:1fr}.announcement-filters input{grid-column:span 1}.announcement-filters .btn{width:100%}.announcement-card{padding:14px}.announcement-actions{display:grid;grid-template-columns:1fr 1fr}.announcement-actions .btn,.announcement-actions form,.announcement-actions form button{width:100%}.announcement-actions form{grid-column:span 2}}

/* v0.6.0: Surat Pengantar & Laporan */
.letter-hero,.report-hero,.letter-intro{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:15px;padding:22px 24px;border-radius:22px;background:linear-gradient(125deg,#14345f,#1768e8 60%,#238d63);color:#fff;box-shadow:0 14px 30px rgba(23,104,232,.14)}
.letter-hero h2,.report-hero h2,.letter-intro h2{margin:5px 0 6px;font-size:23px}.letter-hero p:not(.eyebrow),.report-hero p:not(.eyebrow),.letter-intro p:not(.eyebrow){margin:0;max-width:760px;color:#dce9fb;font-size:12px;line-height:1.55}.letter-hero .eyebrow,.report-hero .eyebrow,.letter-intro .eyebrow{color:#c7dcfa}.letter-hero>.btn,.report-hero>.btn{flex:0 0 auto;background:#fff;color:#155fcf;box-shadow:none}.letter-intro{display:block}.letter-form-card{max-width:none}
.letter-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:15px}.letter-stats>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border:1px solid #e2e9f2;border-radius:16px;background:#fff}.letter-stats span{font-size:11px;color:#748197}.letter-stats strong{font-size:20px;color:#1a2b45}.letter-filters{display:grid;grid-template-columns:minmax(240px,1fr) 210px 160px auto;gap:9px;margin-bottom:14px}.letter-filters input,.letter-filters select{min-width:0;border:1px solid #dfe6ef;border-radius:12px;padding:10px 11px;background:#fbfcfe;color:#26354d;outline:none}.letter-list{display:grid;gap:8px}.letter-row{display:grid;grid-template-columns:190px minmax(0,1fr) auto;align-items:center;gap:15px;padding:14px;border:1px solid #e4eaf2;border-radius:15px;background:#fcfdff;transition:.18s}.letter-row:hover{border-color:#b9d2f5;background:#f8fbff}.letter-number small,.letter-number strong,.letter-main strong,.letter-main span{display:block}.letter-number small{color:#8692a3;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.letter-number strong{margin-top:3px;font-size:12px}.letter-main strong{font-size:13px}.letter-main span{margin-top:3px;color:#748196;font-size:10px}.letter-main p{overflow:hidden;margin:5px 0 0;color:#536176;font-size:10px;white-space:nowrap;text-overflow:ellipsis}
.letter-detail-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:12px 0 15px;padding:20px 22px;border:1px solid #dfe6ef;border-radius:20px;background:#fff}.letter-detail-head h2{margin:9px 0 4px;font-size:22px}.letter-detail-head p{margin:0;color:#69788c;font-size:11px}.letter-detail-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.letter-detail-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:15px}.identity-list{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0}.identity-list>div{padding:10px 5px;border-bottom:1px dashed #e2e7ed}.identity-list>div.wide{grid-column:span 2}.identity-list dt{color:#7c899b;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.identity-list dd{margin:4px 0 0;color:#26364c;font-size:12px;line-height:1.5}.status-guide,.internal-note{margin-top:13px;padding:12px;border-radius:12px;background:#f2f6fb}.status-guide strong,.internal-note strong{font-size:10px}.status-guide p,.internal-note p{margin:5px 0 0;color:#68778b;font-size:10px;line-height:1.5}.delete-letter{margin-top:13px}.delete-letter .btn{width:100%}
.resident-letter-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:11px;border:1px solid #dce6f2;border-radius:14px;background:#f6f9fd}.resident-letter-preview>div{min-width:0;padding:8px;border-radius:10px;background:#fff}.resident-letter-preview>div.wide{grid-column:span 3}.resident-letter-preview span,.resident-letter-preview strong{display:block}.resident-letter-preview span{color:#8390a2;font-size:8px;text-transform:uppercase}.resident-letter-preview strong{overflow:hidden;margin-top:3px;color:#2d3d54;font-size:10px;text-overflow:ellipsis}.resident-letter-preview p{grid-column:span 3;margin:4px;color:#758398;font-size:10px;text-align:center}
.report-filter-panel{margin-bottom:14px}.report-filter{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:11px}.report-filter label{font-size:11px;font-weight:750;color:#536176}.report-filter input{display:block;width:100%;margin-top:6px;border:1px solid #dfe6ef;border-radius:12px;padding:10px 11px;background:#fbfcfe}.report-presets{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;color:#7b8799;font-size:10px}.report-presets a{padding:6px 9px;border-radius:99px;background:#edf4ff;color:#1768e8;font-weight:750}.report-period-title{display:flex;justify-content:space-between;margin:15px 2px 10px}.report-period-title strong,.report-period-title span{display:block}.report-period-title strong{font-size:14px}.report-period-title span{margin-top:3px;color:#7d899a;font-size:10px}.report-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.report-summary-grid article{padding:14px 15px;border:1px solid #e2e8f0;border-radius:16px;background:#fff}.report-summary-grid span,.report-summary-grid small,.report-summary-grid strong{display:block}.report-summary-grid span{color:#758399;font-size:10px}.report-summary-grid strong{overflow:hidden;margin:5px 0 3px;color:#1d2d45;font-size:17px;white-space:nowrap;text-overflow:ellipsis}.report-summary-grid small{color:#8794a5;font-size:9px}.report-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.report-table{overflow:auto}.report-table table{width:100%;border-collapse:collapse;min-width:520px}.report-table th{padding:9px 8px;border-bottom:1px solid #dde5ef;color:#8290a3;font-size:9px;text-align:left;text-transform:uppercase}.report-table td{padding:10px 8px;border-bottom:1px solid #edf1f5;color:#34445a;font-size:10px}.report-table td strong,.report-table td small{display:block}.report-table td small{margin-top:2px;color:#8b97a7;font-size:8px}.category-report-list,.arrears-list,.letter-status-report{display:grid;gap:7px}.category-report-list>div,.letter-status-report>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid #e7ebf2;border-radius:12px}.category-report-list span strong,.category-report-list span small{display:block}.category-report-list span strong{font-size:11px}.category-report-list span small{margin-top:2px;color:#8995a5;font-size:8px}.category-report-list b{font-size:11px;white-space:nowrap}.arrears-list>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px;border-bottom:1px solid #edf1f5}.arrears-list>a>span{display:flex;align-items:center;gap:9px}.arrears-list>a>span>b{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#edf4ff;color:#1768e8;font-size:9px}.arrears-list span span strong,.arrears-list span span small{display:block}.arrears-list span span strong{font-size:10px}.arrears-list span span small{color:#8a96a6;font-size:8px}.arrears-list>a>strong{font-size:10px;color:#b86c09}.letter-status-report>div strong{font-size:10px}
@media(max-width:1050px){.letter-detail-grid{grid-template-columns:1fr}.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-content-grid{grid-template-columns:1fr}.letter-filters{grid-template-columns:1fr 1fr}.letter-filters input{grid-column:span 2}.letter-row{grid-template-columns:160px minmax(0,1fr) auto}}
@media(max-width:760px){.letter-hero,.report-hero,.letter-intro{display:block;padding:19px;border-radius:19px}.letter-hero h2,.report-hero h2,.letter-intro h2{font-size:20px}.letter-hero>.btn,.report-hero>.btn{width:100%;margin-top:14px}.letter-stats{grid-template-columns:1fr 1fr}.letter-stats>div{padding:12px}.letter-filters{grid-template-columns:1fr}.letter-filters input{grid-column:span 1}.letter-filters .btn{width:100%}.letter-row{grid-template-columns:1fr auto;gap:8px}.letter-number{grid-column:span 2}.letter-main p{white-space:normal}.letter-detail-head{display:block;padding:16px}.letter-detail-actions{display:grid;grid-template-columns:1fr;margin-top:14px}.identity-list{grid-template-columns:1fr}.identity-list>div.wide{grid-column:span 1}.resident-letter-preview{grid-template-columns:1fr 1fr}.resident-letter-preview>div.wide,.resident-letter-preview p{grid-column:span 2}.report-filter{grid-template-columns:1fr}.report-filter .btn{width:100%}.report-summary-grid{grid-template-columns:1fr 1fr}.report-summary-grid article{padding:12px}.report-summary-grid strong{font-size:14px}.report-table{margin:0 -4px}.report-hero p{max-width:none}}
@media(max-width:390px){.letter-stats,.report-summary-grid{grid-template-columns:1fr}.letter-row{grid-template-columns:1fr}.letter-number{grid-column:span 1}.letter-row>.badge{justify-self:start}}
