*{box-sizing:border-box}:root{--primary:#0f766e;--primary-dark:#115e59;--primary-soft:#e8f7f5;--accent:#14b8a6;--bg:#f4f7fb;--surface:#fff;--surface-2:#f8fafc;--text:#172033;--muted:#687386;--border:#dfe5ec;--shadow:0 12px 35px rgba(19,33,68,.09);--radius:18px}body.dark{--bg:#0f172a;--surface:#111827;--surface-2:#182235;--text:#e5edf7;--muted:#9eacc0;--border:#263247;--primary-soft:#123a38;--shadow:0 12px 35px rgba(0,0,0,.25)}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none}.topbar{height:74px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--accent));display:grid;place-items:center;color:#fff;font-weight:800;font-size:21px}.brand h1{margin:0;font-size:19px}.brand p{margin:2px 0 0;color:var(--muted);font-size:12px}.top-actions{display:flex;gap:8px;align-items:center}.user-badge{font-size:13px;color:var(--muted)}.icon-btn,.menu-btn{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:11px;padding:8px 11px;font-size:18px}.menu-btn{display:none}.app-shell{display:flex;min-height:calc(100vh - 74px)}.sidebar{width:238px;background:var(--surface);border-right:1px solid var(--border);padding:24px 14px;position:sticky;top:74px;height:calc(100vh - 74px)}.nav-item,.nav-link{display:block;width:100%;border:0;background:transparent;text-align:left;padding:13px 15px;border-radius:12px;color:var(--muted);margin-bottom:7px;font-weight:700}.nav-item:hover,.nav-item.active,.nav-link:hover{background:var(--primary-soft);color:var(--primary)}.danger-link{color:#b91c1c}.content{flex:1;padding:30px;max-width:1320px;margin:0 auto}.page{display:none}.page.active{display:block}.hero{background:linear-gradient(135deg,#0f766e,#0b5f8a);color:#fff;border-radius:28px;padding:44px;display:grid;grid-template-columns:1.5fr .8fr;gap:34px;align-items:center;box-shadow:var(--shadow)}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--accent)}.hero .eyebrow{color:#99f6e4}.hero h2{font-size:40px;line-height:1.14;margin:12px 0}.hero p{line-height:1.7;color:#e6fffb}.hero-card{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);padding:24px;border-radius:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{text-align:center}.stat strong{display:block;font-size:30px}.stat span{font-size:12px;color:#d8f8f4}.grid{display:grid;gap:18px;margin-top:20px}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.two{grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.feature-icon{font-size:28px;margin-bottom:12px}.card p,.muted{color:var(--muted);line-height:1.65}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px}.page-head h2{margin:6px 0 0}.form-card{padding:28px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}label{display:flex;flex-direction:column;gap:8px;font-weight:700;font-size:14px}label.full{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:12px 13px;background:var(--surface);color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(20,184,166,.12)}.form-actions,.toolbar,.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:11px 16px;font-weight:750}.btn.primary{background:var(--primary);color:#fff}.btn.secondary{background:var(--primary-soft);color:var(--primary)}.btn.ghost{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn.danger{background:#fee2e2;color:#991b1b}.btn.mini{padding:7px 10px;font-size:12px;border-radius:9px}.btn.light{background:#fff;color:#0f766e}.full-btn{width:100%;margin-top:14px}.editor-card{padding:0;overflow:hidden}.editor-note{padding:12px 18px;background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--muted);font-size:13px}.document-output{min-height:700px;padding:46px;outline:none;background:#fff;color:#111;line-height:1.65}.document-output h1,.document-output h2{text-align:center}.document-output table{width:100%;border-collapse:collapse;margin:18px 0}.document-output th,.document-output td{border:1px solid #222;padding:8px;vertical-align:top}.document-output .meta-table td{border:none}.doc-letterhead{display:flex;align-items:center;gap:18px;border-bottom:3px double #111;padding-bottom:12px;margin-bottom:24px}.doc-letterhead img{width:78px;height:78px;object-fit:contain}.doc-letterhead .school{text-align:center;flex:1}.empty-state{text-align:center;padding:90px 20px;color:#64748b}.table-card{padding:0;overflow:hidden}.table-scroll{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.data-table th{background:var(--surface-2)}.stack-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.stack-actions form{margin:0}.inline-reset{display:flex;gap:6px;align-items:center}.inline-reset input{padding:7px 9px;min-width:130px}.status{display:inline-block;padding:5px 8px;border-radius:999px;font-size:12px}.status.ok{background:#dcfce7;color:#166534}.status.off{background:#fee2e2;color:#991b1b}.auth-body{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#0f766e,#0b5f8a)}.auth-card{width:min(430px,100%);background:#fff;color:#172033;border-radius:22px;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.brand-center{text-align:center}.brand-center .brand-mark{margin:0 auto 10px}.brand-center h1{margin:0}.center{text-align:center}.alert{padding:12px 14px;border-radius:11px;margin:14px 0}.alert.error{background:#fee2e2;color:#991b1b}.alert.success{background:#dcfce7;color:#166534}.standalone{max-width:950px;margin:30px auto;padding:0 18px}.standalone.wide{max-width:1250px}@media(max-width:1000px){.grid.two{grid-template-columns:1fr}}@media(max-width:900px){.menu-btn{display:block}.sidebar{position:fixed;left:-250px;top:74px;z-index:40;transition:.25s}.sidebar.open{left:0}.content{padding:18px;width:100%}.hero{grid-template-columns:1fr;padding:30px}.grid.three{grid-template-columns:1fr}}@media(max-width:640px){.user-badge{display:none}.form-grid{grid-template-columns:1fr}label.full{grid-column:auto}.page-head{flex-direction:column;align-items:flex-start}.document-output{padding:20px;font-size:14px}.hero-card{padding:12px}.stack-actions{flex-direction:column;align-items:stretch}.inline-reset{flex-direction:column;align-items:stretch}}@media print{@page{size:A4;margin:15mm}.topbar,.sidebar,.page-head,.editor-note{display:none!important}.content,.app-shell{display:block;padding:0;margin:0;max-width:none}.page{display:none!important}#hasil{display:block!important}.card{border:0;box-shadow:none;padding:0}.document-output{padding:0;min-height:auto}}

.grid.four{grid-template-columns:repeat(4,1fr)}
.filter-card{margin-bottom:18px}
.filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:14px;align-items:end}
.filter-actions{display:flex;gap:8px}
.toolbar.compact{margin-top:0}
.stats-grid{margin:0 0 18px}
.mini-stat{text-align:center;padding:18px}
.mini-stat strong{display:block;font-size:28px;color:var(--primary)}
.mini-stat span{display:block;margin-top:5px;color:var(--muted);font-size:13px}
.rename-form{display:flex;gap:6px;align-items:center;margin-bottom:5px}
.rename-form input{min-width:220px;padding:8px 9px}
@media(max-width:1000px){
  .grid.four{grid-template-columns:repeat(2,1fr)}
  .filter-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .grid.four{grid-template-columns:1fr 1fr}
  .filter-grid{grid-template-columns:1fr}
  .filter-actions{flex-direction:column}
  .rename-form{flex-direction:column;align-items:stretch}
  .rename-form input{min-width:0}
}

.approval-page{margin-top:60px;page-break-before:always}
.approval-page h2{text-align:center;margin-bottom:40px}
.approval-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:45px;text-align:center}
.signature-space{height:90px}
.signature-img{height:90px;max-width:180px;object-fit:contain;display:block;margin:0 auto}
@media(max-width:640px){
  .approval-grid{grid-template-columns:1fr;gap:40px}
}
@media print{
  .approval-page{page-break-before:always}
}

.status.final{background:#dbeafe;color:#1d4ed8}
.status.draft{background:#fef3c7;color:#92400e}
.status.shared{background:#ede9fe;color:#6d28d9}
.workflow-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.workflow-form input{padding:7px 9px;min-width:145px}
.document-output[contenteditable="false"]{background:#f8fafc;cursor:not-allowed}
@media(max-width:640px){
  .workflow-form{flex-direction:column;align-items:stretch}
  .workflow-form input{min-width:0}
}

.status.review-menunggu{background:#fef3c7;color:#92400e}
.status.review-disetujui{background:#dcfce7;color:#166534}
.status.review-revisi{background:#fee2e2;color:#991b1b}
.nav-badge{float:right;background:#dc2626;color:#fff;border-radius:999px;padding:2px 7px;font-size:11px}
.notification-grid{margin-top:20px}
.notification-grid .mini-stat .btn{margin-top:12px}
.review-form{display:flex;flex-direction:column;gap:8px;min-width:240px}
.review-buttons{display:flex;gap:6px}
.comment-list{display:flex;flex-direction:column;gap:12px;margin:20px 0}
.comment-item{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;padding:14px}
.comment-item p{margin:8px 0}
.timeline{position:relative;padding-left:24px}
.timeline:before{content:"";position:absolute;left:7px;top:4px;bottom:4px;width:2px;background:var(--border)}
.timeline-item{position:relative;padding:0 0 22px 18px}
.timeline-dot{position:absolute;left:-22px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--primary)}
.timeline-item p{margin:6px 0}
@media(max-width:640px){
  .review-form{min-width:0}
  .review-buttons{flex-direction:column}
}

.notification-list{display:flex;flex-direction:column;gap:12px}
.notification-item{display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:flex-start}
.notification-item.unread{border-left:4px solid var(--primary)}
.notification-item.read{opacity:.78}
.notification-icon{font-size:30px;line-height:1}
.notification-content h3{margin:0 0 6px}
.notification-content p{margin:0 0 8px}
.notification-actions{display:flex;gap:8px;align-items:center;margin-top:12px;flex-wrap:wrap}
.latest-notifications{margin-top:20px}
.card-head{display:flex;justify-content:space-between;gap:16px;align-items:center}
.compact-notification-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.compact-notification{display:grid;gap:3px;padding:12px;border-radius:12px;border:1px solid var(--border);text-decoration:none;color:inherit}
.compact-notification.unread{background:var(--surface-2);border-left:4px solid var(--primary)}
.compact-notification.read{opacity:.75}
.compact-notification span{font-size:13px}
.compact-notification small{font-size:11px}
@media(max-width:640px){
  .notification-item{grid-template-columns:1fr}
  .notification-icon{font-size:25px}
  .card-head{align-items:flex-start}
}

.autosave-status{
  display:inline-flex;
  align-items:center;
  margin-left:10px;
  font-size:12px;
  color:var(--muted);
}
.version-list{display:flex;flex-direction:column;gap:14px}
.version-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.version-number{display:inline-flex;padding:4px 9px;border-radius:999px;background:var(--surface-2);font-size:12px;font-weight:700}
.revision-note{margin:12px 0;padding:10px 12px;border-radius:10px;background:var(--surface-2);font-size:13px}
.version-preview{white-space:pre-wrap;max-height:420px;overflow:auto;padding:14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border)}
.template-list{display:flex;flex-direction:column;gap:12px}
.template-item{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:14px;border:1px solid var(--border);border-radius:14px}
.template-item h3{margin:8px 0 4px}
@media(max-width:640px){
  .version-card-head,.template-item{flex-direction:column}
  .autosave-status{display:block;margin:8px 0 0}
}

.health-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}
.health-score{display:grid;place-items:center;width:94px;height:94px;border-radius:50%;font-size:24px;font-weight:800}
.health-score.healthy{background:#dcfce7;color:#166534}
.health-score.warning{background:#fef3c7;color:#92400e}
.health-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.health-item{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start}
.health-item h3{margin:0 0 5px}
.health-item p{margin:0;color:var(--muted)}
.health-symbol{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;font-weight:800}
.health-item.ok .health-symbol{background:#dcfce7;color:#166534}
.health-item.fail .health-symbol{background:#fee2e2;color:#991b1b}
.checkbox-row{display:flex!important;flex-direction:row!important;align-items:center;gap:10px}
.checkbox-row input{width:auto}
.document-chart{margin-top:20px}
.bar-chart{display:flex;flex-direction:column;gap:14px;margin-top:16px}
.bar-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;font-size:13px}
.bar-track{height:12px;border-radius:999px;background:var(--surface-2);overflow:hidden}
.bar-value{height:100%;border-radius:999px;background:var(--primary)}
.maintenance-banner{margin-top:18px}
.toolbar .autosave-status{margin:0 4px 0 0;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2)}
.alert.info{background:#e0f2fe;color:#075985;border:1px solid #bae6fd}
.alert.warning{background:#fef3c7;color:#92400e;border:1px solid #fde68a}
@media(max-width:760px){
  .health-list{grid-template-columns:1fr}
  .health-summary{align-items:flex-start}
}
@media(max-width:520px){
  .health-summary{flex-direction:column}
}


/* =========================================================
   v2.1.0 Professional UI Layer
   ========================================================= */
:root{
  --sidebar-width:264px;
  --sidebar-mini:84px;
  --topbar-height:72px;
  --primary:#15803d;
  --primary-strong:#166534;
  --primary-soft:#dcfce7;
  --app-bg:#f4f7f5;
  --panel:#ffffff;
  --panel-soft:#f8faf9;
  --text:#18221c;
  --muted:#66736b;
  --line:#e2e9e4;
  --shadow-sm:0 1px 2px rgba(16,24,20,.05);
  --shadow-md:0 12px 30px rgba(16,24,20,.09);
  --radius:16px;
}
[data-theme="dark"]{
  --app-bg:#0e1511;
  --panel:#151e19;
  --panel-soft:#1b2620;
  --text:#edf7f0;
  --muted:#9aada0;
  --line:#2a382f;
  --primary-soft:#173d25;
  --shadow-sm:none;
  --shadow-md:0 16px 40px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
body{
  margin:0;
  background:var(--app-bg);
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  transition:background .2s ease,color .2s ease;
}
.topbar{
  position:fixed;inset:0 0 auto 0;height:var(--topbar-height);
  display:grid;grid-template-columns:minmax(250px,1fr) minmax(280px,560px) minmax(250px,1fr);
  align-items:center;gap:20px;padding:0 22px;
  background:color-mix(in srgb,var(--panel) 92%,transparent);
  border-bottom:1px solid var(--line);backdrop-filter:blur(14px);
  z-index:1000;box-shadow:var(--shadow-sm);
}
.topbar-left,.top-actions{display:flex;align-items:center;gap:12px}
.top-actions{justify-content:flex-end}
.sidebar-toggle{display:grid!important}
.brand{display:flex;align-items:center;gap:11px}
.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#16a34a,#166534);color:#fff;font-weight:800;box-shadow:0 8px 18px rgba(21,128,61,.22)}
.brand-copy h1{font-size:16px;margin:0;letter-spacing:-.02em}
.brand-copy p{font-size:11px;margin:3px 0 0;color:var(--muted)}
.global-search-trigger{
  width:100%;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:12px;
  display:flex;align-items:center;gap:9px;background:var(--panel-soft);color:var(--muted);cursor:pointer;text-align:left
}
.global-search-trigger span:nth-child(2){flex:1}
.global-search-trigger kbd{border:1px solid var(--line);background:var(--panel);padding:3px 7px;border-radius:7px;font:11px inherit;color:var(--muted)}
.icon-btn,.top-icon-link{
  width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:var(--panel);
  display:grid;place-items:center;color:var(--text);cursor:pointer;text-decoration:none;position:relative
}
.top-icon-link b{position:absolute;right:-4px;top:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#dc2626;color:#fff;font-size:10px;display:grid;place-items:center}
.profile-menu{position:relative}
.profile-trigger{border:0;background:transparent;display:flex;align-items:center;gap:9px;cursor:pointer;color:var(--text);padding:4px 6px;border-radius:12px}
.avatar{width:38px;height:38px;border-radius:12px;background:var(--primary-soft);color:var(--primary-strong);display:grid;place-items:center;font-weight:800;font-size:13px}
.profile-copy{display:flex;flex-direction:column;text-align:left;line-height:1.2}
.profile-copy strong{font-size:13px}.profile-copy small{font-size:11px;color:var(--muted);margin-top:3px}
.chevron{color:var(--muted)}
.profile-dropdown{
  display:none;position:absolute;right:0;top:50px;width:220px;padding:8px;background:var(--panel);
  border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-md);z-index:20
}
.profile-dropdown.open{display:block;animation:uiDrop .16s ease}
.profile-dropdown a{display:block;padding:10px 11px;border-radius:9px;color:var(--text);text-decoration:none;font-size:13px}
.profile-dropdown a:hover{background:var(--panel-soft)}
.dropdown-divider{height:1px;background:var(--line);margin:6px 2px}
.app-shell{padding-top:var(--topbar-height);min-height:100vh}
.sidebar{
  position:fixed;left:0;top:var(--topbar-height);bottom:0;width:var(--sidebar-width);
  display:flex;flex-direction:column;background:var(--panel);border-right:1px solid var(--line);z-index:900;
  transition:width .22s ease,transform .22s ease
}
.sidebar-scroll{flex:1;overflow:auto;padding:16px 12px}
.sidebar-section{margin-bottom:18px}
.sidebar-label{display:block;padding:0 11px 8px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.sidebar .nav-item,.sidebar .nav-link{
  width:100%;min-height:43px;border:0;border-radius:11px;padding:0 11px;margin:3px 0;
  display:flex;align-items:center;gap:11px;background:transparent;color:var(--muted);
  font:600 13px inherit;text-decoration:none;cursor:pointer;text-align:left
}
.sidebar .nav-item:hover,.sidebar .nav-link:hover{background:var(--panel-soft);color:var(--text)}
.sidebar .nav-item.active{background:var(--primary-soft);color:var(--primary-strong)}
.nav-icon{width:22px;min-width:22px;text-align:center;font-size:17px}
.nav-text{white-space:nowrap;overflow:hidden}
.nav-badge{margin-left:auto;min-width:21px;height:21px;padding:0 6px;border-radius:10px;display:grid;place-items:center;background:var(--primary);color:white;font-size:10px}
.sidebar-footer{padding:10px 12px 14px;border-top:1px solid var(--line)}
.version-chip{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding:9px 11px;border-radius:10px;background:var(--panel-soft);color:var(--muted);font-size:10px}
.version-chip b{color:var(--primary)}
.content{
  margin-left:var(--sidebar-width);padding:26px 28px 54px;min-width:0;
  transition:margin-left .22s ease
}
.content-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}
.content-header h2{margin:6px 0 0;font-size:24px;letter-spacing:-.03em}
.content-header-actions{display:flex;gap:9px}
.breadcrumb{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:11px}
.breadcrumb b{opacity:.5}
body.sidebar-collapsed .sidebar{width:var(--sidebar-mini)}
body.sidebar-collapsed .content{margin-left:var(--sidebar-mini)}
body.sidebar-collapsed .sidebar-label,
body.sidebar-collapsed .sidebar .nav-text,
body.sidebar-collapsed .version-chip .nav-text{display:none}
body.sidebar-collapsed .sidebar .nav-item,
body.sidebar-collapsed .sidebar .nav-link{justify-content:center;padding:0}
body.sidebar-collapsed .nav-badge{position:absolute;transform:translate(15px,-12px)}
body.sidebar-collapsed .version-chip{justify-content:center}
.card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:var(--radius)}
.hero{border-radius:20px;box-shadow:0 20px 50px rgba(21,128,61,.18)}
.btn{border-radius:11px;font-weight:700}
.page{animation:pageIn .22s ease}
.command-palette{
  position:fixed;inset:0;display:none;align-items:flex-start;justify-content:center;padding-top:12vh;
  background:rgba(5,12,8,.52);backdrop-filter:blur(5px);z-index:5000
}
.command-palette.open{display:flex}
.command-dialog{width:min(680px,calc(100% - 28px));max-height:72vh;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.28);overflow:hidden}
.command-search{height:62px;display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid var(--line)}
.command-search input{flex:1;border:0;outline:0;background:transparent;color:var(--text);font:15px inherit}
.command-search button{border:1px solid var(--line);background:var(--panel-soft);color:var(--muted);border-radius:8px;padding:5px 8px}
.command-results{padding:9px;overflow:auto;max-height:calc(72vh - 62px)}
.command-group-title{padding:10px 10px 6px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.command-results a,.command-results button{
  width:100%;border:0;background:transparent;color:var(--text);display:flex;align-items:center;gap:12px;
  padding:10px;border-radius:11px;text-decoration:none;text-align:left;cursor:pointer
}
.command-results a:hover,.command-results button:hover{background:var(--panel-soft)}
.command-results a>span,.command-results button>span{width:34px;height:34px;border-radius:10px;background:var(--primary-soft);color:var(--primary-strong);display:grid;place-items:center}
.command-results div strong{display:block;font-size:13px}.command-results div small{display:block;color:var(--muted);margin-top:3px;font-size:11px}
.toast-region{position:fixed;right:18px;bottom:18px;z-index:6000;display:flex;flex-direction:column;gap:8px}
.ui-toast{min-width:250px;max-width:360px;padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-md);animation:toastIn .2s ease;font-size:13px}
.sidebar-backdrop{display:none}
body.compact-ui .card{border-radius:12px}
body.compact-ui .content{padding-top:18px}
@keyframes pageIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes uiDrop{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:980px){
  .topbar{grid-template-columns:1fr auto}.topbar-center{display:none}
  .sidebar{transform:translateX(-100%);width:min(290px,86vw)}
  .sidebar.mobile-open{transform:translateX(0)}
  .content,.body.sidebar-collapsed .content{margin-left:0;padding:20px 16px 44px}
  .sidebar-backdrop.open{display:block;position:fixed;inset:var(--topbar-height) 0 0;background:rgba(0,0,0,.38);z-index:850}
  .content-header{align-items:flex-start}
}
@media(max-width:640px){
  .topbar{height:64px;--topbar-height:64px;padding:0 12px}
  .app-shell{padding-top:64px}.sidebar{top:64px}
  .brand-copy p,.profile-copy,.chevron{display:none}
  .brand-mark{width:37px;height:37px}
  .content-header{flex-direction:column}.content-header-actions{width:100%}.content-header-actions .btn{flex:1}
  .hero{padding:22px}
}

/* v2.1.1 preference controls */
.profile-dropdown .dropdown-action{
  width:100%;
  border:0;
  background:transparent;
  color:var(--text);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 11px;
  border-radius:9px;
  font:13px inherit;
  cursor:pointer;
}
.profile-dropdown .dropdown-action:hover{background:var(--panel-soft)}
.profile-dropdown .dropdown-action b{
  font-size:10px;
  color:var(--primary);
  background:var(--primary-soft);
  border-radius:999px;
  padding:4px 7px;
}


/* =========================================================
   v2.1.2 Modern UX & Safety
   ========================================================= */
.ui-confirm{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  z-index:7000;
}
.ui-confirm.open{display:flex}
.ui-confirm-backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,12,8,.58);
  backdrop-filter:blur(5px);
}
.ui-confirm-dialog{
  position:relative;
  z-index:1;
  width:min(420px,100%);
  padding:26px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--panel);
  box-shadow:0 30px 80px rgba(0,0,0,.30);
  text-align:center;
  animation:confirmIn .18s ease;
}
.ui-confirm-icon{
  width:52px;
  height:52px;
  margin:0 auto 14px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:var(--primary-soft);
  color:var(--primary);
  font-size:24px;
  font-weight:900;
}
.ui-confirm-icon.danger{
  background:#fee2e2;
  color:#dc2626;
}
.ui-confirm-dialog h3{
  margin:0;
  font-size:20px;
}
.ui-confirm-dialog p{
  margin:10px auto 22px;
  color:var(--muted);
  line-height:1.65;
}
.ui-confirm-actions{
  display:flex;
  justify-content:center;
  gap:10px;
}
.ui-confirm-actions .btn{
  min-width:120px;
}
.ui-loading{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(5,12,8,.42);
  backdrop-filter:blur(4px);
  z-index:8000;
}
.ui-loading.open{display:flex}
.ui-loading-card{
  min-width:260px;
  padding:24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--panel);
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.ui-loading-card strong{font-size:14px}
.ui-loading-card small{color:var(--muted)}
.ui-spinner{
  width:34px;
  height:34px;
  margin-bottom:4px;
  border:3px solid var(--line);
  border-top-color:var(--primary);
  border-radius:50%;
  animation:uiSpin .7s linear infinite;
}
.ui-toast{
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-width:290px;
}
.ui-toast-mark{
  width:10px;
  height:10px;
  margin-top:5px;
  flex:0 0 auto;
  border-radius:50%;
  background:#2563eb;
}
.ui-toast-success .ui-toast-mark{background:#16a34a}
.ui-toast-warning .ui-toast-mark{background:#ea580c}
.ui-toast-error .ui-toast-mark{background:#dc2626}
.ui-toast div{flex:1}
.ui-toast strong{
  display:block;
  font-size:12px;
  margin-bottom:3px;
}
.ui-toast p{
  margin:0;
  color:var(--muted);
  line-height:1.45;
}
.ui-toast button{
  border:0;
  background:transparent;
  color:var(--muted);
  font-size:19px;
  cursor:pointer;
}
@keyframes uiSpin{to{transform:rotate(360deg)}}
@keyframes confirmIn{
  from{opacity:0;transform:scale(.96) translateY(5px)}
  to{opacity:1;transform:none}
}
@media(max-width:520px){
  .ui-confirm-actions{flex-direction:column-reverse}
  .ui-confirm-actions .btn{width:100%}
  .ui-toast{min-width:0;width:calc(100vw - 36px)}
}


/* v2.2.0 Recycle Bin */
.standalone-page{min-height:100vh;background:var(--app-bg)}
.simple-topbar{
  height:72px;display:flex;align-items:center;justify-content:space-between;
  padding:0 24px;background:var(--panel);border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:100
}
.simple-actions{display:flex;align-items:center;gap:10px}
.standalone-content{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:30px 0 60px}
.page-description{margin:8px 0 0;color:var(--muted);font-size:13px}
.trash-count{padding:8px 12px;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);font-size:12px;font-weight:800}
.trash-notice{
  display:flex;gap:8px;align-items:center;margin:0 0 18px;padding:14px 16px;
  border:1px solid #fde68a;border-radius:14px;background:#fffbeb;color:#92400e;font-size:13px
}
[data-theme="dark"] .trash-notice{background:#302712;border-color:#5a4716;color:#fde68a}
.empty-icon{
  width:54px;height:54px;margin:0 auto 14px;border-radius:17px;
  display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:24px;font-weight:900
}
.stack-actions form{display:inline-flex;margin:2px}
@media(max-width:640px){
  .simple-topbar{height:auto;min-height:64px;padding:10px 12px}
  .simple-actions .btn{font-size:11px;padding:9px}
  .standalone-content{width:min(100% - 20px,1180px);padding-top:18px}
  .trash-notice{align-items:flex-start;flex-direction:column}
}


/* v2.2.1 Bulk Actions */
.bulk-toolbar{
  display:none;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-bottom:1px solid var(--line);
  background:var(--panel-soft);
  position:sticky;
  top:0;
  z-index:4;
}
.bulk-toolbar.active{display:flex}
.bulk-summary{
  display:flex;
  align-items:baseline;
  gap:5px;
  margin-right:auto;
  color:var(--muted);
  font-size:12px;
}
.bulk-summary strong{
  color:var(--primary);
  font-size:18px;
}
.bulk-toolbar select{
  min-width:210px;
  height:40px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
  color:var(--text);
  padding:0 10px;
}
.select-column{
  width:42px;
  min-width:42px;
  text-align:center!important;
}
.select-column input{
  width:17px;
  height:17px;
  accent-color:var(--primary);
  cursor:pointer;
}
.selectable-table tbody tr{
  transition:background .15s ease;
}
.selectable-table tbody tr.selected-row{
  background:color-mix(in srgb,var(--primary-soft) 55%,var(--panel));
}
.stack-actions{
  min-width:330px;
}
.stack-actions>a,
.stack-actions>form{
  vertical-align:top;
}
@media(max-width:720px){
  .bulk-toolbar{
    align-items:stretch;
    flex-wrap:wrap;
  }
  .bulk-summary{width:100%;margin-right:0}
  .bulk-toolbar select{min-width:0;flex:1}
  .bulk-toolbar .btn{padding-left:11px;padding-right:11px}
}


/* =========================================================
   v2.3.0 Bank Perangkat Ajar
   ========================================================= */
.library-page{max-width:1260px}
.library-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  margin-bottom:18px;
  padding:34px;
  border-radius:24px;
  color:#fff;
  background:
    radial-gradient(circle at 85% 15%,rgba(255,255,255,.18),transparent 28%),
    linear-gradient(135deg,#166534,#15803d 55%,#16a34a);
  box-shadow:0 24px 55px rgba(21,128,61,.20);
}
.library-hero .eyebrow{
  display:block;
  margin-bottom:8px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.82;
}
.library-hero h1{
  margin:0;
  font-size:34px;
  letter-spacing:-.04em;
}
.library-hero p{
  max-width:650px;
  margin:10px 0 0;
  line-height:1.65;
  opacity:.9;
}
.library-hero-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(90px,1fr));
  gap:10px;
}
.library-hero-stats div{
  min-width:95px;
  padding:15px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:16px;
  background:rgba(255,255,255,.10);
  text-align:center;
  backdrop-filter:blur(8px);
}
.library-hero-stats strong{
  display:block;
  font-size:24px;
}
.library-hero-stats span{
  display:block;
  margin-top:4px;
  font-size:11px;
  opacity:.82;
}
.library-tabs{
  display:flex;
  gap:5px;
  margin:0 0 14px;
  padding:5px;
  width:max-content;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--panel);
}
.library-tabs a{
  padding:9px 14px;
  border-radius:9px;
  color:var(--muted);
  text-decoration:none;
  font-size:12px;
  font-weight:700;
}
.library-tabs a.active{
  background:var(--primary-soft);
  color:var(--primary-strong);
}
.library-filter{
  display:grid;
  grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(130px,.7fr)) auto auto;
  gap:10px;
  margin-bottom:18px;
  padding:14px;
}
.library-filter input,
.library-filter select{
  min-width:0;
  height:43px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--panel);
  color:var(--text);
  padding:0 12px;
  font:13px inherit;
}
.library-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.library-card{
  display:flex;
  flex-direction:column;
  min-height:390px;
  padding:19px;
}
.library-card-head{
  display:flex;
  align-items:center;
  gap:7px;
}
.library-type,
.featured-badge,
.withdrawn-badge{
  width:max-content;
  padding:5px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
}
.library-type{
  background:var(--primary-soft);
  color:var(--primary-strong);
}
.featured-badge{
  background:#fef3c7;
  color:#92400e;
}
.withdrawn-badge{
  background:#fee2e2;
  color:#b91c1c;
}
.library-card h3{
  margin:15px 0 5px;
  font-size:18px;
  line-height:1.35;
  letter-spacing:-.02em;
}
.library-topic{
  min-height:38px;
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
.library-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:14px 0;
}
.library-meta span{
  padding:5px 8px;
  border:1px solid var(--line);
  border-radius:8px;
  color:var(--muted);
  font-size:10px;
}
.library-author{
  display:flex;
  align-items:center;
  gap:9px;
  padding-top:13px;
  border-top:1px solid var(--line);
}
.library-author .avatar{
  flex:0 0 auto;
  width:35px;
  height:35px;
  border-radius:11px;
}
.library-author strong{
  display:block;
  font-size:12px;
}
.library-author small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:10px;
}
.library-preview{
  margin:13px 0;
  border:1px solid var(--line);
  border-radius:11px;
  overflow:hidden;
}
.library-preview summary{
  padding:10px 12px;
  cursor:pointer;
  color:var(--primary);
  font-size:11px;
  font-weight:800;
}
.library-preview>div{
  max-height:240px;
  overflow:auto;
  padding:0 12px 12px;
  color:var(--muted);
  font-size:11px;
  line-height:1.55;
}
.library-preview p{
  margin:5px 0 12px;
}
.library-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:auto;
  padding-top:10px;
}
.library-actions form{
  display:inline-flex;
}
.library-actions .btn{
  padding:9px 11px;
  font-size:11px;
}
@media(max-width:1050px){
  .library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .library-filter{grid-template-columns:repeat(2,minmax(0,1fr))}
  .library-filter input{grid-column:1/-1}
}
@media(max-width:720px){
  .library-hero{
    align-items:flex-start;
    flex-direction:column;
    padding:24px;
  }
  .library-hero h1{font-size:28px}
  .library-hero-stats{width:100%}
  .library-grid{grid-template-columns:1fr}
  .library-filter{grid-template-columns:1fr}
  .library-filter input{grid-column:auto}
}


/* =========================================================
   v2.3.1 Bank Perangkat Plus
   ========================================================= */
.category-badge{
  width:max-content;
  padding:5px 8px;
  border-radius:999px;
  background:#e0f2fe;
  color:#0369a1;
  font-size:10px;
  font-weight:800;
}
[data-theme="dark"] .category-badge{
  background:#123047;
  color:#7dd3fc;
}
.library-tags{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin:-4px 0 13px;
}
.library-tags span{
  padding:4px 7px;
  border-radius:7px;
  background:var(--panel-soft);
  color:var(--muted);
  font-size:10px;
}
.favorite-active{
  background:#fef3c7!important;
  color:#92400e!important;
  border-color:#fde68a!important;
}
.publish-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  z-index:7200;
}
.publish-modal.open{display:flex}
.publish-backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,12,8,.58);
  backdrop-filter:blur(5px);
}
.publish-dialog{
  position:relative;
  z-index:1;
  width:min(480px,100%);
  padding:22px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--panel);
  box-shadow:0 30px 80px rgba(0,0,0,.30);
}
.publish-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.publish-head span{
  display:block;
  color:var(--primary);
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.publish-head h3{
  margin:4px 0 0;
  font-size:20px;
}
.publish-head button{
  width:34px;
  height:34px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel-soft);
  color:var(--muted);
  font-size:20px;
  cursor:pointer;
}
.publish-document-title{
  margin:0 0 17px;
  padding:11px 12px;
  border-radius:11px;
  background:var(--panel-soft);
  color:var(--muted);
  font-size:12px;
}
.publish-dialog label{
  display:block;
  margin-bottom:14px;
}
.publish-dialog label>span{
  display:block;
  margin-bottom:7px;
  color:var(--text);
  font-size:12px;
  font-weight:700;
}
.publish-dialog select,
.publish-dialog input{
  width:100%;
  height:43px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--panel);
  color:var(--text);
  padding:0 11px;
  font:13px inherit;
}
.publish-dialog small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:10px;
}
.publish-actions{
  display:flex;
  justify-content:flex-end;
  gap:9px;
  padding-top:5px;
}
@media(max-width:1050px){
  .library-filter{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .publish-actions{flex-direction:column-reverse}
  .publish-actions .btn{width:100%}
}

.question-page,.question-form-page,.package-page{max-width:1250px}.question-hero{display:flex;justify-content:space-between;gap:25px;padding:30px;margin-bottom:15px;border-radius:23px;color:#fff;background:linear-gradient(135deg,#1e3a8a,#2563eb)}.question-hero h1{margin:5px 0}.question-stats{display:flex;gap:8px}.question-stats div{min-width:80px;padding:12px;border:1px solid #ffffff44;border-radius:12px;text-align:center}.question-stats b{display:block;font-size:22px}.question-tabs{display:flex;gap:5px;margin-bottom:12px}.question-tabs a{padding:9px 13px;border-radius:9px;background:var(--panel);color:var(--muted);text-decoration:none}.question-tabs a.active{background:#dbeafe;color:#1d4ed8}.question-filter{display:flex;gap:8px;padding:12px;margin-bottom:13px}.question-filter input{flex:1;border:1px solid var(--line);border-radius:9px;padding:10px;background:var(--panel);color:var(--text)}.question-list{display:grid;gap:10px}.question-card{display:grid;grid-template-columns:36px 1fr auto;gap:12px;padding:17px}.question-number{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#dbeafe;color:#1d4ed8;font-weight:bold}.question-badges,.question-meta{display:flex;gap:5px;flex-wrap:wrap}.question-badges span,.question-meta span{padding:4px 7px;border-radius:999px;background:var(--panel-soft);font-size:9px}.question-actions{display:flex;gap:5px}.question-actions form{display:inline-flex}.question-editor{display:grid;gap:13px;padding-bottom:80px}.question-editor .card{padding:20px}.form-grid{display:grid;gap:11px;margin-bottom:11px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid.four{grid-template-columns:repeat(4,1fr)}.question-editor label{display:block;margin-bottom:11px}.question-editor label span{display:block;margin-bottom:5px;font-size:11px;font-weight:700}.question-editor input,.question-editor select,.question-editor textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);padding:10px}.multiple-choice-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.sticky-form-actions{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:flex-end;gap:8px;padding:12px max(18px,calc((100vw - 1250px)/2));border-top:1px solid var(--line);background:var(--panel)}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.package-card{padding:18px}@media(max-width:700px){.question-hero{flex-direction:column}.question-filter{flex-direction:column}.question-card{grid-template-columns:1fr}.question-number{display:none}.form-grid.two,.form-grid.three,.form-grid.four,.multiple-choice-fields,.package-grid{grid-template-columns:1fr}}


/* =========================================================
   v2.4.1 Kisi-Kisi Terintegrasi
   ========================================================= */
.blueprint-page,.blueprint-builder-page,.blueprint-link-page{max-width:1280px}
.blueprint-hero{
  padding:30px;
  margin-bottom:15px;
  border-radius:24px;
  color:#fff;
  background:
    radial-gradient(circle at 85% 20%,rgba(255,255,255,.16),transparent 28%),
    linear-gradient(135deg,#064e3b,#047857 55%,#059669);
}
.blueprint-hero span{
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
}
.blueprint-hero h1{margin:7px 0;font-size:34px}
.blueprint-hero p{max-width:700px;margin:0;line-height:1.6}
.blueprint-filter{
  display:grid;
  grid-template-columns:minmax(250px,1fr) auto auto;
  gap:8px;
  padding:13px;
  margin-bottom:14px;
}
.blueprint-filter input{
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
  color:var(--text);
  padding:10px;
}
.blueprint-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.blueprint-card{padding:18px}
.blueprint-status{
  width:max-content;
  padding:4px 7px;
  border-radius:999px;
  background:var(--panel-soft);
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
}
.blueprint-card h3{margin:12px 0 6px;font-size:17px}
.blueprint-card>p{
  min-height:34px;
  margin:0;
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
}
.blueprint-meta{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin:12px 0;
}
.blueprint-meta span{
  padding:4px 7px;
  border:1px solid var(--line);
  border-radius:7px;
  color:var(--muted);
  font-size:9px;
}
.blueprint-progress{margin:14px 0}
.blueprint-progress-head{
  display:flex;
  justify-content:space-between;
  margin-bottom:6px;
  color:var(--muted);
  font-size:10px;
}
.blueprint-progress-track{
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:var(--panel-soft);
}
.blueprint-progress-track span{
  display:block;
  height:100%;
  border-radius:999px;
  background:#10b981;
}
.blueprint-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  margin:13px 0;
}
.blueprint-stats div{
  padding:10px;
  border-radius:10px;
  background:var(--panel-soft);
  text-align:center;
}
.blueprint-stats strong{display:block;font-size:17px}
.blueprint-stats span{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:8px;
  text-transform:uppercase;
}
.blueprint-actions{display:flex;gap:7px}
.blueprint-item-list{display:grid;gap:11px}
.blueprint-item-card{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:13px;
  padding:17px;
  border-left:4px solid transparent;
}
.blueprint-item-card.complete{border-left-color:#10b981}
.blueprint-item-number{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:10px;
  background:#d1fae5;
  color:#047857;
  font-weight:900;
}
.blueprint-item-main h3{
  margin:10px 0;
  font-size:14px;
  line-height:1.6;
}
.blueprint-item-main p{
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
}
.blueprint-item-material{
  padding:8px 10px;
  border-radius:8px;
  background:var(--panel-soft);
  font-size:11px;
}
.blueprint-item-progress{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:10px;
}
.blueprint-item-progress span{
  padding:5px 8px;
  border-radius:999px;
  background:#fef3c7;
  color:#92400e;
  font-size:9px;
  font-weight:800;
}
.blueprint-item-progress span.done{
  background:#dcfce7;
  color:#166534;
}
.blueprint-item-actions{
  display:flex;
  align-items:flex-start;
  gap:5px;
  flex-wrap:wrap;
}
.blueprint-item-actions form{display:inline-flex}
.indicator-summary{padding:20px;margin-bottom:14px}
.indicator-summary h2{
  margin:12px 0 8px;
  font-size:17px;
  line-height:1.6;
}
.indicator-summary p{margin:0;color:var(--muted)}
.blueprint-link-layout{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(360px,.8fr);
  gap:14px;
}
.blueprint-link-layout>.card{padding:18px}
.linked-question-list,.available-question-list{
  display:grid;
  gap:9px;
}
.linked-question-list article{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto;
  gap:10px;
  padding:11px;
  border:1px solid var(--line);
  border-radius:11px;
}
.linked-question-number{
  display:flex;
  align-items:center;
  justify-content:center;
  width:29px;
  height:29px;
  border-radius:8px;
  background:#d1fae5;
  color:#047857;
  font-size:10px;
  font-weight:900;
}
.linked-question-list p,.available-question-list p{
  margin:8px 0;
  font-size:11px;
  line-height:1.5;
}
.available-question-list article{
  padding:11px;
  border:1px solid var(--line);
  border-radius:11px;
}
@media(max-width:950px){
  .blueprint-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .blueprint-link-layout{grid-template-columns:1fr}
}
@media(max-width:650px){
  .blueprint-grid,.blueprint-filter{grid-template-columns:1fr}
  .blueprint-item-card{grid-template-columns:1fr}
  .blueprint-item-number{display:none}
  .linked-question-list article{grid-template-columns:1fr}
  .linked-question-number{display:none}
}


/* =========================================================
   v2.4.2 Modal Global Fix
   ========================================================= */
.ui-confirm,
.ui-loading {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
}

.ui-confirm.is-open,
.ui-loading.is-open {
  display: flex;
}

.ui-confirm[aria-hidden="true"],
.ui-loading[aria-hidden="true"] {
  display: none !important;
}

.ui-confirm[aria-hidden="false"],
.ui-loading[aria-hidden="false"] {
  display: flex !important;
}

.ui-confirm-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, .56);
  backdrop-filter: blur(4px);
}

.ui-confirm-dialog,
.ui-loading-card {
  position: relative;
  z-index: 1;
  width: min(100%, 420px);
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--panel);
  color: var(--text);
  box-shadow: 0 28px 80px rgba(15, 23, 42, .28);
}

.ui-confirm-dialog {
  padding: 24px;
  text-align: center;
}

.ui-confirm-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin: 0 auto 14px;
  border-radius: 16px;
  background: #dbeafe;
  color: #1d4ed8;
  font-size: 24px;
  font-weight: 900;
}

.ui-confirm-dialog h3 {
  margin: 0;
  font-size: 20px;
}

.ui-confirm-dialog p {
  margin: 10px 0 0;
  color: var(--muted);
  line-height: 1.6;
}

.ui-confirm-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 22px;
}

.ui-loading-card {
  display: grid;
  justify-items: center;
  gap: 10px;
  padding: 24px;
  text-align: center;
}

.ui-loading-card small {
  color: var(--muted);
}

.ui-spinner {
  width: 38px;
  height: 38px;
  border: 4px solid var(--line);
  border-top-color: #2563eb;
  border-radius: 50%;
  animation: ui-spin .75s linear infinite;
}

@keyframes ui-spin {
  to { transform: rotate(360deg); }
}

body.ui-modal-open {
  overflow: hidden;
}

@media (max-width: 520px) {
  .ui-confirm-dialog,
  .ui-loading-card {
    width: 100%;
    border-radius: 18px;
  }

  .ui-confirm-actions {
    flex-direction: column-reverse;
  }

  .ui-confirm-actions .btn {
    width: 100%;
  }
}


/* =========================================================
   v3.0.0 AI Generator
   ========================================================= */
.ai-page,.ai-result-page{max-width:1280px}
.ai-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:32px;
  margin-bottom:15px;
  border-radius:25px;
  color:#fff;
  background:
    radial-gradient(circle at 84% 15%,rgba(255,255,255,.17),transparent 28%),
    linear-gradient(135deg,#312e81,#6d28d9 52%,#7c3aed);
  box-shadow:0 25px 70px rgba(109,40,217,.18);
}
.ai-hero>div:first-child{max-width:760px}
.ai-hero span{
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
}
.ai-hero h1{
  margin:7px 0;
  font-size:36px;
  letter-spacing:-.04em;
}
.ai-hero p{margin:0;line-height:1.6;opacity:.9}
.ai-status-card,.ai-key-status{
  display:flex;
  align-items:center;
  gap:12px;
}
.ai-status-card{
  min-width:215px;
  padding:15px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:16px;
  background:rgba(255,255,255,.1);
}
.ai-status-card strong,.ai-status-card small{display:block}
.ai-status-card small{margin-top:3px;opacity:.8}
.ai-status-dot{
  flex:0 0 auto;
  width:13px;
  height:13px;
  border-radius:50%;
}
.ai-status-dot.online{
  background:#4ade80;
  box-shadow:0 0 0 6px rgba(74,222,128,.15);
}
.ai-status-dot.offline{
  background:#f87171;
  box-shadow:0 0 0 6px rgba(248,113,113,.15);
}
.ai-warning,.ai-key-status{
  padding:17px;
  margin-bottom:15px;
}
.ai-warning{
  border-left:4px solid #f59e0b;
  background:#fffbeb;
}
[data-theme="dark"] .ai-warning{background:#451a03}
.ai-warning p,.ai-key-status p{
  margin:6px 0 0;
  color:var(--muted);
  line-height:1.5;
}
.ai-layout{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(330px,.65fr);
  gap:15px;
}
.ai-generator-form,.ai-history{padding:21px}
.ai-generator-form label{
  display:block;
  margin-bottom:12px;
}
.ai-generator-form label>span{
  display:block;
  margin-bottom:6px;
  font-size:11px;
  font-weight:750;
}
.ai-generator-form input,
.ai-generator-form select,
.ai-generator-form textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
  color:var(--text);
  padding:10px 11px;
}
.ai-generator-form input,.ai-generator-form select{height:42px}
.ai-generator-form textarea{resize:vertical}
.ai-generate-button{
  width:100%;
  min-height:48px;
  margin-top:4px;
  font-size:13px;
}
.ai-history-list{display:grid;gap:8px}
.ai-history-list a{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:11px;
  border:1px solid var(--line);
  border-radius:11px;
  color:var(--text);
  text-decoration:none;
}
.ai-history-list a:hover{background:var(--panel-soft)}
.ai-history-list strong,.ai-history-list small{display:block}
.ai-history-list strong{font-size:11px}
.ai-history-list small{
  margin-top:4px;
  color:var(--muted);
  font-size:9px;
}
.ai-history-status{
  padding:4px 7px;
  border-radius:999px;
  background:var(--panel-soft);
  color:var(--muted);
  font-size:8px;
  font-weight:800;
}
.status-selesai{color:#166534!important}
.status-gagal{color:#b91c1c!important}
.status-diproses{color:#92400e!important}
.ai-result-meta{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  padding:14px;
  margin-bottom:14px;
}
.ai-result-meta div{
  padding:11px;
  border-radius:10px;
  background:var(--panel-soft);
}
.ai-result-meta span,.ai-result-meta strong{display:block}
.ai-result-meta span{
  margin-bottom:4px;
  color:var(--muted);
  font-size:9px;
  text-transform:uppercase;
}
.ai-result-meta strong{font-size:11px}
.ai-result-document{padding:0;overflow:hidden}
.ai-result-document textarea{
  display:block;
  width:100%;
  min-height:70vh;
  border:0;
  outline:0;
  resize:vertical;
  padding:28px;
  background:var(--panel);
  color:var(--text);
  font:14px/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
.ai-error-box{padding:20px;border-left:4px solid #ef4444}
@media(max-width:900px){
  .ai-layout{grid-template-columns:1fr}
  .ai-hero{align-items:flex-start;flex-direction:column}
  .ai-status-card{width:100%}
}
@media(max-width:650px){
  .ai-hero h1{font-size:28px}
  .ai-result-meta{grid-template-columns:repeat(2,1fr)}
}
@media print{
  .simple-topbar,.ai-result-meta,.toast-region{display:none!important}
  .ai-result-document{border:0!important;box-shadow:none!important}
  .ai-result-document textarea{
    min-height:0;
    overflow:visible;
    resize:none;
    padding:0;
    color:#000;
    background:#fff;
  }
}


/* =========================================================
   v3.1.0 AI Document Composer
   ========================================================= */
.ai-composer-body{
  background:#f3f7f5;
}
[data-theme="dark"] .ai-composer-body{
  background:var(--bg);
}
.ai-composer-topbar{
  position:sticky;
  top:0;
  z-index:100;
}
.ai-composer-actions form{
  display:inline-flex;
  margin:0;
}
.ai-composer-page{
  max-width:1220px;
}
.ai-composer-shell{
  padding:0;
  overflow:hidden;
}
.ai-composer-toolbar{
  position:sticky;
  top:86px;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:11px 14px;
  border-bottom:1px solid var(--line);
  background:color-mix(in srgb,var(--panel) 94%,transparent);
  backdrop-filter:blur(14px);
}
.composer-tabs{
  display:inline-flex;
  padding:3px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel-soft);
}
.composer-tab{
  min-height:34px;
  padding:7px 13px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.composer-tab.active{
  background:var(--panel);
  color:var(--text);
  box-shadow:0 3px 10px rgba(15,23,42,.08);
}
.composer-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.btn.compact{
  min-height:34px;
  padding:7px 11px;
  font-size:10px;
}
.composer-save-state{
  padding:5px 9px;
  border-radius:999px;
  color:#166534;
  background:#dcfce7;
  font-size:9px;
  font-weight:850;
}
.composer-save-state[data-state="dirty"]{
  color:#92400e;
  background:#fef3c7;
}
.composer-save-state[data-state="saving"]{
  color:#1d4ed8;
  background:#dbeafe;
}
.composer-save-state[data-state="error"]{
  color:#b91c1c;
  background:#fee2e2;
}
.composer-panel{
  display:none;
}
.composer-panel.active{
  display:block;
}
.ai-document-preview{
  width:min(100%,900px);
  min-height:75vh;
  margin:22px auto 40px;
  padding:58px 68px;
  border:1px solid #dfe6e2;
  border-radius:5px;
  background:#fff;
  color:#18211d;
  box-shadow:0 18px 50px rgba(15,23,42,.08);
  font-family:Arial,Helvetica,sans-serif;
  font-size:14px;
  line-height:1.7;
}
.ai-document-preview h1{
  margin:0 0 30px;
  color:#10271b;
  font-size:28px;
  line-height:1.25;
  text-align:center;
  text-transform:uppercase;
}
.ai-document-preview h2{
  margin:30px 0 12px;
  padding-bottom:7px;
  border-bottom:2px solid #168447;
  color:#123b25;
  font-size:19px;
  line-height:1.35;
}
.ai-document-preview h3{
  margin:22px 0 9px;
  color:#174d2d;
  font-size:16px;
}
.ai-document-preview h4,
.ai-document-preview h5,
.ai-document-preview h6{
  margin:18px 0 8px;
  color:#234b33;
}
.ai-document-preview p{
  margin:0 0 12px;
  text-align:justify;
}
.ai-document-preview ul,
.ai-document-preview ol{
  margin:8px 0 15px;
  padding-left:25px;
}
.ai-document-preview li{
  margin:4px 0;
}
.ai-document-preview blockquote{
  margin:16px 0;
  padding:11px 15px;
  border-left:4px solid #168447;
  background:#f3faf6;
  color:#355743;
}
.ai-document-preview code{
  padding:2px 5px;
  border-radius:5px;
  background:#edf2ef;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
.ai-document-preview pre{
  overflow:auto;
  padding:15px;
  border-radius:9px;
  background:#17211b;
  color:#f8faf9;
}
.ai-document-preview pre code{
  padding:0;
  background:transparent;
  color:inherit;
}
.ai-document-preview hr{
  margin:25px 0;
  border:0;
  border-top:1px solid #cfd9d3;
}
.md-table-wrap{
  overflow-x:auto;
  margin:15px 0 20px;
}
.ai-document-preview table{
  width:100%;
  min-width:560px;
  border-collapse:collapse;
  font-size:12px;
}
.ai-document-preview th,
.ai-document-preview td{
  padding:9px 10px;
  border:1px solid #bfcac4;
  vertical-align:top;
  text-align:left;
}
.ai-document-preview th{
  background:#e7f4eb;
  color:#143b25;
  font-weight:800;
}
.ai-document-preview tbody tr:nth-child(even){
  background:#f8fbf9;
}
.task-item{
  list-style:none;
  margin-left:-22px!important;
}
.editor-helper{
  padding:10px 16px;
  border-bottom:1px solid var(--line);
  color:var(--muted);
  background:var(--panel-soft);
  font-size:10px;
}
#aiResultText{
  display:block;
  width:100%;
  min-height:76vh;
  padding:24px;
  border:0;
  outline:0;
  resize:vertical;
  background:#111a15;
  color:#eaf4ee;
  caret-color:#4ade80;
  font:13px/1.7 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  tab-size:2;
}
.ai-refine-dialog{
  width:min(92vw,590px);
  padding:0;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--panel);
  color:var(--text);
  box-shadow:0 30px 100px rgba(15,23,42,.3);
}
.ai-refine-dialog::backdrop{
  background:rgba(15,23,42,.62);
  backdrop-filter:blur(5px);
}
.ai-refine-dialog form{
  padding:21px;
}
.ai-refine-heading{
  display:flex;
  align-items:center;
  gap:13px;
}
.ai-refine-heading h3{
  margin:0;
}
.ai-refine-heading p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:11px;
}
.selected-text-preview{
  max-height:155px;
  overflow:auto;
  margin:15px 0;
  padding:11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel-soft);
  color:var(--muted);
  white-space:pre-wrap;
  font:10px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;
}
.ai-refine-dialog label span{
  display:block;
  margin-bottom:6px;
  font-size:11px;
  font-weight:800;
}
.ai-refine-dialog textarea{
  width:100%;
  resize:vertical;
  padding:10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
  color:var(--text);
  font:inherit;
}
.document-markdown h1{
  text-align:center;
}
.document-markdown table{
  width:100%;
  border-collapse:collapse;
  margin:15px 0;
}
.document-markdown th,
.document-markdown td{
  border:1px solid #aaa;
  padding:8px;
  vertical-align:top;
}
.document-markdown th{
  background:#edf5f0;
}
@media(max-width:850px){
  .ai-composer-toolbar{
    position:static;
    align-items:stretch;
    flex-direction:column;
  }
  .composer-tabs{
    width:100%;
  }
  .composer-tab{
    flex:1;
  }
  .composer-tools{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .composer-save-state{
    grid-column:1/-1;
    text-align:center;
  }
  .ai-document-preview{
    min-height:70vh;
    margin:0;
    padding:30px 24px;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  .ai-composer-actions{
    width:100%;
    overflow-x:auto;
    justify-content:flex-start;
    padding-bottom:2px;
  }
  .ai-composer-actions .btn{
    white-space:nowrap;
  }
}
@media(max-width:520px){
  .composer-tools{
    grid-template-columns:1fr;
  }
  .composer-save-state{
    grid-column:auto;
  }
  .ai-document-preview{
    padding:25px 17px;
    font-size:13px;
  }
  .ai-document-preview h1{
    font-size:22px;
  }
  .ai-document-preview h2{
    font-size:17px;
  }
  #aiResultText{
    min-height:72vh;
    padding:17px;
    font-size:12px;
  }
}
@media print{
  body.ai-composer-body{
    background:#fff!important;
  }
  .ai-composer-topbar,
  .ai-result-meta,
  .ai-composer-toolbar,
  .toast-region,
  .ui-loading,
  .ai-refine-dialog{
    display:none!important;
  }
  .ai-composer-page,
  .ai-composer-shell,
  .composer-panel{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
  }
  #composerEditPanel{
    display:none!important;
  }
  .ai-document-preview{
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
    color:#000!important;
  }
  .ai-document-preview h2{
    color:#000!important;
    border-bottom-color:#000!important;
  }
  .ai-document-preview table{
    min-width:0!important;
  }
}


/* =========================================================
   v3.1.1 Composer visibility and cache fix
   ========================================================= */
[hidden],
.composer-panel[hidden],
#composerEditPanel[hidden],
#composerPreviewPanel[hidden] {
  display: none !important;
}

.composer-panel:not(.active) {
  display: none !important;
}

.composer-panel.active:not([hidden]) {
  display: block !important;
}

@media screen {
  #composerEditPanel[hidden] textarea {
    display: none !important;
  }
}


/* =========================================================
   v3.2.0 AI Curriculum Grounding
   ========================================================= */
.curriculum-grounding-card{
  margin:2px 0 15px;
  padding:16px;
  border:1px solid #b9dec8;
  border-radius:15px;
  background:
    radial-gradient(circle at 96% 0,rgba(22,132,71,.10),transparent 35%),
    #f5fbf7;
}
[data-theme="dark"] .curriculum-grounding-card{
  border-color:#315944;
  background:#12251a;
}
.curriculum-grounding-heading{
  display:flex;
  align-items:center;
  gap:12px;
}
.curriculum-regulation-mark,
.curriculum-result-icon{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:46px;
  height:46px;
  border-radius:13px;
  color:#fff;
  background:linear-gradient(135deg,#0f7a3c,#16a05a);
  font-size:12px;
  font-weight:900;
  box-shadow:0 10px 22px rgba(15,122,60,.20);
}
.curriculum-grounding-heading>div:last-child{
  min-width:0;
}
.curriculum-grounding-heading span,
.curriculum-mini-label{
  display:block;
  color:#237344;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.curriculum-grounding-heading strong,
.curriculum-grounding-heading small{
  display:block;
}
.curriculum-grounding-heading strong{
  margin:3px 0;
  color:#133b25;
  font-size:13px;
}
[data-theme="dark"] .curriculum-grounding-heading strong{
  color:#e4f6eb;
}
.curriculum-grounding-heading small{
  color:var(--muted);
  font-size:9px;
}
.curriculum-auto-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:14px;
}
.curriculum-auto-grid>div{
  padding:10px;
  border:1px solid rgba(22,132,71,.15);
  border-radius:10px;
  background:rgba(255,255,255,.72);
}
[data-theme="dark"] .curriculum-auto-grid>div{
  background:rgba(255,255,255,.035);
}
.curriculum-auto-grid strong,
.curriculum-auto-grid small{
  display:block;
}
.curriculum-auto-grid strong{
  margin:3px 0;
  font-size:10px;
}
.curriculum-auto-grid small{
  color:var(--muted);
  font-size:8px;
  line-height:1.45;
}
.curriculum-options{
  margin-top:12px;
  border-top:1px dashed #bdd8c8;
  padding-top:11px;
}
.curriculum-options summary{
  color:#19683b;
  font-size:10px;
  font-weight:850;
  cursor:pointer;
}
.curriculum-option-section{
  margin-top:13px;
}
.curriculum-option-section>div:first-child strong,
.curriculum-option-section>div:first-child small{
  display:block;
}
.curriculum-option-section>div:first-child strong{
  font-size:11px;
}
.curriculum-option-section>div:first-child small{
  margin-top:2px;
  color:var(--muted);
  font-size:9px;
}
.curriculum-chip-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-top:8px;
}
.curriculum-chip-grid.dimensions{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.curriculum-chip{
  position:relative;
  display:flex!important;
  align-items:center;
  gap:7px;
  min-height:38px;
  margin:0!important;
  padding:8px 9px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--panel);
  cursor:pointer;
}
.curriculum-chip input{
  width:15px!important;
  height:15px!important;
  min-height:0!important;
  margin:0;
  accent-color:#168447;
}
.curriculum-chip span{
  margin:0!important;
  font-size:9px!important;
  line-height:1.35;
}
.curriculum-chip:has(input:checked){
  border-color:#22a35b;
  background:#eaf8ef;
}
[data-theme="dark"] .curriculum-chip:has(input:checked){
  background:#153623;
}
.curriculum-accuracy-note{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:0 0 11px;
  padding:9px 10px;
  border-radius:9px;
  color:#785500;
  background:#fff7db;
  font-size:9px;
  line-height:1.5;
}
[data-theme="dark"] .curriculum-accuracy-note{
  color:#f7d778;
  background:#3d2f08;
}
.curriculum-accuracy-note strong{
  white-space:nowrap;
}
.curriculum-result-summary{
  display:flex;
  align-items:center;
  gap:13px;
  padding:14px;
  margin-bottom:14px;
  border-color:#b7ddc6;
}
.curriculum-result-copy{
  flex:1;
  min-width:0;
}
.curriculum-result-copy span,
.curriculum-result-copy strong,
.curriculum-result-copy small{
  display:block;
}
.curriculum-result-copy span{
  color:#27804b;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.curriculum-result-copy strong{
  margin:3px 0;
  font-size:11px;
}
.curriculum-result-copy small{
  color:var(--muted);
  font-size:9px;
  line-height:1.5;
}
.curriculum-reference-page{
  max-width:1200px;
}
.curriculum-reference-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  padding:30px;
  margin-bottom:14px;
  border-radius:24px;
  color:#fff;
  background:
    radial-gradient(circle at 88% 10%,rgba(255,255,255,.17),transparent 30%),
    linear-gradient(135deg,#0e5930,#14864a 55%,#19a75a);
  box-shadow:0 24px 65px rgba(15,122,60,.18);
}
.curriculum-reference-hero span{
  font-size:9px;
  font-weight:900;
  letter-spacing:.13em;
}
.curriculum-reference-hero h1{
  margin:6px 0;
  font-size:29px;
  letter-spacing:-.035em;
}
.curriculum-reference-hero p{
  max-width:760px;
  margin:0;
  opacity:.9;
  line-height:1.6;
}
.curriculum-reference-status{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:200px;
  padding:13px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:14px;
  background:rgba(255,255,255,.10);
}
.curriculum-reference-status strong,
.curriculum-reference-status small{
  display:block;
}
.curriculum-reference-status small{
  margin-top:3px;
  opacity:.8;
}
.curriculum-regulation-overview{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  padding:14px;
  margin-bottom:14px;
}
.curriculum-regulation-overview>div{
  padding:11px;
  border-radius:10px;
  background:var(--panel-soft);
}
.curriculum-regulation-overview span,
.curriculum-regulation-overview strong{
  display:block;
}
.curriculum-regulation-overview span{
  margin-bottom:4px;
  color:var(--muted);
  font-size:8px;
  text-transform:uppercase;
}
.curriculum-regulation-overview strong{
  font-size:10px;
  line-height:1.45;
}
.curriculum-source-section{
  padding:20px;
  margin-bottom:14px;
}
.curriculum-source-list{
  display:grid;
  gap:8px;
}
.curriculum-source-list article{
  display:grid;
  grid-template-columns:60px 1fr auto;
  align-items:center;
  gap:13px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:11px;
}
.curriculum-source-type{
  padding:7px 5px;
  border-radius:8px;
  color:#17643a;
  background:#e7f6ed;
  text-align:center;
  font-size:8px;
  font-weight:900;
}
[data-theme="dark"] .curriculum-source-type{
  color:#8ee6ad;
  background:#153623;
}
.curriculum-source-list h3{
  margin:0;
  font-size:11px;
}
.curriculum-source-list p{
  margin:4px 0;
  color:var(--muted);
  font-size:9px;
  line-height:1.5;
}
.curriculum-source-list small{
  color:var(--muted);
  font-size:8px;
}
.curriculum-principle-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.curriculum-principle-card{
  padding:19px;
}
.curriculum-principle-list{
  display:grid;
  gap:8px;
}
.curriculum-principle-list>div{
  padding:10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--panel-soft);
}
.curriculum-principle-list strong{
  display:block;
  font-size:10px;
}
.curriculum-principle-list p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:9px;
  line-height:1.5;
}
.curriculum-disclaimer{
  margin-top:14px;
  padding:16px;
  border-left:4px solid #e5a615;
}
.curriculum-disclaimer p{
  margin:5px 0 0;
  color:var(--muted);
  line-height:1.6;
}
@media(max-width:850px){
  .curriculum-auto-grid,
  .curriculum-regulation-overview{
    grid-template-columns:1fr 1fr;
  }
  .curriculum-reference-hero{
    align-items:flex-start;
    flex-direction:column;
  }
  .curriculum-reference-status{
    width:100%;
  }
}
@media(max-width:650px){
  .curriculum-auto-grid,
  .curriculum-chip-grid,
  .curriculum-chip-grid.dimensions,
  .curriculum-regulation-overview,
  .curriculum-principle-grid{
    grid-template-columns:1fr;
  }
  .curriculum-reference-hero{
    padding:23px;
  }
  .curriculum-reference-hero h1{
    font-size:25px;
  }
  .curriculum-source-list article{
    grid-template-columns:50px 1fr;
  }
  .curriculum-source-list article .btn{
    grid-column:1/-1;
    width:100%;
  }
  .curriculum-result-summary{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .curriculum-result-summary .btn{
    width:100%;
  }
}


/* =========================================================
   v3.3.0 AI Workflow Automation
   ========================================================= */
.automation-page,.automation-result-page{
  max-width:1280px;
}
.automation-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  padding:32px;
  margin-bottom:15px;
  border-radius:25px;
  color:#fff;
  background:
    radial-gradient(circle at 88% 10%,rgba(255,255,255,.18),transparent 29%),
    linear-gradient(135deg,#132d20,#126e3d 52%,#19a65a);
  box-shadow:0 25px 70px rgba(17,110,61,.20);
}
.automation-hero>div:first-child{
  max-width:780px;
}
.automation-hero span{
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
}
.automation-hero h1{
  margin:7px 0;
  font-size:36px;
  letter-spacing:-.04em;
}
.automation-hero p{
  margin:0;
  line-height:1.65;
  opacity:.9;
}
.automation-status-card{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:215px;
  padding:15px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:16px;
  background:rgba(255,255,255,.1);
}
.automation-status-card strong,
.automation-status-card small{
  display:block;
}
.automation-status-card small{
  margin-top:3px;
  opacity:.8;
}
.automation-layout{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(320px,.58fr);
  gap:15px;
}
.automation-form,.automation-history{
  padding:21px;
}
.automation-form>label{
  display:block;
  margin-bottom:12px;
}
.automation-form label>span:first-child{
  display:block;
  margin-bottom:6px;
  font-size:11px;
  font-weight:800;
}
.automation-form input,
.automation-form select,
.automation-form textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
  color:var(--text);
  padding:10px 11px;
}
.automation-form input,
.automation-form select{
  height:42px;
}
.automation-form textarea{
  resize:vertical;
}
.automation-output-section{
  margin:14px 0;
  padding:15px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--panel-soft);
}
.automation-output-section>div:first-child strong,
.automation-output-section>div:first-child small{
  display:block;
}
.automation-output-section>div:first-child small{
  margin-top:3px;
  color:var(--muted);
  font-size:9px;
}
.automation-output-grid{
  display:grid;
  gap:7px;
  margin-top:11px;
}
.automation-output-card{
  position:relative;
  display:grid!important;
  grid-template-columns:18px 30px 1fr;
  align-items:center;
  gap:9px;
  min-height:56px;
  margin:0!important;
  padding:9px 11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
  cursor:pointer;
}
.automation-output-card>input{
  width:16px!important;
  height:16px!important;
  min-height:0!important;
  margin:0;
  accent-color:#168447;
}
.automation-output-order{
  display:grid!important;
  place-items:center;
  width:27px;
  height:27px;
  margin:0!important;
  border-radius:8px;
  color:#17673b;
  background:#e6f6ec;
  font-size:9px!important;
  font-weight:900!important;
}
[data-theme="dark"] .automation-output-order{
  color:#8fe2ad;
  background:#163722;
}
.automation-output-card strong,
.automation-output-card small{
  display:block;
}
.automation-output-card strong{
  font-size:10px;
}
.automation-output-card small{
  margin-top:3px;
  color:var(--muted);
  font-size:8px;
  line-height:1.4;
}
.automation-output-card:has(input:checked){
  border-color:#21a65c;
  background:#f0faf4;
}
[data-theme="dark"] .automation-output-card:has(input:checked){
  background:#142e1e;
}
.automation-output-card.audit{
  grid-template-columns:30px 1fr;
}
.automation-output-card.locked{
  cursor:default;
  border-style:dashed;
}
.automation-history-list{
  display:grid;
  gap:8px;
}
.automation-history-list a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px;
  border:1px solid var(--line);
  border-radius:11px;
  color:var(--text);
  text-decoration:none;
}
.automation-history-list a:hover{
  background:var(--panel-soft);
}
.automation-history-list strong,
.automation-history-list small{
  display:block;
}
.automation-history-list strong{
  font-size:10px;
}
.automation-history-list small{
  margin-top:4px;
  color:var(--muted);
  font-size:8px;
}
.workflow-status,.workflow-step-status{
  flex:0 0 auto;
  padding:5px 8px;
  border-radius:999px;
  background:var(--panel-soft);
  color:var(--muted);
  font-size:8px;
  font-weight:900;
}
.workflow-overview{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px;
  margin-bottom:14px;
}
.workflow-overview-main{
  display:flex;
  align-items:center;
  gap:13px;
}
.workflow-state-icon{
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border-radius:14px;
  color:#1f6b40;
  background:#e5f6eb;
  font-size:22px;
}
.workflow-state-icon.status-gagal{
  color:#b42318;
  background:#fee4e2;
}
.workflow-state-icon.status-selesai{
  color:#fff;
  background:#168447;
}
.workflow-overview-main span{
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.1em;
}
.workflow-overview-main h2{
  margin:3px 0;
  font-size:18px;
}
.workflow-overview-main p{
  margin:0;
  color:var(--muted);
  font-size:10px;
}
.workflow-score{
  min-width:125px;
  padding:12px;
  border-radius:12px;
  background:var(--panel-soft);
  text-align:center;
}
.workflow-score span,
.workflow-score strong,
.workflow-score small{
  display:block;
}
.workflow-score span{
  color:var(--muted);
  font-size:8px;
}
.workflow-score strong{
  margin:3px 0;
  color:#168447;
  font-size:26px;
}
.workflow-score small{
  font-size:8px;
  text-transform:uppercase;
}
.workflow-progress-card{
  padding:15px;
  margin-bottom:14px;
}
.workflow-progress-copy{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:15px;
}
.workflow-progress-copy strong,
.workflow-progress-copy small{
  display:block;
}
.workflow-progress-copy small{
  margin-top:3px;
  color:var(--muted);
  font-size:9px;
}
.workflow-progress-track{
  height:10px;
  margin-top:10px;
  overflow:hidden;
  border-radius:999px;
  background:var(--panel-soft);
}
.workflow-progress-track>div{
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#148449,#25b867);
  transition:width .35s ease;
}
.workflow-step-list{
  display:grid;
  gap:9px;
}
.workflow-step{
  display:grid;
  grid-template-columns:38px 1fr auto;
  align-items:center;
  gap:13px;
  padding:13px;
}
.workflow-step-number{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:10px;
  color:#53645b;
  background:var(--panel-soft);
  font-size:10px;
  font-weight:900;
}
.workflow-step-copy span{
  color:var(--muted);
  font-size:7px;
  font-weight:900;
  letter-spacing:.1em;
}
.workflow-step-copy h3{
  margin:2px 0;
  font-size:11px;
}
.workflow-step-copy p{
  margin:0;
  color:var(--muted);
  font-size:9px;
}
.workflow-step-actions{
  display:flex;
  align-items:center;
  gap:7px;
}
.workflow-step.status-diproses{
  border-color:#7cb3ff;
  box-shadow:0 0 0 3px rgba(59,130,246,.08);
}
.workflow-step.status-diproses .workflow-step-number{
  color:#1d4ed8;
  background:#dbeafe;
}
.workflow-step.status-selesai .workflow-step-number{
  color:#166534;
  background:#dcfce7;
}
.workflow-step.status-gagal{
  border-color:#f2a9a3;
}
.workflow-step.status-gagal .workflow-step-number{
  color:#b42318;
  background:#fee4e2;
}
.workflow-error-box{
  margin-top:14px;
  padding:16px;
  border-left:4px solid #ef4444;
}
.workflow-error-box p{
  margin:6px 0 12px;
  color:var(--muted);
}
.workflow-audit-result{
  margin-top:14px;
  padding:18px;
}
.compact-document.ai-document-preview{
  width:100%;
  min-height:0;
  margin:10px 0 0;
  padding:25px;
  border-radius:10px;
  box-shadow:none;
}
.compact-document.ai-document-preview h1{
  font-size:22px;
  text-align:left;
}
.compact-document.ai-document-preview h2{
  font-size:16px;
}
.status-antri,.status-menunggu{
  color:#785a00!important;
}
.status-diproses{
  color:#1d4ed8!important;
}
.status-selesai{
  color:#166534!important;
}
.status-gagal{
  color:#b42318!important;
}
@media(max-width:900px){
  .automation-layout{
    grid-template-columns:1fr;
  }
  .automation-hero{
    align-items:flex-start;
    flex-direction:column;
  }
  .automation-status-card{
    width:100%;
  }
}
@media(max-width:650px){
  .automation-hero{
    padding:24px;
  }
  .automation-hero h1{
    font-size:28px;
  }
  .workflow-overview{
    align-items:flex-start;
    flex-direction:column;
  }
  .workflow-score{
    width:100%;
  }
  .workflow-step{
    grid-template-columns:34px 1fr;
  }
  .workflow-step-actions{
    grid-column:1/-1;
    justify-content:flex-end;
  }
}


/* =========================================================
   v3.4.0 AI Structured Publisher
   ========================================================= */
.simple-actions form{display:inline-flex;margin:0}
.workflow-package-builder{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin-top:14px;padding:17px;border-color:#b9d8ff;
  background:radial-gradient(circle at 95% 5%,rgba(59,130,246,.10),transparent 35%),var(--panel)
}
.workflow-package-copy{display:flex;align-items:center;gap:13px}
.workflow-package-icon{
  display:grid;place-items:center;flex:0 0 auto;width:50px;height:50px;
  border-radius:14px;color:#fff;background:linear-gradient(135deg,#1d4ed8,#6d28d9);
  font-size:10px;font-weight:900
}
.workflow-package-copy span{color:#4f46e5;font-size:8px;font-weight:900;letter-spacing:.1em}
.workflow-package-copy h2{margin:3px 0;font-size:15px}
.workflow-package-copy p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}
.package-publisher-page,.package-list-page{max-width:1200px}
.package-publisher-hero,.package-list-hero{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:30px;margin-bottom:14px;border-radius:24px;color:#fff;
  background:radial-gradient(circle at 88% 10%,rgba(255,255,255,.18),transparent 30%),
             linear-gradient(135deg,#172554,#1d4ed8 55%,#6d28d9);
  box-shadow:0 24px 65px rgba(37,99,235,.18)
}
.package-publisher-hero>div:first-child,.package-list-hero>div:first-child{max-width:760px}
.package-publisher-hero span,.package-list-hero span{font-size:9px;font-weight:900;letter-spacing:.13em}
.package-publisher-hero h1,.package-list-hero h1{margin:6px 0;font-size:30px;letter-spacing:-.035em}
.package-publisher-hero p,.package-list-hero p{margin:0;opacity:.9;line-height:1.6}
.package-publisher-score{
  min-width:135px;padding:14px;border:1px solid rgba(255,255,255,.22);
  border-radius:16px;background:rgba(255,255,255,.11);text-align:center
}
.package-publisher-score span,.package-publisher-score strong,.package-publisher-score small{display:block}
.package-publisher-score span{font-size:8px}
.package-publisher-score strong{margin:4px 0;font-size:34px}
.package-publisher-score small{font-size:8px;text-transform:uppercase}
.package-status-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;
  padding:14px;margin-bottom:14px
}
.package-status-grid>div{padding:11px;border-radius:10px;background:var(--panel-soft)}
.package-status-grid span,.package-status-grid strong{display:block}
.package-status-grid span{margin-bottom:4px;color:var(--muted);font-size:8px;text-transform:uppercase}
.package-status-grid strong{font-size:10px}
.package-sync-warning{
  margin-bottom:14px;padding:15px;border-left:4px solid #f59e0b;background:#fffbeb
}
[data-theme="dark"] .package-sync-warning{background:#3c2c06}
.package-sync-warning p{margin:5px 0 0;color:var(--muted)}
.package-publisher-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px}
.quality-gate-card,.package-assets-card{padding:19px}
.quality-check-list{display:grid;gap:7px}
.quality-check-list>div{
  display:flex;align-items:center;gap:9px;padding:9px 10px;
  border:1px solid var(--line);border-radius:9px
}
.quality-check-list>div>span{
  display:grid;place-items:center;flex:0 0 auto;width:25px;height:25px;
  border-radius:8px;font-weight:900
}
.quality-check-list .passed>span{color:#166534;background:#dcfce7}
.quality-check-list .failed>span{color:#b42318;background:#fee2e2}
.quality-check-list strong,.quality-check-list small{display:block}
.quality-check-list strong{font-size:9px}
.quality-check-list small{margin-top:2px;color:var(--muted);font-size:8px}
.quality-error-list,.quality-warning-list{
  margin-top:13px;padding:11px;border-radius:9px;font-size:9px;line-height:1.5
}
.quality-error-list{color:#9f1c13;background:#fff0ee}
.quality-warning-list{color:#7a5700;background:#fff8dc}
[data-theme="dark"] .quality-error-list{color:#ffaaa3;background:#451b18}
[data-theme="dark"] .quality-warning-list{color:#f8db80;background:#3c2e08}
.quality-error-list ul,.quality-warning-list ul{margin:6px 0 0;padding-left:18px}
.package-review-actions{display:flex;gap:8px;margin-top:14px}
.package-asset-list{display:grid;gap:8px}
.package-asset-list article{
  display:grid;grid-template-columns:38px 1fr auto;align-items:center;
  gap:10px;padding:10px;border:1px solid var(--line);border-radius:9px
}
.package-asset-icon{
  display:grid;place-items:center;width:34px;height:34px;border-radius:10px;
  color:#1d4ed8;background:#dbeafe;font-size:11px;font-weight:900
}
.package-asset-list strong,.package-asset-list small{display:block}
.package-asset-list strong{font-size:10px}
.package-asset-list small{margin-top:3px;color:var(--muted);font-size:8px}
.package-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.package-list-card{padding:17px}
.package-list-status{display:flex;justify-content:space-between;gap:7px}
.package-list-status span{
  padding:5px 8px;border-radius:999px;background:var(--panel-soft);
  font-size:8px;font-weight:900
}
.package-list-card h3{margin:13px 0 5px;font-size:14px}
.package-list-card>p{margin:0;color:var(--muted);font-size:9px}
.package-list-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}
.package-list-metrics>div{padding:9px;border-radius:9px;background:var(--panel-soft);text-align:center}
.package-list-metrics strong,.package-list-metrics span{display:block}
.package-list-metrics strong{font-size:17px}
.package-list-metrics span{margin-top:2px;color:var(--muted);font-size:7px}
.package-list-sync{
  margin-bottom:10px;padding:7px;border-radius:8px;color:#7a5700;
  background:#fff5cc;font-size:8px;text-align:center
}
.quality-siap_terbit,.status-terbit{color:#166534!important;background:#dcfce7!important}
.quality-tidak_lengkap,.quality-perlu_tinjau{color:#9a3412!important;background:#ffedd5!important}
.status-review{color:#1d4ed8!important;background:#dbeafe!important}
@media(max-width:900px){
  .package-publisher-layout{grid-template-columns:1fr}
  .package-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .workflow-package-builder,.package-publisher-hero{align-items:flex-start;flex-direction:column}
  .workflow-package-builder .btn,.workflow-package-builder form{width:100%}
  .workflow-package-builder form .btn{width:100%}
  .package-publisher-score{width:100%}
  .package-status-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .package-list-grid,.package-status-grid{grid-template-columns:1fr}
  .package-publisher-hero,.package-list-hero{padding:23px}
  .package-publisher-hero h1,.package-list-hero h1{font-size:25px}
  .package-review-actions{flex-direction:column}
  .package-review-actions form,.package-review-actions .btn{width:100%}
}


/* =========================================================
   v3.5.0 Curriculum Menu Automation
   ========================================================= */
.curriculum-selector{
  margin:14px 0;
  padding:16px;
  border:1px solid #b8d8ff;
  border-radius:15px;
  background:
    radial-gradient(circle at 96% 0,rgba(37,99,235,.08),transparent 35%),
    var(--panel);
}
.curriculum-selector.is-loading{
  opacity:.72;
  pointer-events:none;
}
.curriculum-selector-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.curriculum-selector-heading>div>span{
  color:#2563eb;
  font-size:8px;
  font-weight:900;
  letter-spacing:.11em;
}
.curriculum-selector-heading h3{
  margin:3px 0 0;
  font-size:14px;
}
.catalog-mode-field{
  width:235px;
  margin:0!important;
}
.catalog-mode-field span{
  font-size:8px!important;
}
.catalog-cp-preview{
  margin-top:10px;
  padding:12px;
  border-left:4px solid #2563eb;
  border-radius:9px;
  background:#eff6ff;
}
[data-theme="dark"] .catalog-cp-preview{
  background:#172b4d;
}
.catalog-cp-preview>div{
  display:flex;
  align-items:center;
  gap:8px;
}
.catalog-cp-preview>div span{
  padding:4px 7px;
  border-radius:999px;
  color:#1d4ed8;
  background:#dbeafe;
  font-size:8px;
  font-weight:900;
}
.catalog-cp-preview>div strong{
  font-size:10px;
}
.catalog-cp-preview p{
  margin:8px 0 4px;
  font-size:9px;
  line-height:1.6;
}
.catalog-cp-preview small{
  color:var(--muted);
  font-size:8px;
}
.catalog-regulatory-note{
  margin:10px 0 0;
  color:var(--muted);
  font-size:8px;
  line-height:1.5;
}
.curriculum-catalog-page{
  max-width:1200px;
}
.catalog-hero{
  padding:29px;
  margin-bottom:14px;
  border-radius:24px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 10%,rgba(255,255,255,.18),transparent 30%),
    linear-gradient(135deg,#15325b,#2563eb 56%,#0f8a52);
  box-shadow:0 23px 65px rgba(37,99,235,.18);
}
.catalog-hero span{
  font-size:9px;
  font-weight:900;
  letter-spacing:.13em;
}
.catalog-hero h1{
  margin:6px 0;
  font-size:31px;
  letter-spacing:-.035em;
}
.catalog-hero p{
  max-width:780px;
  margin:0;
  opacity:.9;
  line-height:1.6;
}
.catalog-filter{
  display:grid;
  grid-template-columns:150px 170px 1fr;
  gap:10px;
  padding:14px;
  margin-bottom:14px;
}
.catalog-filter label{
  margin:0;
}
.catalog-filter span{
  display:block;
  margin-bottom:5px;
  color:var(--muted);
  font-size:8px;
  font-weight:800;
}
.catalog-filter select{
  width:100%;
  height:41px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:9px;
  color:var(--text);
  background:var(--panel);
}
.catalog-cp-card{
  padding:18px;
  margin-bottom:14px;
}
.catalog-cp-heading{
  display:flex;
  align-items:center;
  gap:12px;
}
.catalog-cp-heading span{
  color:#2563eb;
  font-size:8px;
  font-weight:900;
}
.catalog-cp-heading h2{
  margin:2px 0;
  font-size:15px;
}
.catalog-cp-heading small{
  color:var(--muted);
  font-size:8px;
}
.catalog-cp-card>p{
  margin:12px 0;
  line-height:1.65;
}
.catalog-source-note{
  padding:9px;
  border-radius:8px;
  background:var(--panel-soft);
  color:var(--muted);
  font-size:8px;
}
.catalog-source-note a{
  color:#2563eb;
  font-weight:800;
}
.catalog-topic-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
}
.catalog-topic-card{
  padding:16px;
}
.catalog-topic-card>span{
  color:#0f8a52;
  font-size:7px;
  font-weight:900;
  letter-spacing:.1em;
}
.catalog-topic-card h3{
  margin:5px 0;
  font-size:13px;
}
.catalog-topic-card>p{
  margin:0 0 10px;
  color:var(--muted);
  font-size:8px;
  line-height:1.5;
}
.catalog-tp-list{
  display:grid;
  gap:7px;
}
.catalog-tp-list>div{
  padding:9px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel-soft);
}
.catalog-tp-list strong{
  display:block;
  color:#2563eb;
  font-size:7px;
  text-transform:uppercase;
}
.catalog-tp-list p{
  margin:4px 0 0;
  font-size:8px;
  line-height:1.5;
}
@media(max-width:850px){
  .catalog-topic-grid{grid-template-columns:1fr 1fr}
  .catalog-filter{grid-template-columns:1fr 1fr}
  .catalog-filter label:last-child{grid-column:1/-1}
}
@media(max-width:620px){
  .curriculum-selector-heading{
    align-items:stretch;
    flex-direction:column;
  }
  .catalog-mode-field{width:100%}
  .catalog-topic-grid,.catalog-filter{grid-template-columns:1fr}
  .catalog-filter label:last-child{grid-column:auto}
  .catalog-hero{padding:22px}
  .catalog-hero h1{font-size:25px}
}


/* =========================================================
   v3.6.3 Final Ease of Use Suite
   ========================================================= */
.quick-start-nav{background:linear-gradient(135deg,rgba(20,108,67,.12),rgba(37,99,235,.08));border:1px solid rgba(20,108,67,.16)}
.usability-hero{background:radial-gradient(circle at 88% 10%,rgba(255,255,255,.18),transparent 30%),linear-gradient(135deg,#123628,#146c43 55%,#2563eb)}
.dashboard-quick-start,.dashboard-favorites,.dashboard-work-center{margin-top:16px}
.dashboard-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.dashboard-quick-card{display:grid;grid-template-columns:48px 1fr 22px;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);text-decoration:none;transition:.2s ease}
.dashboard-quick-card:hover{transform:translateY(-2px);border-color:#68b68b;box-shadow:0 12px 28px rgba(15,118,71,.10)}
.dashboard-quick-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,#e3f6eb,#dbeafe);color:#146c43;font-weight:900;font-size:16px}
.dashboard-quick-card small,.dashboard-quick-card strong,.dashboard-quick-card p{display:block}
.dashboard-quick-card small{color:#16804d;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.dashboard-quick-card strong{margin:3px 0;font-size:12px}
.dashboard-quick-card p{margin:0;color:var(--muted);font-size:9px;line-height:1.45}
.dashboard-quick-arrow{color:#146c43;font-size:18px;font-weight:900}
.dashboard-favorite-grid{display:flex;flex-wrap:wrap;gap:8px}
.dashboard-favorite-grid a{min-width:190px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--text);text-decoration:none}
.dashboard-favorite-grid strong,.dashboard-favorite-grid small{display:block}.dashboard-favorite-grid strong{font-size:10px}.dashboard-favorite-grid small{margin-top:3px;color:var(--muted);font-size:8px}
.work-center-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.work-center-column{padding:15px}.work-center-heading{display:flex;align-items:center;gap:9px;margin-bottom:10px}.work-center-heading strong,.work-center-heading small{display:block}.work-center-heading strong{font-size:10px}.work-center-heading small{margin-top:2px;color:var(--muted);font-size:8px}.work-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 5px rgba(148,163,184,.12)}.work-dot.running{background:#2563eb}.work-dot.attention{background:#f59e0b}.work-dot.ready{background:#16a05a}.work-center-list{display:grid;gap:7px}.work-center-list a{padding:9px;border-radius:9px;background:var(--panel-soft);color:var(--text);text-decoration:none}.work-center-list strong,.work-center-list small{display:block}.work-center-list strong{font-size:9px}.work-center-list small{margin-top:3px;color:var(--muted);font-size:8px}.compact-empty{margin:12px 0 0;font-size:9px}
.quick-start-page{max-width:1180px}.quick-start-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;margin-bottom:14px;border-radius:24px;color:#fff;background:radial-gradient(circle at 88% 10%,rgba(255,255,255,.17),transparent 30%),linear-gradient(135deg,#103b28,#157445 58%,#2563eb);box-shadow:0 24px 64px rgba(15,118,71,.18)}.quick-start-hero>div:first-child{max-width:760px}.quick-start-hero span{font-size:9px;font-weight:900;letter-spacing:.13em}.quick-start-hero h1{margin:6px 0;font-size:32px;letter-spacing:-.04em}.quick-start-hero p{margin:0;opacity:.9;line-height:1.6}.quick-start-readiness{display:flex;align-items:center;gap:11px;min-width:235px;padding:14px;border:1px solid rgba(255,255,255,.2);border-radius:15px;background:rgba(255,255,255,.10)}.quick-start-readiness strong,.quick-start-readiness small{display:block}.quick-start-readiness small{margin-top:3px;opacity:.8;font-size:8px}.quick-start-intro{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px;margin-bottom:14px}.quick-start-intro>div{display:flex;align-items:center;gap:8px;padding:8px;border-radius:9px;background:var(--panel-soft)}.quick-start-intro b{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;color:#fff;background:#146c43;font-size:9px}.quick-start-intro span{font-size:9px;font-weight:750}.quick-favorites-strip{margin-bottom:14px}.quick-favorite-list{display:flex;flex-wrap:wrap;gap:8px}.quick-favorite-chip{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:11px;background:var(--panel);overflow:hidden}.quick-favorite-chip>a{padding:9px 11px;color:var(--text);text-decoration:none}.quick-favorite-chip strong,.quick-favorite-chip small{display:block}.quick-favorite-chip strong{font-size:9px}.quick-favorite-chip small{margin-top:2px;color:var(--muted);font-size:8px}.quick-favorite-chip form{display:flex;margin:0;border-left:1px solid var(--line)}.quick-favorite-chip button{width:32px;border:0;background:transparent;color:var(--muted);cursor:pointer}.quick-wizard{padding:0;overflow:hidden}.quick-wizard-steps{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line);background:var(--panel-soft)}.quick-wizard-steps button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:62px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}.quick-wizard-steps button:last-child{border-right:0}.quick-wizard-steps b{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:var(--panel);font-size:9px}.quick-wizard-steps span{font-size:9px;font-weight:800}.quick-wizard-steps button.active{color:#146c43;background:rgba(20,108,67,.07)}.quick-wizard-steps button.active b,.quick-wizard-steps button.complete b{color:#fff;background:#146c43}.quick-wizard-panel{padding:22px;min-height:450px}.quick-wizard-panel[hidden]{display:none!important}.quick-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:15px}.quick-section-title>div>span{color:#16804d;font-size:8px;font-weight:900;letter-spacing:.1em}.quick-section-title h2{margin:3px 0 0;font-size:18px}.quick-section-title>p{max-width:460px;margin:0;color:var(--muted);font-size:9px;line-height:1.5;text-align:right}.quick-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-preset-card{position:relative;display:grid!important;grid-template-columns:50px 1fr 28px;align-items:center;gap:12px;min-height:100px;margin:0!important;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--panel);cursor:pointer}.quick-preset-card input{position:absolute;opacity:0;pointer-events:none}.quick-preset-icon{display:grid!important;place-items:center;width:48px;height:48px;margin:0!important;border-radius:14px;color:#146c43;background:#e4f7eb;font-size:17px!important;font-weight:900!important}.quick-preset-copy{margin:0!important}.quick-preset-copy small,.quick-preset-copy strong,.quick-preset-copy em{display:block}.quick-preset-copy small{color:#16804d;font-size:7px!important;font-weight:900!important;text-transform:uppercase}.quick-preset-copy strong{margin:4px 0;font-size:11px}.quick-preset-copy em{color:var(--muted);font-size:8px;font-style:normal;line-height:1.45}.quick-preset-check{display:grid!important;place-items:center;width:24px;height:24px;margin:0!important;border:1px solid var(--line);border-radius:50%;color:transparent}.quick-preset-card:has(input:checked){border-color:#22a35b;background:#f1fbf5;box-shadow:0 0 0 3px rgba(34,163,91,.08)}[data-theme="dark"] .quick-preset-card:has(input:checked){background:#143322}.quick-preset-card:has(input:checked) .quick-preset-check{border-color:#168447;color:#fff;background:#168447}.quick-class-grid{display:grid;grid-template-columns:1fr 1fr .8fr;gap:12px}.quick-class-grid label,.quick-setting-grid label{margin:0}.quick-class-grid label>span,.quick-setting-grid label>span{display:block;margin-bottom:6px;font-size:10px;font-weight:800}.quick-class-grid select,.quick-setting-grid input,.quick-setting-grid textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:10px}.quick-class-grid select,.quick-setting-grid input{height:44px}.quick-phase-card{padding:11px;border-radius:11px;background:linear-gradient(135deg,#e8f7ee,#eaf2ff)}[data-theme="dark"] .quick-phase-card{background:#173026}.quick-phase-card span,.quick-phase-card strong,.quick-phase-card small{display:block}.quick-phase-card span{color:#16804d;font-size:8px;font-weight:900;text-transform:uppercase}.quick-phase-card strong{margin:5px 0;font-size:18px}.quick-phase-card small{color:var(--muted);font-size:8px}.quick-setting-grid{display:grid;grid-template-columns:.6fr 1.4fr;gap:12px}.quick-setting-grid small{display:block;margin-top:4px;color:var(--muted);font-size:8px}.quick-advanced-options{margin-top:14px;padding:13px;border:1px solid var(--line);border-radius:11px}.quick-advanced-options summary{cursor:pointer;color:#146c43;font-size:10px;font-weight:850}.quick-favorite-save{display:flex!important;align-items:flex-start;gap:10px;margin:14px 0 0!important;padding:11px;border:1px dashed #9cc9ad;border-radius:10px;background:#f5fbf7}.quick-favorite-save input{width:17px!important;height:17px!important;min-height:0!important;accent-color:#168447}.quick-favorite-save strong,.quick-favorite-save small{display:block}.quick-favorite-save strong{font-size:9px}.quick-favorite-save small{margin-top:3px;color:var(--muted);font-size:8px}.quick-review-card{display:grid;grid-template-columns:1.4fr .6fr;gap:14px}.quick-review-card dl{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.quick-review-card dl>div{display:grid;grid-template-columns:160px 1fr;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.quick-review-card dl>div:last-child{border-bottom:0}.quick-review-card dt{color:var(--muted);font-size:9px}.quick-review-card dd{margin:0;font-size:9px;font-weight:750}.quick-review-note{padding:16px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#146c43,#2563eb)}.quick-review-note strong{display:block;font-size:14px}.quick-review-note p{margin:7px 0 0;opacity:.9;font-size:9px;line-height:1.6}.quick-wizard-actions{position:sticky;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:13px 18px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(12px);z-index:5}.quick-wizard-actions>span{margin-right:auto;color:var(--muted);font-size:9px}.quick-submit{min-width:160px}.quick-forward-page{display:grid;place-items:center;min-height:100vh;margin:0;background:#f4f7f6}.quick-forward-card{width:min(420px,calc(100% - 32px));padding:30px;border:1px solid #dbe5e0;border-radius:18px;background:#fff;text-align:center;box-shadow:0 22px 60px rgba(15,23,42,.12)}.quick-forward-card .ui-spinner{display:block;margin:0 auto 16px}.quick-forward-card h1{margin:0;font-size:20px}.quick-forward-card p{margin:8px 0;color:#52635a}.quick-forward-card small{color:#849087}.quick-curriculum-selector{margin:0}.quick-start-body .simple-topbar{position:sticky;top:0;z-index:20}
@media(max-width:980px){.work-center-grid{grid-template-columns:1fr}.dashboard-quick-grid{grid-template-columns:1fr}.quick-start-hero{align-items:flex-start;flex-direction:column}.quick-start-readiness{width:100%}.quick-review-card{grid-template-columns:1fr}.quick-class-grid{grid-template-columns:1fr 1fr}.quick-phase-card{grid-column:1/-1}}
@media(max-width:700px){.quick-start-intro{grid-template-columns:1fr 1fr}.quick-wizard-steps button span{display:none}.quick-wizard-steps button{min-height:50px}.quick-wizard-panel{padding:16px;min-height:430px}.quick-section-title{align-items:flex-start;flex-direction:column}.quick-section-title>p{text-align:left}.quick-preset-grid{grid-template-columns:1fr}.quick-class-grid,.quick-setting-grid{grid-template-columns:1fr}.quick-phase-card{grid-column:auto}.quick-review-card dl>div{grid-template-columns:1fr;gap:3px}.quick-wizard-actions{padding:11px}.quick-wizard-actions>span{display:none}.quick-wizard-actions .btn{flex:1}.dashboard-favorite-grid a{width:100%}}
@media(max-width:520px){.quick-start-hero{padding:22px}.quick-start-hero h1{font-size:26px}.quick-start-intro{grid-template-columns:1fr}.quick-preset-card{grid-template-columns:42px 1fr 25px;padding:11px}.quick-preset-icon{width:40px;height:40px}.dashboard-quick-card{grid-template-columns:42px 1fr 18px;padding:12px}.dashboard-quick-icon{width:40px;height:40px}.quick-wizard-actions{position:fixed;left:0;right:0;bottom:0;border-radius:0}.quick-wizard{padding-bottom:70px}.quick-start-page{padding-bottom:25px}}

/* =========================================================
   v3.7.0 Commercial Accounts
   ========================================================= */
.auth-card-wide{width:min(520px,100%)}
.auth-demo-link{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid #e2e8f0;color:#64748b;font-size:13px}
.auth-demo-link a{color:#0f766e;font-weight:800}
.account-banner{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:13px 16px;border:1px solid;border-radius:13px;font-size:13px}
.account-banner strong{white-space:nowrap}
.account-banner.demo{border-color:#bae6fd;background:#e0f2fe;color:#075985}
.account-banner.expired{border-color:#fed7aa;background:#fff7ed;color:#9a3412}
.account-read-only form[method="post"] button{opacity:.45;pointer-events:none;cursor:not-allowed}
.subscription-page{display:grid;gap:20px}
.subscription-table td:last-child{min-width:420px}
.subscription-actions{display:grid;gap:8px;margin:0}
.subscription-actions>input{min-width:250px}
.subscription-actions>div{display:flex;gap:6px;flex-wrap:wrap}
.text-danger{color:#b91c1c}
@media(max-width:720px){
  .account-banner{align-items:flex-start;flex-direction:column;gap:4px}
  .account-banner strong{white-space:normal}
  .subscription-table td:last-child{min-width:310px}
}
