:root{--primary:#173b67;--primary2:#24598f;--gold:#d2a84d;--bg:#f4f7fb;--surface:#fff;--text:#172033;--muted:#667085;--border:#dce3ec;--danger:#b42318}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:var(--bg);display:flex;min-height:100vh}.sidebar{width:285px;background:linear-gradient(180deg,#102c4f,#173b67);color:#fff;padding:26px 20px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;margin-bottom:34px}.logo{width:48px;height:48px;border-radius:14px;background:var(--gold);color:#102c4f;display:grid;place-items:center;font-weight:800;font-size:20px}.brand h1{margin:0;font-size:22px}.brand p{margin:4px 0 0;font-size:10px;opacity:.75;line-height:1.35}nav{display:grid;gap:8px}.nav-item{width:100%;border:0;background:transparent;color:#e9f0f8;padding:13px 14px;border-radius:10px;text-align:left;cursor:pointer;font-size:15px}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.13);color:#fff}.sidebar-footer{margin-top:auto;opacity:.65}.main-content{margin-left:285px;width:calc(100% - 285px);padding:28px 34px 50px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.topbar h2{margin:0;font-size:28px}.topbar p{margin:5px 0 0;color:var(--muted)}.user-card{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:14px;padding:10px 14px}.avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:700}.user-card strong,.user-card span{display:block}.user-card strong{font-size:13px}.user-card span{font-size:12px;color:var(--muted);margin-top:3px}.page{display:none}.active-page{display:block}.hero{background:linear-gradient(135deg,#173b67,#24598f);color:#fff;border-radius:24px;padding:38px;display:grid;grid-template-columns:1.5fr .7fr;gap:28px;align-items:center;box-shadow:0 15px 35px rgba(23,59,103,.18)}.hero h3{font-size:34px;line-height:1.2;margin:14px 0;max-width:760px}.hero p{color:#dbe8f5;line-height:1.7}.badge{display:inline-block;background:rgba(210,168,77,.18);color:#b8871e;border:1px solid rgba(210,168,77,.5);border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700}.hero .badge{color:#f0cb76}.hero-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);padding:24px;border-radius:18px}.hero-icon{font-size:38px}button{font:inherit}.primary-btn{border:0;background:var(--gold);color:#142943;font-weight:700;padding:12px 18px;border-radius:10px;cursor:pointer}.secondary-btn{border:1px solid var(--border);background:#fff;padding:12px 18px;border-radius:10px;cursor:pointer}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.stat-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px}.stat-card span{font-size:28px;font-weight:800;color:var(--primary)}.stat-card p{margin:5px 0 0;color:var(--muted)}.section-title{margin-top:30px}.module-grid,.tool-grid,.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.module-card,.tool-card,.price-card,.document-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:24px;transition:.2s ease}.module-card,.tool-card{cursor:pointer}.module-card:hover,.tool-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(30,50,80,.1)}.module-icon,.tool-icon{font-size:34px}.module-card p,.tool-card p,.page-intro p,.price-card p{color:var(--muted);line-height:1.6}.module-card span{color:var(--primary2);font-weight:700}.page-intro{margin-bottom:20px}.page-intro h3{font-size:26px;margin-bottom:6px}.tool-grid{grid-template-columns:repeat(3,1fr)}.tool-card h4{margin:12px 0 5px}.pricing-grid{grid-template-columns:repeat(3,1fr)}.price-card{cursor:default;position:relative}.price{font-size:29px;font-weight:800;margin:14px 0}.price-card button{width:100%;padding:11px;border-radius:9px;border:1px solid var(--primary);background:#fff;color:var(--primary)}.price-card.featured{border:2px solid var(--gold)}.popular{position:absolute;top:-12px;right:18px;background:var(--gold);padding:6px 10px;border-radius:999px;font-size:11px;font-weight:700}.modal{display:none;position:fixed;inset:0;background:rgba(5,18,35,.62);z-index:20;padding:30px;overflow-y:auto}.modal.show{display:grid;place-items:center}.modal-content{width:min(720px,100%);background:#fff;border-radius:20px;padding:28px;position:relative}.modal-content.wide{width:min(880px,100%)}.close-btn{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:28px;cursor:pointer}.modal-content label{display:block;margin:16px 0 7px;font-weight:700}.modal-content input,.modal-content textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:12px;font:inherit}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.documents-head{display:flex;justify-content:space-between;align-items:center}.documents-list{display:grid;gap:14px}.document-card{display:flex;justify-content:space-between;gap:18px;align-items:center}.document-card h4{margin:0 0 7px}.document-meta{font-size:13px;color:var(--muted)}.document-actions{display:flex;gap:8px;flex-wrap:wrap}.small-btn{border:1px solid var(--border);background:#fff;border-radius:8px;padding:8px 10px;cursor:pointer}.danger-btn{color:var(--danger)}.empty-state{background:#fff;border:1px dashed #bcc8d6;border-radius:18px;text-align:center;padding:70px 20px}.empty-state div{font-size:46px}.empty-state p{color:var(--muted)}.editor-modal-content{width:min(1100px,100%);min-height:85vh}.editor-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px}.editor-header h3{margin:8px 0 0}.editor-actions{display:flex;gap:8px;flex-wrap:wrap}.editor-content{width:100%;min-height:64vh;resize:vertical;line-height:1.7;font-family:"Times New Roman",serif;font-size:16px}.save-note{color:var(--muted);font-size:13px}.toast{position:fixed;right:24px;bottom:24px;background:#173b67;color:#fff;padding:12px 16px;border-radius:10px;z-index:50;box-shadow:0 12px 28px rgba(0,0,0,.2)}
@media(max-width:980px){.sidebar{position:static;width:100%;height:auto}.main-content{margin-left:0;width:100%}body{display:block}.hero{grid-template-columns:1fr}.tool-grid,.pricing-grid,.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.main-content{padding:18px}.topbar{align-items:flex-start;gap:12px}.user-card{display:none}.module-grid,.tool-grid,.pricing-grid,.stats,.form-grid{grid-template-columns:1fr}.hero{padding:25px}.hero h3{font-size:27px}.document-card,.editor-header,.documents-head{align-items:flex-start;flex-direction:column}.editor-actions{width:100%}}
.ai-status{margin-top:12px;padding:10px 12px;border-radius:10px;background:#f4f7fb;font-size:13px;font-weight:700}.ai-status.online{background:#eaf8ef;color:#176b36}.ai-status.offline{background:#fff2f0;color:#9b2c22}select{width:100%;padding:13px;border:1px solid #d8dee8;border-radius:10px;background:#fff;font:inherit}button:disabled{opacity:.6;cursor:not-allowed}

.format-toolbar{display:flex;gap:7px;flex-wrap:wrap;align-items:center;padding:9px;background:#f7f9fc;border:1px solid var(--border);border-bottom:0;border-radius:10px 10px 0 0}.format-toolbar button,.format-toolbar select{border:1px solid var(--border);background:#fff;border-radius:7px;padding:7px 10px;cursor:pointer}.format-toolbar button:hover{background:#edf3fa}.paragraph-style-label{font-size:13px;font-weight:700;margin-left:3px}.editor-content{border:1px solid var(--border);border-radius:0 0 10px 10px;padding:28px 34px;background:#fff;overflow:auto;outline:none}.editor-content:focus{border-color:#8aa9c9;box-shadow:0 0 0 3px rgba(36,89,143,.08)}.editor-content h1,.editor-content h2,.editor-content h3,.editor-content h4{font-family:"Times New Roman",serif;text-align:left;break-after:avoid}.editor-content h1{font-size:18.67px;font-weight:700;margin:24px 0 10.67px}.editor-content h2{font-size:16px;font-weight:700;margin:16px 0 8px}.editor-content h3{font-size:16px;font-weight:700;font-style:italic;margin:13.33px 0 5.33px}.editor-content h4{font-size:16px;font-style:italic;margin:10.67px 0 4px}.editor-content h1[data-doc-style="title"]{font-size:21.33px;text-align:center;margin:0 0 24px}.editor-content p{margin:0;text-align:justify;line-height:1.5;text-indent:1.25cm}.editor-content p[data-doc-style="subtitle"]{text-align:center;text-indent:0;margin:0 0 16px}.editor-content p[data-doc-style="label-value"]{text-align:left;text-indent:0;margin:0 0 4px}.editor-content ul,.editor-content ol{margin:6px 0 14px 26px}.editor-content li{margin:4px 0}.editor-content hr{border:0;border-top:1px solid #d8e0ea;margin:20px 0}.editor-content blockquote{margin:14px 0;padding:10px 16px;border-left:4px solid var(--gold);background:#fbf8ef}.editor-content .doc-cover{text-align:center;padding:50px 20px}.editor-content .doc-cover p{text-align:center}.editor-content .page-break{page-break-before:always;border:0;margin:30px 0}@media print{.format-toolbar{display:none}}
.auth-shell{min-height:100vh;width:100%;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at top left,#2c6399 0,#173b67 40%,#0d2746 100%)}.auth-brand{position:absolute;top:28px;left:32px;display:flex;align-items:center;gap:12px;color:#fff}.auth-brand h1,.auth-brand p{margin:0}.auth-brand p{font-size:11px;opacity:.75;margin-top:4px}.auth-card{width:min(460px,100%);background:#fff;border-radius:24px;padding:34px;box-shadow:0 24px 60px rgba(4,17,34,.3)}.auth-card h2{margin:14px 0 8px}.auth-card>div>p{color:var(--muted);line-height:1.55}.auth-card form{display:grid;gap:9px;margin-top:24px}.auth-card label{font-weight:700;font-size:13px}.auth-card input,.auth-card select{width:100%;padding:13px;border:1px solid var(--border);border-radius:10px}.auth-card .primary-btn{margin-top:8px}.field-help{margin:0;color:var(--muted);font-size:12px}.form-error{min-height:20px;color:var(--danger);font-size:13px;margin:2px 0}.link-btn{display:block;margin:5px auto 0;border:0;background:transparent;color:var(--primary2);cursor:pointer}.top-actions{display:flex;align-items:center;gap:10px}.mobile-menu{display:none}.dashboard-account{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.dashboard-account article{background:#fff;border:1px solid var(--border);padding:17px;border-radius:14px}.dashboard-account span,.dashboard-account strong{display:block}.dashboard-account span{font-size:12px;color:var(--muted);margin-bottom:6px}.dashboard-account strong{font-size:19px;color:var(--primary)}.dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.compact-list{display:grid;gap:8px}.compact-item{background:#fff;border:1px solid var(--border);border-radius:11px;padding:12px 14px}.compact-item strong,.compact-item span{display:block}.compact-item span{font-size:12px;color:var(--muted);margin-top:4px}.admin-table-wrap{overflow:auto;background:#fff;border:1px solid var(--border);border-radius:15px}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th,.admin-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border);font-size:13px}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.admin-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px}.admin-card label{display:grid;grid-template-columns:1fr 90px;gap:8px;align-items:center;font-size:12px;margin:7px 0}.admin-card input,.admin-card select{padding:8px;border:1px solid var(--border);border-radius:8px;min-width:0}button:disabled{opacity:.55;cursor:not-allowed}.danger-text{color:var(--danger)}
@media(max-width:900px){.dashboard-account,.admin-grid{grid-template-columns:1fr 1fr}.dashboard-columns{grid-template-columns:1fr}}
@media(max-width:640px){.auth-brand{position:static;margin-bottom:20px}.auth-shell{display:flex;flex-direction:column;justify-content:center;padding:20px}.auth-card{padding:24px}.app-shell.sidebar{display:none;position:fixed;inset:0 auto 0 0;z-index:50;height:100vh;overflow:auto}.app-shell.sidebar.mobile-open{display:flex}.mobile-menu{display:inline-block}.top-actions{flex-wrap:wrap}.user-card{display:flex}.dashboard-account,.admin-grid{grid-template-columns:1fr}.topbar{flex-direction:column}.topbar>div:first-child{width:100%}}

/* Fondasi layout aplikasi setelah autentikasi. Atribut hidden harus selalu menang
   atas display pada auth-shell, sidebar, dan main agar lebar tidak dihitung ganda. */
[hidden]{display:none!important}
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{display:block;min-height:100vh}
.auth-shell{position:fixed;inset:0;z-index:100;width:100%;min-height:100vh;overflow-y:auto}
.sidebar{width:292px;max-width:292px;height:100vh;position:fixed;inset:0 auto 0 0;z-index:40;overflow-y:auto}
.main-content{width:auto;min-width:0;max-width:none;margin:0 0 0 292px;padding:28px clamp(24px,2.4vw,46px) 50px}
.main-content>.page{width:100%;min-width:0;max-width:none}
.topbar{width:100%;min-width:0}
.topbar>div:first-child{min-width:0}
.top-actions{min-width:0;flex:0 0 auto}
.hero{width:100%;min-width:0;grid-template-columns:minmax(0,1.65fr) minmax(300px,.65fr);gap:clamp(22px,2vw,38px)}
.hero>div{min-width:0}
.hero h3{max-width:850px}
.hero-card{width:100%;min-width:0;overflow:hidden}
.hero-card h4,.hero-card p,.ai-status{max-width:100%;overflow-wrap:anywhere;word-break:normal;white-space:normal}
.stats,.dashboard-account,.dashboard-columns,.module-grid{width:100%;min-width:0}
.stat-card,.dashboard-account article,.dashboard-columns>section,.module-card{min-width:0}

@media(max-width:1180px){
  .main-content{padding-inline:24px}
  .hero{grid-template-columns:minmax(0,1.4fr) minmax(280px,.7fr);padding:32px}
  .hero h3{font-size:30px}
  .stats,.dashboard-account{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:1024px){
  .sidebar,.app-shell.sidebar{display:flex;position:fixed;inset:0 auto 0 0;width:min(305px,86vw);max-width:min(305px,86vw);height:100vh;transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 40px rgba(7,24,44,.22)}
  .sidebar.mobile-open,.app-shell.sidebar.mobile-open{display:flex;transform:translateX(0)}
  .main-content{width:100%;margin-left:0;padding:24px}
  .mobile-menu{display:inline-block}
  .topbar{gap:18px}
}

@media(max-width:820px){
  .hero{grid-template-columns:minmax(0,1fr);padding:28px}
  .hero-card{max-width:none}
  .module-grid,.tool-grid,.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-columns{grid-template-columns:minmax(0,1fr)}
  .admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:640px){
  .main-content{width:100%;margin:0;padding:16px}
  .topbar{width:100%;align-items:stretch;gap:14px}
  .top-actions{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}
  .user-card{display:flex;min-width:0;padding:8px 10px}
  .user-card>div:last-child{min-width:0}
  .user-card strong,.user-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .top-actions>.secondary-btn{padding:10px 12px}
  .hero{width:100%;padding:22px;border-radius:18px;gap:20px}
  .hero h3{font-size:25px;overflow-wrap:anywhere}
  .hero-card{padding:20px}
  .stats,.dashboard-account,.module-grid,.tool-grid,.pricing-grid,.admin-grid{grid-template-columns:minmax(0,1fr)}
  .stat-card,.module-card,.tool-card,.price-card{padding:19px}
  .modal{padding:12px}
  .modal-content{padding:22px 18px}
  .editor-content{padding:20px 16px}
  .toast{left:16px;right:16px;bottom:16px}
}

/* Editor dokumen menggunakan seluruh viewport dan berada di atas sidebar. */
#editor-modal{z-index:60;padding:0;overflow:hidden}
#editor-modal.show{place-items:stretch}
#editor-modal .editor-modal-content{width:100%;max-width:none;height:100vh;min-height:100vh;border-radius:0;padding:28px 34px;display:flex;flex-direction:column;overflow:hidden}
#editor-modal .format-toolbar{flex:0 0 auto}
#editor-modal .editor-content{flex:1 1 auto;min-height:0;resize:none}
#editor-modal .save-note{flex:0 0 auto;margin-bottom:0}

@media(max-width:640px){
  #editor-modal .editor-modal-content{padding:20px 16px}
}

.local-reset-result{margin:12px 0;padding:14px;border:1px solid #e5c777;border-radius:10px;background:#fff9e8;color:#654d12;font-size:13px;line-height:1.5}
.local-reset-result p{margin:6px 0}
.local-reset-result a{display:block;color:var(--primary2);font-weight:700;overflow-wrap:anywhere}
.local-reset-result small{display:block;margin-top:6px}

/* Education workspace */
.education-profile-bar,.document-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:16px 0 20px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:14px}.education-profile-bar label{min-width:210px;flex:1}.education-profile-bar select,.document-filters input,.document-filters select{width:100%}.document-filters input,.document-filters select{min-width:150px;flex:1}.document-filters button{flex:0 0 auto}.education-form{margin-top:16px;padding:18px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface) 92%,var(--primary) 8%)}.education-form>div,.education-specific-fields>label{margin-top:12px}.education-specific-fields{display:grid;gap:10px;margin-top:14px}.education-specific-fields h4{margin:0;color:var(--primary)}.question-options{border:1px solid var(--border);border-radius:12px;padding:14px}.question-options legend{font-weight:800}.check-label{display:flex!important;align-items:center;gap:8px}.check-label input{width:auto}.education-editor-actions{display:flex;flex-wrap:wrap;gap:8px;padding:10px 0}.education-editor-actions button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;padding:9px 12px;cursor:pointer}.education-editor-actions button:hover{border-color:var(--gold);color:var(--primary)}
.gemini-admin-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.gemini-admin-panel h3{margin:0 0 6px;color:var(--primary)}.gemini-admin-panel p{margin:0;color:var(--muted);overflow-wrap:anywhere}.gemini-admin-panel .primary-btn{flex:0 0 auto}

/* Sistem tema tampilan. Tema Klasik mempertahankan seluruh aturan lama di atas. */
.appearance-panel{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:24px;box-shadow:0 12px 30px rgba(23,59,103,.06)}
.theme-fieldset{border:0;padding:0;margin:0;min-width:0}.theme-fieldset legend{font-weight:800;font-size:17px;margin-bottom:16px}
.theme-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;min-width:0}
.theme-choice{display:flex;min-width:0;flex-direction:column;gap:7px;padding:14px;border:2px solid var(--border);border-radius:16px;background:var(--surface);cursor:pointer;transition:.2s ease;overflow:hidden}
.theme-choice:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(23,59,103,.1)}.theme-choice:has(input:checked){border-color:var(--gold);box-shadow:0 0 0 3px rgba(210,168,77,.16)}
.theme-choice input{width:18px;height:18px;margin:0;accent-color:var(--primary)}.theme-choice strong,.theme-choice small{overflow-wrap:anywhere}.theme-choice small{color:var(--muted);line-height:1.45}
.theme-preview{height:88px;border-radius:11px;position:relative;display:block;overflow:hidden;border:1px solid rgba(100,116,139,.2);background:#f4f7fb}
.theme-preview i{position:absolute;inset:0 auto 0 0;width:25%;background:#173b67}.theme-preview b{position:absolute;left:31%;top:15%;width:58%;height:23%;border-radius:5px;background:#24598f}.theme-preview em{position:absolute;left:31%;top:49%;width:25%;height:32%;border-radius:5px;background:#fff;box-shadow:30px 0 0 #fff,60px 0 0 #fff}
.preview-academic{background:#f8f5ed}.preview-academic i{background:#0d2847}.preview-academic b{background:#c49a3a}.preview-minimal{background:#fff}.preview-minimal i{width:19%;background:#f8fafc;border-right:1px solid #e2e8f0}.preview-minimal b{left:25%;background:#eaf0f6}.preview-minimal em{left:25%;background:#fff;border:1px solid #e2e8f0;box-shadow:30px 0 0 #fff,60px 0 0 #fff}.preview-ai{background:linear-gradient(145deg,#eef2ff,#f8faff)}.preview-ai i{width:21%;background:linear-gradient(#122c55,#275da0)}.preview-ai b{left:27%;background:linear-gradient(90deg,#24598f,#6d5ce7)}.preview-ai em{left:27%;background:#fff;box-shadow:30px 0 0 #fff,60px 0 0 #fff}
.appearance-mode-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;padding:18px;border:1px solid var(--border);border-radius:14px}.appearance-mode-row label{font-weight:800}.appearance-mode-row p{margin:5px 0 0;color:var(--muted);font-size:13px}.appearance-mode-row select{width:min(230px,100%)}
.appearance-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:20px}.appearance-actions .save-note{margin-right:auto}

html[data-theme="academic-premium"]{--primary:#102f55;--primary2:#1b4c7d;--gold:#c99b3d;--bg:#f5f2ea;--surface:#fffdfa;--text:#142238;--muted:#647084;--border:#ddd6c8}
html[data-theme="academic-premium"] body{font-family:"Segoe UI",Inter,Arial,sans-serif}
html[data-theme="academic-premium"] h1,html[data-theme="academic-premium"] h2,html[data-theme="academic-premium"] h3,html[data-theme="academic-premium"] h4{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.01em}
html[data-theme="academic-premium"] .sidebar{background:linear-gradient(180deg,#091f39,#143b63);padding:22px 18px}
html[data-theme="academic-premium"] .hero{padding:26px 30px;border-radius:18px;background:linear-gradient(120deg,#0d2847,#174a78);box-shadow:0 12px 28px rgba(13,40,71,.18)}
html[data-theme="academic-premium"] .hero h3{font-size:30px;margin:10px 0}.hero-card{min-width:0}
html[data-theme="academic-premium"] .stat-card{padding:14px 17px;border-radius:12px}html[data-theme="academic-premium"] .stat-card span{font-size:24px}
html[data-theme="academic-premium"] .module-card,html[data-theme="academic-premium"] .tool-card{border-radius:14px;box-shadow:0 5px 16px rgba(24,40,60,.04)}

html[data-theme="modern-minimal"]{--primary:#173b67;--primary2:#24598f;--gold:#d2a84d;--bg:#f8fafc;--surface:#fff;--text:#172033;--muted:#687386;--border:#e5e9ef}
html[data-theme="modern-minimal"] .sidebar{background:#fff;color:var(--text);border-right:1px solid var(--border);padding:20px 14px;box-shadow:none}
html[data-theme="modern-minimal"] .sidebar .brand h1,html[data-theme="modern-minimal"] .sidebar .brand p{color:var(--text)}html[data-theme="modern-minimal"] .sidebar .nav-item{color:#475569;padding:11px 12px;font-size:14px}html[data-theme="modern-minimal"] .sidebar .nav-item:hover,html[data-theme="modern-minimal"] .sidebar .nav-item.active{color:var(--primary);background:#edf3f8}
html[data-theme="modern-minimal"] .hero{background:#fff;color:var(--text);border:1px solid var(--border);box-shadow:none;padding:28px;border-radius:16px}html[data-theme="modern-minimal"] .hero p{color:var(--muted)}html[data-theme="modern-minimal"] .hero .badge{color:#9a701c}html[data-theme="modern-minimal"] .hero-card{background:#f8fafc;border-color:var(--border)}
html[data-theme="modern-minimal"] .stat-card,html[data-theme="modern-minimal"] .module-card,html[data-theme="modern-minimal"] .tool-card,html[data-theme="modern-minimal"] .price-card{border-radius:12px;box-shadow:none}html[data-theme="modern-minimal"] .module-card:hover,html[data-theme="modern-minimal"] .tool-card:hover{transform:none;border-color:#b9c8d8;background:#fbfdff}
html[data-theme="modern-minimal"] .main-content{padding-top:22px}html[data-theme="modern-minimal"] .topbar{margin-bottom:22px}

html[data-theme="ai-saas"]{--primary:#173b67;--primary2:#315f9c;--gold:#d2a84d;--bg:#eef3fb;--surface:#fff;--text:#15213a;--muted:#64708a;--border:#dbe3f0}
html[data-theme="ai-saas"] body{background:radial-gradient(circle at 75% 0,rgba(96,84,230,.09),transparent 30%),var(--bg)}
html[data-theme="ai-saas"] .sidebar{background:linear-gradient(180deg,#0e2749,#173f70 65%,#1d4c83);padding:20px 16px}
html[data-theme="ai-saas"] .nav-item{padding:11px 12px;border-radius:12px;font-size:14px}html[data-theme="ai-saas"] .nav-item:hover,html[data-theme="ai-saas"] .nav-item.active{background:linear-gradient(90deg,rgba(255,255,255,.16),rgba(255,255,255,.07));box-shadow:inset 3px 0 0 var(--gold)}
html[data-theme="ai-saas"] .hero{background:linear-gradient(125deg,#143b68 0,#24598f 58%,#6357d9 130%);border-radius:22px;padding:32px;box-shadow:0 18px 45px rgba(35,66,125,.2)}
html[data-theme="ai-saas"] .hero-card{backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
html[data-theme="ai-saas"] .module-card,html[data-theme="ai-saas"] .tool-card,html[data-theme="ai-saas"] .stat-card,html[data-theme="ai-saas"] .dashboard-account article{border-color:rgba(188,202,225,.72);box-shadow:0 10px 28px rgba(37,69,125,.08)}
html[data-theme="ai-saas"] .module-card:hover,html[data-theme="ai-saas"] .tool-card:hover{transform:translateY(-5px) scale(1.005);box-shadow:0 18px 38px rgba(37,69,125,.15);border-color:#aabce0}
html[data-theme="ai-saas"] .primary-btn{background:linear-gradient(100deg,var(--gold),#eccb72);box-shadow:0 7px 18px rgba(183,134,34,.2)}

@media(min-width:1025px){
  html[data-theme="academic-premium"] .sidebar{width:272px;max-width:272px}html[data-theme="academic-premium"] .main-content{margin-left:272px}
  html[data-theme="modern-minimal"] .sidebar{width:232px;max-width:232px}html[data-theme="modern-minimal"] .main-content{margin-left:232px}
  html[data-theme="ai-saas"] .sidebar{width:252px;max-width:252px}html[data-theme="ai-saas"] .main-content{margin-left:252px}
}

html[data-mode="dark"]{--bg:#0c1422;--surface:#131e2e;--text:#e8edf5;--muted:#a4b0c2;--border:#2b3a4e}
html[data-mode="dark"] body{background:var(--bg);color:var(--text)}
html[data-mode="dark"] .main-content,html[data-mode="dark"] .page{color:var(--text)}
html[data-mode="dark"] .user-card,html[data-mode="dark"] .stat-card,html[data-mode="dark"] .module-card,html[data-mode="dark"] .tool-card,html[data-mode="dark"] .price-card,html[data-mode="dark"] .document-card,html[data-mode="dark"] .dashboard-account article,html[data-mode="dark"] .compact-item,html[data-mode="dark"] .admin-card,html[data-mode="dark"] .admin-table-wrap,html[data-mode="dark"] .appearance-panel,html[data-mode="dark"] .theme-choice,html[data-mode="dark"] .upload-result,html[data-mode="dark"] .upload-progress-wrap,html[data-mode="dark"] .modal-content{background:var(--surface);color:var(--text);border-color:var(--border)}
html[data-mode="dark"] .secondary-btn,html[data-mode="dark"] .small-btn,html[data-mode="dark"] select,html[data-mode="dark"] input,html[data-mode="dark"] textarea,html[data-mode="dark"] .format-toolbar button{background:#182638;color:var(--text);border-color:var(--border)}
html[data-mode="dark"] .format-toolbar{background:#101b2a;border-color:var(--border)}html[data-mode="dark"] .editor-content{background:#fff;color:#172033}html[data-mode="dark"] .modal-content.editor-modal-content{background:#111b29;color:var(--text)}
html[data-mode="dark"] .empty-state{background:var(--surface);border-color:#42536b}html[data-mode="dark"] .verification-banner{background:#302a19;color:#f2d889;border-color:#6e5b2b}html[data-mode="dark"] .integration-note{background:#152a40;color:#c3d9ee}
html[data-mode="dark"][data-theme="modern-minimal"] .sidebar{background:#101a28;color:var(--text);border-color:var(--border)}html[data-mode="dark"][data-theme="modern-minimal"] .sidebar .brand h1,html[data-mode="dark"][data-theme="modern-minimal"] .sidebar .brand p{color:var(--text)}html[data-mode="dark"][data-theme="modern-minimal"] .sidebar .nav-item{color:#bac5d4}html[data-mode="dark"][data-theme="modern-minimal"] .sidebar .nav-item.active{background:#1d3046;color:#fff}
html[data-mode="dark"][data-theme="modern-minimal"] .hero{background:#131e2e;color:var(--text);border-color:var(--border)}html[data-mode="dark"][data-theme="modern-minimal"] .hero-card{background:#182638}
html[data-mode="dark"] .auth-shell{background:radial-gradient(circle at top left,#203d62 0,#101e31 42%,#08111e 100%)}html[data-mode="dark"] .auth-card{background:var(--surface);color:var(--text)}

@media(max-width:1180px){.theme-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1024px){html[data-theme] .main-content{width:100%;margin-left:0}.theme-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
  .appearance-panel{padding:16px;border-radius:15px}.theme-choice-grid{grid-template-columns:minmax(0,1fr)}.theme-choice{padding:12px}.appearance-mode-row{align-items:stretch;flex-direction:column;gap:12px;padding:14px}.appearance-mode-row select{width:100%}.appearance-actions{align-items:stretch;flex-direction:column}.appearance-actions .primary-btn{width:100%}
  html[data-theme="academic-premium"] .hero,html[data-theme="modern-minimal"] .hero,html[data-theme="ai-saas"] .hero{padding:20px;border-radius:16px}html[data-theme] .hero h3{font-size:24px}
}
@media(max-width:640px){.education-profile-bar,.document-filters{align-items:stretch;flex-direction:column}.education-profile-bar label,.document-filters input,.document-filters select,.document-filters button{width:100%;min-width:0}.education-editor-actions{display:grid;grid-template-columns:1fr 1fr}.education-editor-actions button{min-width:0;white-space:normal}.editor-actions{flex-wrap:wrap}.gemini-admin-panel{align-items:stretch;flex-direction:column}.gemini-admin-panel .primary-btn{width:100%}}
/* AkademiaPro Legal */
.legal-office-panel,.legal-source-panel,.legal-upload-panel{margin:16px 0;padding:16px;border:1px solid var(--border,#dbe3ec);border-radius:14px;background:var(--card,#fff)}
.legal-office-panel summary{cursor:pointer;font-weight:700;color:var(--primary,#183b63);margin-bottom:14px}.legal-office-panel[open] summary{margin-bottom:16px}
.legal-panel-head{display:flex;align-items:start;justify-content:space-between;gap:16px}.legal-panel-head h4,.legal-upload-panel h4{margin:0 0 5px}.legal-panel-head p{margin:0;color:var(--muted,#64748b);font-size:13px}
.legal-source-row{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;margin-top:10px;padding-bottom:10px;border-bottom:1px solid var(--border,#dbe3ec)}.legal-source-row input,.legal-source-row select{min-width:0}.legal-source-row .danger-btn{justify-self:start}

/* Mesin Dokumen */
.document-machine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%}.document-machine-card{display:flex;min-width:0;min-height:260px;flex-direction:column;padding:22px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 8px 24px rgba(23,59,103,.06);transition:.2s}.document-machine-card:hover{transform:translateY(-3px);border-color:var(--gold)}.document-machine-card.is-inactive{opacity:.72}.document-machine-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:rgba(36,89,143,.1);font-size:24px}.document-machine-copy{flex:1}.document-machine-copy h4{margin:17px 0 8px;color:var(--primary);font-size:18px;overflow-wrap:anywhere}.document-machine-copy p{margin:0;color:var(--muted);line-height:1.55;overflow-wrap:anywhere}.document-machine-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.feature-status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}.feature-status.active{background:#e6f6ec;color:#166534}.feature-status.inactive{background:#eef1f5;color:#64748b}.document-machine-card button:disabled{cursor:not-allowed;opacity:.55}.section-note{margin:-10px 0 16px;color:var(--muted)}.machine-setting{display:flex;align-items:center;justify-content:space-between;gap:14px}.machine-setting>div{min-width:0}.machine-setting strong{overflow-wrap:anywhere}.machine-setting p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.machine-setting-icon{margin-right:8px;font-size:20px}.machine-setting button{flex:0 0 auto}html[data-mode="dark"] .document-machine-card{background:var(--surface);color:var(--text);border-color:var(--border)}
@media(max-width:1180px){.document-machine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.document-machine-grid{grid-template-columns:minmax(0,1fr)}.document-machine-card{min-height:0;padding:18px}.machine-setting{align-items:stretch;flex-direction:column}.machine-setting button{width:100%}}
.document-machine-card.is-active{cursor:pointer}.document-machine-card.is-active:focus-visible{outline:3px solid rgba(210,168,77,.45);outline-offset:3px}.document-machine-card.is-inactive{cursor:default}.document-machine-card.is-inactive:hover{transform:none;border-color:var(--border)}.document-machine-card.is-inactive .document-machine-footer{justify-content:flex-start}

/* Pengelompokan dan halaman dasar Mesin Dokumen */
.document-machine-categories{display:grid;gap:36px}.document-machine-category{min-width:0}.document-machine-category-head{margin:0 0 16px}.document-machine-category-head h3{margin:0 0 6px;color:var(--primary);font-size:22px}.document-machine-category-head p{max-width:780px;margin:0;color:var(--muted);line-height:1.55}.document-machine-category .document-machine-card{min-height:285px}.feature-label{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef4fb;color:var(--primary);font-size:12px;font-weight:800}.document-machine-back{margin:0 0 18px;padding:0;border:0;background:transparent;color:var(--primary2);font-weight:800;cursor:pointer}.document-machine-back:hover{text-decoration:underline}.document-machine-workspace{padding:26px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:0 12px 30px rgba(23,59,103,.06)}.document-machine-workspace-head{display:flex;align-items:flex-start;gap:18px}.document-machine-workspace-head .document-machine-icon{flex:0 0 52px;width:52px;height:52px}.document-machine-workspace-head h3{margin:10px 0 7px;color:var(--primary);font-size:26px}.document-machine-workspace-head p{max-width:900px;margin:0;color:var(--muted);line-height:1.65}.machine-feature-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0}.machine-feature-info>div{padding:16px;border:1px solid var(--border);border-radius:13px;background:var(--bg)}.machine-feature-info span,.machine-feature-info strong{display:block}.machine-feature-info span{margin-bottom:6px;color:var(--muted);font-size:12px}.machine-development-note{padding:17px 18px;border:1px solid #e5c777;border-radius:13px;background:#fff9e8;color:#654d12}.machine-development-note p{margin:6px 0 0;line-height:1.55}.machine-feature-input{display:grid;gap:9px;margin-top:22px}.machine-feature-input label{margin-top:8px;font-weight:800}.machine-feature-input small{color:var(--muted)}.machine-feature-input input,.machine-feature-input textarea{width:100%}.machine-feature-input input:disabled,.machine-feature-input textarea:disabled{cursor:not-allowed;opacity:.7}.document-machine-admin{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}details.machine-setting{display:block;padding:0;overflow:hidden}details.machine-setting>summary{display:flex;padding:18px;cursor:pointer;list-style:none}details.machine-setting>summary::-webkit-details-marker{display:none}details.machine-setting>summary>span{display:flex;min-width:0;flex-wrap:wrap;align-items:center}details.machine-setting>summary small{display:block;width:100%;margin:5px 0 0 29px;color:var(--muted)}details.machine-setting[open]>summary{border-bottom:1px solid var(--border)}.machine-setting-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}.machine-setting-fields label{min-width:0;font-size:12px;font-weight:800}.machine-setting-fields input,.machine-setting-fields select,.machine-setting-fields textarea{width:100%;margin-top:6px}.machine-setting-fields textarea{resize:vertical}.machine-setting-fields .machine-wide{grid-column:1/-1}.machine-setting-actions{display:flex;justify-content:flex-end;gap:10px;padding:0 18px 18px}.machine-setting-actions button{width:auto}.document-machine-card .document-machine-copy p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:7}
html[data-mode="dark"] .document-machine-workspace,html[data-mode="dark"] details.machine-setting{background:var(--surface);color:var(--text);border-color:var(--border)}html[data-mode="dark"] .machine-feature-info>div{background:#101b2a}html[data-mode="dark"] .machine-development-note{background:#302a19;color:#f2d889;border-color:#6e5b2b}
@media(max-width:900px){.document-machine-admin{grid-template-columns:minmax(0,1fr)}.document-machine-category .document-machine-card{min-height:260px}}
@media(max-width:640px){.document-machine-categories{gap:28px}.document-machine-category-head h3{font-size:20px}.document-machine-workspace{padding:18px;border-radius:16px}.document-machine-workspace-head{flex-direction:column;gap:10px}.document-machine-workspace-head h3{font-size:23px}.machine-feature-info,.machine-setting-fields{grid-template-columns:minmax(0,1fr)}.machine-setting-fields .machine-wide{grid-column:auto}.machine-setting-actions{align-items:stretch;flex-direction:column}.machine-setting-actions button{width:100%}}
.machine-actions,.machine-result-head,.machine-counts{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.machine-result{margin-top:26px;padding-top:24px;border-top:1px solid var(--border)}.machine-result-head{justify-content:space-between}.machine-result-head>div{display:flex;gap:8px;flex-wrap:wrap}.machine-counts{margin:14px 0}.machine-counts>*{padding:8px 11px;border-radius:10px;background:var(--bg)}.machine-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.machine-comparison>div,.machine-finding{padding:16px;border:1px solid var(--border);border-radius:13px}.machine-comparison pre{max-height:420px;overflow:auto;white-space:pre-wrap;font:inherit;line-height:1.55}.machine-finding{margin-top:12px;border-left:5px solid #d6a514}.machine-finding.priority-tinggi{border-left-color:#c0392b}.machine-finding.priority-rendah{border-left-color:#26845b}.machine-finding h5 span{float:right;text-transform:capitalize}.machine-finding blockquote{margin:10px 0;padding:10px 14px;background:var(--bg);border-left:3px solid var(--primary2)}.machine-loading{font-weight:800;color:var(--primary2)}@media(max-width:760px){.machine-comparison{grid-template-columns:1fr}}
.consent-row{display:flex!important;align-items:flex-start;gap:10px;margin:16px 0;line-height:1.5}.consent-row input{width:auto;margin-top:4px}
.editor-content blockquote[data-doc-style="legalbasis"]{border-left:4px solid #d2a84d;background:#fff9e8;padding:10px 14px;font-style:normal}
#export-warning-modal{z-index:10000}
@media(max-width:760px){.legal-source-row{grid-template-columns:1fr}.legal-panel-head{flex-direction:column}.legal-office-panel{padding:12px}}

/* Identitas visual APro — mempertahankan rasio asli pada semua ukuran layar. */
.brand-logo,.dashboard-logo,.footer-logo{display:block;object-fit:contain;object-position:center;flex:0 0 auto}.brand-logo{aspect-ratio:1;border-radius:18%;box-shadow:0 5px 14px rgba(0,0,0,.22)}.nav-logo{width:52px;height:52px}.auth-logo{width:64px;height:64px}.dashboard-logo{width:84px;height:84px;margin-bottom:14px;border-radius:20%;box-shadow:0 8px 22px rgba(2,15,34,.3)}.sidebar-footer{display:flex;align-items:center;gap:9px}.footer-logo{width:28px;height:28px;border-radius:8px}.sidebar-footer small{line-height:1.35}
@media(max-width:640px){.auth-logo{width:54px;height:54px}.nav-logo{width:46px;height:46px}.dashboard-logo{width:72px;height:72px}}
