@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=Inter:wght@400;500;600;700&display=swap");:root{--bg-gradient-start:#eef5f3;--bg-gradient-end:#dcece4;--panel:rgba(255,255,255,0.95);--ink:#0f1c16;--muted:#5e7067;--line:rgba(203,216,210,0.8);--green:#10b981;--green-dark:#059669;--green-light:#d1fae5;--green-glow:rgba(16,185,129,0.25);--excel-header-bg:#e6e6e6;--excel-border:#d4d4d4;--excel-cell-bg:#ffffff;--shadow-sm:0 4px 6px -1px rgba(0,0,0,0.05);--shadow-md:0 10px 15px -3px rgba(0,0,0,0.05);--shadow-lg:0 20px 25px -5px rgba(0,0,0,0.05);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--sidebar-open:260px;--sidebar-closed:72px}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{color:var(--ink);background:linear-gradient(135deg,var(--bg-gradient-start),var(--bg-gradient-end));background-attachment:fixed;font-family:Outfit,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit;transition:all .2s}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-open);background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-right:1px solid var(--line);display:flex;flex-direction:column;transition:width .4s cubic-bezier(.175,.885,.32,1.1);position:sticky;top:0;height:100vh;z-index:50;overflow:hidden;box-shadow:var(--shadow-md)}.sidebar.closed{width:var(--sidebar-closed)}.sidebar-header{padding:16px;height:72px;border-bottom:1px solid var(--line);justify-content:space-between}.brand,.sidebar-header{display:flex;align-items:center}.brand{gap:12px;white-space:nowrap}.brand-mark{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--green),var(--green-dark));color:white;flex-shrink:0}.brand-text{display:flex;flex-direction:column}.brand-text strong{display:block;font-size:16px;font-weight:800}.brand-text span{font-size:12px;color:var(--muted)}.toggle-btn{background:transparent;border:none;cursor:pointer;color:var(--muted);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);transition:all .2s}.toggle-btn:hover{background:rgba(0,0,0,.05);color:var(--ink)}.sidebar.closed .brand{opacity:0;width:0;pointer-events:none;overflow:hidden}.sidebar.closed .sidebar-header{justify-content:center}.nav-links{display:flex;flex-direction:column;gap:8px;padding:16px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--radius-md);color:var(--muted);text-decoration:none;font-weight:700;font-size:14px;transition:all .2s;white-space:nowrap}.nav-item svg{flex-shrink:0}.nav-item.active{background:var(--green-light);color:var(--green-dark)}.nav-item:hover:not(.active){background:rgba(0,0,0,.05);color:var(--ink)}.sidebar.closed .nav-item .link-text{opacity:0;width:0;overflow:hidden}.sidebar.closed .nav-item{justify-content:center;padding:12px 0}.workspace-wrapper{flex-grow:1;min-width:0;display:flex;flex-direction:column;transition:padding .3s}.workspace{padding:32px;width:100%;max-width:1600px;margin:0 auto}.workspace-header{margin-bottom:32px}.workspace-header h1{font-size:32px;font-weight:900;margin:0 0 8px;letter-spacing:-.03em}.workspace-header p{margin:0;color:var(--muted);font-weight:500}.content-grid{display:grid;grid-template-columns:460px minmax(0,1fr);gap:32px;align-items:start}.generator-panel{display:grid;gap:24px}.form-section{background:var(--panel);padding:24px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow-md)}.form-section h2{font-size:18px;font-weight:800;margin:0 0 20px;display:flex;align-items:center;gap:10px}.form-section h2 svg{color:var(--green)}.field{display:grid;gap:8px;margin-bottom:16px}.field span{font-size:14px;font-weight:700}.field input{width:100%;padding:12px;border:2px solid var(--line);border-radius:var(--radius-sm);font-weight:500}.field input:focus{border-color:var(--green);box-shadow:0 0 0 4px var(--green-glow);outline:none}.cards-grid,.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.selection-card{border:2px solid var(--line);border-radius:var(--radius-md);padding:16px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;background:rgba(255,255,255,.6)}.selection-card input{position:absolute;opacity:0}.selection-card:hover{border-color:#94a3b8;transform:translateY(-2px);background:#fff}.selection-card:has(input:checked){border-color:var(--green);background:#ecfdf5;box-shadow:0 4px 12px var(--green-glow);transform:translateY(0)}.selection-card strong{display:block;font-weight:800}.selection-card p{margin:0;font-size:12px;color:var(--muted)}.selection-card svg{color:var(--muted);width:32px;height:32px}.selection-card:has(input:checked) svg{color:var(--green-dark)}.primary-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:18px;border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--green),var(--green-dark));color:white;font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 8px 16px rgba(16,185,129,.25)}.primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 24px rgba(16,185,129,.35)}.primary-button:disabled{opacity:.7;cursor:not-allowed}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.excel-container{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;background:var(--excel-cell-bg);display:flex;flex-direction:column;font-family:Inter,sans-serif;border:1px solid var(--excel-border)}.excel-toolbar{background:#f3f3f3;padding:12px 20px;border-bottom:1px solid var(--excel-border);display:flex;align-items:center;gap:16px}.excel-toolbar-title{font-weight:700;color:var(--green-dark)}.excel-toolbar-badge{background:white;border:1px solid var(--line);padding:4px 10px;border-radius:6px;font-size:12px;font-weight:700}.excel-wrapper{overflow-x:auto}.excel-grid,.excel-wrapper{background:var(--excel-border)}.excel-grid{display:grid;gap:1px;min-width:600px}.excel-grid.internal-mode{grid-template-columns:40px 60px 220px 140px 140px 1fr}.excel-grid.eksternal-mode{grid-template-columns:40px 60px 220px 140px 140px 200px 1fr}.excel-cell{background:var(--excel-cell-bg);padding:8px;font-size:13px;color:#000;min-height:32px;display:flex;align-items:center;white-space:nowrap;overflow:hidden}.excel-header-cell{text-align:center}.excel-header-cell,.excel-row-num{background:var(--excel-header-bg);font-weight:600;font-size:12px;justify-content:center;color:#555}.ex-empty{background:var(--excel-cell-bg)}.ex-title{font-weight:900;font-size:16px;justify-content:center;color:#111}.internal-mode .ex-date,.internal-mode .ex-title{grid-column:2/7}.eksternal-mode .ex-date,.eksternal-mode .ex-title{grid-column:2/8}.ex-date{font-weight:500;font-style:italic;justify-content:center;color:#333}.ex-table-header{font-weight:800;background:#f8f9fa;border-bottom:2px solid #000;justify-content:center}.ex-center{justify-content:center;text-align:center}.result-box{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#ecfdf5;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-md);margin-top:24px;box-shadow:var(--shadow-sm)}.result-box span{color:var(--green-dark);font-weight:800}.result-box a{background:var(--green);color:white;padding:8px 16px;border-radius:var(--radius-sm);text-decoration:none;font-weight:800;font-size:14px;display:flex;align-items:center;gap:8px}.result-box a:hover{background:var(--green-dark)}.toast{position:fixed;right:24px;bottom:24px;padding:16px 20px;border-radius:var(--radius-md);color:white;background:var(--ink);box-shadow:var(--shadow-lg);font-weight:600;z-index:100}.toast.ok{background:var(--green-dark)}.toast.error{background:var(--red)}@media (max-width:1024px){.content-grid{grid-template-columns:1fr}}.search-box{display:flex;align-items:center;gap:8px;background:white;padding:10px 16px;border-radius:99px;border:1px solid var(--line);width:300px}.search-box input{border:none;outline:none;width:100%;font-size:14px}.history-table-container{background:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:auto;border:1px solid var(--line)}.history-table{width:100%;border-collapse:collapse;text-align:left;min-width:800px}.history-table th{background:#f8fafc;padding:16px 20px;font-size:12px;font-weight:800;color:var(--muted);border-bottom:2px solid var(--line);text-transform:uppercase}.history-table td{padding:16px 20px;border-bottom:1px solid var(--line);font-size:14px}.history-table tbody tr{transition:all .2s}.history-table tbody tr:hover{background:#f1f5f9}.doc-badge{display:inline-flex;align-items:center;gap:6px;background:var(--green-light);color:var(--green-dark);padding:4px 10px;border-radius:6px;font-weight:800;font-size:12px}.font-bold{font-weight:700;color:var(--ink)}.flex-col{display:flex;flex-direction:column;gap:6px}.flex-center{display:flex;align-items:center;gap:6px}.text-muted{color:var(--muted);font-size:13px}.badge-audience{display:inline-block;background:#e2e8f0;color:#475569;padding:3px 8px;border-radius:4px;font-weight:800;font-size:11px}.btn-download{display:inline-flex;align-items:center;gap:6px;background:white;border:1px solid var(--line);color:var(--ink);padding:8px 12px;border-radius:var(--radius-sm);font-weight:700;font-size:13px;text-decoration:none;transition:all .2s}.btn-download:hover{background:var(--green);color:white;border-color:var(--green)}