:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#223041;background:#f6f8fa;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;min-height:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:#0f766e}h1,h2,h3,p{margin-top:0}h1{font-size:1.7rem;letter-spacing:-.045em}h2{font-size:1.2rem;letter-spacing:-.025em}h3{font-size:1rem}p{line-height:1.6}.hidden{display:none!important}.tiny{font-size:.77rem}.muted{color:#64748b}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#0f766e;font-size:.72rem;font-weight:800}.auth-bg{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 80% 0%,#d0f4e4,transparent 35%),linear-gradient(160deg,#f4fbf7,#e2efec)}.auth-panel{width:min(100%,510px);background:white;border:1px solid #dce6e3;border-radius:15px;padding:35px 40px;box-shadow:0 24px 80px #0e55411a}.brand-title{color:#047857;font-size:2rem;font-weight:900;letter-spacing:-.06em}.auth-panel h1{margin:12px 0 7px}.stack-form{display:grid;gap:17px;margin-top:25px}.stack-form label, .form-grid label{display:grid;gap:7px;color:#334155;font-size:.82rem;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.span-full{grid-column:1/-1}input,select,textarea{width:100%;padding:11px 12px;color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:7px;outline:none;transition:border-color .15s,box-shadow .15s;font-size:.9rem}textarea{resize:vertical;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e18}.primary-btn,.secondary-btn,.danger-btn,.quiet-btn{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 15px;border-radius:7px;font-weight:700;font-size:.85rem;white-space:nowrap;transition:filter .14s,background .14s}.primary-btn{background:#087963;color:white}.primary-btn:hover{background:#066a57}.secondary-btn{background:white;border-color:#cbd5e1;color:#334155}.secondary-btn:hover{background:#f1f5f9}.danger-btn{background:#fff1f2;border-color:#fecdd3;color:#be123c}.quiet-btn{background:#f0fdfa;color:#0f766e;border-color:#99f6e4}.full{width:100%}.app-layout{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;flex:0 0 252px;height:100vh;background:#fff;border-right:1px solid #e2e8f0;z-index:10}.sidebar-brand{display:flex;align-items:center;gap:12px;margin:0;padding:24px 20px 22px;border-bottom:1px solid #e2e8f0}.brand-emblem{background:#0f766e;color:white;border-radius:12px;padding:10px 14px;font-size:1.5rem}.sidebar-brand strong{font-weight:900;font-size:1.36rem;letter-spacing:-.05em;color:#074b40}.sidebar-brand small{display:block;color:#64748b;font-size:.63rem;font-weight:650;letter-spacing:.02em}.sidebar-profile{display:flex;align-items:center;gap:11px;margin:19px 15px 22px;background:#f0fdfa;border:1px solid #ccfbf1;border-radius:9px;padding:11px}.avatar{display:grid;place-items:center;background:#0f766e;color:white;border-radius:50%;height:38px;width:38px;font-weight:900}.profile-meta{min-width:0}.profile-meta strong{font-size:.79rem;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-meta small{font-size:.65rem;color:#0f766e;font-weight:750}.sidebar-label{font-size:.61rem;letter-spacing:.13em;font-weight:900;color:#94a3b8;padding:0 22px;margin-bottom:9px}.sidebar-nav{padding:0 11px;display:grid;gap:4px}.nav-button{width:100%;text-align:left;background:transparent;border:0;color:#475569;padding:12px 11px;display:flex;align-items:center;gap:12px;font-weight:650;font-size:.79rem;border-radius:7px}.nav-button span{min-width:16px;font-size:1.1rem;font-weight:900;text-align:center}.nav-button.active{color:#fff;background:#0f766e;box-shadow:0 2px 6px #0f766e26}.nav-button:not(.active):hover{background:#e8f7f3;color:#065f46}.sidebar-bottom{margin-top:auto;padding:20px 16px;border-top:1px solid #e2e8f0}.sidebar-bottom p{font-size:.67rem;color:#94a3b8;text-align:center}.work-area{display:flex;flex:1;min-width:0;flex-direction:column}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:16px 29px;background:#fff;border-bottom:1px solid #e2e8f0}.topbar-left{display:flex;align-items:center;gap:11px}.topbar strong{font-size:1rem}.top-subtitle{font-size:.75rem;color:#64748b;margin-top:5px}.top-right{display:flex;align-items:center;gap:17px}.pill{background:#ecfdf5;color:#047857;padding:7px 11px;border:1px solid #a7f3d0;border-radius:99px;font-size:.68rem;font-weight:750}.user-greeting{color:#475569;font-size:.78rem;font-weight:700}.mobile-menu{display:none;border:0;background:#f1f5f9;border-radius:6px;padding:7px 10px;font-size:1.1rem}.workspace{max-width:1250px;width:100%;padding:30px;margin:0 auto;flex:1}.page-title{margin-bottom:23px}.page-title h1{margin-bottom:6px}.page-title p{font-size:.85rem;color:#64748b;margin:0}.row{display:flex;align-items:center;gap:11px}.space-between{justify-content:space-between}.wrap{flex-wrap:wrap}.gap-lg{gap:18px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:23px}.card,.panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 9px #0f172a04}.card{padding:20px}.card small{display:block;color:#64748b;font-size:.76rem;font-weight:700}.card .number{font-size:2rem;color:#0f766e;font-weight:900;margin-top:5px;line-height:1.2}.card p{font-size:.73rem;color:#94a3b8;margin:6px 0 0}.panel{padding:23px;margin-bottom:20px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.panel-header h2{margin:0}.panel h2,.panel h3{margin-bottom:12px}.panel p{font-size:.84rem;color:#64748b}.alert{padding:12px 15px;border-radius:8px;margin:13px 0;font-size:.84rem}.error{background:#fff1f2;color:#9f1239;border:1px solid #fecdd3}.notice{position:fixed;right:25px;top:87px;z-index:30;background:#065f46;color:white;border-radius:9px;box-shadow:0 9px 30px #0f172a35;padding:13px 19px;font-size:.83rem;max-width:min(420px,calc(100vw - 36px))}.notice.err{background:#9f1239}.table-wrap{width:100%;overflow:auto}table{border-collapse:collapse;width:100%;font-size:.79rem}th{background:#f8fafc;color:#475569;font-size:.69rem;text-align:left;text-transform:uppercase;letter-spacing:.035em}td,th{border-bottom:1px solid #e2e8f0;padding:12px 10px;vertical-align:top}td{color:#334155}tr:last-child td{border-bottom:none}.tag{display:inline-block;background:#e0f2fe;color:#075985;border-radius:5px;padding:4px 7px;font-size:.68rem;font-weight:700}.tag.green{background:#d1fae5;color:#065f46}.tag.amber{background:#fef3c7;color:#92400e}.tag.red{background:#ffe4e6;color:#be123c}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.table-actions button{padding:6px 8px;font-size:.7rem}.data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.hint{color:#64748b;font-size:.73rem;line-height:1.5}.section-heading{font-size:.8rem;font-weight:800;letter-spacing:.04em;color:#0f766e;text-transform:uppercase;margin:15px 0}.help-list{font-size:.86rem;line-height:2;color:#334155}.question-block{border:1px solid #e2e8f0;padding:17px 18px;border-radius:9px;background:#fff;margin-bottom:13px}.question-block .question-n{font-weight:900;color:#0f766e;font-size:.83rem;margin-bottom:9px}.question-block .question-label{font-weight:700;font-size:.77rem;color:#475569;margin:10px 0 4px}.question-block textarea{min-height:75px}.question-block input{padding:8px}.option-row{display:flex;align-items:center;gap:8px;margin-bottom:7px}.option-row span{min-width:22px;font-weight:800;color:#64748b}.two-cols{display:grid;grid-template-columns:minmax(0,2fr) minmax(255px,1fr);gap:19px}.data-list{max-height:70vh;overflow-y:auto}.outline-item{padding:12px;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:8px}.outline-item b{font-size:.77rem}.image-preview{width:100%;max-width:270px;border-radius:9px;border:1px solid #e2e8f0;margin:10px 0}.divider{border:0;border-top:1px solid #e2e8f0;margin:20px 0}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600}.checkbox-row input{width:auto}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.level-grid label{padding:9px 5px;text-align:center;border-radius:7px;background:#f0fdfa;border:1px solid #a7f3d0;font-size:.75rem;cursor:pointer}.level-grid input{width:auto;margin-right:5px}.analysis-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.summary-metric{background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;padding:14px}.summary-metric strong{font-size:1.4rem;color:#0f766e;display:block}.summary-metric small{font-size:.72rem;color:#64748b}.print-sheet{color:black;background:white;padding:15px}.print-sheet h2{text-align:center}.print-sheet td,.print-sheet th{border:1px solid #999}.live-state{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;padding:12px;border-radius:8px;font-size:.8rem}.spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;color:#64748b;padding:35px;border:1px dashed #cbd5e1;background:#f8fafc;border-radius:9px}.small-btn{font-size:.74rem;padding:7px 11px}.subtle{background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;padding:14px}.kbd{font-size:.73rem;padding:3px 6px;background:#e2e8f0;border-radius:4px}.well{background:#f0fdfa;border:1px solid #a7f3d0;border-radius:8px;padding:14px;color:#065f46;font-size:.83rem;margin:12px 0}@media(max-width:1020px){.sidebar{flex-basis:222px}.workspace{padding:22px}.cards{grid-template-columns:repeat(3,1fr)}.topbar{padding:15px 22px}}@media(max-width:800px){.sidebar{position:fixed;left:0;transform:translateX(-102%);width:245px;transition:transform .2s;box-shadow:0 9px 35px #0001}.sidebar.open{transform:none}.mobile-menu{display:block}.topbar{height:68px}.top-right{display:none}.workspace{padding:18px}.cards{grid-template-columns:1fr 1fr}.two-cols,.data-grid{grid-template-columns:1fr}.analysis-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.auth-panel{padding:24px}.form-grid,.cards{grid-template-columns:1fr}.workspace{padding:13px}.panel{padding:16px}.topbar{padding:11px 15px}.page-title h1{font-size:1.4rem}.level-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.analysis-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.table-wrap{margin:0 -8px}.user-greeting{display:none}}@media print{.sidebar,.topbar,.notice,button,.no-print{display:none!important}.workspace{max-width:none;padding:0}.work-area{display:block}.panel{border:0;box-shadow:none;padding:0}.page-title{display:none}body{background:#fff}.table-wrap{overflow:visible}td,th{border:1px solid #555}tr{page-break-inside:avoid}}

/* v1.2: checkbox ilustrasi dan kolom prompt rapi di desktop/mobile */
.form-grid label.checkbox-row{display:flex;align-items:center;gap:10px;line-height:1.45;justify-content:flex-start;cursor:pointer}
.form-grid label.checkbox-row input[type=checkbox]{width:17px;height:17px;flex:0 0 17px;margin:0}
#imagePromptBox>label{display:grid;gap:8px;color:#334155;font-size:.82rem;font-weight:700}
#imagePromptBox textarea{min-height:92px}

/* v1.3: komposisi tingkat kesulitan, LOTS/HOTS, prompt kontekstual */
.difficulty-composer,.cognitive-composer{padding:15px 17px;border:1px solid #e2e8f0;border-radius:9px;background:#f8fafc;min-width:0}
.composer-title{font-weight:850;letter-spacing:.025em;font-size:.79rem;color:#0f172a;margin-bottom:5px}
.difficulty-composer>.hint,.cognitive-composer>.hint{margin:0 0 12px}
.difficulty-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid #e2e8f0;padding:10px 14px;margin:5px 0}
.difficulty-row .checkbox-row{margin:0;display:flex;align-items:center;gap:12px;min-width:0}
.difficulty-row .checkbox-row input{width:18px;height:18px;margin:0;accent-color:#059669}
.difficulty-amount{display:flex;align-items:center;gap:10px;font-size:.76rem;font-weight:650;white-space:nowrap}
.difficulty-amount input{width:76px;min-width:76px;height:36px;text-align:center;padding:6px}
.difficulty-amount input:disabled{opacity:.45}
.composer-total{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px;font-size:.81rem;color:#475569;flex-wrap:wrap}
.composer-total strong{font-size:1.04rem;color:#0f766e}
#difficultyError{color:#b91c1c;font-weight:600}
.difficulty-composer.has-error{border-color:#fca5a5}
.cognitive-group{margin-top:11px}
.cognitive-group-title{background:#eef2f7;border-left:3px solid #94a3b8;padding:5px 8px;color:#475569;font-weight:750;font-size:.73rem}
.cognitive-group-title.hots{border-left-color:#fb923c}
.cognitive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:7px}
.cognitive-chip{display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 9px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;cursor:pointer;min-width:0}
.cognitive-chip:has(input:checked){background:#effcf7;border-color:#34d399}
.cognitive-chip input{width:16px;height:16px;accent-color:#059669;flex:0 0 16px}
.cognitive-chip span{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}
.cognitive-chip b{color:#0f172a;font-size:.8rem}
.cognitive-chip small{font-size:.67rem;color:#64748b;text-align:center;line-height:1.2}
@media(max-width:580px){.difficulty-composer,.cognitive-composer{padding:12px}.difficulty-row{padding:8px 10px}.cognitive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cognitive-chip{padding:8px 4px}}

/* Override style grid form on nested inline option labels */
.form-grid .difficulty-amount{display:flex;align-items:center;gap:10px}
.form-grid .cognitive-chip{display:flex;align-items:center;justify-content:center;gap:7px}
.form-grid .cognitive-chip input{width:16px;min-width:16px;padding:0;margin:0;height:16px}


/* v1.4 APSISMIDU branding */
.auth-panel-brand{text-align:center}
.auth-logo{width:92px;height:92px;object-fit:contain;border-radius:18px;background:#fff;border:1px solid #d5e4df;padding:10px;box-shadow:0 10px 26px #0f172a10;margin:0 auto 12px;display:block}
.sidebar-logo{width:48px;height:48px;object-fit:contain;border-radius:12px;background:#fff;border:1px solid #dbe7e1;padding:6px;flex:0 0 48px}
.app-splash{position:fixed;inset:0;background:linear-gradient(135deg,#effcf7,#f8fafc);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .35s ease, visibility .35s ease}.app-splash.hidden{opacity:0;visibility:hidden;pointer-events:none}.splash-card{text-align:center;background:#ffffffea;border:1px solid #d6eee5;border-radius:22px;padding:30px 26px;box-shadow:0 20px 60px #0f172a12;max-width:450px;width:calc(100vw - 40px)}.splash-logo,.splash-fallback{width:88px;height:88px;margin:0 auto 14px;border-radius:20px;background:#fff;border:1px solid #d5e4df;display:flex;align-items:center;justify-content:center;object-fit:contain;padding:10px}.splash-fallback{font-size:2rem;font-weight:900;color:#0f766e}.splash-card h1{margin-bottom:8px}.splash-card p{margin:0 0 8px;color:#334155;font-weight:700}.splash-card small{display:block;color:#64748b;line-height:1.5}
.branding-preview-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:16px}.branding-preview{width:180px;min-height:132px;border:1px solid #dbe5ef;border-radius:14px;background:#f8fafc;padding:12px;display:flex;flex-direction:column;gap:10px;justify-content:center;align-items:center}.branding-preview img{max-width:100%;max-height:80px;object-fit:contain}.branding-preview.empty{color:#64748b;text-align:center}.user-limit-row input{width:86px;min-width:86px}
@media(max-width:640px){.branding-preview{width:100%}.splash-card{padding:24px 18px}}


/* v1.5 - tombol tampil/sembunyikan password */
.password-input-wrap{position:relative;display:block;width:100%;min-width:0}
.password-input-wrap input[type="password"],.password-input-wrap input[type="text"]{width:100%;padding-right:50px;box-sizing:border-box}
.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);height:36px;width:39px;display:grid;place-items:center;cursor:pointer;border:0;border-radius:8px;background:transparent;color:#64748b;padding:0;z-index:1}
.password-toggle:hover{background:#eaf4f2;color:#0f766e}
.password-toggle:focus-visible{outline:2px solid #0f766e;outline-offset:1px}
.password-toggle svg{width:20px;height:20px;display:block}
/* APSISMIDU v1.6: alur kerja dan analisis berdasarkan modul APSIS asli */
.sidebar-system-status{display:flex;align-items:center;gap:6px;padding:10px 16px;border-block:1px solid #e2e8f0;font-size:.71rem;font-weight:650;color:#526377;background:#f8fafc}
.sidebar-system-status span{color:#10b981}.sidebar-system-status small{margin-left:auto;border:1px solid #e2e8f0;background:#fff;border-radius:4px;padding:2px 6px;color:#77859e}
.sidebar-label.inner{padding:18px 12px 7px;margin-top:8px;border-top:1px solid #e2e8f0}
.nav-button{position:relative}.nav-button .step-badge,.nav-button .menu-badge{margin-left:auto;font-size:.63rem;font-weight:800;padding:3px 6px;border-radius:5px;border:1px solid #baf3d9;background:#e1faef;color:#047857}
.nav-button .step-badge:not(.done){background:#fef3c7;color:#92400e;border-color:#fde68a}
.nav-button .menu-badge.soft{background:#f0f6fb;color:#475569;border-color:#dce5ee}
.nav-button .menu-badge.amber{background:#fef3c7;color:#a16207;border-color:#fde68a}
.nav-button .nav-arrow{margin-left:auto}.submenu{border-left:1px solid #dceae9;margin:2px 0 7px 28px;padding-left:8px}.submenu .nav-button{font-size:.72rem;padding:9px 10px;display:flex;gap:6px;background:#f1fbf8;margin:3px 0;color:#0d6259}.submenu .nav-button.active{background:#ccefe4;color:#095d51}
.wizard-panel h2{border-bottom:1px solid #e2e8f0;padding-bottom:16px}.wizard-actions{display:flex;justify-content:flex-end;margin-top:24px}
.wizard-two-cols{display:grid;grid-template-columns:minmax(320px,1fr) minmax(340px,1fr);gap:19px;align-items:stretch}
.wizard-two-cols .panel{padding:0;overflow:hidden}.tech-header{font-weight:850;font-size:.94rem;background:#edfcf8;border-bottom:1px solid #d4ece4;padding:16px 19px}.tech-header.neutral{background:#f8fafc}.tech-body{padding:20px}.tech-body>label{display:block;font-weight:800;color:#334155;font-size:.77rem;margin:0 0 18px}.tech-body>label input,.tech-body>label select{display:block;margin-top:7px}
.tech-body .checkbox-row{display:flex;gap:10px;align-items:center;border:1px solid #a7f3d0;background:#f1fcf9;border-radius:6px;padding:13px;margin-top:13px}.tech-body .checkbox-row input[type=checkbox]{width:17px;height:17px;margin:0;accent-color:#0d9488;flex:0 0 17px}
.tech-body>h3{font-size:.79rem;letter-spacing:.025em;margin:14px 0 7px}.tech-rule{border-top:1px solid #e2e8f0;margin:16px 0}.tech-difficulties{border:1px solid #e2e8f0;background:#f8fafc;padding:10px 12px;border-radius:6px}
.tech-difficulty{display:flex;justify-content:space-between;align-items:center;margin:6px 0;gap:12px}.tech-difficulty label{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.78rem}.tech-difficulty label input{width:16px;height:16px;accent-color:#2563eb}.tech-difficulty>input{width:72px;text-align:center;padding:8px;height:34px}
.tech-total{text-align:right;margin:11px 0 20px;color:#64748b;font-size:.76rem}.tech-total b{color:#0f766e}.tech-total b.invalid{color:#be123c}
.tech-add,.tech-generate{display:block;width:100%;border:0;background:#202e43;color:white;font-weight:850;cursor:pointer;border-radius:5px;padding:15px;margin:20px 0 0}.tech-add:hover{background:#0f3d4c}.tech-generate{background:#15803d;font-size:1rem;margin:8px 0 0}.tech-generate:hover{background:#166534}.tech-generate:disabled{opacity:.5;cursor:not-allowed}
.tech-right{min-height:650px;display:flex;flex-direction:column}.tech-cards{flex:1;padding:20px}.tech-foot{border-top:1px solid #e2e8f0;padding:16px 20px}.tech-foot .hint{margin-bottom:7px}.wizard-links{margin-top:18px}.structure-card{background:white;border:1px solid #cbd5e1;box-shadow:0 2px 4px #172f4610;border-radius:7px;padding:18px;margin-bottom:15px}.structure-card h3{margin:14px 0 6px;font-size:.86rem}.structure-split{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px;padding-top:14px;border-top:1px dashed #e2e8f0}.structure-split>div+div{border-left:1px solid #e2e8f0;padding-left:15px}.structure-split b{font-size:.73rem;color:#64748b}.structure-split p{display:flex;justify-content:space-between;gap:8px;margin:5px 0;font-size:.78rem}.structure-split .tag{margin:3px}
.modal-shade{position:fixed;inset:0;background:#10233399;display:flex;align-items:center;justify-content:center;z-index:99;padding:20px}.modal-shade.hidden{display:none}.modal-content{width:min(630px,100%);border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 20px 60px #0003}.modal-title{background:#0f766e;color:#fff;font-weight:850;padding:18px 22px;display:flex;justify-content:space-between}.modal-title button{border:0;background:none;color:white;font-size:24px;cursor:pointer}.modal-body{padding:22px}.modal-body label{display:block;font-size:.8rem;font-weight:750}.modal-body textarea{margin-top:9px}.modal-actions{border-top:1px solid #e2e8f0;padding:14px 22px;display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.analysis-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-top:18px}.analysis-toolbar>label{font-size:.77rem;font-weight:700}.analysis-toolbar>label input,.analysis-toolbar>label select{display:block;margin-top:6px}.analysis-toolbar .file-input-label{display:inline-flex;cursor:pointer;align-items:center;justify-content:center}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:17px}.stats-grid .summary-metric strong{font-size:1.55rem}.bar-track{flex:1;background:#e2e8f0;border-radius:6px;height:11px;overflow:hidden}.bar-fill{height:100%;background:#0f766e}.analysis-bars>div{display:flex;align-items:center;gap:12px;margin:12px 0}.analysis-bars label{width:80px;color:#475569;font-size:.75rem}.analysis-bars b{width:30px}.item-details details{border:1px solid #e2e8f0;border-radius:7px;margin:8px 0;padding:11px}.item-details summary{cursor:pointer;font-weight:800;font-size:.82rem}.item-details details div{padding:8px}.item-details .tag{margin:3px}
@media(max-width:1080px){.wizard-two-cols{grid-template-columns:1fr}.tech-right{min-height:340px}}
@media(max-width:640px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tech-body,.tech-cards{padding:12px}.tech-header{padding:14px}.structure-split{grid-template-columns:1fr}.structure-split>div+div{border-left:0;padding-left:0}.analysis-toolbar>*{width:100%}.analysis-toolbar>label input{width:100%}}

.sidebar .sidebar-nav{flex:1;overflow-y:auto;min-height:0}.sidebar .sidebar-profile{margin-top:auto;flex:0 0 auto}.pro-mark{font-size:.56rem;border-radius:4px;background:#d1fae5;color:#047857;border:1px solid #99f6e4;padding:2px 5px;vertical-align:middle;letter-spacing:0}.sidebar-brand small{line-height:1.4;max-width:185px;overflow-wrap:anywhere}


/* v1.7: Naskah & Hasil — empat tab dan pratinjau dokumen A4 */
.naskah-shell{border:1px solid #d7dfea;border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 3px 10px #0f172a08}
.naskah-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f3f5f8;border-bottom:1px solid #d4dce5;padding:13px;flex-wrap:wrap}
.naskah-tabs,.naskah-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.naskah-tabs .naskah-tab{background:transparent;color:#526987;border:1px solid transparent;border-radius:5px;padding:10px 13px;font-size:.78rem;font-weight:850;cursor:pointer;text-transform:uppercase;letter-spacing:.02em}
.naskah-tabs .naskah-tab.active{color:#0d7068;background:#fff;border-color:#cbd5e1;box-shadow:0 1px 2px #0001}
.naskah-tabs .naskah-tab:hover{color:#0f766e}
.naskah-actions button{font-size:.73rem;padding:9px 11px;min-height:37px}
.naskah-note{background:#f0fdfa;border-bottom:1px solid #bce7d3;color:#145c50;padding:12px 18px;font-size:.78rem;line-height:1.5}
.naskah-document-container{background:#eff1f4;padding:30px 20px 40px;min-height:550px;overflow:auto}
.naskah-paper{width:100%;max-width:820px;min-height:1040px;margin:0 auto;background:#fff;padding:43px 40px 60px;color:#101010;font-family:'Times New Roman',Times,serif;font-size:13px;line-height:1.6;box-shadow:0 7px 22px #0f172a14}
.paper-heading{text-align:center;border-bottom:2px solid #222;padding-bottom:15px;margin-bottom:25px}
.paper-heading h2{font-size:19px;font-weight:700;color:#111;margin:0 0 2px}
.paper-heading>div:not(.paper-subhead){font-size:14px}
.paper-subhead{font-size:12px;margin-top:4px}
.preview-part{margin-bottom:25px}
.preview-part h3{font-size:14px;color:#111;text-decoration:underline;text-underline-offset:3px;text-align:left;margin:0 0 14px}
.preview-question{margin:14px 0 19px;break-inside:avoid}
.preview-question-text{display:flex;gap:17px;align-items:start}
.preview-question-text strong{width:24px;flex:0 0 24px}
.preview-options{margin:9px 0 0 30px}
.preview-options>div{display:flex;align-items:flex-start;gap:9px;margin:2px 0}
.preview-options>div strong{width:18px;flex:0 0 18px}
.preview-image-box{margin:10px 0 8px 30px}.preview-image-box img{max-width:330px;max-height:220px;object-fit:contain}
.preview-prompt{border:1px dashed #a5b9cd;border-radius:5px;background:#f7fafc;margin:8px 0 10px 30px;padding:7px 11px;color:#475569;font:11px system-ui,sans-serif}
.preview-prompt summary{cursor:pointer;font-weight:750}.preview-prompt p{white-space:pre-wrap;word-break:break-word}
.paper-table{width:100%;border-collapse:collapse;font-size:12px;color:#111}
.paper-table th,.paper-table td{border:1px solid #333;padding:7px 8px;vertical-align:top}
.paper-table th{background:#f1f3f5;text-align:center;font-family:'Times New Roman',Times,serif;color:#111;font-weight:700}
.paper-table .narrow{width:55px}.paper-table .center{text-align:center}
.naskah-card-document{max-width:960px;margin:auto}.card-info-banner{background:#1c5551;color:#fff;padding:20px 24px;border-radius:6px;display:flex;align-items:center;justify-content:space-between;gap:12px}.card-info-banner strong{font-weight:800;font-size:14px}.card-info-banner p{color:#eef8f5;font-size:.78rem;margin:5px 0 0}.cards-preview-toolbar{margin:15px 0;background:#fff;border:1px solid #d5dfe9;border-radius:6px;padding:11px 15px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.8rem}.cards-preview-toolbar select{width:auto;min-width:135px}
.card-question{background:#fff;border:1px solid #cbd5e1;border-radius:6px;margin:0 0 18px;color:#13243c;box-shadow:0 2px 6px #00000010;break-inside:avoid}
.card-question-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#1d283e;color:#fff;padding:11px 15px;font-size:12px}
.card-question-header b{background:#0f766e;padding:5px 8px;border-radius:4px}
.card-question-header span:last-child{margin-left:auto}.card-question-body{padding:16px 20px}
.card-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-bottom:1px solid #e2e8f0;padding:10px 0}
.card-meta-grid>div{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.card-meta-grid small{color:#64748b;font-size:.68rem}.card-meta-grid strong{font-size:.75rem;text-align:right;overflow-wrap:anywhere}
.card-detail-row{padding:12px 0;border-bottom:1px solid #e2e8f0}.card-detail-row b{font-size:.74rem;display:block;color:#27445b}.card-detail-row p{font-size:.8rem;margin:6px 0 0;color:#26364b;overflow-wrap:anywhere}.card-question-image{display:block;max-width:300px;max-height:180px;object-fit:contain;margin:10px 0}
.editor-back{display:flex;align-items:center;gap:13px;flex-wrap:wrap;background:#eefcf6;border:1px solid #b8e9d2;padding:12px;border-radius:8px;margin-bottom:18px}
@media(max-width:1000px){.naskah-topbar{flex-direction:column;align-items:flex-start}.naskah-actions{width:100%}}
@media(max-width:800px){.naskah-document-container{padding:12px 8px}.naskah-paper{padding:25px 16px;min-height:650px}.card-info-banner{flex-direction:column;align-items:flex-start}.card-meta-grid{grid-template-columns:1fr}.naskah-tabs .naskah-tab{padding:8px 9px;font-size:.7rem}}
@media print{.naskah-shell{border:0}.naskah-topbar,.naskah-note,.editor-back,.naskah-actions,.cards-preview-toolbar,.card-info-banner{display:none!important}.naskah-document-container{padding:0;background:#fff}.naskah-paper{box-shadow:none;max-width:none;min-height:unset;padding:0}.preview-prompt{display:none}}


/* v1.8: single 4-column kartu template for preview/print/Word */
.kartu-document{max-width:820px;width:100%;margin:0 auto;background:#fff;padding:28px 30px 35px;color:#000;font:9.5pt 'Times New Roman',Times,serif;line-height:1.15;box-shadow:0 3px 16px #0f172a12}
.kartu-doc-title{text-align:center;margin:0 0 8pt;color:#000}
.kartu-doc-title div{font-size:11pt;font-weight:bold;text-transform:uppercase;margin-bottom:2pt}
.kartu-doc-title strong{font-size:10pt;font-weight:bold}
.kartu-table{width:100%;border-collapse:collapse;table-layout:fixed;border:1px solid #000;margin:0;page-break-inside:avoid}
.kartu-table th,.kartu-table td{border:1px solid #000!important;padding:2pt 4pt!important;vertical-align:top;font:9pt/1.15 'Times New Roman',Times,serif!important;overflow-wrap:anywhere;color:#000!important;text-align:left}
.kartu-table th{font-weight:bold!important;background:#f2f2f2!important}
.kartu-table th.kartu-main-head{background:#e6e6e6!important;text-align:center;font-weight:bold!important;font-size:9.5pt!important;padding:2.5pt 4pt!important}
.kartu-table th.kartu-section-label{background:#f2f2f2!important;font-weight:bold!important}
.kartu-table .kartu-rumusan{padding:4pt 5pt!important}
.kartu-options{margin:3pt 0 0 9pt}.kartu-option{margin:1pt 0;line-height:1.15}
.kartu-answer{font-weight:bold!important}.kartu-item{break-inside:avoid;page-break-inside:avoid;margin:0 0 12pt}
.kartu-image img{max-width:145px;max-height:90px;object-fit:contain}.kartu-image{margin:3pt 0}
@media(max-width:800px){.kartu-document{padding:15px 10px}.kartu-table th,.kartu-table td{font-size:8.5pt!important;padding:2pt 3pt!important}}
@media print{.kartu-document{box-shadow:none;padding:0;max-width:unset}.kartu-item:nth-of-type(2n){break-after:page;page-break-after:always}.kartu-item:last-child{break-after:auto;page-break-after:auto}}


/* APSISMIDU v1.9 - pratinjau Kartu Soal gaya APSIS asli (bukan tata letak Word). */
.apsis-cards-preview{max-width:1080px;margin:0 auto;padding:20px 0 40px;font:12px/1.5 Arial,system-ui,sans-serif;color:#1e293b}
.apsis-card{background:#fff;border:2px solid #334155;border-radius:4px;overflow:hidden;box-shadow:0 2px 5px #0f172a10;margin-bottom:24px}
.apsis-card-titlebar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#1e293b;padding:11px 16px;color:#fff}
.apsis-titlegroup,.apsis-card-title-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:11px;font-weight:700;letter-spacing:.025em}
.apsis-card-title-actions small{font-size:11px;font-weight:500;color:#cbd5e1}
.apsis-card-titlebar button{border:1px solid #475569;border-radius:3px;padding:6px 9px;font-size:11px;cursor:pointer;color:#d5fff1;background:#334155}
.apsis-card-titlebar .apsis-edit-save{background:#0f766e;border-color:#0d9488;color:white;font-weight:800}
.apsis-card-titlebar .apsis-edit-cancel{color:#fee2e2}
.apsis-num{background:#0d9488;color:white;padding:5px 9px;border-radius:2px;font-weight:900;font-size:12px}
.apsis-card-identity{padding:16px 17px 20px;background:#f8fafc;border-bottom:1px solid #cbd5e1}
.apsis-id-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 28px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #dbe4ea}
.apsis-id-grid>div{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #e2e8f0;gap:12px;padding-bottom:6px}
.apsis-id-grid span{color:#64748b}.apsis-id-grid b{font-weight:750;text-align:right;overflow-wrap:anywhere}
.apsis-card-field{margin:12px 0 0;min-width:0}
.apsis-card-field>b{display:block;font-size:11px;letter-spacing:.012em;color:#475569;margin-bottom:5px}
.apsis-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.apsis-value{padding:9px 10px;background:#fff;border:1px solid #dbe3ee;border-radius:3px;min-height:35px;overflow-wrap:anywhere}
.apsis-book{font-style:italic}
.apsis-cog-tag{color:#047857;background:#ecfdf5;padding:4px 7px;border:1px solid #6ee7b7;border-radius:3px;font-weight:800;margin-right:7px}
.apsis-level-desc{color:#475569}
.apsis-card-field input,.apsis-card-field textarea,.apsis-bottom-cell textarea{border:1px solid #2dd4bf!important;background:white!important;border-radius:3px!important;font-size:12px!important;line-height:1.45!important;font-family:Arial,system-ui,sans-serif!important;width:100%!important;padding:9px!important;min-width:0;resize:vertical}
.apsis-card-question{background:#fff;padding:19px}
.apsis-question-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid #cbd5e1;padding-bottom:10px;margin-bottom:14px}
.apsis-question-heading strong{font-size:11px;background:#f1f5f9;padding:5px 8px;border:1px solid #cbd5e1;border-radius:3px}
.apsis-question-heading small{font-size:11px;font-style:italic;color:#64748b}
.apsis-question-text{display:flex;gap:9px;white-space:pre-wrap;font:14px/1.5 'Times New Roman',serif;color:#111827}
.apsis-card-image img{max-width:300px;max-height:200px;object-fit:contain;margin:12px 0 0 24px}
.apsis-choices{margin:16px 0 0 25px;display:grid;gap:5px}
.apsis-choice{display:flex;align-items:flex-start;gap:10px;border:1px solid transparent;padding:7px 9px;border-radius:3px}
.apsis-choice.is-answer{background:#f0fdfa;border-color:#99f6e4}
.apsis-choice-letter{display:inline-flex;min-width:24px;height:24px;align-items:center;justify-content:center;border-radius:3px;background:#e2e8f0;font-weight:750}
.apsis-choice.is-answer .apsis-choice-letter{color:#fff;background:#0f766e}
.apsis-choice-text{flex:1;min-width:0}.apsis-key-pill{font-size:10px;font-weight:750;color:#0f766e;background:#ccfbf1;padding:3px 6px;border-radius:3px}
.apsis-card-bottom{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:15px;background:#f1f5f9;border-top:2px solid #cbd5e1}
.apsis-bottom-cell{background:#fff;border:1px solid #dbe3ee;border-radius:3px;padding:10px;min-width:0}
.apsis-bottom-cell>b{display:block;font-size:10px;color:#64748b;margin-bottom:8px}
.apsis-answer-badge{display:inline-block;background:#f0fdfa;border:1px solid #99f6e4;color:#115e59;padding:6px 9px;font-size:12px;font-weight:850;overflow-wrap:anywhere;max-width:100%}
.cards-preview-toolbar .asm-selected{background:#ccfbf1;border-color:#5eead4;color:#115e59;font-weight:800}
.apsis-card-banner{background:#164e47;color:#fff;border-color:#134e4a}
.apsis-card-banner p{color:#d1fae5!important}.apsis-card-banner .secondary-btn{background:#fff;color:#134e4a}
@media(max-width:730px){.apsis-cards-preview{padding:8px 0}.apsis-id-grid,.apsis-field-grid,.apsis-card-bottom{grid-template-columns:1fr}.apsis-card-titlebar{align-items:flex-start}.apsis-id-grid>div{gap:9px}}
@media print{.apsis-cards-preview{display:none!important}}

/* APSISMIDU v1.10 — Matriks Analisis Butir Soal ala APSIS: sticky columns, pilihan jawaban, aksi hapus */
.workspace:has(.analysis-ui-shell){max-width:1780px;padding:27px 28px}
.analysis-ui-shell{max-width:100%;min-width:0;font-size:13px}
.analysis-tabs-pro{display:flex;align-items:stretch;gap:5px;flex-wrap:wrap;border-bottom:1px solid #dbe3ec;background:#fff;border-radius:8px 8px 0 0;padding:8px 12px;margin:0 0 0}
.analysis-tabs-pro>button[data-analysis-tab]{border:0;background:transparent;color:#64748b;padding:12px 13px;font-size:.8rem;font-weight:700;position:relative;border-radius:5px 5px 0 0}
.analysis-tabs-pro>button[data-analysis-tab].on{color:#115e59;background:#f2fbf8}
.analysis-tabs-pro>button[data-analysis-tab].on:after{content:'';position:absolute;bottom:-8px;height:2px;left:12px;right:12px;background:#0f766e}
.analysis-tabs-pro button small{background:#d1fae5;color:#065f46;padding:3px 5px;font-size:.65rem;border-radius:4px}
.analysis-tab-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.analysis-input-panel{border:1px solid #dae3eb;background:#fff;border-radius:0 0 9px 9px;margin-bottom:18px;min-width:0;box-shadow:0 4px 12px #0f172a08}
.analysis-input-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}
.analysis-input-tools .row{gap:8px}.analysis-input-tools .primary-btn{background:#145d58}
.analysis-options-bar{background:#f8fafc;color:#334155;font-size:.78rem;font-weight:600}
.analysis-options-bar .row>strong{background:#fff;padding:7px 13px;min-width:37px;text-align:center;border-radius:4px;border:1px solid #e2e8f0}
.matrix-option-btn{background:#fff;color:#334155;border:1px solid #cbd5e1;padding:7px 10px;font-size:.73rem;font-weight:750;border-radius:5px}
.matrix-option-btn.on{background:#0f766e;color:#fff;border-color:#0f766e}
.matrix-key-editor{padding:17px;margin:15px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px}
.matrix-key-editor.hidden{display:none}
.matrix-key-title{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:8px}
.matrix-key-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:10px;max-height:235px;overflow:auto}
.matrix-key-grid>label{display:grid;gap:5px;font-size:.73rem;color:#334155;font-weight:700}
.matrix-key-grid>label select,.matrix-key-grid>label input{font-size:.78rem;padding:6px 8px;min-width:0;width:100%}
.matrix-meta{padding:11px 15px;border-bottom:1px solid #dbe3ec;background:#f8fafc;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.77rem}
.matrix-legend{display:flex;align-items:center;gap:6px;color:#64748b;font-size:.72rem}
.matrix-dot{width:10px;height:10px;border-radius:3px;border:1px solid #cbd5e1;display:inline-block;margin-left:9px}.matrix-dot.correct{background:#b9f3da;border-color:#44b68c}.matrix-dot.wrong{background:#ffe4e6;border-color:#fb7185}.matrix-dot.empty{background:#f8fafc}
.matrix-scroller{width:100%;min-width:0;max-height:510px;overflow:auto;overscroll-behavior:contain;border-bottom:1px solid #e2e8f0}
.matrix-table{border-collapse:separate!important;border-spacing:0;table-layout:fixed;min-width:100%;width:max-content;color:#334155;font-size:.76rem}
.matrix-table th,.matrix-table td{padding:5px 6px!important;border-right:1px solid #e1e7ed;border-bottom:1px solid #e1e7ed;background:#fff;vertical-align:middle!important;text-align:center;white-space:nowrap;height:42px}
.matrix-table th{font-size:.71rem;position:sticky;top:0;z-index:5;background:#f1f5f9;min-height:44px;box-shadow:0 1px 0 #d2dce5}
.matrix-table tbody tr:nth-child(even) td{background:#fafcfd}
.matrix-table tbody tr:hover td{background:#effcf8}
.matrix-table .matrix-sticky{position:sticky;z-index:3;background:#fff}
.matrix-table th.matrix-sticky{z-index:8;background:#f1f5f9}
.matrix-table .matrix-col-no{left:0;width:48px;min-width:48px;max-width:48px}
.matrix-table .matrix-col-name{left:48px;width:210px;min-width:210px;max-width:210px;text-align:left}
.matrix-table .matrix-col-score{left:258px;width:75px;min-width:75px;max-width:75px;background:#f0fdfa!important;font-weight:800;color:#115e59}
.matrix-table .matrix-col-score small{font-size:.68rem;font-weight:500;color:#94a3b8}
.matrix-table .matrix-col-name input{font-size:.78rem;font-weight:650;padding:7px 5px;border:1px solid transparent;background:transparent;min-width:0;max-width:194px}
.matrix-table .matrix-col-name input:focus{border-color:#2dd4bf;background:#fff}
.matrix-table .matrix-col-question{width:56px;min-width:56px;max-width:56px}
.matrix-question-no{display:block;font-size:.71rem;color:#334155}.matrix-key-tag{display:inline-block;color:#115e59;background:#d1fae5;border:1px solid #99f6e4;border-radius:4px;padding:2px 5px;margin:2px 0;font-size:.68rem}
.matrix-table .matrix-cell-answer{width:56px;min-width:56px;max-width:56px}
.matrix-table .matrix-answer{width:43px;min-width:43px;max-width:43px;height:30px;font-size:.72rem;font-weight:750;padding:4px 3px;border-radius:4px;text-align:center;background:#fff;color:#475569;box-shadow:none}
.matrix-table input.matrix-answer{width:47px;min-width:47px;padding:4px 2px;font-size:.66rem}
.matrix-answer.answer-correct{background:#d1fae5!important;color:#065f46!important;border:1px solid #34d399!important}
.matrix-answer.answer-wrong{background:#fff1f2!important;color:#be123c!important;border:1px solid #fda4af!important}
.matrix-answer.answer-empty{background:#f8fafc!important;color:#64748b!important;border:1px solid #cbd5e1!important}
.matrix-answer.answer-neutral{background:#fef3c7!important;color:#92400e!important;border:1px solid #fcd34d!important}
.matrix-table .matrix-sticky-right{position:sticky;right:0;z-index:3;width:83px;min-width:83px;background:#fff!important;box-shadow:-2px 0 5px #0f172a07}
.matrix-table th.matrix-sticky-right{z-index:8;background:#f1f5f9!important}
.matrix-delete{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;border:1px solid #fecdd3;background:#fff1f2;color:#be123c;border-radius:5px;font-weight:750;font-size:.69rem;padding:5px 3px;cursor:pointer}
.matrix-delete:hover{background:#ffe4e6}
.matrix-empty-state{text-align:center!important;color:#64748b!important;padding:28px!important}
.matrix-pagination{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;color:#64748b;font-size:.75rem}
.matrix-pagination>div{display:flex;align-items:center;gap:8px}
.matrix-settings{padding:16px 18px;border-top:1px solid #e2e8f0}
.matrix-run{border-top:1px solid #e2e8f0;padding:15px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.matrix-run p{max-width:850px;margin:0;color:#64748b}
.analysis-ui-shell #advancedAnalysisResults>.panel{margin-top:16px}
@media(max-width:960px){.workspace:has(.analysis-ui-shell){padding:16px 9px}.analysis-tabs-pro{padding:5px}.analysis-tab-actions{margin-left:0;width:100%;justify-content:flex-end}.matrix-table .matrix-col-name{width:175px;min-width:175px;max-width:175px}.matrix-table .matrix-col-score{left:223px}.matrix-table .matrix-col-name input{max-width:164px}}
@media(max-width:620px){.analysis-tabs-pro>button[data-analysis-tab]{padding:10px 7px;font-size:.68rem}.matrix-meta{font-size:.69rem}.matrix-legend{font-size:.62rem}.matrix-run{align-items:stretch}.matrix-run>button{width:100%}.matrix-table .matrix-col-name{width:145px;min-width:145px;max-width:145px}.matrix-table .matrix-col-score{left:193px}.matrix-table .matrix-col-name input{max-width:133px}.matrix-table .matrix-delete span{display:none}.matrix-table .matrix-sticky-right{width:56px;min-width:56px}}
@media print{.analysis-tabs-pro,.analysis-input-panel,.matrix-key-editor{display:none!important}}

/* v1.11: pilih sumber kunci di modul analisis */
.analysis-source{background:#f0fdfa;border-bottom:1px solid #ccede5;padding:14px 18px}
.analysis-source>label{display:block;font-size:.77rem;font-weight:800;color:#165a52;margin-bottom:8px}
.analysis-source-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.analysis-source-row select{max-width:580px;width:min(100%,580px);background:#fff;flex:1 1 280px}
.analysis-source-row .hint{flex:1 1 220px}
@media(max-width:580px){.analysis-source{padding:12px}.analysis-source-row select{max-width:100%}}

/* APSISMIDU v1.11 — CTT dan KKTP mengikuti hierarki visual APSIS asli */
.analysis-result-panel{background:#fff;border:1px solid #dbe4e8;border-radius:10px;box-shadow:0 2px 8px #0f172a06;margin:16px 0;overflow:hidden;padding:19px}
.analysis-result-panel .hint{margin:12px 0 0;font-size:.76rem}
.analysis-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:17px}.analysis-section-head h3{font-size:.95rem;color:#17344a;margin:0 0 4px;font-weight:850}.analysis-section-head p{font-size:.75rem;color:#64748b;margin:0}.analysis-section-head>small{color:#64748b;font-size:.75rem}
.analysis-dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:20px}.analysis-metric-card{background:#fff;border:1px solid #dde5ed;border-radius:9px;padding:16px 15px;min-width:0;box-shadow:0 2px 6px #0f172a05}.analysis-metric-card>span{font-size:.7rem;letter-spacing:.035em;color:#64748b;font-weight:850;display:block;min-height:30px}.analysis-metric-card>strong{display:block;color:#0f2938;font-weight:900;font-size:1.8rem;line-height:1.35;margin-top:3px;font-variant-numeric:tabular-nums}.analysis-metric-card>small{display:block;color:#64748b;font-size:.72rem;margin-top:4px;min-height:19px}.analysis-metric-card em{font-style:normal}.analysis-metric-card i{font-style:normal;color:#94a3b8;font-size:1.2rem}.good-text{color:#047857!important}.bad-text{color:#be123c!important}.warn-text{color:#b45309!important}.analysis-progress{height:8px;background:#e9eef2;border-radius:99px;overflow:hidden;flex:1}.analysis-progress i{display:block;height:100%;border-radius:99px;background:#0f766e;transition:width .15s}.analysis-progress i.good{background:#059669}.analysis-progress i.warn{background:#f59e0b}.analysis-progress i.bad{background:#e11d48}.analysis-progress i.neutral{background:#64748b}.analysis-metric-card .analysis-progress{margin-top:9px}
.grade-histogram{display:grid;gap:13px}.grade-bar-row{display:grid;grid-template-columns:68px 1fr 58px;gap:14px;align-items:center;font-size:.8rem}.grade-bar-row>strong{font-size:.74rem}.grade-bar-row>span{text-align:right;color:#475569;font-weight:750}.grade-bar-track{height:31px;background:#f1f5f9;border-radius:5px;overflow:hidden}.grade-bar{height:100%;min-width:0;display:flex;align-items:center;padding-left:10px;color:#fff;font-size:.73rem;font-weight:850;background:#0f766e;transition:width .2s}.grade-bar-0{background:#059669}.grade-bar-1{background:#0d9488}.grade-bar-2{background:#eab308}.grade-bar-3{background:#f97316}.grade-bar-4{background:#e11d48}
.grade-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grade-controls input{min-width:180px;max-width:220px;font-size:.75rem;padding:9px 10px}.grade-filter-pills{background:#f1f5f9;padding:4px;border-radius:8px;display:flex;gap:2px}.grade-filter-pills button{border:0;border-radius:6px;padding:8px 11px;color:#475569;font-size:.73rem;font-weight:750;cursor:pointer;background:transparent}.grade-filter-pills button.on{color:#fff;background:#0f766e}.grade-results-table td{font-size:.78rem}.grade-results-table .grade-rank{background:#f1f5f9;color:#0f766e;font-weight:850;padding:5px 8px;border-radius:5px}.grade-expanded td{background:#f0fdfa;color:#134e4a;white-space:normal}.tp-list{display:grid;gap:1px}.tp-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #eef2f7}.tp-row:last-child{border:0}.tp-row>div:first-child{display:grid;gap:4px;min-width:0}.tp-row strong{font-size:.78rem}.tp-row small{font-size:.7rem;color:#64748b}.tp-measure{display:flex;align-items:center;gap:10px;min-width:180px;width:38%}.tp-measure>strong{width:50px;text-align:right;color:#0f766e;font-variant-numeric:tabular-nums}.remedial-student-list{display:grid;gap:8px}.remedial-student{border:1px solid #e2e8f0;border-radius:7px;background:#fff}.remedial-student summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;cursor:pointer;list-style:none}.remedial-student summary span:first-child{display:grid;gap:4px}.remedial-student small{color:#64748b;font-size:.7rem}.remedial-student>div{border-top:1px solid #e2e8f0;padding:13px 14px;font-size:.78rem}.remedial-student>div p{margin:8px 0 0}
.ctt-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#f8fafc;border:1px solid #edf1f5;border-radius:7px;padding:11px;margin-bottom:14px}.ctt-filters{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.ctt-filters small{font-size:.74rem;color:#64748b;margin-right:4px}.ctt-filters button,.ctt-view-selector button{border:1px solid transparent;background:#eef2f6;color:#475569;font-weight:700;font-size:.74rem;padding:8px 10px;border-radius:5px;cursor:pointer}.ctt-filters button.on{background:#172e3d;color:#fff}.ctt-filters input{font-size:.75rem;padding:7px 10px;max-width:200px}.ctt-view-selector{display:flex;gap:2px;background:#e9eef2;padding:3px;border-radius:7px}.ctt-view-selector button{background:transparent}.ctt-view-selector button.on{background:#fff;color:#0f766e;box-shadow:0 1px 5px #0f172a12}.ctt-focus-layout{display:grid;grid-template-columns:minmax(275px,38%) 1fr;gap:15px;align-items:start}.ctt-focus-list,.ctt-focus-detail{border:1px solid #dbe5eb;border-radius:8px;background:#fff;overflow:hidden}.ctt-focus-list{max-height:690px;overflow-y:auto}.ctt-pane-head{padding:13px 15px;background:#f1f5f9;border-bottom:1px solid #dbe5eb;font-size:.8rem;color:#334155;font-weight:850;display:flex;justify-content:space-between;align-items:center}.ctt-question-item{display:flex;width:100%;align-items:center;text-align:left;gap:9px;background:#fff;border:0;border-bottom:1px solid #f1f5f9;padding:13px 12px;cursor:pointer}.ctt-question-item:hover{background:#f8fafc}.ctt-question-item.selected{background:#ecfdf5;border-left:4px solid #0f766e;padding-left:8px}.ctt-question-number{font-weight:900;color:#0f766e;flex:0 0 27px;text-align:center}.ctt-question-summary{min-width:0;flex:1;display:grid;gap:5px}.ctt-question-summary b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:.75rem}.ctt-question-summary small{font-size:.69rem;color:#64748b}.ctt-question-item .tag{font-size:.64rem}.ctt-focus-detail{padding-bottom:16px}.ctt-focus-detail>.ctt-question-text,.ctt-focus-detail>h4,.ctt-focus-detail>.ctt-option-row,.ctt-focus-detail>.ctt-recommendation{margin-left:17px;margin-right:17px}.ctt-question-text{font-size:.83rem;line-height:1.65;font-weight:650;margin-top:17px;margin-bottom:14px}.ctt-detail-metrics{margin:0 17px 17px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.ctt-detail-metrics>div{background:#f8fafc;border:1px solid #e2e8f0;padding:12px;border-radius:7px;display:grid;gap:4px}.ctt-detail-metrics small{font-size:.64rem;color:#64748b;font-weight:750}.ctt-detail-metrics strong{font-size:1.35rem;font-variant-numeric:tabular-nums}.ctt-focus-detail h4{color:#334155;font-size:.81rem}.ctt-option-row{border-bottom:1px solid #eff3f6;padding:9px 0;display:grid;gap:8px}.ctt-option-caption{display:flex;align-items:start;gap:9px;font-size:.78rem}.ctt-option-caption b{background:#e2e8f0;width:25px;height:25px;border-radius:5px;display:flex;align-items:center;justify-content:center;flex:0 0 25px}.ctt-option-caption span{line-height:1.5}.ctt-option-progress{display:flex;align-items:center;gap:10px}.ctt-option-progress small{width:85px;text-align:right;color:#64748b;font-size:.69rem}.ctt-recommendation{margin-top:17px;padding:13px 14px;border:1px solid #bde7da;background:#f0fdfa;border-radius:8px;font-size:.78rem;color:#115e59}.ctt-recommendation p{margin:8px 0 0;line-height:1.55}.ctt-full-table td{font-size:.75rem}.analysis-result-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px;padding:10px 0 0}
@media(max-width:1180px){.analysis-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ctt-focus-layout{grid-template-columns:minmax(230px,40%) 1fr}}
@media(max-width:760px){.analysis-dashboard-metrics{grid-template-columns:1fr 1fr;gap:9px}.analysis-metric-card{padding:12px}.analysis-metric-card>strong{font-size:1.45rem}.analysis-result-panel{padding:13px}.grade-controls{width:100%}.grade-controls input{flex:1;max-width:none}.ctt-focus-layout{grid-template-columns:1fr}.ctt-focus-list{max-height:265px}.ctt-controls{padding:8px}.tp-measure{width:45%;min-width:115px}.grade-bar-row{grid-template-columns:60px 1fr 48px;gap:8px}}
@media(max-width:440px){.analysis-dashboard-metrics{grid-template-columns:1fr 1fr}.analysis-metric-card>span{font-size:.62rem}.grade-filter-pills{width:100%;justify-content:center}.grade-filter-pills button{flex:1}.ctt-detail-metrics{gap:5px}.ctt-detail-metrics>div{padding:8px}.ctt-option-progress small{width:60px}}
@media print{.analysis-result-actions,.ctt-controls,.grade-controls{display:none!important}}

/* v1.11 CTT: kelompok 27% atas/bawah (KA/KB) dari APSIS asli */
.ctt-groups-panel{padding:0!important}.ctt-groups-panel>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 19px;cursor:pointer;color:#17344a;border-bottom:1px solid #e2e8f0;font-size:.82rem}.ctt-groups-panel>summary::-webkit-details-marker{display:none}.ctt-groups-panel>summary small{font-weight:600;color:#64748b}.ctt-groups-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:17px}.ctt-group-top,.ctt-group-bottom{border:1px solid #a7f3d0;background:#f8fffc;padding:12px 13px;border-radius:8px;min-width:0}.ctt-group-bottom{border-color:#fecdd3;background:#fffafb}.ctt-group-header{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:10px;font-size:.77rem;color:#065f46}.ctt-group-bottom .ctt-group-header{color:#9f1239}.ctt-group-header span{background:#d1fae5;padding:4px 7px;border-radius:5px;white-space:nowrap}.ctt-group-bottom .ctt-group-header span{background:#ffe4e6}.ctt-group-list{max-height:250px;overflow:auto;display:grid;gap:6px}.ctt-group-student{background:#fff;border:1px solid #d1fae5;border-radius:5px;padding:8px 10px;display:flex;justify-content:space-between;gap:12px;font-size:.75rem;align-items:center}.ctt-group-bottom .ctt-group-student{border-color:#fecdd3}.ctt-group-student>span{min-width:0;overflow-wrap:anywhere}.ctt-group-student>strong{white-space:nowrap;color:#047857}.ctt-group-bottom .ctt-group-student>strong{color:#be123c}.ctt-groups-panel>p.hint{padding:0 17px 15px;margin:0}@media(max-width:730px){.ctt-groups-grid{grid-template-columns:1fr}.ctt-groups-panel>summary{align-items:flex-start;flex-direction:column}.ctt-group-student{font-size:.7rem}}

/* APSISMIDU v1.12 — KKM presets, TP cards and report print preview */
.asm-kkm-panel{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;border:1px solid #dce5ef;background:#fff;border-radius:9px;padding:13px 17px;margin-top:16px}.asm-kkm-description{display:flex;align-items:center;gap:12px}.asm-kkm-description strong{display:block;font-size:.78rem;color:#172e43}.asm-kkm-description small{display:block;font-size:.72rem;color:#64748b;margin-top:3px}.asm-kkm-icon{background:#e6faf4;padding:9px;border-radius:6px;color:#0f766e}.asm-kkm-controls{display:flex;align-items:center;gap:8px}.asm-kkm-controls input{width:82px;text-align:center;font-weight:800}.asm-kkm-presets,.asm-kkm-inline-presets{display:flex;align-items:center;gap:3px;background:#f1f5f9;border-radius:7px;padding:4px}.asm-kkm-presets button,.asm-kkm-inline-presets button{border:0;background:transparent;border-radius:5px;padding:8px 10px;color:#475569;font-weight:800;cursor:pointer}.asm-kkm-presets button.active,.asm-kkm-inline-presets button.active{background:#0f766e;color:white}.asm-kkm-inline-presets{margin-top:9px;justify-content:flex-start;width:max-content}.asm-tp-legend{display:flex;gap:8px;flex-wrap:wrap}.asm-tp-legend span{font-size:.66rem;padding:5px 9px;border:1px solid;border-radius:5px;font-weight:800}.asm-tp-legend .critical,.asm-tp-status.critical{color:#be123c;background:#fff1f2;border-color:#fecdd3}.asm-tp-legend .medium,.asm-tp-status.medium{color:#a16207;background:#fffbeb;border-color:#fde68a}.asm-tp-legend .done,.asm-tp-status.done{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.asm-tp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.asm-tp-card{border:1px solid #dae4ee;border-radius:7px;padding:15px;background:#fff;min-width:0}.asm-tp-head{display:flex;align-items:center;gap:7px}.asm-tp-order{background:#f1f5f9;color:#94a3b8;border-radius:4px;padding:3px 7px;font-size:.72rem;font-weight:800}.asm-tp-status{font-size:.66rem;padding:4px 7px;border:1px solid;border-radius:4px;font-weight:800}.asm-tp-head>strong{margin-left:auto;font-size:1.2rem;color:#172e43}.asm-tp-name{font-size:.78rem;font-weight:750;color:#172e43;min-height:39px;margin:7px 0}.asm-tp-fraction{text-align:right;font-size:.68rem;color:#64748b}.asm-tp-track{height:9px;border-radius:99px;background:#ecf1f4;overflow:hidden;margin:9px 0}.asm-tp-fill{height:100%;border-radius:99px;background:#059669}.asm-tp-fill.critical{background:#e11d48}.asm-tp-fill.medium{background:#f59e0b}.asm-tp-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #eef2f7;padding-top:11px;font-size:.68rem;color:#64748b}.asm-tp-footer span:last-child{color:#334155;font-weight:750;text-align:right;overflow-wrap:anywhere}
.asm-print-overlay{position:fixed;inset:0;z-index:20000;background:#111827a8;display:flex;align-items:center;justify-content:center;padding:14px}.asm-print-dialog{width:min(1050px,99vw);height:min(92vh,920px);display:flex;flex-direction:column;background:white;border:1px solid #dbe5ee;border-radius:5px;overflow:hidden;box-shadow:0 20px 70px #0f172a50}.asm-print-head{background:#131d32;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:15px 18px;font-size:.9rem}.asm-print-head button{font-size:25px;color:#cbd5e1;border:0;background:none;cursor:pointer}.asm-print-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 18px;background:#fff;border-bottom:1px solid #e2e8f0}.asm-print-document{min-height:0;flex:1;background:#e7edf5}.asm-print-document iframe{width:100%;height:100%;border:0;background:#e7edf5}.asm-print-edit{padding:11px 18px;background:#f8fafc;max-height:250px;overflow:auto;border-bottom:1px solid #e2e8f0}.asm-print-edit.hidden{display:none}.asm-print-help{font-size:.72rem;color:#0f766e;margin:0 0 8px}.asm-print-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.asm-print-fields label{font-size:.71rem;font-weight:700;color:#475569}.asm-print-fields input:not([type=checkbox]){width:100%;padding:7px 8px;margin-top:3px;font-size:.75rem}.asm-print-fields .asm-logo-choice{display:flex;align-items:center;gap:8px;grid-column:span 2}.asm-print-foot{border-top:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#fff}.asm-print-foot small{color:#64748b}
@media(max-width:760px){.asm-tp-grid{grid-template-columns:1fr}.asm-kkm-panel{align-items:flex-start}.asm-print-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.asm-print-dialog{height:96vh}.asm-print-overlay{padding:4px}.asm-print-actions{padding:8px}.asm-print-actions .primary-btn,.asm-print-actions .secondary-btn{font-size:.68rem;padding:9px}}@media(max-width:440px){.asm-print-fields{grid-template-columns:1fr}.asm-print-fields .asm-logo-choice{grid-column:span 1}.asm-tp-footer{flex-direction:column;align-items:flex-start}.asm-print-actions{flex-wrap:wrap}}


/* APSISMIDU v1.14: AI regeneration per question (optional teacher prompt). */
.regenerate-action{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 3px 30px;font-family:Inter,system-ui,sans-serif}
.regenerate-action .secondary-btn{background:#eff6ff;color:#1e40af;border-color:#bfdbfe;font-size:.72rem;padding:7px 11px}
.regenerate-action small{color:#64748b;font-size:.68rem}
.regen-modal-backdrop{position:fixed;inset:0;z-index:1300;background:#0f172aaa;display:flex;align-items:center;justify-content:center;padding:18px}
.regen-modal{width:min(780px,100%);max-height:calc(100dvh - 36px);background:#fff;display:flex;flex-direction:column;border-radius:12px;box-shadow:0 24px 90px #0f172a66;overflow:hidden}
.regen-modal-header{background:#14233d;color:#fff;padding:19px 23px;display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.regen-modal-header strong{font-size:1.06rem}.regen-modal-header p{color:#cbd5e1;margin:6px 0 0;font-size:.77rem}
.regen-close{font-size:1.6rem;line-height:1;background:transparent;border:0;color:white;padding:0 4px}
.regen-modal-body{padding:23px;overflow:auto;min-height:0}
.regen-before{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:13px;margin-bottom:16px}
.regen-before label,.regen-instruction-label{display:block;color:#334155;font-size:.8rem;font-weight:800;margin-bottom:8px}
.regen-before p{font-size:.85rem;color:#1e293b;margin:0;white-space:pre-wrap;line-height:1.55}
.regen-modal-body textarea{min-height:95px}
.regen-hint{font-size:.75rem;color:#64748b;margin:8px 0 0;line-height:1.5}
.regen-modal-footer{border-top:1px solid #e2e8f0;padding:13px 23px;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;background:#f8fafc}
.regen-result{border:1px solid #99f6e4;border-radius:9px;background:#f0fdfa;padding:16px;margin:16px 0 0}
.regen-result h3{font-size:1rem;color:#065f46;margin:0 0 10px}.regen-result-question{white-space:pre-wrap;font-size:.87rem;line-height:1.5}
.regen-result-options{margin:12px 0;padding-left:10px}.regen-result-options>div{margin:4px 0}.regen-result-details{border-top:1px solid #a7f3d0;padding-top:10px;margin-top:10px}.regen-result-details>div{margin:7px 0}
.regen-loading{padding:13px;border:1px solid #bfdbfe;border-radius:7px;background:#eff6ff;color:#1e40af;font-size:.8rem;margin:15px 0}
@media(max-width:650px){.regen-modal-body{padding:15px}.regen-modal-header{padding:15px}.regen-modal-footer{padding:12px}.regenerate-action{margin-left:0}}
@media print{.regenerate-action,.regen-modal-backdrop{display:none!important}}

/* FINAL v2.0 - tombol panduan demo pada login */
.login-demo-section{margin-top:18px}.login-demo-divider{position:relative;display:flex;align-items:center;justify-content:center;margin:0 0 14px;color:#94a3b8;font-size:.7rem;font-weight:700;letter-spacing:.12em}.login-demo-divider:before,.login-demo-divider:after{content:"";height:1px;background:#e2e8f0;flex:1}.login-demo-divider span{padding:0 12px}.demo-login-btn{display:flex;align-items:center;gap:12px;text-align:left;padding:13px 14px;border:1px solid #99dfcb;background:#effdf7;border-radius:12px;color:#135948;text-decoration:none;transition:background .15s,transform .15s,box-shadow .15s;line-height:1.35}.demo-login-btn:hover,.demo-login-btn:focus-visible{background:#ddf8eb;transform:translateY(-1px);box-shadow:0 8px 18px #0f766e1a;outline:none}.demo-login-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#16795d;color:white;font-size:.8rem;flex:none}.demo-login-btn>span:nth-child(2){flex:1}.demo-login-btn strong,.demo-login-btn small{display:block}.demo-login-btn strong{font-size:.9rem}.demo-login-btn small{font-size:.71rem;color:#397d69;margin-top:3px}.demo-login-note{font-size:.72rem;color:#64748b;margin:9px 0 0;text-align:center;line-height:1.6}
