:root{--bg:#f3f6fb;--surface:#fff;--surface-soft:#f8fafc;--text:#172033;--muted:#6b778c;--line:#dfe5ee;--primary:#4f46e5;--primary-dark:#3730a3;--danger:#dc2626;--success:#16a34a;--shadow:0 12px 35px rgba(15,23,42,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.5}button,input,textarea,select{font:inherit}.app-header{height:68px;background:#0f172a;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:50;box-shadow:0 4px 18px rgba(15,23,42,.16)}.app-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;font-size:18px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#4338ca);box-shadow:0 6px 14px rgba(79,70,229,.35)}.app-nav{display:flex;align-items:center;gap:6px}.app-nav a{color:#cbd5e1;text-decoration:none;padding:9px 12px;border-radius:9px;font-weight:650;font-size:14px}.app-nav a:hover,.app-nav a.active{color:#fff;background:rgba(255,255,255,.1)}.app-nav .logout-link{color:#fecaca}.mobile-menu-button{display:none;background:transparent;color:#fff;border:0;font-size:24px}.container{max-width:1460px;margin:0 auto;padding:28px 24px 50px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px}.page-head h1{margin:4px 0 6px;font-size:32px;line-height:1.15}.page-head p{margin:0;color:var(--muted)}.eyebrow{display:block;font-size:11px;letter-spacing:.12em;font-weight:800;color:var(--primary)}.button,button{border:0;border-radius:10px;padding:10px 15px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:750;transition:.18s ease}.button.primary,button.primary,button:not([class]){background:var(--primary);color:#fff}.button.primary:hover,button.primary:hover,button:not([class]):hover{background:var(--primary-dark);transform:translateY(-1px)}.button.outline{background:#fff;color:#334155;border:1px solid #cbd5e1}.button.outline:hover{border-color:#94a3b8;background:#f8fafc}.danger,.button.danger{background:var(--danger);color:#fff}.danger-outline{background:#fff;color:var(--danger);border:1px solid #fecaca}.full-button{width:100%}.alert{max-width:1100px;margin:0 auto 18px;padding:13px 16px;border-radius:11px;font-weight:650}.success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.card,.template-panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.template-workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}.template-browser{padding:16px;position:sticky;top:88px}.template-main{display:grid;gap:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--line)}.panel-head.compact{padding-bottom:13px}.panel-head h2{margin:0;font-size:18px}.panel-head span{font-size:13px;color:var(--muted)}.search-box{position:relative;margin:14px 0}.search-box svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;fill:none;stroke:#94a3b8;stroke-width:2}.search-box input{padding-left:39px}.template-list-new{display:grid;gap:8px;max-height:calc(100vh - 295px);overflow:auto;padding-right:3px;margin-bottom:14px}.template-item{display:flex;align-items:center;gap:11px;padding:10px;border-radius:12px;color:var(--text);text-decoration:none;border:1px solid transparent}.template-item:hover{background:#f8fafc;border-color:#e2e8f0}.template-item.active{background:#eef2ff;border-color:#c7d2fe}.template-icon{flex:0 0 38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#e2e8f0;color:#475569;font-weight:850}.template-item.active .template-icon{background:var(--primary);color:#fff}.template-copy{min-width:0;flex:1}.template-copy strong,.template-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-copy strong{font-size:14px}.template-copy small{color:var(--muted);margin-top:2px}.template-chevron{font-size:22px;color:#94a3b8}.editor-panel{overflow:hidden}.editor-topbar{padding:18px 20px}.title-row{display:flex;align-items:center;gap:8px}.title-row h2{margin:0;font-size:21px}.slug-label{display:inline-block;margin-top:3px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.badge{font-size:11px!important;background:#eef2ff;color:#4338ca;padding:3px 7px;border-radius:999px;font-weight:800}.top-actions,.action-group{display:flex;gap:9px;align-items:center}.editor-panel form{padding:20px}.editor-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}label span,.field-stack>span{display:block;font-size:13px;font-weight:750;margin-bottom:6px;color:#334155}input,textarea,select{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;background:#fff;color:var(--text);outline:none}input:focus,textarea:focus,select:focus{border-color:#818cf8;box-shadow:0 0 0 3px rgba(99,102,241,.14)}.code-block{border:1px solid #263248;border-radius:13px;overflow:hidden;background:#0b1220}.code-toolbar{height:43px;background:#111b2e;color:#cbd5e1;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid #263248}.code-title{display:flex;align-items:center;gap:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.status-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b;display:inline-block}.status-dot.green{background:var(--success)}.code-tools{display:flex;gap:12px}.text-button{padding:0;background:transparent;color:#94a3b8;font-size:12px;font-weight:700}.text-button:hover{color:#fff}.source-editor-modern{display:block;width:100%;min-height:580px;border:0!important;border-radius:0!important;background:#0b1220;color:#dbeafe;padding:17px 18px;font-family:Consolas,"SFMono-Regular",Menlo,monospace;font-size:13px;line-height:1.6;white-space:pre;overflow:auto;resize:vertical;box-shadow:none!important;tab-size:2}.bottom-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px}.save-note{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}.placeholder-panel{padding:18px 20px}.placeholder-grid{display:flex;flex-wrap:wrap;gap:8px;padding:15px 0}.placeholder-chip-modern{padding:7px 10px;border-radius:8px;background:#eef2ff;color:#4338ca;border:1px solid #c7d2fe;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.placeholder-chip-modern:hover{background:#4f46e5;color:#fff;border-color:#4f46e5}.placeholder-info{display:grid;gap:7px;background:#f8fafc;border:1px solid var(--line);border-radius:11px;padding:12px;font-size:12px;color:var(--muted)}.placeholder-info strong{color:#334155;margin-right:8px}.placeholder-info code{background:#e2e8f0;color:#334155;padding:2px 5px;border-radius:5px;margin-right:4px}.empty-editor{min-height:480px;display:grid;place-items:center;align-content:center;text-align:center;padding:30px}.empty-editor h2{margin:12px 0 6px}.empty-editor p{margin:0 0 18px;color:var(--muted)}.empty-icon{width:72px;height:72px;border-radius:20px;display:grid;place-items:center;background:#eef2ff;color:#4338ca;font-weight:900;font-family:monospace;font-size:24px}.modal-shell{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:22px}.modal-shell[hidden]{display:none}.modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.72);backdrop-filter:blur(3px)}.modal-card{position:relative;width:min(900px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.3)}.modal-header{padding:20px 22px 15px;display:flex;justify-content:space-between;align-items:start}.modal-header h2{margin:3px 0 0}.modal-close{width:36px;height:36px;padding:0;border-radius:50%;background:#f1f5f9;color:#475569;font-size:24px}.modal-tabs{display:flex;gap:5px;padding:0 22px;border-bottom:1px solid var(--line)}.modal-tab{background:transparent;color:#64748b;border-radius:8px 8px 0 0;padding:10px 14px}.modal-tab.active{color:var(--primary);border-bottom:2px solid var(--primary)}.tab-pane{display:none;padding:20px 22px 22px}.tab-pane.active{display:block}.modal-editor{min-height:390px;border-radius:12px!important;border:1px solid #263248!important;margin-top:6px}.field-stack{display:block}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}.upload-hint{padding:13px;border-radius:10px;background:#f8fafc;border:1px solid var(--line);font-size:13px;color:var(--muted)}.copy-toast{position:fixed;right:22px;bottom:22px;background:#0f172a;color:#fff;padding:11px 15px;border-radius:10px;z-index:130;box-shadow:0 12px 35px rgba(15,23,42,.25);font-size:13px}.modal-open{overflow:hidden}.editor-fullscreen{position:fixed!important;inset:12px;z-index:120;border-radius:16px;overflow:auto}.editor-fullscreen .source-editor-modern{min-height:calc(100vh - 250px)}
/* Existing application pages */
.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(3,1fr)}.stats b{font-size:32px;display:block}.stats span,.muted{color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}.repeat-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.repeat-grid>div{padding:12px;border:1px solid var(--line);border-radius:10px}.preview{width:100%;height:80vh;border:1px solid #cbd5e1;background:#fff}.toolbar{margin-bottom:14px}.auth-card{max-width:430px;margin:10vh auto;background:#fff;padding:28px;border-radius:14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left}pre{white-space:pre-wrap;word-break:break-word}.card{padding:20px;margin-bottom:20px}
@media(max-width:980px){.template-workspace{grid-template-columns:1fr}.template-browser{position:static}.template-list-new{max-height:260px}.template-item{padding:9px}.source-editor-modern{min-height:480px}}
@media(max-width:760px){.container{padding:20px 14px 40px}.app-header{height:auto;min-height:62px;padding:12px 15px;flex-wrap:wrap}.mobile-menu-button{display:block}.app-nav{display:none;width:100%;flex-direction:column;align-items:stretch;padding-top:8px}.app-nav.open{display:flex}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:27px}.editor-topbar,.bottom-actions{align-items:flex-start;flex-direction:column}.top-actions,.action-group{width:100%}.top-actions .button,.action-group .button{flex:1}.editor-meta-grid,.form-grid,.stats,.repeat-grid{grid-template-columns:1fr}.source-editor-modern{min-height:430px}.save-note{display:none}.modal-shell{padding:8px}.modal-card{max-height:96vh}.template-browser{padding:13px}.full{grid-column:auto}}
.generator-shell{display:grid;gap:18px}.section-title{margin:0 0 4px;font-size:20px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.section-head h2{margin:0 0 3px;font-size:20px}.section-head p{margin:0;color:var(--muted);font-size:13px}.compact-grid{margin-top:4px}.form-grid label small,.menu-row-card small,label small{display:block;margin-top:5px;color:var(--muted);font-size:12px}.form-grid code,.section-head code{background:#eef2ff;color:#4338ca;padding:2px 5px;border-radius:5px}.menu-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.menu-editor-grid.collapsed .menu-row-card:nth-child(n+3){display:none}.menu-row-card{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 14px 13px 48px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}.menu-number{position:absolute;left:13px;top:15px;width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#4f46e5;color:#fff;font-weight:800;font-size:12px}.menu-row-card label:nth-of-type(3),.menu-code{grid-column:1/-1}.menu-code{display:flex;flex-wrap:wrap;gap:6px}.menu-code code{font-size:11px;background:#e2e8f0;color:#475569;padding:3px 6px;border-radius:6px}.custom-placeholder-list{display:grid;gap:9px}.custom-placeholder-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.5fr) auto;gap:9px;align-items:center}.sticky-generate-bar{position:sticky;bottom:14px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:14px;background:rgba(15,23,42,.96);color:#fff;box-shadow:0 18px 45px rgba(15,23,42,.3);backdrop-filter:blur(8px)}.sticky-generate-bar strong,.sticky-generate-bar span{display:block}.sticky-generate-bar span{font-size:12px;color:#cbd5e1;margin-top:2px}.sticky-generate-bar .button{min-width:210px}
@media(max-width:900px){.menu-editor-grid{grid-template-columns:1fr}}@media(max-width:680px){.section-head,.sticky-generate-bar{align-items:flex-start;flex-direction:column}.custom-placeholder-row{grid-template-columns:1fr}.menu-row-card{grid-template-columns:1fr}.menu-row-card label,.menu-code{grid-column:auto}.sticky-generate-bar .button{width:100%;min-width:0}}

.prompt-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start}.prompt-editor-card{grid-column:1}.prompt-sidebar{grid-column:2;grid-row:1/span 2;position:sticky;top:88px}.prompt-editor{min-height:300px;font-family:Consolas,"SFMono-Regular",Menlo,monospace;font-size:13px;line-height:1.65;background:#0b1220;color:#dbeafe;border-color:#263248;tab-size:2}.prompt-editor.large{min-height:520px}.prompt-counter{font-size:12px;color:var(--muted);white-space:nowrap}.prompt-sidebar h2{margin:0 0 4px}.prompt-placeholder-list{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.prompt-token{padding:7px 9px;background:#eef2ff;color:#4338ca;border:1px solid #c7d2fe;border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.prompt-token:hover{background:#4f46e5;color:#fff}.prompt-help{background:#f8fafc;border:1px solid var(--line);border-radius:11px;padding:13px;font-size:12px;color:var(--muted)}.prompt-help strong{display:block;color:#334155;margin-top:9px}.prompt-help strong:first-child{margin-top:0}.prompt-help p{margin:4px 0 0}.prompt-help code{background:#e2e8f0;color:#334155;padding:2px 4px;border-radius:4px}.prompt-actions{display:grid;gap:9px;margin-top:16px}
@media(max-width:1000px){.prompt-layout{grid-template-columns:1fr}.prompt-editor-card,.prompt-sidebar{grid-column:1;grid-row:auto}.prompt-sidebar{position:static}.prompt-editor.large{min-height:440px}}

/* History manager */
.history-card{padding:0;overflow:hidden}.history-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--line)}.history-toolbar>div{display:grid;gap:2px}.history-toolbar .muted{font-size:12px}.history-table th{background:#f8fafc;color:#475569;font-size:12px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.history-table td{vertical-align:middle}.history-table tbody tr:hover{background:#fafbff}.history-check-cell{width:44px;text-align:center!important}.history-check-cell input{width:17px;height:17px;accent-color:var(--primary)}.history-date{white-space:nowrap;color:var(--muted);font-size:13px}.history-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}.history-actions-head{text-align:right!important}.small-button{padding:7px 10px;font-size:12px;border-radius:8px}.history-mode-badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:850;background:#f1f5f9;color:#475569}.history-mode-badge.ai{background:#eef2ff;color:#4338ca}.history-mode-badge.manual{background:#ecfdf5;color:#047857}.history-empty{text-align:center;padding:55px 24px}.history-empty h2{margin:0 0 7px}.history-empty p{color:var(--muted);margin:0 0 18px}.danger-outline:disabled{opacity:.45;cursor:not-allowed;transform:none!important}
@media(max-width:760px){.history-page-head,.history-toolbar{align-items:stretch;flex-direction:column}.history-toolbar .button{width:100%}.history-actions{justify-content:flex-start}.history-table{min-width:980px}}

.history-head-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* AMP extra banners */
.amp-banner-list{display:grid;gap:12px;margin-bottom:14px}.amp-banner-row{border:1px solid var(--line);border-radius:13px;padding:14px;background:var(--surface-soft)}.amp-banner-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.amp-banner-row-head strong{font-size:14px}.amp-banner-row-head .button{padding:7px 10px;font-size:12px}.amp-banner-code{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.amp-banner-code code{font-size:11px;background:#e2e8f0;color:#475569;padding:3px 6px;border-radius:6px}.upload-hint code{word-break:break-all}


/* Form generator ringkas */
.collapsible-section{padding:0!important;overflow:hidden}.collapsible-section>.section-head{padding:20px 22px;margin:0;border-bottom:0}.collapsible-section:not(.is-open)>:not(.section-head){display:none!important}.collapsible-section.is-open>.section-head{border-bottom:1px solid var(--border,#e5e7eb)}.auto-section-head .section-title{margin:0}.section-collapse-button{min-width:78px}.ai-field-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}.ai-field-row.inline{align-items:center}.ai-meta-button{white-space:nowrap;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe}.ai-meta-button:disabled{opacity:.65;cursor:wait}.form-actions{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:720px){.ai-field-row{grid-template-columns:1fr}.section-head{align-items:flex-start}.section-collapse-button{min-width:70px}}

.ai-check-option{display:flex;align-items:center;gap:9px;margin-top:9px;padding:10px 12px;border:1px solid #dbe3f0;border-radius:10px;background:#f8fafc;font-size:13px;font-weight:600}.ai-check-option input{width:17px;height:17px;margin:0}.ai-check-option:has(input:disabled){opacity:.5}.ai-feature-settings{padding:16px;border:1px solid #dbe3f0;border-radius:14px;background:#f8fafc}.ai-feature-settings h2{margin:0 0 5px}.switch-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-top:1px solid #e5eaf2}.switch-row:first-of-type{margin-top:12px}.switch-row input{width:19px;height:19px;margin-top:2px}.switch-row span{display:flex;flex-direction:column;gap:3px}.switch-row small{color:#667085}

/* Generator accordion stability fix */
.collapsible-section{padding:0!important;overflow:visible!important}
.collapsible-section>.section-head{padding:18px 20px;margin:0;border-bottom:0;border-radius:inherit}
.collapsible-section>.collapsible-content{display:none;padding:20px;min-width:0;overflow:visible}
.collapsible-section.is-open>.collapsible-content{display:block}
.collapsible-section.is-open>.section-head{border-bottom:1px solid var(--line,#e5e7eb)}
.collapsible-section:not(.is-open)>.section-head{border-bottom:0}
.collapsible-content>.form-grid,.collapsible-content>.repeat-grid,.collapsible-content>.menu-editor-grid{min-width:0}
.collapsible-content textarea,.collapsible-content input,.collapsible-content select{max-width:100%;min-width:0}
.ai-check-option{cursor:pointer;user-select:none}
.ai-check-option input{accent-color:var(--primary,#4f46e5);cursor:pointer;flex:0 0 auto}
.ai-check-option:hover{border-color:#a5b4fc;background:#eef2ff}
.ai-mode-active .ai-check-option{border-color:#a5b4fc;background:#eef2ff;color:#3730a3}
@media(max-width:760px){
  .collapsible-section>.section-head,.collapsible-section>.collapsible-content{padding:15px}
  .collapsible-section>.section-head{align-items:center;flex-direction:row}
  .section-collapse-button{flex:0 0 auto}
}

/* Preview 2 item pada bagian ringkas */
.peek-section{padding:0!important;overflow:visible!important}
.peek-section>.section-head{padding:18px 20px;margin:0;border-bottom:0;border-radius:inherit}
.peek-section>.collapsible-content{display:block!important;padding:20px}
.peek-section.is-open>.section-head{border-bottom:1px solid var(--line,#e5e7eb)}
.peek-section:not(.is-open)>.section-head{border-bottom:0}
.peek-section .section-collapse-button[hidden]{display:none!important}
.peek-section .collapsible-content>*{min-width:0}
.peek-section textarea,.peek-section input,.peek-section select{max-width:100%;min-width:0}
@media(max-width:760px){
  .peek-section>.section-head,.peek-section>.collapsible-content{padding:15px}
  .peek-section>.section-head{align-items:center;flex-direction:row}
}

/* =========================================================
   AutoLP UI polish — generator, dashboard, forms, mobile
   ========================================================= */
:root{
  --bg:#f4f7fb;
  --surface:#ffffff;
  --surface-soft:#f8fafc;
  --text:#172033;
  --muted:#6a768a;
  --line:#dce4ee;
  --primary:#4f46e5;
  --primary-dark:#3730a3;
  --primary-soft:#eef2ff;
  --danger:#dc2626;
  --shadow:0 12px 34px rgba(15,23,42,.065);
  --shadow-hover:0 18px 46px rgba(15,23,42,.10);
}
body{background:linear-gradient(180deg,#f6f8fc 0,#f2f5fa 100%);min-height:100vh}
.container{width:min(1460px,100%);padding:32px 28px 64px}
.app-header{height:72px;padding:0 22px;gap:22px}
.app-brand{flex:0 0 auto}
.app-nav{min-width:0;overflow-x:auto;scrollbar-width:none;white-space:nowrap;padding:4px 0}
.app-nav::-webkit-scrollbar{display:none}
.app-nav a{padding:9px 11px;font-size:13px}

.page-head{margin-bottom:24px;padding:0 2px}
.page-head h1{font-size:34px;letter-spacing:-.025em}
.page-head p{max-width:760px;font-size:15px}
.eyebrow{font-size:11px;letter-spacing:.14em}

.card,.template-panel{border-color:#dde5ef;box-shadow:var(--shadow)}
.card{border-radius:18px}
.generator-shell{gap:16px;padding-bottom:96px}
.generator-shell>section.card{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.generator-shell>section.card:hover{border-color:#cfd9e8;box-shadow:var(--shadow-hover)}
.generator-shell>section.card:first-of-type{padding:24px;border-top:4px solid var(--primary)}

.section-title,.section-head h2{font-size:20px;letter-spacing:-.012em;color:#152033}
.section-head{min-height:50px;gap:18px}
.section-head p{font-size:13px;line-height:1.45;max-width:760px}
.section-collapse-button{min-width:86px;height:42px;border-radius:11px}
.peek-section>.section-head{background:linear-gradient(180deg,#fff,#fcfdff)}
.peek-section>.collapsible-content{background:#fff;padding:20px 22px 22px}
.peek-section:not(.is-open)>.collapsible-content{padding-top:16px}
.peek-section:not(.is-open)>.section-head{border-bottom:1px solid #edf1f6}
.peek-section.is-open>.section-head{background:#fafbff}

label{display:block;color:#293449;font-weight:700;font-size:14px}
label>input,label>textarea,label>select{margin-top:6px;font-weight:400}
input,textarea,select{min-height:46px;border-radius:11px;border-color:#cfd8e6;padding:11px 13px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
textarea{min-height:92px;resize:vertical;line-height:1.55}
input:hover,textarea:hover,select:hover{border-color:#aebbd0}
input:focus,textarea:focus,select:focus{border-color:#6366f1;box-shadow:0 0 0 4px rgba(99,102,241,.12)}
input::placeholder,textarea::placeholder{color:#99a4b5}
label small{font-weight:500;line-height:1.45}
.form-grid{gap:17px 16px}
.compact-grid{gap:15px 16px}

.ai-check-option{margin-top:10px;padding:11px 12px;border-radius:11px;background:#f8faff}
.ai-check-option:hover{transform:translateY(-1px)}
.ai-check-option input{min-height:auto}

/* Menu navigation cards */
.menu-editor-grid{gap:14px}
.menu-row-card{padding:18px 16px 15px 54px;border-color:#dce4ef;border-radius:15px;background:linear-gradient(180deg,#fbfcfe,#f7f9fc)}
.menu-row-card:hover{border-color:#bfcbe0;box-shadow:0 10px 24px rgba(15,23,42,.055)}
.menu-number{left:15px;top:17px;width:28px;height:28px;border-radius:9px}
.menu-code{padding-top:2px}
.menu-code code,.amp-banner-code code{border:1px solid #d8dfeb;background:#fff}

/* FAQ and review cards */
.repeat-grid{gap:16px;counter-reset:repeatItem}
.repeat-grid>div{position:relative;padding:20px 16px 16px;border:1px solid #dce4ef;border-radius:15px;background:linear-gradient(180deg,#fff,#fafcff);box-shadow:0 5px 14px rgba(15,23,42,.035);counter-increment:repeatItem}
.repeat-grid>div:before{content:counter(repeatItem);position:absolute;right:14px;top:12px;display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:var(--primary-soft);color:#4338ca;font-size:12px;font-weight:850}
.repeat-grid>div:hover{border-color:#bac7dc;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.repeat-grid>div label{margin-top:9px}
.repeat-grid>div label:first-child{margin-top:0;padding-right:34px}
.repeat-grid textarea{min-height:112px}
.review-section .repeat-grid>div{background:linear-gradient(180deg,#fff,#fbfaff)}
.article-section textarea{min-height:340px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;background:#fbfcff}

/* Custom placeholders */
.custom-placeholder-list{gap:11px}
.custom-placeholder-row{padding:12px;border:1px solid #dce4ef;border-radius:13px;background:#f8fafc}
.custom-placeholder-row input{margin:0}
.custom-placeholder-row .button{height:44px}

/* AMP banners */
.amp-banner-list{gap:14px}
.amp-banner-row{padding:17px;border-radius:15px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 5px 14px rgba(15,23,42,.035)}
.amp-banner-row-head{padding-bottom:10px;border-bottom:1px solid #e8edf4}
.amp-banner-row-head strong{font-size:15px;color:#263248}
.amp-banner-code{padding-top:3px}
.upload-hint{line-height:1.6;overflow-wrap:anywhere}

/* Sticky generate */
.sticky-generate-bar{bottom:18px;padding:15px 18px;border-radius:16px;background:rgba(15,23,42,.97);box-shadow:0 20px 54px rgba(15,23,42,.34)}
.sticky-generate-bar .button{min-width:230px;height:48px;border-radius:12px;font-size:15px}

/* Dashboard */
.dashboard-stats{gap:18px}
.stat-card{display:flex;align-items:center;gap:16px;padding:22px}
.stat-card b{font-size:34px;line-height:1;color:#111c31}
.stat-card>div>span{display:block;margin-top:7px;color:var(--muted)}
.stat-icon{flex:0 0 48px;height:48px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:#4338ca;font-weight:900;font-size:12px}
.quick-start-card{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:26px}
.quick-start-copy{max-width:390px}
.quick-start-copy h2{margin:5px 0 7px;font-size:25px}
.quick-start-copy p{margin:0;color:var(--muted)}
.quick-action-grid{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:12px;flex:1}
.quick-action{display:flex;flex-direction:column;min-height:132px;padding:17px;border:1px solid #dce4ef;border-radius:14px;background:#fbfcff;color:var(--text);text-decoration:none;transition:.18s ease}
.quick-action strong{font-size:16px}
.quick-action span{margin:6px 0 14px;color:var(--muted);font-size:13px}
.quick-action b{margin-top:auto;color:var(--primary);font-size:13px}
.quick-action:hover{transform:translateY(-3px);border-color:#aebce0;box-shadow:0 14px 32px rgba(15,23,42,.08)}

/* Bulk */
.bulk-generator-card{padding:24px}
.bulk-json-editor{min-height:390px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;background:#0d1526;color:#dce8ff;border-color:#26334a}
.bulk-json-editor:focus{border-color:#818cf8;background:#0d1526}
.bulk-actions{display:flex;justify-content:flex-end;margin-top:18px}
.bulk-actions .button{min-width:240px;height:48px}
.bulk-example-card{padding:22px}
.bulk-example-card pre{margin:0;padding:16px;border-radius:12px;background:#101827;color:#dbeafe;border:1px solid #27344a;overflow:auto;font-size:12px}

/* Settings and menu forms */
.ai-feature-settings{border-radius:15px;background:linear-gradient(180deg,#fafbff,#f6f8fc)}
.switch-row{border-radius:10px;padding:13px 10px}
.switch-row:hover{background:#eef2ff}
.form-actions{padding-top:4px}

/* History */
.history-card{border-radius:18px}
.history-toolbar{padding:18px 20px}
.history-table th{padding:13px 11px}
.history-table td{padding:12px 11px}
.history-actions{flex-wrap:wrap}

/* Login */
.auth-page{min-height:calc(100vh - 70px);display:grid;grid-template-columns:minmax(0,1fr) 460px;align-items:center;gap:60px;max-width:1120px;margin:0 auto;padding:50px 20px}
.auth-brand-panel{padding:20px}
.auth-brand-panel h1{max-width:620px;margin:16px 0 12px;font-size:46px;line-height:1.08;letter-spacing:-.04em}
.auth-brand-panel p{max-width:540px;color:var(--muted);font-size:17px}
.auth-brand-mark{width:54px;height:54px;font-size:21px;margin-bottom:20px}
.auth-card{max-width:none;margin:0;padding:30px;border:1px solid #dce4ef;box-shadow:0 24px 65px rgba(15,23,42,.12)}
.auth-card-head h2{margin:0;font-size:27px}
.auth-card-head p{margin:7px 0 22px;color:var(--muted)}
.auth-form{display:grid;gap:16px}
.auth-form .button{height:48px;margin-top:3px}
.auth-help{text-align:center;margin:19px 0 0}

/* General button polish */
.button,button{min-height:40px;border-radius:11px}
.button.primary{box-shadow:0 7px 18px rgba(79,70,229,.2)}
.button.primary:hover{box-shadow:0 10px 24px rgba(79,70,229,.28)}
.alert{border-radius:13px;box-shadow:0 7px 22px rgba(15,23,42,.045)}

@media(max-width:1120px){
  .quick-start-card{align-items:stretch;flex-direction:column}
  .quick-start-copy{max-width:none}
  .quick-action-grid{width:100%}
  .auth-page{grid-template-columns:1fr;max-width:640px;gap:18px;padding-top:30px}
  .auth-brand-panel{text-align:center}
  .auth-brand-panel h1{font-size:36px;margin-inline:auto}
  .auth-brand-panel p{margin-inline:auto}
  .auth-brand-mark{margin-inline:auto}
}
@media(max-width:900px){
  .quick-action-grid{grid-template-columns:1fr}
  .quick-action{min-height:auto}
  .stats{grid-template-columns:1fr}
}
@media(max-width:760px){
  .container{padding:22px 13px 45px}
  .page-head h1{font-size:28px}
  .generator-shell{padding-bottom:112px}
  .generator-shell>section.card:first-of-type{padding:18px}
  .peek-section>.section-head,.peek-section>.collapsible-content{padding:15px}
  .section-head{align-items:flex-start!important;flex-direction:row!important}
  .section-head>div{min-width:0;flex:1}
  .section-head .button:not(.section-collapse-button){width:auto}
  .section-collapse-button{margin-left:auto;min-width:72px}
  .repeat-grid{grid-template-columns:1fr}
  .menu-row-card{padding-left:50px}
  .custom-placeholder-row{padding:10px}
  .sticky-generate-bar{left:10px;right:10px;bottom:10px;align-items:stretch;flex-direction:column;padding:13px}
  .sticky-generate-bar>div{display:none}
  .sticky-generate-bar .button{width:100%;min-width:0}
  .quick-start-card{padding:20px}
  .stat-card{padding:18px}
  .auth-brand-panel{display:none}
  .auth-page{display:block;padding:22px 0}
  .auth-card{padding:24px 20px}
  .bulk-actions .button{width:100%;min-width:0}
}
@media(max-width:480px){
  .app-header{padding:10px 13px}
  .page-head h1{font-size:26px}
  .section-head h2{font-size:18px}
  .section-head p{font-size:12px}
  .section-collapse-button{min-width:66px;padding-inline:10px}
  .repeat-grid>div{padding:18px 12px 13px}
}

/* Pastikan item ringkas benar-benar tersembunyi walau card memakai display:grid */
.peek-section [hidden]{display:none!important}

/* Placeholder library template LP / AMP */
.placeholder-library{padding:0;overflow:hidden}
.placeholder-library-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#ffffff 0%,#f8faff 100%)}
.placeholder-library-head h2{margin:3px 0 4px;font-size:22px}
.placeholder-library-head p{margin:0;color:var(--muted);font-size:13px}
.placeholder-copy-hint{flex:0 0 auto;padding:8px 11px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:12px;font-weight:750}
.placeholder-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}
.placeholder-category{min-width:0;padding:16px;border:1px solid #e3e8f2;border-radius:14px;background:#fbfcff}
.placeholder-category-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:13px}
.placeholder-category-head h3{margin:0 0 2px;font-size:15px}
.placeholder-category-head p{margin:0;color:var(--muted);font-size:12px}
.placeholder-category-icon{flex:0 0 42px;height:34px;display:grid;place-items:center;border-radius:9px;background:#e9edff;color:#4338ca;font-size:10px;font-weight:900;letter-spacing:.04em}
.placeholder-grid.compact{display:flex;flex-wrap:wrap;gap:7px}
.placeholder-grid.compact .placeholder-chip-modern{margin:0;padding:7px 9px;font-size:11px;border-radius:8px;background:#fff}
.placeholder-grid.compact .placeholder-chip-modern:hover{background:#4f46e5;color:#fff;border-color:#4f46e5;transform:translateY(-1px)}
.placeholder-example{margin-top:11px;padding:9px 10px;border-radius:9px;background:#f1f5f9;color:#64748b;font-size:11px;line-height:1.55}
.placeholder-example strong{color:#334155}
.placeholder-example code{background:#e2e8f0;color:#334155;padding:2px 4px;border-radius:4px}
@media(max-width:900px){.placeholder-category-grid{grid-template-columns:1fr}}
@media(max-width:620px){.placeholder-library-head{flex-direction:column;padding:18px}.placeholder-category-grid{padding:12px}.placeholder-category{padding:13px}.placeholder-copy-hint{align-self:flex-start}}

/* Login / homepage */
.guest-body{
  min-height:100vh;
  background:
    radial-gradient(circle at 12% 16%,rgba(99,102,241,.20),transparent 30%),
    radial-gradient(circle at 88% 82%,rgba(14,165,233,.14),transparent 28%),
    linear-gradient(145deg,#eef2ff 0%,#f8fafc 52%,#eef6ff 100%);
}
.guest-container{min-height:100vh;display:grid;place-items:center;padding:32px}
.login-shell{
  width:min(1080px,100%);
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  overflow:hidden;
  border:1px solid rgba(203,213,225,.9);
  border-radius:28px;
  background:rgba(255,255,255,.82);
  box-shadow:0 35px 90px rgba(15,23,42,.16);
  backdrop-filter:blur(18px);
}
.login-intro{
  position:relative;
  min-height:610px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:42px;
  overflow:hidden;
  color:#fff;
  background:linear-gradient(145deg,#111827 0%,#172554 52%,#312e81 100%);
}
.login-intro::before,.login-intro::after{content:"";position:absolute;border-radius:999px;pointer-events:none}
.login-intro::before{width:340px;height:340px;right:-135px;top:-90px;background:rgba(99,102,241,.34);filter:blur(4px)}
.login-intro::after{width:260px;height:260px;left:-105px;bottom:-115px;background:rgba(14,165,233,.18)}
.login-brand,.login-copy,.login-feature-list{position:relative;z-index:1}
.login-brand{display:flex;align-items:center;gap:12px}
.login-logo,.login-mobile-logo{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#818cf8,#4f46e5);color:#fff;font-size:21px;font-weight:900;box-shadow:0 12px 28px rgba(79,70,229,.38)}
.login-brand strong,.login-brand span{display:block}.login-brand strong{font-size:19px}.login-brand span{color:#cbd5e1;font-size:12px;margin-top:1px}
.login-copy{max-width:590px}
.login-kicker{display:inline-flex;padding:7px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;font-weight:850;letter-spacing:.09em;color:#c7d2fe}
.login-copy h1{margin:18px 0 14px;font-size:48px;line-height:1.06;letter-spacing:-.045em}
.login-copy p{max-width:525px;margin:0;color:#cbd5e1;font-size:16px;line-height:1.75}
.login-feature-list{display:flex;flex-wrap:wrap;gap:9px}.login-feature-list span{padding:8px 11px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.07);color:#e2e8f0;font-size:12px;font-weight:700}
.login-card{display:flex;flex-direction:column;justify-content:center;padding:48px 44px;background:rgba(255,255,255,.94)}
.login-card-head{display:flex;align-items:center;gap:13px;margin-bottom:28px}.login-mobile-logo{display:none;width:42px;height:42px;border-radius:12px;font-size:18px}
.login-card-head h2{margin:0;font-size:30px;letter-spacing:-.025em}.login-card-head p{margin:6px 0 0;color:var(--muted)}
.login-form{display:grid;gap:18px}.login-form label>span{display:block;margin-bottom:7px;color:#334155;font-size:13px;font-weight:800}
.login-input-wrap{position:relative}.login-input-wrap svg{position:absolute;left:14px;top:50%;width:19px;height:19px;transform:translateY(-50%);fill:none;stroke:#94a3b8;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.login-input-wrap input{height:50px;padding-left:44px;border-radius:12px;background:#f8fafc;border-color:#d8e0eb}.login-input-wrap input:focus{background:#fff;border-color:#818cf8;box-shadow:0 0 0 4px rgba(99,102,241,.11)}
.login-submit{height:50px;margin-top:5px;border-radius:12px;font-size:15px;box-shadow:0 14px 25px rgba(79,70,229,.24)}.login-submit span{font-size:19px;line-height:1}
.login-security-note{margin:20px 0 0;text-align:center;color:#94a3b8;font-size:12px}
@media(max-width:860px){
  .guest-container{padding:22px}
  .login-shell{max-width:520px;grid-template-columns:1fr;border-radius:22px}
  .login-intro{display:none}
  .login-card{padding:38px 32px}
  .login-mobile-logo{display:grid}
}
@media(max-width:520px){
  .guest-container{padding:14px}
  .login-card{padding:30px 22px}
  .login-card-head h2{font-size:25px}
}

/* Upgrade: random review date */
.random-review-dates{white-space:nowrap}
.custom-placeholder-bottom{margin-top:4px}

/* Auto LP Massal v2 */
.bulk-v2{display:grid;gap:18px}
.bulk-note{padding:14px 16px;border:1px solid #dbe3f0;border-radius:12px;background:#f8fafc;color:#566277;font-size:13px;line-height:1.65}
.bulk-ai-options{display:flex;flex-direction:column;gap:7px}.bulk-ai-options .ai-check-option{margin-top:0}
#bulkItems{display:grid;gap:14px}.bulk-item-card{border:1px solid var(--line);border-radius:15px;padding:17px;background:#fbfcff;transition:.2s ease}
.bulk-item-card.is-running{border-color:#818cf8;box-shadow:0 0 0 3px rgba(99,102,241,.08)}
.bulk-item-card.is-success{border-color:#86efac;background:#f7fff9}.bulk-item-card.is-error{border-color:#fca5a5;background:#fffafa}
.bulk-item-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.bulk-item-head strong{font-size:16px}
.bulk-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef2f7;color:#64748b;font-size:11px;font-weight:800}
.is-running .bulk-status{background:#eef2ff;color:#4338ca}.is-success .bulk-status{background:#dcfce7;color:#166534}.is-error .bulk-status{background:#fee2e2;color:#991b1b}
.bulk-item-error{margin-top:9px;color:#b91c1c;font-size:12px;font-weight:650;min-height:0}.bulk-item-error:empty{display:none}
.bulk-advanced{margin-top:12px;border-top:1px dashed #dbe3f0;padding-top:10px}.bulk-advanced summary{cursor:pointer;color:#475569;font-size:13px;font-weight:700}.bulk-advanced label{display:block;margin-top:10px}
.bulk-progress-line{height:12px;border-radius:999px;background:#e9eef6;overflow:hidden}.bulk-progress-line>div{height:100%;width:0;background:linear-gradient(90deg,#4f46e5,#7c3aed);transition:width .25s ease}
#bulkProgressText{margin-top:9px}.bulk-final-actions,.bulk-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.bulk-json-import textarea{width:100%}
.bulk-item-card[hidden]{display:none!important}
@media(max-width:760px){.bulk-item-head{align-items:flex-start;flex-direction:column}.bulk-final-actions>*{width:100%}.random-review-dates{width:100%}}

/* Bulk Global Data */
.bulk-global-card{border-color:#c7d2fe;background:linear-gradient(180deg,#fff 0%,#fafaff 100%)}
.bulk-global-card .section-head{padding-bottom:14px;border-bottom:1px solid #e8eafd}
.bulk-global-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:11px;font-weight:800;white-space:nowrap}
.bulk-global-card label{position:relative}
.bulk-global-card label small{color:#64748b}
.bulk-advanced{margin-top:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.bulk-advanced summary{cursor:pointer;padding:12px 14px;font-weight:750;color:#475569}
.bulk-advanced[open] summary{border-bottom:1px solid var(--line)}
.bulk-override-grid{padding:14px}
.bulk-item-card .form-grid label{min-width:0}
@media(max-width:760px){.bulk-global-badge{align-self:flex-start}}
