:root{--color-tirta-blue:#156aa0;--color-musi-navy:#164b7d;--color-ocean-blue:#1685b8;--color-ampera-gold:#d8aa24;--color-soft-aqua:#eaf7fb;--color-white:#fff;--color-mist-gray:#f5f7f9;--color-slate:#667085;--color-ink:#172b3a;--color-border:#e8edf1;--color-success:#16a36a;--color-info:#1685b8;--color-warning:#f5a623;--color-danger:#dc4545;--gradient-musi:linear-gradient(135deg, var(--color-musi-navy), var(--color-ocean-blue));--font-family:"Plus Jakarta Sans", system-ui, sans-serif;--text-h1:700 28px/1.3 var(--font-family);--text-h2:600 24px/1.3 var(--font-family);--text-h3:600 20px/1.4 var(--font-family);--text-h4:600 18px/1.4 var(--font-family);--text-body-lg:400 16px/1.5 var(--font-family);--text-body:400 14px/1.5 var(--font-family);--text-caption:500 12px/1.4 var(--font-family);--text-button:600 14px/1.2 var(--font-family);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--shadow-card:0 1px 2px #172b3a0f, 0 1px 3px #172b3a0a}*{box-sizing:border-box}body{min-height:100vh;font:var(--text-body);color:var(--color-ink);background:var(--color-mist-gray);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;overflow-x:hidden}h1{font:var(--text-h1);margin:0}h2{font:var(--text-h2);margin:0}h3{font:var(--text-h3);margin:0}h4{font:var(--text-h4);margin:0}p{margin:0}button,input,select,textarea{font-family:inherit}a{color:var(--color-tirta-blue)}.card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:24px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.page-header-title{flex-direction:column;gap:2px;display:flex}.page-header-title p{font:var(--text-body);color:var(--color-slate)}.stack{flex-direction:column;gap:16px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.stat-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.form-actions{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}.back-link{color:var(--color-slate);font:var(--text-body);align-items:center;gap:6px;margin-bottom:12px;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--color-tirta-blue)}@media (width<=900px){.stat-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.card{padding:16px}.form-grid,.stat-grid{grid-template-columns:1fr}.page-header{align-items:flex-start}.page-header .btn{justify-content:center;width:100%}}.muted{color:var(--color-slate)}.caption{font:var(--text-caption);color:var(--color-slate)}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;display:grid}.info-item{flex-direction:column;gap:2px;min-width:0;display:flex}.info-item dt{font:var(--text-caption);color:var(--color-slate)}.info-item dd{font:var(--text-body);color:var(--color-ink);overflow-wrap:anywhere;margin:0;font-weight:600}.section-title{font:var(--text-h4);margin-bottom:12px}.list-plain{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.seg-tabs{border-bottom:1px solid var(--color-border);gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.seg-tab{font:var(--text-body);color:var(--color-slate);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:10px 14px;font-weight:600;display:inline-flex}.seg-tab.active{color:var(--color-tirta-blue);border-bottom-color:var(--color-tirta-blue)}.seg-tab-count{background:var(--color-soft-aqua);color:var(--color-tirta-blue);border-radius:var(--radius-pill);font:var(--text-caption);padding:0 7px}.timeline{flex-direction:column;display:flex}.timeline-item{border-bottom:1px dashed var(--color-border);grid-template-columns:22px 1fr auto;align-items:start;gap:12px;padding:10px 0;display:grid}.timeline-item:last-child{border-bottom:none}.timeline-dot{border:2px solid var(--color-border);background:var(--color-white);border-radius:50%;width:14px;height:14px;margin-top:4px}.timeline-item.done .timeline-dot{background:var(--color-success);border-color:var(--color-success)}.timeline-item.current .timeline-dot{background:var(--color-ampera-gold);border-color:var(--color-ampera-gold);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-ampera-gold) 25%, transparent)}.timeline-item.current .timeline-label{color:var(--color-musi-navy);font-weight:700}.timeline-label{font:var(--text-body);font-weight:600}.timeline-date{font:var(--text-caption);color:var(--color-slate);text-align:right;white-space:nowrap}.callout{border-radius:var(--radius-md);background:var(--color-soft-aqua);color:var(--color-musi-navy);font:var(--text-body);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.callout-warning{background:color-mix(in srgb, var(--color-warning) 14%, white);color:color-mix(in srgb, var(--color-warning) 55%, black)}.callout-success{background:color-mix(in srgb, var(--color-success) 12%, white);color:color-mix(in srgb, var(--color-success) 70%, black)}.callout-danger{background:color-mix(in srgb, var(--color-danger) 10%, white);color:var(--color-danger)}.callout svg{flex-shrink:0;margin-top:2px}.stat-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;gap:4px;padding:18px 20px;display:flex}.stat-card-label{font:var(--text-caption);color:var(--color-slate);align-items:center;gap:6px;display:flex}.stat-card-value{font:var(--text-h2);color:var(--color-musi-navy)}.stat-card-sub{font:var(--text-caption);color:var(--color-slate)}.qa-item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.qa-answer{border-left:3px solid var(--color-tirta-blue);background:var(--color-mist-gray);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:10px 12px}.doc-list{flex-direction:column;gap:8px;display:flex}.doc-row{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-white);align-items:center;gap:10px;padding:10px 12px;display:flex}.doc-row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.ba-sheet{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);font:var(--text-body);padding:32px 36px;line-height:1.7}.ba-sheet-head{border-bottom:3px double var(--color-ink);align-items:center;gap:14px;margin-bottom:18px;padding-bottom:12px;display:flex}.ba-sheet-head img{object-fit:contain;width:54px;height:54px}.ba-sheet h3{text-align:center;font:var(--text-h4);text-decoration:underline}.ba-number{text-align:center;font:var(--text-caption);margin-bottom:16px}.ba-table{border-collapse:collapse;width:100%;margin:12px 0}.ba-table th,.ba-table td{text-align:left;font:var(--text-caption);border:1px solid #c6ced6;padding:6px 8px;font-size:12.5px}.ba-table th{background:var(--color-mist-gray)}.ba-sign{text-align:center;justify-content:flex-end;margin-top:28px;display:flex}.ba-sign-box{min-width:220px}.ba-sign-space{height:64px}.num{text-align:right;font-variant-numeric:tabular-nums}.demo-footnote{font:var(--text-caption);color:var(--color-slate);text-align:center;opacity:.8;padding:16px}.score-input{width:80px}.two-col{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:start;gap:20px;display:grid}@media (width<=1000px){.two-col{grid-template-columns:1fr}}@media (width<=640px){.info-grid{grid-template-columns:1fr}.ba-sheet{padding:18px}}@media print{.admin-sidebar,.admin-topbar,.seg-tabs,.no-print,.admin-menu-toggle,.demo-footnote{display:none!important}.admin-content{padding:0}body{background:#fff}}.avatar{border-radius:var(--radius-pill);background:var(--gradient-musi);width:32px;height:32px;color:var(--color-white);font:var(--text-caption);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.input{font:var(--text-body);color:var(--color-ink);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;padding:9px 12px}.input:focus{border-color:var(--color-tirta-blue);box-shadow:0 0 0 3px var(--color-soft-aqua);outline:none}textarea.input{resize:vertical;min-height:72px}.admin-layout{min-height:100vh;display:flex}.admin-sidebar{background:var(--gradient-musi);width:240px;color:var(--color-white);flex-direction:column;flex-shrink:0;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.admin-sidebar-brand{align-items:center;gap:10px;padding:0 12px 24px;display:flex}.admin-sidebar-brand>div{flex-direction:column;flex:1;gap:2px;display:flex}.admin-menu-toggle{z-index:20;border-radius:var(--radius-md);background:var(--color-white);width:40px;height:40px;color:var(--color-musi-navy);box-shadow:var(--shadow-card);cursor:pointer;border:none;justify-content:center;align-items:center;display:none;position:fixed;top:12px;left:12px}.admin-sidebar-close{color:var(--color-white);cursor:pointer;background:0 0;border:none;padding:4px;display:none}.admin-sidebar-backdrop{display:none}.admin-sidebar-logo{border-radius:var(--radius-pill);background:var(--color-white);object-fit:contain;flex-shrink:0;width:36px;height:36px;padding:3px}.admin-sidebar-brand-title{font:var(--text-h3);color:var(--color-white)}.admin-sidebar-brand-sub{font:var(--text-caption);color:color-mix(in srgb, var(--color-white) 70%, transparent)}.admin-sidebar-nav{flex-direction:column;gap:4px;display:flex}.admin-nav-link{border-radius:var(--radius-md);color:color-mix(in srgb, var(--color-white) 85%, transparent);font:var(--text-body);align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:flex;position:relative}.admin-nav-link:hover{background:#ffffff1a}.admin-nav-link.active{color:var(--color-white);background:#ffffff29;font-weight:600}.admin-nav-badge{background:var(--color-ampera-gold);color:var(--color-ink);font:var(--text-caption);border-radius:var(--radius-pill);justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-weight:700;display:flex}.admin-main{flex-direction:column;flex:1;min-width:0;display:flex}.admin-topbar{background:var(--color-white);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 32px;display:flex}.admin-topbar-role{align-items:center;gap:10px;display:flex}.admin-topbar-role label{font:var(--text-caption);color:var(--color-slate)}.admin-topbar-role select{width:auto}.admin-topbar-user{font:var(--text-body);color:var(--color-ink);align-items:center;gap:10px;display:flex}.admin-logout{color:var(--color-slate);font:var(--text-body);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:6px;padding:8px 10px;display:flex}.admin-logout:hover{background:var(--color-mist-gray);color:var(--color-danger)}.admin-content{flex:1;min-width:0;padding:32px}@media (width<=768px){.admin-menu-toggle{display:flex}.admin-sidebar-close{display:block}.admin-sidebar{z-index:40;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:4px 0 16px #0003}.admin-sidebar.open{transform:translate(0)}.admin-sidebar-backdrop.open{z-index:30;background:#172b3a73;display:block;position:fixed;inset:0}.admin-main{width:100%}.admin-topbar{flex-wrap:wrap;gap:8px;padding:12px 16px 12px 60px}.admin-topbar-role label{display:none}.admin-content{padding:16px}}@media (width<=420px){.admin-topbar-user span{display:none}}.pub{background:var(--color-mist-gray);flex-direction:column;min-height:100vh;display:flex}.pub-container{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}.pub-header{background:var(--color-white);border-bottom:1px solid var(--color-border);z-index:10;position:sticky;top:0}.pub-header-inner{align-items:center;gap:24px;height:68px;display:flex}.pub-header .btn{text-decoration:none}.pub-brand{color:var(--color-ink);align-items:center;gap:10px;text-decoration:none;display:flex}.pub-brand img{object-fit:contain;width:40px;height:40px}.pub-brand div{flex-direction:column;line-height:1.2;display:flex}.pub-brand strong{font:var(--text-h4);color:var(--color-musi-navy);font-size:17px}.pub-brand span{font:var(--text-caption);color:var(--color-slate)}.pub-brand-light strong{color:var(--color-white)}.pub-brand-light span{color:color-mix(in srgb, var(--color-white) 70%, transparent)}.pub-brand-light img{background:var(--color-white);border-radius:50%;padding:3px}.pub-nav{gap:4px;margin-left:auto;display:flex}.pub-nav a{color:var(--color-slate);font:var(--text-body);border-radius:var(--radius-pill);padding:8px 14px;font-weight:600;text-decoration:none}.pub-nav a.active{color:var(--color-tirta-blue);background:var(--color-soft-aqua)}.pub-main{flex:1}.pub-section{padding:32px 0}.pub-footer{background:var(--color-ink);color:color-mix(in srgb, var(--color-white) 75%, transparent);margin-top:40px;padding-top:36px}.pub-footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:32px;padding-bottom:28px;display:grid}.pub-footer h4{color:var(--color-white);font:var(--text-body-lg);margin-bottom:4px;font-weight:600}.pub-footer-contact{font:var(--text-body);flex-direction:column;gap:8px;display:flex}.pub-footer-contact span{align-items:center;gap:8px;display:flex}.pub-badges{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.pub-badges img{object-fit:contain;background:var(--color-white);border-radius:var(--radius-sm);width:64px;height:42px;padding:4px}.pub-footer-bottom{font:var(--text-caption);border-top:1px solid #ffffff1f;padding-top:14px;padding-bottom:18px}.pub-demo{opacity:.6}.hero{background:var(--gradient-musi);color:var(--color-white);padding:48px 0 56px;position:relative;overflow:hidden}.hero:after{content:"";border:60px solid #ffffff0f;border-radius:50%;width:460px;height:460px;position:absolute;bottom:-160px;right:-120px}.hero-inner{z-index:1;flex-direction:column;gap:18px;display:flex;position:relative}.hero h1{max-width:720px;font-size:34px}.hero p{max-width:640px;font:var(--text-body-lg);color:color-mix(in srgb, var(--color-white) 85%, transparent)}.hero-search{background:var(--color-white);border-radius:var(--radius-pill);gap:8px;max-width:620px;padding:6px;display:flex}.hero-search input{font:var(--text-body-lg);border-radius:var(--radius-pill);border:none;outline:none;flex:1;min-width:0;padding:0 16px}.hero-search .btn{border-radius:var(--radius-pill)}.hero-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:860px;margin-top:8px;display:grid}.hero-stat{border-radius:var(--radius-md);background:#ffffff1a;border:1px solid #ffffff29;padding:12px 14px}.hero-stat strong{font:var(--text-h3);display:block}.hero-stat span{font:var(--text-caption);color:color-mix(in srgb, var(--color-white) 75%, transparent)}.pkg-card{color:inherit;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;gap:10px;padding:18px 20px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.pkg-card:hover{border-color:var(--color-ocean-blue);transform:translateY(-1px)}.pkg-card-title{font:var(--text-body-lg);color:var(--color-ink);font-weight:700}.pkg-card-meta{font:var(--text-caption);color:var(--color-slate);flex-wrap:wrap;gap:6px 16px;display:flex}.pkg-card-meta span{align-items:center;gap:5px;display:inline-flex}.pkg-card-foot{border-top:1px solid var(--color-border);justify-content:space-between;align-items:flex-end;gap:12px;padding-top:10px;display:flex}.pkg-hps{font:var(--text-h4);color:var(--color-musi-navy)}.pkg-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.ann-item{border-bottom:1px solid var(--color-border);color:inherit;flex-direction:column;gap:6px;padding:14px 0;text-decoration:none;display:flex}.ann-item:last-child{border-bottom:none}.ann-item strong{font:var(--text-body);color:var(--color-ink);font-weight:700}.ann-item:hover strong{color:var(--color-tirta-blue)}.steps-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.step-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;gap:6px;padding:18px;display:flex}.step-num{background:var(--color-soft-aqua);width:32px;height:32px;color:var(--color-tirta-blue);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}@media (width<=900px){.pub-nav{display:none}.pub-header .btn{margin-left:auto}.pkg-grid,.pub-footer-grid{grid-template-columns:1fr}.hero-stats,.steps-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.hero h1{font-size:26px}}@media (width<=480px){.pub-brand span{display:none}.pub-container{padding:0 16px}}.btn{font:var(--text-button);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:10px 16px;transition:filter .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:not(:disabled):hover{filter:brightness(.95)}.btn-primary{background:var(--color-tirta-blue);color:var(--color-white)}.btn-secondary{background:var(--color-soft-aqua);color:var(--color-tirta-blue)}.btn-outline{color:var(--color-tirta-blue);border-color:var(--color-tirta-blue);background:0 0}.btn-danger{background:var(--color-danger);color:var(--color-white)}.form-field{flex-direction:column;gap:6px;display:flex}.form-field-label{font:var(--text-caption);color:var(--color-slate)}.form-field-error{font:var(--text-caption);color:var(--color-danger)}.login-screen{background:var(--gradient-musi);flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100vh;padding:16px;display:flex}.login-badges{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.login-iso-badge{object-fit:contain;border-radius:var(--radius-sm);background:var(--color-white);width:88px;height:56px;padding:6px}.login-card{background:var(--color-white);border-radius:var(--radius-xl);width:100%;max-width:380px;box-shadow:var(--shadow-card);flex-direction:column;gap:20px;padding:32px;display:flex}@media (width<=420px){.login-card{padding:20px}}.login-brand{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.login-logo{object-fit:contain;width:64px;height:64px;margin-bottom:4px}.login-brand h1{color:var(--color-musi-navy)}.login-brand p{font:var(--text-caption);color:var(--color-slate)}.login-error{font:var(--text-caption);color:var(--color-danger);margin:0}.login-demo-accounts{border-top:1px solid var(--color-border);padding-top:12px}.login-demo-accounts summary{font:var(--text-caption);color:var(--color-slate);cursor:pointer}.login-demo-list{flex-direction:column;gap:6px;max-height:160px;margin-top:10px;display:flex;overflow-y:auto}.login-demo-item{font:var(--text-caption);color:var(--color-ink);background:var(--color-mist-gray);border-radius:var(--radius-sm);justify-content:space-between;gap:12px;padding:6px 10px;display:flex}.badge{font:var(--text-caption);border-radius:var(--radius-pill);white-space:nowrap;align-items:center;padding:4px 10px;display:inline-flex}.badge-success{background:color-mix(in srgb, var(--color-success) 15%, white);color:var(--color-success)}.badge-info{background:var(--color-soft-aqua);color:var(--color-info)}.badge-warning{background:color-mix(in srgb, var(--color-warning) 18%, white);color:color-mix(in srgb, var(--color-warning) 80%, black)}.badge-danger{background:color-mix(in srgb, var(--color-danger) 15%, white);color:var(--color-danger)}.badge-gold{background:color-mix(in srgb, var(--color-ampera-gold) 20%, white);color:color-mix(in srgb, var(--color-ampera-gold) 65%, black)}.badge-neutral{background:var(--color-mist-gray);color:var(--color-slate)}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.pagination-range{font:var(--text-caption);color:var(--color-slate)}.pagination-page{font:var(--text-body);color:var(--color-ink);text-align:center;min-width:48px}.data-table-wrap{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:560px}.data-table th{text-align:left;font:var(--text-caption);color:var(--color-slate);border-bottom:1px solid var(--color-border);background:var(--color-mist-gray);padding:12px 16px}.data-table td{font:var(--text-body);color:var(--color-ink);border-bottom:1px solid var(--color-border);padding:12px 16px}.data-table tr:last-child td{border-bottom:none}.data-table-row-clickable{cursor:pointer}.data-table-row-clickable:hover{background:var(--color-soft-aqua)}.data-table-empty{text-align:center;color:var(--color-slate);padding:32px 16px}.chart-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;gap:12px;padding:20px;display:flex}.chart-card h4{color:var(--color-ink)}.chart-card-body{width:100%;height:260px}.file-upload-card{flex-direction:column;gap:8px;display:flex}.file-upload-slot{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.file-upload-slot-label{font:var(--text-body);color:var(--color-ink);min-width:140px;font-weight:600}.file-upload-slot-file{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.file-upload-dropzone{border:1.5px dashed var(--color-tirta-blue);border-radius:var(--radius-md);background:var(--color-soft-aqua);color:var(--color-tirta-blue);font:var(--text-caption);cursor:pointer;align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:flex}.file-upload-name{font:var(--text-body);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.file-upload-size{font:var(--text-caption);color:var(--color-slate);flex-shrink:0}.file-upload-remove{color:var(--color-slate);cursor:pointer;background:0 0;border:none;flex-shrink:0;display:flex}.file-upload-remove:hover{color:var(--color-danger)}
