@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');

:root {
    --nova-bg: #f4f7fb;
    --nova-surface: rgba(255, 255, 255, 0.92);
    --nova-surface-solid: #ffffff;
    --nova-surface-2: #eef3f9;
    --nova-border: #dfe7f1;
    --nova-text: #172033;
    --nova-muted: #6c7890;
    --nova-sidebar: #10192d;
    --nova-sidebar-2: #172541;
    --nova-primary: #635bff;
    --nova-primary-soft: #edeaff;
    --nova-blue: #3b82f6;
    --nova-cyan: #06b6d4;
    --nova-teal: #0f9f8f;
    --nova-green: #22a06b;
    --nova-amber: #e9a23b;
    --nova-coral: #e76f51;
    --nova-pink: #d9468f;
    --nova-red: #dc4c64;
    --nova-slate: #64748b;
    --nova-shadow: 0 18px 55px rgba(28, 39, 64, 0.08);
    --nova-shadow-soft: 0 8px 28px rgba(28, 39, 64, 0.07);
    --nova-radius-xl: 28px;
    --nova-radius-lg: 20px;
    --nova-radius-md: 14px;
    --nova-sidebar-width: 270px;
}

html[data-theme='dark'] {
    --nova-bg: #0c1322;
    --nova-surface: rgba(19, 30, 51, 0.94);
    --nova-surface-solid: #131e33;
    --nova-surface-2: #182640;
    --nova-border: #2a3955;
    --nova-text: #f5f7fb;
    --nova-muted: #9eabc1;
    --nova-shadow: 0 18px 55px rgba(0, 0, 0, 0.25);
    --nova-shadow-soft: 0 8px 28px rgba(0, 0, 0, 0.2);
}

* { box-sizing: border-box; }
html { min-height: 100%; }
body {
    min-height: 100vh !important;
    margin: 0 !important;
    background:
        radial-gradient(circle at 8% 8%, rgba(99, 91, 255, .10), transparent 28%),
        radial-gradient(circle at 92% 20%, rgba(6, 182, 212, .10), transparent 25%),
        var(--nova-bg) !important;
    color: var(--nova-text) !important;
    font-family: 'Manrope', 'Segoe UI', sans-serif !important;
    font-size: 14px !important;
    overflow-x: hidden;
}

body > .nova-app { min-height: 100vh; }
a { transition: color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease; }

.nova-app { display: grid; grid-template-columns: var(--nova-sidebar-width) minmax(0, 1fr); min-height: 100vh; }
.nova-sidebar {
    position: fixed; inset: 0 auto 0 0; width: var(--nova-sidebar-width); z-index: 1040;
    display: flex; flex-direction: column; padding: 22px 16px 16px; color: #e8eefb;
    background:
        radial-gradient(circle at 15% 5%, rgba(99,91,255,.30), transparent 28%),
        radial-gradient(circle at 90% 45%, rgba(6,182,212,.18), transparent 30%),
        linear-gradient(165deg, var(--nova-sidebar), var(--nova-sidebar-2));
    border-right: 1px solid rgba(255,255,255,.06);
    box-shadow: 18px 0 45px rgba(14, 24, 43, .11);
}
.nova-brand { display:flex; align-items:center; gap:12px; color:#fff; text-decoration:none; padding:4px 7px 22px; }
.nova-brand-mark { width:48px; height:48px; display:grid; place-items:center; border-radius:15px; background:rgba(255,255,255,.96); box-shadow:0 10px 24px rgba(0,0,0,.18); overflow:hidden; }
.nova-brand-mark img { width:42px; height:42px; object-fit:contain; }
.nova-brand-copy { display:flex; flex-direction:column; line-height:1.15; }
.nova-brand-copy strong { font-family:'Plus Jakarta Sans',sans-serif; font-size:16px; letter-spacing:.03em; }
.nova-brand-copy small { color:#9faec8; margin-top:4px; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.nova-sidebar-label { padding: 6px 14px 9px; color:#7f8fac; text-transform:uppercase; letter-spacing:.14em; font-size:9px; font-weight:800; }
.nova-nav { display:flex; flex-direction:column; gap:5px; overflow-y:auto; padding-right:2px; }
.nova-nav-link { position:relative; display:flex; align-items:center; gap:12px; min-height:44px; padding:8px 11px; border-radius:13px; color:#afbdd4; text-decoration:none; font-size:12.5px; font-weight:700; }
.nova-nav-link:hover { color:#fff; background:rgba(255,255,255,.07); transform:translateX(2px); }
.nova-nav-icon { width:31px; height:31px; display:grid; place-items:center; border-radius:10px; color:#b7c4d9; background:rgba(255,255,255,.06); font-size:14px; }
.nova-nav-link.active { color:#fff; background:linear-gradient(110deg, rgba(99,91,255,.94), rgba(85,98,255,.68)); box-shadow:0 10px 24px rgba(99,91,255,.26); }
.nova-nav-link.active .nova-nav-icon { color:#fff; background:rgba(255,255,255,.18); }
.nova-nav-link.tone-blue.active { background:linear-gradient(110deg,#3478f6,#55a5ff); }
.nova-nav-link.tone-teal.active { background:linear-gradient(110deg,#0f9f8f,#32c7ad); }
.nova-nav-link.tone-coral.active { background:linear-gradient(110deg,#df6750,#f49a70); }
.nova-nav-link.tone-green.active { background:linear-gradient(110deg,#159467,#43bd86); }
.nova-nav-link.tone-amber.active { background:linear-gradient(110deg,#d89125,#f6bd55); color:#182033; }
.nova-nav-link.tone-pink.active { background:linear-gradient(110deg,#c83e83,#ec72ad); }
.nova-nav-link.tone-cyan.active { background:linear-gradient(110deg,#078eae,#20c8dd); }
.nova-nav-link.tone-slate.active { background:linear-gradient(110deg,#55657b,#8090a6); }
.nova-nav-link.tone-red.active { background:linear-gradient(110deg,#c83c57,#ef7188); }
.nova-sidebar-bottom { margin-top:auto; display:grid; gap:10px; padding-top:16px; }
.nova-sync-link { display:flex; align-items:center; gap:11px; padding:11px; border-radius:14px; color:#e8efff; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.07); text-decoration:none; }
.nova-sync-link > i { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:rgba(34,160,107,.18); color:#7ee0b0; font-size:15px; }
.nova-sync-link span { display:flex; flex-direction:column; min-width:0; }
.nova-sync-link strong { font-size:11px; }
.nova-sync-link small { color:#8fa0bd; font-size:9px; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nova-user-mini { display:flex; align-items:center; gap:9px; padding:10px; border-radius:14px; background:rgba(0,0,0,.13); }
.nova-avatar { flex:0 0 auto; width:37px; height:37px; display:grid; place-items:center; border-radius:12px; background:linear-gradient(135deg,#7d72ff,#34c6d9); color:#fff; font-weight:800; box-shadow:0 6px 18px rgba(99,91,255,.25); }
.nova-avatar.small { width:32px; height:32px; border-radius:10px; font-size:12px; }
.nova-user-copy { min-width:0; display:flex; flex-direction:column; flex:1; }
.nova-user-copy strong { color:#f6f8fc; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nova-user-copy small { color:#8fa0bd; font-size:9px; }
.nova-logout-icon { width:30px; height:30px; display:grid; place-items:center; border-radius:9px; color:#f0a4b2; text-decoration:none; }
.nova-logout-icon:hover { color:#fff; background:rgba(220,76,100,.18); }

.nova-workspace { grid-column:2; min-width:0; }
.nova-topbar { position:sticky; top:0; z-index:1020; min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:10px 30px; background:color-mix(in srgb, var(--nova-bg) 78%, transparent); backdrop-filter:blur(18px); border-bottom:1px solid color-mix(in srgb, var(--nova-border) 76%, transparent); }
.nova-menu-toggle { display:none; border:0; width:40px; height:40px; border-radius:12px; background:var(--nova-surface-solid); color:var(--nova-text); box-shadow:var(--nova-shadow-soft); }
.nova-breadcrumb { display:flex; flex-direction:column; line-height:1.2; }
.nova-breadcrumb span { color:var(--nova-muted); font-size:9px; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.nova-breadcrumb strong { font-family:'Plus Jakarta Sans',sans-serif; font-size:14px; margin-top:3px; }
.nova-top-actions { display:flex; align-items:center; gap:10px; }
.nova-icon-button { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--nova-border); border-radius:12px; background:var(--nova-surface-solid); color:var(--nova-muted); }
.nova-icon-button:hover { color:var(--nova-primary); transform:translateY(-1px); box-shadow:var(--nova-shadow-soft); }
.nova-profile-chip { display:flex; align-items:center; gap:8px; padding:4px 10px 4px 5px; border:1px solid var(--nova-border); border-radius:14px; background:var(--nova-surface-solid); color:var(--nova-text); text-decoration:none; }
.nova-profile-chip > span:last-child { display:flex; flex-direction:column; }
.nova-profile-chip strong { font-size:10px; }
.nova-profile-chip small { color:var(--nova-muted); font-size:8px; }
.nova-main { padding: 0 30px 22px; min-width:0; }
.nova-page-heading { position:relative; overflow:hidden; min-height:150px; margin:18px 0 24px; padding:30px 34px; display:flex; align-items:center; border:1px solid rgba(255,255,255,.35); border-radius:var(--nova-radius-xl); color:#fff; background:
    radial-gradient(circle at 85% 10%, rgba(255,255,255,.20), transparent 28%),
    linear-gradient(120deg,#243b67 0%,#4e51a8 48%,#157f8e 100%); box-shadow:0 20px 55px rgba(50,71,126,.20); }
.nova-page-heading::after { content:""; position:absolute; width:260px; height:260px; border:42px solid rgba(255,255,255,.08); border-radius:50%; right:-70px; bottom:-130px; }
.nova-page-heading > div:first-child { position:relative; z-index:2; max-width:760px; }
.nova-eyebrow { display:block; margin-bottom:8px; color:#d8e2ff; font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.nova-page-heading h1 { margin:0; font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(24px,3vw,39px); font-weight:800; letter-spacing:-.04em; }
.nova-page-heading p { max-width:720px; margin:10px 0 0; color:#dbe5f5; font-size:12px; line-height:1.7; }
.nova-heading-orb { position:absolute; right:90px; top:30px; width:82px; height:82px; border-radius:28px; background:linear-gradient(135deg,rgba(255,255,255,.25),rgba(255,255,255,.02)); transform:rotate(18deg); box-shadow:inset 0 1px 0 rgba(255,255,255,.35); }
.nova-page-content { min-height:360px; }
.nova-footer { display:flex; justify-content:space-between; gap:20px; padding:24px 3px 5px; color:var(--nova-muted); font-size:9px; }
.nova-overlay { display:none; }

/* Modern universal surfaces */
.nova-page-content .card,
.nova-page-content .card-table,
.nova-page-content .card-archive,
.nova-page-content .card-disposisi,
.nova-page-content .table-container,
.nova-page-content .main-card,
.nova-page-content .detail-card,
.nova-page-content .gallery-container,
.nova-page-content .container-box,
.nova-page-content .content-card,
.nova-page-content .form-card,
.nova-page-content .panel,
.nova-page-content .card-pro {
    background:var(--nova-surface) !important;
    color:var(--nova-text) !important;
    border:1px solid var(--nova-border) !important;
    border-radius:var(--nova-radius-lg) !important;
    box-shadow:var(--nova-shadow-soft) !important;
    backdrop-filter:blur(14px);
}
.nova-page-content .container-fluid,
.nova-page-content .container { max-width:none; }
.nova-page-content .header-pro,
.nova-page-content .header-archive,
.nova-page-content .header-disposisi,
.nova-page-content .header-gallery,
.nova-page-content .header-zoom,
.nova-page-content .top-header,
.nova-page-content .page-header,
.nova-page-content .header-section,
.nova-page-content .hero-banner { display:none !important; }
.nova-page-content .card-archive,
.nova-page-content .card-disposisi { margin:0 0 30px !important; padding:22px !important; }
.nova-page-content .card-table { margin-top:0 !important; padding:22px !important; }
.nova-page-content .container-fluid { padding:0 !important; }
.nova-page-content .container { padding-left:0 !important; padding-right:0 !important; }
.nova-page-content .fab-container,
.nova-page-content .fab-group { right:28px !important; bottom:24px !important; }

/* Tables and DataTables */
.nova-page-content .table-responsive { border-radius:16px; }
.nova-page-content table.dataTable,
.nova-page-content .table { width:100% !important; color:var(--nova-text) !important; border-collapse:separate !important; border-spacing:0 !important; }
.nova-page-content .table > :not(caption) > * > * { background:transparent !important; color:inherit; border-bottom-color:var(--nova-border) !important; padding:13px 12px; vertical-align:middle; }
.nova-page-content .table thead th,
.nova-page-content table.dataTable thead th { background:var(--nova-surface-2) !important; color:#4d5c75 !important; border:0 !important; font-size:9px !important; font-weight:800 !important; letter-spacing:.08em !important; text-transform:uppercase; white-space:nowrap; }
html[data-theme='dark'] .nova-page-content .table thead th { color:#b7c4d8 !important; }
.nova-page-content .table thead th:first-child { border-radius:12px 0 0 12px; }
.nova-page-content .table thead th:last-child { border-radius:0 12px 12px 0; }
.nova-page-content .table tbody tr { transition:background .16s ease, transform .16s ease; }
.nova-page-content .table tbody tr:hover { background:color-mix(in srgb,var(--nova-primary-soft) 48%,transparent) !important; }
.nova-page-content .dataTables_wrapper .dataTables_filter input,
.nova-page-content .dataTables_wrapper .dataTables_length select,
.nova-page-content .form-control,
.nova-page-content .form-select,
.nova-page-content textarea {
    min-height:42px; border:1px solid var(--nova-border) !important; border-radius:12px !important; background:var(--nova-surface-solid) !important; color:var(--nova-text) !important; box-shadow:none !important; font-size:12px !important;
}
.nova-page-content .dataTables_wrapper .dataTables_filter input:focus,
.nova-page-content .form-control:focus,
.nova-page-content .form-select:focus,
.nova-page-content textarea:focus { border-color:var(--nova-primary) !important; box-shadow:0 0 0 4px rgba(99,91,255,.11) !important; }
.nova-page-content .dataTables_wrapper .dataTables_filter label,
.nova-page-content .dataTables_wrapper .dataTables_length label,
.nova-page-content .dataTables_info { color:var(--nova-muted) !important; font-size:10px; font-weight:700; }
.nova-page-content .pagination { gap:4px; }
.nova-page-content .page-link { border:0 !important; border-radius:9px !important; color:var(--nova-muted); background:var(--nova-surface-2); font-size:10px; }
.nova-page-content .page-item.active .page-link { background:var(--nova-primary) !important; color:#fff; box-shadow:0 5px 15px rgba(99,91,255,.22); }

/* Buttons */
.nova-page-content .btn,
.nova-page-content button,
.nova-page-content .btn-fab,
.nova-page-content .btn-nav,
.nova-page-content .btn-portal,
.nova-page-content .btn-custom,
.nova-page-content .btn-drive-pro,
.nova-page-content .btn-view-pro {
    border-radius:11px !important; font-size:10px !important; font-weight:800 !important; letter-spacing:.01em; transition:.18s ease !important;
}
.nova-page-content .btn:hover,
.nova-page-content button:hover,
.nova-page-content .btn-fab:hover,
.nova-page-content .btn-nav:hover { transform:translateY(-1px); }
.nova-page-content .btn-primary { background:linear-gradient(135deg,#5558e9,#7770ff) !important; border:0 !important; }
.nova-page-content .btn-success { background:linear-gradient(135deg,#168b63,#2eb77f) !important; border:0 !important; }
.nova-page-content .btn-warning { background:linear-gradient(135deg,#e2a02b,#f4c45a) !important; border:0 !important; color:#2a2417 !important; }
.nova-page-content .btn-danger { background:linear-gradient(135deg,#c8465e,#eb6b82) !important; border:0 !important; }
.nova-page-content .btn-light { background:var(--nova-surface-solid) !important; color:var(--nova-text) !important; border:1px solid var(--nova-border) !important; }
.nova-page-content .btn-outline-secondary,
.nova-page-content .btn-outline-dark { color:var(--nova-muted) !important; border:1px solid var(--nova-border) !important; background:transparent !important; }

/* Typography / fields */
.nova-page-content h1,.nova-page-content h2,.nova-page-content h3,.nova-page-content h4,.nova-page-content h5,.nova-page-content h6 { color:var(--nova-text) !important; font-family:'Plus Jakarta Sans',sans-serif; }
.nova-page-content .text-muted { color:var(--nova-muted) !important; }
.nova-page-content .form-label,
.nova-page-content .label-custom { color:#526078 !important; font-size:9px !important; font-weight:800 !important; text-transform:uppercase; letter-spacing:.06em; margin-bottom:6px; }
html[data-theme='dark'] .nova-page-content .form-label,
html[data-theme='dark'] .nova-page-content .label-custom { color:#aebbd0 !important; }
.nova-page-content .badge { border-radius:999px !important; padding:6px 9px !important; font-weight:800; letter-spacing:.02em; }
.nova-page-content hr { border-color:var(--nova-border); opacity:1; }
.nova-page-content img { max-width:100%; }

/* KPI cards automatically styled */
.nova-page-content .stat-card { position:relative; overflow:hidden; min-height:110px; border:1px solid var(--nova-border) !important; border-radius:18px !important; background:var(--nova-surface) !important; box-shadow:var(--nova-shadow-soft) !important; }
.nova-page-content .stat-card::after { content:""; position:absolute; width:80px; height:80px; border-radius:50%; right:-28px; top:-24px; background:rgba(99,91,255,.08); }

/* Detail views */
.nova-page-content .detail-label,
.nova-page-content .info-label,
.nova-page-content .label-field { color:var(--nova-muted) !important; font-size:9px !important; font-weight:800 !important; letter-spacing:.08em; text-transform:uppercase; }
.nova-page-content .detail-value,
.nova-page-content .info-value,
.nova-page-content .value-field { color:var(--nova-text) !important; }
.nova-page-content a.item-link,
.nova-page-content a.topik-link,
.nova-page-content a.maksud-link,
.nova-page-content a.name-link { color:var(--nova-primary) !important; font-weight:800 !important; text-decoration:none !important; }
.nova-page-content a.item-link:hover,
.nova-page-content a.topik-link:hover,
.nova-page-content a.maksud-link:hover,
.nova-page-content a.name-link:hover { color:var(--nova-teal) !important; }

/* Floating actions */
.nova-page-content .btn-fab,
.nova-page-content .btn-nav { background:linear-gradient(135deg,#2d3f68,#536ca0) !important; color:#fff !important; border:1px solid rgba(255,255,255,.12) !important; box-shadow:0 12px 28px rgba(28,43,76,.22) !important; }

/* Login */
body.nova-login-body { display:grid !important; place-items:center !important; min-height:100vh; padding:24px; background:
    radial-gradient(circle at 10% 10%, rgba(99,91,255,.30), transparent 28%),
    radial-gradient(circle at 90% 15%, rgba(6,182,212,.24), transparent 28%),
    linear-gradient(145deg,#0e172a,#172844 58%,#102c3c) !important; }
.nova-login-shell { width:min(1050px,100%); display:grid; grid-template-columns:1.18fr .82fr; overflow:hidden; border:1px solid rgba(255,255,255,.10); border-radius:30px; background:rgba(255,255,255,.95); box-shadow:0 35px 90px rgba(0,0,0,.35); }
.nova-login-art { position:relative; min-height:650px; padding:55px; color:#fff; background:
    radial-gradient(circle at 82% 18%,rgba(255,255,255,.22),transparent 24%),
    radial-gradient(circle at 20% 90%,rgba(6,182,212,.32),transparent 35%),
    linear-gradient(145deg,#3446a0,#5754c9 52%,#147c8c); overflow:hidden; }
.nova-login-art::before,.nova-login-art::after { content:""; position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.15); }
.nova-login-art::before { width:360px;height:360px;right:-130px;bottom:-140px; }
.nova-login-art::after { width:220px;height:220px;right:-60px;bottom:-70px; }
.nova-login-brand { display:flex; align-items:center; gap:12px; position:relative; z-index:2; }
.nova-login-brand img { width:58px;height:58px;object-fit:contain;background:#fff;border-radius:17px;padding:5px; }
.nova-login-brand strong { display:block;font-family:'Plus Jakarta Sans';font-size:18px; }
.nova-login-brand small { color:#dbe6ff;font-size:10px;letter-spacing:.09em;text-transform:uppercase; }
.nova-login-message { position:absolute; left:55px; right:55px; bottom:70px; z-index:2; }
.nova-login-message span { display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.13);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase; }
.nova-login-message h1 { margin:18px 0 14px;color:#fff !important;font-family:'Plus Jakarta Sans';font-size:42px;line-height:1.06;letter-spacing:-.045em; }
.nova-login-message p { color:#dce6ff;line-height:1.8;font-size:12px;max-width:560px; }
.nova-login-panel { display:flex;align-items:center;padding:55px 48px;background:#fff; }
.nova-login-card { width:100%; }
.nova-login-card .nova-login-kicker { color:var(--nova-primary);font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase; }
.nova-login-card h2 { margin:8px 0 8px;font-family:'Plus Jakarta Sans';font-size:30px;letter-spacing:-.04em; }
.nova-login-card > p { color:#78849a;font-size:11px;line-height:1.65;margin-bottom:27px; }
.nova-login-field { margin-bottom:16px; }
.nova-login-field label { display:block;color:#556278;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px; }
.nova-login-input { display:flex;align-items:center;gap:9px;min-height:49px;padding:0 13px;border:1px solid #dce4ef;border-radius:14px;background:#f8fafc; }
.nova-login-input:focus-within { border-color:var(--nova-primary);box-shadow:0 0 0 4px rgba(99,91,255,.10);background:#fff; }
.nova-login-input i { color:#8b97aa; }
.nova-login-input input { flex:1;border:0;outline:0;background:transparent;font-size:12px;color:#172033; }
.nova-login-button { width:100%;min-height:49px;border:0;border-radius:14px;color:#fff;font-weight:800;font-size:11px;background:linear-gradient(120deg,#5558e9,#7770ff 56%,#3b95c7);box-shadow:0 12px 25px rgba(99,91,255,.25); }
.nova-login-button:hover { transform:translateY(-1px);box-shadow:0 16px 30px rgba(99,91,255,.32); }
.nova-login-error { display:flex;gap:9px;align-items:flex-start;margin:0 0 18px;padding:11px 13px;border-radius:12px;background:#fff0f3;color:#b33650;font-size:10px;font-weight:700; }
.nova-login-foot { margin-top:24px;color:#98a3b5;font-size:9px;text-align:center; }

/* Dashboard */
.nova-dashboard-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:18px; }
.nova-welcome-card { grid-column:span 8; position:relative; overflow:hidden; min-height:250px; padding:30px; border-radius:24px; color:#fff; background:
    radial-gradient(circle at 85% 18%,rgba(255,255,255,.20),transparent 25%),
    linear-gradient(130deg,#4144a3,#6861dc 55%,#178a9a); box-shadow:0 18px 42px rgba(71,71,161,.22); }
.nova-welcome-card h2 { color:#fff !important; font-size:29px; margin:12px 0 10px; }
.nova-welcome-card p { max-width:600px;color:#dfe5ff;font-size:11px;line-height:1.75; }
.nova-welcome-actions { display:flex;gap:10px;flex-wrap:wrap;margin-top:24px; }
.nova-welcome-actions a { display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border-radius:12px;text-decoration:none;font-size:10px;font-weight:800; }
.nova-welcome-actions .primary { background:#fff;color:#4044a2; }
.nova-welcome-actions .secondary { background:rgba(255,255,255,.13);color:#fff;border:1px solid rgba(255,255,255,.16); }
.nova-profile-card { grid-column:span 4; padding:24px; border:1px solid var(--nova-border); border-radius:24px; background:var(--nova-surface); box-shadow:var(--nova-shadow-soft); }
.nova-profile-card-top { display:flex;align-items:center;justify-content:space-between; }
.nova-profile-card .big-avatar { width:58px;height:58px;display:grid;place-items:center;border-radius:18px;color:#fff;font-size:21px;font-weight:800;background:linear-gradient(135deg,#d9468f,#f183b6); }
.nova-profile-card h3 { margin:18px 0 5px;font-size:18px; }
.nova-profile-card p { margin:0;color:var(--nova-muted);font-size:10px; }
.nova-profile-meta { display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px; }
.nova-profile-meta div { padding:11px;border-radius:13px;background:var(--nova-surface-2); }
.nova-profile-meta small { display:block;color:var(--nova-muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em;font-weight:800; }
.nova-profile-meta strong { display:block;margin-top:4px;font-size:11px; }
.nova-section-title { grid-column:1/-1;display:flex;align-items:end;justify-content:space-between;margin-top:10px; }
.nova-section-title h3 { margin:0;font-size:18px; }
.nova-section-title p { margin:4px 0 0;color:var(--nova-muted);font-size:10px; }
.nova-module-card { grid-column:span 3; position:relative; overflow:hidden; min-height:174px; padding:21px; border:1px solid var(--nova-border); border-radius:20px; background:var(--nova-surface); color:var(--nova-text); text-decoration:none; box-shadow:var(--nova-shadow-soft); }
.nova-module-card:hover { transform:translateY(-5px); box-shadow:var(--nova-shadow); color:var(--nova-text); }
.nova-module-icon { width:45px;height:45px;display:grid;place-items:center;border-radius:14px;font-size:18px;margin-bottom:24px; }
.nova-module-card h4 { margin:0 0 7px;font-size:13px; }
.nova-module-card p { margin:0;color:var(--nova-muted);font-size:9px;line-height:1.55; }
.nova-module-arrow { position:absolute;right:17px;bottom:17px;width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--nova-surface-2);color:var(--nova-muted); }
.nova-module-card.blue .nova-module-icon { background:#e9f2ff;color:#3478f6; }
.nova-module-card.teal .nova-module-icon { background:#def8f2;color:#0f9f8f; }
.nova-module-card.coral .nova-module-icon { background:#fff0eb;color:#df6750; }
.nova-module-card.green .nova-module-icon { background:#e4f8ee;color:#168b63; }
.nova-module-card.amber .nova-module-icon { background:#fff4dd;color:#d89125; }
.nova-module-card.pink .nova-module-icon { background:#fde9f3;color:#c83e83; }
.nova-module-card.cyan .nova-module-icon { background:#e0f7fb;color:#078eae; }
.nova-module-card.slate .nova-module-icon { background:#edf1f6;color:#55657b; }
.nova-admin-strip { grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 22px;border-radius:20px;border:1px solid #f0d6dc;background:linear-gradient(100deg,#fff7f8,#f8f4ff);box-shadow:var(--nova-shadow-soft); }
.nova-admin-strip > div { display:flex;align-items:center;gap:13px; }
.nova-admin-strip .icon { width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#fde9ee;color:#c83c57; }
.nova-admin-strip h4 { margin:0;font-size:12px; }
.nova-admin-strip p { margin:4px 0 0;color:#7c8698;font-size:9px; }
.nova-admin-strip a { padding:9px 13px;border-radius:11px;color:#fff;background:#c83c57;text-decoration:none;font-size:9px;font-weight:800; }

/* Alerts */
.nova-alert { display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:13px;font-size:10px;font-weight:700; }
.nova-alert-info { color:#1d5f87;background:#e9f6fd;border:1px solid #cceaf8; }
.nova-alert-success { color:#176746;background:#e8f8ef;border:1px solid #ccebd9; }
.nova-alert-danger { color:#a3324a;background:#fff0f3;border:1px solid #f7d3da; }

@media (max-width: 1180px) {
    :root { --nova-sidebar-width: 230px; }
    .nova-module-card { grid-column:span 4; }
    .nova-page-heading { min-height:136px; }
}
@media (max-width: 900px) {
    .nova-app { display:block; }
    .nova-sidebar { transform:translateX(-105%); transition:transform .24s ease; width:280px; }
    .nova-app.sidebar-open .nova-sidebar { transform:translateX(0); }
    .nova-workspace { min-width:0; }
    .nova-menu-toggle { display:grid; place-items:center; }
    .nova-topbar { padding:10px 18px; }
    .nova-main { padding:0 18px 20px; }
    .nova-page-heading { margin-top:14px;padding:24px; }
    .nova-overlay { position:fixed;inset:0;z-index:1030;background:rgba(9,15,28,.48);backdrop-filter:blur(3px); }
    .nova-app.sidebar-open .nova-overlay { display:block; }
    .nova-welcome-card,.nova-profile-card { grid-column:1/-1; }
    .nova-module-card { grid-column:span 6; }
    .nova-login-shell { grid-template-columns:1fr;max-width:540px; }
    .nova-login-art { display:none; }
}
@media (max-width: 620px) {
    .nova-main { padding:0 12px 18px; }
    .nova-topbar { padding:9px 12px; }
    .nova-breadcrumb span,.nova-profile-chip span:last-child { display:none; }
    .nova-page-heading { min-height:122px;margin-bottom:16px;border-radius:20px;padding:21px; }
    .nova-page-heading h1 { font-size:24px; }
    .nova-heading-orb { display:none; }
    .nova-module-card { grid-column:1/-1; min-height:145px; }
    .nova-dashboard-grid { gap:12px; }
    .nova-welcome-card,.nova-profile-card { padding:21px; }
    .nova-welcome-card h2 { font-size:24px; }
    .nova-section-title { align-items:flex-start;flex-direction:column; }
    .nova-admin-strip { align-items:flex-start;flex-direction:column; }
    .nova-footer { flex-direction:column;gap:5px; }
    .nova-login-panel { padding:42px 26px; }
    .nova-page-content .card-archive,.nova-page-content .card-disposisi,.nova-page-content .card-table { padding:14px !important; }
    .nova-page-content .fab-container,.nova-page-content .fab-group { position:static !important;margin-top:15px;align-items:stretch !important; }
    .nova-page-content .btn-fab { justify-content:center; }
}

@media print {
    .nova-sidebar,.nova-topbar,.nova-page-heading,.nova-footer,.nova-overlay { display:none !important; }
    .nova-app,.nova-workspace { display:block !important; }
    .nova-main { padding:0 !important; }
    body { background:#fff !important; }
}

/* Compatibility layer for the original page structures */
.nova-page-content .header-enterprise,
.nova-page-content .header-archive,
.nova-page-content .header-disposisi,
.nova-page-content .header-gallery,
.nova-page-content .header-zoom,
.nova-page-content .header-pro,
.nova-page-content .map-header {
    display:block !important;
    margin:0 0 18px !important;
    padding:17px 20px !important;
    color:var(--nova-text) !important;
    background:linear-gradient(120deg,var(--nova-surface-solid),var(--nova-surface-2)) !important;
    border:1px solid var(--nova-border) !important;
    border-left:5px solid var(--nova-primary) !important;
    border-radius:18px !important;
    box-shadow:var(--nova-shadow-soft) !important;
    clip-path:none !important;
}
.nova-page-content .header-enterprise h1,.nova-page-content .header-enterprise h2,.nova-page-content .header-enterprise h3,.nova-page-content .header-enterprise h4,
.nova-page-content .header-archive h1,.nova-page-content .header-archive h2,.nova-page-content .header-archive h3,.nova-page-content .header-archive h4,
.nova-page-content .header-disposisi h1,.nova-page-content .header-disposisi h2,.nova-page-content .header-disposisi h3,.nova-page-content .header-disposisi h4,
.nova-page-content .header-gallery h1,.nova-page-content .header-gallery h2,.nova-page-content .header-gallery h3,.nova-page-content .header-gallery h4,
.nova-page-content .header-zoom h1,.nova-page-content .header-zoom h2,.nova-page-content .header-zoom h3,.nova-page-content .header-zoom h4,
.nova-page-content .header-pro h1,.nova-page-content .header-pro h2,.nova-page-content .header-pro h3,.nova-page-content .header-pro h4,
.nova-page-content .map-header h1,.nova-page-content .map-header h2,.nova-page-content .map-header h3,.nova-page-content .map-header h4 { color:var(--nova-text) !important; font-size:15px !important; }
.nova-page-content .header-enterprise p,.nova-page-content .header-archive p,.nova-page-content .header-disposisi p,.nova-page-content .header-gallery p,.nova-page-content .header-zoom p,.nova-page-content .header-pro small { color:var(--nova-muted) !important; opacity:1 !important; font-size:9px !important; }
.nova-page-content .header-enterprise { border-left-color:var(--nova-blue) !important; }
.nova-page-content .header-archive { border-left-color:var(--nova-teal) !important; }
.nova-page-content .header-disposisi { border-left-color:var(--nova-coral) !important; }
.nova-page-content .header-gallery { border-left-color:var(--nova-amber) !important; }
.nova-page-content .header-zoom { border-left-color:var(--nova-green) !important; }
.nova-page-content .header-pro { border-left-color:var(--nova-pink) !important; }
.nova-page-content .map-header { border-left-color:var(--nova-cyan) !important; }

.nova-page-content .header-enterprise .stat-card-mini { min-height:80px; padding:12px !important; border:1px solid var(--nova-border); border-radius:15px; background:var(--nova-surface-solid) !important; box-shadow:none !important; }
.nova-page-content .header-enterprise .stat-card-mini h5 { color:var(--nova-text) !important; }
.nova-page-content .stat-badge { color:var(--nova-green) !important; background:#e7f8ef !important; border:1px solid #cbead9 !important; border-radius:999px !important; padding:8px 12px !important; font-size:9px !important; }

.nova-page-content .card-main,
.nova-page-content .main-card,
.nova-page-content .recovery-container,
.nova-page-content .form-container,
.nova-page-content .email-card,
.nova-page-content .main-wrapper,
.nova-page-content .main-content {
    width:100% !important;
    max-width:none !important;
    margin:0 0 22px !important;
    padding:22px !important;
    overflow:visible !important;
    background:var(--nova-surface) !important;
    border:1px solid var(--nova-border) !important;
    border-radius:var(--nova-radius-lg) !important;
    box-shadow:var(--nova-shadow-soft) !important;
    color:var(--nova-text) !important;
}
.nova-page-content .form-container,.nova-page-content .recovery-container,.nova-page-content .email-card { max-width:850px !important; margin:0 auto 22px !important; padding:0 !important; overflow:hidden !important; }
.nova-page-content .form-header,.nova-page-content .email-header { padding:20px 23px !important; color:var(--nova-text) !important; background:linear-gradient(120deg,var(--nova-surface-2),var(--nova-surface-solid)) !important; border-bottom:1px solid var(--nova-border) !important; }
.nova-page-content .form-header h4,.nova-page-content .form-header h5,.nova-page-content .email-header h4,.nova-page-content .email-header h5 { color:var(--nova-text) !important; }
.nova-page-content .form-body { padding:24px !important; }
.nova-page-content .info-asset,.nova-page-content .info-asset-box { background:var(--nova-primary-soft) !important; color:var(--nova-primary) !important; border-left:4px solid var(--nova-primary) !important; }
.nova-page-content .readonly-card { color:var(--nova-text) !important; background:var(--nova-surface-2) !important; border-color:var(--nova-border) !important; }

.nova-page-content .sidebar-left,
.nova-page-content .sidebar-decor,
.nova-page-content .glass-header,
.nova-page-content .header-nav,
.nova-page-content .logo-top,
.nova-page-content .logo-box,
.nova-page-content .header-section,
.nova-page-content .header-content,
.nova-page-content .header-box,
.nova-page-content .top-header,
.nova-page-content .page-header { display:none !important; }

.nova-page-content .main-wrapper .info-table,
.nova-page-content .main-content .info-table,
.nova-page-content .info-table { width:100% !important; table-layout:auto !important; border-collapse:separate !important; border-spacing:0 7px !important; margin:0 !important; }
.nova-page-content .info-table tr { background:var(--nova-surface-solid); }
.nova-page-content .info-table td { border:0 !important; }
.nova-page-content .info-table .td-label {
    width:220px !important; min-width:180px; padding:13px 15px !important; text-align:left !important; vertical-align:top !important;
    color:var(--nova-muted) !important; background:var(--nova-surface-2) !important; border-radius:12px 0 0 12px !important;
    font-size:9px !important; font-weight:800 !important; letter-spacing:.06em !important; text-transform:uppercase !important;
}
.nova-page-content .info-table .td-isi {
    padding:13px 17px !important; color:var(--nova-text) !important; background:var(--nova-surface-solid) !important;
    border:1px solid var(--nova-border) !important; border-left:0 !important; border-radius:0 12px 12px 0 !important; line-height:1.65 !important;
}
.nova-page-content .white-box,.nova-page-content .highlight-title,.nova-page-content .highlight-id {
    width:auto !important; max-width:100%; display:inline-block; color:var(--nova-text) !important; background:var(--nova-surface-2) !important;
    border:1px solid var(--nova-border) !important; border-radius:9px !important; padding:7px 10px !important; box-shadow:none !important;
}
.nova-page-content .summary-box,.nova-page-content .result-box,.nova-page-content .description-box {
    color:var(--nova-text) !important; background:color-mix(in srgb,var(--nova-primary-soft) 58%,var(--nova-surface-solid)) !important;
    border:1px solid color-mix(in srgb,var(--nova-primary) 25%,var(--nova-border)) !important; border-left:4px solid var(--nova-primary) !important; border-radius:14px !important; padding:17px !important;
}
.nova-page-content .link-pro,.nova-page-content .drive-link,.nova-page-content .drive-btn { color:var(--nova-primary) !important; overflow-wrap:anywhere; }

.nova-page-content .asset-hero { height:360px !important; border-radius:16px !important; overflow:hidden; background:linear-gradient(145deg,#111a2e,#263c60) !important; }
.nova-page-content .asset-title { font-size:22px !important; }
.nova-page-content .section-title,.nova-page-content .section-header,.nova-page-content .section-tag { color:var(--nova-primary) !important; border-color:var(--nova-primary) !important; }

.nova-page-content .photo-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:16px !important; margin:20px 0 0 !important; }
.nova-page-content .photo-item { border:1px solid var(--nova-border) !important; border-radius:16px !important; background:var(--nova-surface-solid) !important; box-shadow:var(--nova-shadow-soft) !important; }
.nova-page-content .photo-item img { height:220px !important; }
.nova-page-content .photo-caption { color:var(--nova-text) !important; background:var(--nova-surface-solid) !important; }
.nova-page-content .nav-panel,.nova-page-content .btn-panel { position:static !important; width:auto !important; display:flex !important; gap:8px; flex-wrap:wrap; margin:18px 0 0; }
.nova-page-content .btn-panel .btn-custom,.nova-page-content .nav-panel .btn-portal,.nova-page-content .nav-panel .btn-nav { width:auto !important; margin:0 !important; }

.nova-page-content .profile-box { border-radius:18px !important; border:4px solid var(--nova-surface-solid) !important; box-shadow:var(--nova-shadow-soft) !important; }
.nova-page-content .card-custom { color:var(--nova-text) !important; background:var(--nova-surface-solid) !important; border:1px solid var(--nova-border) !important; border-radius:16px !important; box-shadow:none !important; }
.nova-page-content .social-addon { color:var(--nova-muted) !important; background:var(--nova-surface-2) !important; border-color:var(--nova-border) !important; }

.nova-page-content .form-row { gap:12px; padding:13px 23px !important; border-color:var(--nova-border) !important; }
.nova-page-content .form-row label { color:var(--nova-muted) !important; font-size:10px; font-weight:800; }
.nova-page-content .form-row input { color:var(--nova-text) !important; background:transparent !important; min-height:34px; }
.nova-page-content .attachment-section { color:var(--nova-text) !important; background:var(--nova-surface-2) !important; border-color:var(--nova-border) !important; }
.nova-page-content .btn-kirim,.nova-page-content .btn-save,.nova-page-content .btn-process { background:linear-gradient(135deg,#5558e9,#7770ff) !important; color:#fff !important; border:0 !important; border-radius:11px !important; }

.nova-page-content #map-canvas { height:68vh !important; min-height:460px; border-radius:18px !important; box-shadow:var(--nova-shadow-soft) !important; border:1px solid var(--nova-border); }

@media (max-width:760px) {
    .nova-page-content .header-enterprise > .d-flex,.nova-page-content .header-archive > .d-flex,.nova-page-content .header-disposisi > .d-flex,.nova-page-content .header-gallery > .d-flex,.nova-page-content .header-zoom > .d-flex,.nova-page-content .header-pro { flex-direction:column !important; align-items:flex-start !important; gap:12px; }
    .nova-page-content .info-table,.nova-page-content .info-table tbody,.nova-page-content .info-table tr,.nova-page-content .info-table td { display:block !important; width:100% !important; }
    .nova-page-content .info-table tr { margin-bottom:10px; border:1px solid var(--nova-border); border-radius:13px; overflow:hidden; }
    .nova-page-content .info-table .td-label { min-width:0;border-radius:0 !important; }
    .nova-page-content .info-table .td-isi { border:0 !important;border-radius:0 !important; }
    .nova-page-content .photo-grid { grid-template-columns:1fr !important; }
    .nova-page-content .asset-hero { height:260px !important; }
}

/* APASIH PA v3.3 notification bell */
.nova-bell{position:relative;text-decoration:none}.nova-bell-count{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid var(--nova-surface)}
