:root{--blue:#0758c7;--blue2:#0b83ec;--navy:#0b2748;--ink:#15324e;--muted:#6f8497;--bg:#f3f7fd;--line:#dbe7f5;--white:#fff;--danger:#db3c56;--warning:#d88908;--success:#13855c;--shadow:0 18px 48px rgba(14,65,125,.12)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:270px;padding:26px 18px;background:linear-gradient(180deg,#062f68 0%,#0758c7 55%,#063a83 100%);color:#fff;z-index:20;display:flex;flex-direction:column;box-shadow:16px 0 45px rgba(2,40,91,.15)}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 25px}.brand-mark{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);font-weight:900;letter-spacing:-1px;box-shadow:inset 0 1px rgba(255,255,255,.25)}.brand strong{display:block;font-size:15px}.brand span{display:block;font-size:11px;opacity:.7;margin-top:4px;letter-spacing:1px;text-transform:uppercase}.nav-menu{display:flex;flex-direction:column;gap:7px}.nav-menu a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;color:rgba(255,255,255,.82);font-weight:650;font-size:14px;transition:.2s}.nav-menu a span{width:22px;text-align:center;font-size:18px}.nav-menu a:hover,.nav-menu a.active{background:rgba(255,255,255,.14);color:#fff;transform:translateX(2px)}.nav-label{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;opacity:.54;padding:18px 14px 4px}.sidebar-card{margin-top:auto;padding:16px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.09)}.sidebar-card span,.sidebar-card small{display:block;font-size:11px;opacity:.7}.sidebar-card strong{display:block;font-size:13px;margin:8px 0}.sidebar-card i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#55e6a6;box-shadow:0 0 0 5px rgba(85,230,166,.13);margin-right:8px}.main-content{margin-left:270px;min-height:100vh;width:calc(100% - 270px);display:flex;flex-direction:column}.topbar{height:82px;padding:0 34px;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:15}.topbar-title small,.topbar-title strong{display:block}.topbar-title small{font-size:11px;color:var(--muted);margin-bottom:5px}.topbar-title strong{font-size:19px;color:var(--navy)}.user-menu{display:flex;align-items:center;gap:10px}.avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;font-weight:800;box-shadow:0 8px 20px rgba(7,88,199,.22)}.user-menu strong,.user-menu span{display:block}.user-menu strong{font-size:13px}.user-menu span{font-size:10px;color:var(--muted);margin-top:3px}.logout-link{font-size:12px;color:var(--blue);font-weight:700;margin-left:12px}.menu-button{display:none;border:0;background:#eef5ff;color:var(--blue);width:42px;height:42px;border-radius:12px}.page-content{padding:30px 34px;flex:1}.footer{padding:18px 34px;color:var(--muted);font-size:11px;border-top:1px solid var(--line);background:#fff}.hero-panel{padding:28px;border-radius:22px;background:linear-gradient(135deg,#0758c7,#0b83ec);color:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden;margin-bottom:24px}.hero-panel:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.09);right:-80px;top:-120px}.hero-panel h1{margin:0 0 8px;font-size:28px}.hero-panel p{margin:0;opacity:.82;line-height:1.7;max-width:720px}.grid{display:grid;gap:20px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.stat-card,.card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 30px rgba(18,73,131,.06)}.stat-card{padding:22px;position:relative;overflow:hidden}.stat-card small{color:var(--muted);font-weight:650}.stat-card strong{display:block;font-size:30px;margin:9px 0 5px;color:var(--navy)}.stat-card span{font-size:11px;color:var(--muted)}.stat-icon{position:absolute;right:18px;top:18px;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#edf5ff;color:var(--blue);font-size:19px}.two-col{grid-template-columns:1.25fr .75fr}.card-header{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px}.card-header h2{font-size:16px;margin:0;color:var(--navy)}.card-header p{font-size:11px;color:var(--muted);margin:4px 0 0}.card-body{padding:22px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}.toolbar h1{font-size:24px;margin:0}.toolbar p{margin:5px 0 0;color:var(--muted);font-size:13px}.btn{border:0;border-radius:12px;padding:11px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:750;font-size:13px;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 9px 22px rgba(7,88,199,.2)}.btn-secondary{background:#edf5ff;color:var(--blue)}.btn-danger{background:#fff0f2;color:var(--danger)}.btn-light{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn-sm{padding:8px 11px;font-size:11px;border-radius:9px}.search-form{display:flex;gap:9px;align-items:center}.search-form input{min-width:260px}.form-control{width:100%;border:1px solid #cfdeee;border-radius:12px;padding:11px 13px;background:#fff;color:var(--ink);outline:0;transition:.2s}.form-control:focus{border-color:#5ca4f3;box-shadow:0 0 0 4px rgba(11,131,236,.11)}textarea.form-control{min-height:110px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-group label{display:block;font-size:12px;font-weight:750;margin-bottom:8px;color:#254767}.form-group small{display:block;color:var(--muted);font-size:10px;margin-top:6px}.form-group.full{grid-column:1/-1}.form-actions{display:flex;gap:10px;padding-top:6px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:780px}.data-table th{padding:13px 14px;text-align:left;font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:#70879c;background:#f7faff;border-bottom:1px solid var(--line)}.data-table td{padding:15px 14px;border-bottom:1px solid #e8f0f8;font-size:12px;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tr:hover td{background:#fbfdff}.primary-text{font-weight:750;color:var(--navy)}.secondary-text{display:block;color:var(--muted);font-size:10px;margin-top:4px}.actions{display:flex;gap:6px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.badge.success{color:#0a7650;background:#e6f8f1}.badge.warning{color:#9b6205;background:#fff3d8}.badge.danger{color:#bd2941;background:#ffe8ed}.badge.info{color:#0758c7;background:#e9f3ff}.badge.neutral{color:#60758c;background:#eef2f6}.alert{padding:14px 17px;border-radius:13px;margin-bottom:18px;font-size:12px;font-weight:650;transition:.3s}.success-alert{background:#e7f8f1;color:#08724d;border:1px solid #bcebd8}.error-alert{background:#ffedf0;color:#bc2d46;border:1px solid #fac7d0}.alert.fade{opacity:.28}.empty-state{text-align:center;padding:42px 20px;color:var(--muted)}.empty-state strong{display:block;color:var(--navy);margin-bottom:7px}.timeline{display:flex;flex-direction:column}.timeline-item{position:relative;padding:0 0 20px 24px;border-left:2px solid #dceaff;margin-left:7px}.timeline-item:before{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--blue2);left:-7px;top:2px;box-shadow:0 0 0 5px #eaf4ff}.timeline-item:last-child{border-left-color:transparent}.timeline-item strong{font-size:12px}.timeline-item p{font-size:11px;color:var(--muted);margin:6px 0;line-height:1.55}.timeline-item span{font-size:10px;color:var(--blue);font-weight:700}.contact-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.contact-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px}.contact-card strong{display:block;font-size:12px}.contact-card span{display:block;font-size:10px;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.login-page{min-height:100vh;background:linear-gradient(135deg,#eff6ff 0%,#fff 48%,#e7f2ff 100%);padding:34px;display:grid;place-items:center}.login-shell{width:min(1160px,100%);display:grid;grid-template-columns:1.15fr .85fr;background:#fff;border:1px solid #dce9f7;border-radius:28px;overflow:hidden;box-shadow:0 30px 80px rgba(14,65,125,.15)}.login-visual{padding:48px;color:#fff;background:linear-gradient(145deg,#053c8b,#0874dc 58%,#0da0ec);position:relative;overflow:hidden}.login-visual:before,.login-visual:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}.login-visual:before{width:330px;height:330px;right:-120px;top:-100px}.login-visual:after{width:240px;height:240px;left:-100px;bottom:-100px}.login-logo{width:58px;height:58px;border-radius:18px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;font-size:20px;font-weight:900}.login-visual h1{font-size:38px;line-height:1.08;margin:42px 0 16px;max-width:480px}.login-visual>p{line-height:1.75;opacity:.84;max-width:520px}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:34px}.feature-item{padding:14px;border-radius:14px;background:rgba(255,255,255,.1);font-size:11px;border:1px solid rgba(255,255,255,.12)}.feature-item strong{display:block;font-size:12px;margin-bottom:5px}.login-form-panel{padding:44px;display:flex;flex-direction:column;justify-content:center}.login-form-panel h2{font-size:26px;margin:0}.login-form-panel>p{color:var(--muted);font-size:12px;line-height:1.6}.login-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f0f5fb;padding:4px;border-radius:12px;margin:22px 0}.login-tabs button{border:0;background:transparent;padding:10px;border-radius:9px;font-weight:750;color:#6b8094;cursor:pointer}.login-tabs button.active{background:#fff;color:var(--blue);box-shadow:0 4px 12px rgba(22,77,137,.1)}.login-note{padding:12px;background:#f5f9ff;border-radius:11px;color:#61788f;font-size:10px;line-height:1.55;margin-top:14px}.login-admins{grid-column:1/-1;padding:22px 26px;background:#f7faff;border-top:1px solid var(--line)}.login-admins h3{font-size:12px;margin:0 0 12px;color:var(--navy)}.compact-contact-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.compact-contact{padding:11px 12px;background:#fff;border:1px solid var(--line);border-radius:11px}.compact-contact strong,.compact-contact span{display:block}.compact-contact strong{font-size:10px}.compact-contact span{font-size:9px;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}.login-error{padding:11px;background:#fff0f2;color:#ba3048;border-radius:10px;font-size:11px;margin-bottom:14px}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-item{padding:14px;border:1px solid var(--line);border-radius:13px;background:#fbfdff}.detail-item span{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.detail-item strong{font-size:13px}.metric-band{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.metric-band div{padding:14px;border-radius:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14)}.metric-band span,.metric-band strong{display:block}.metric-band span{font-size:10px;opacity:.75}.metric-band strong{font-size:17px;margin-top:6px}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.contact-grid,.compact-contact-grid{grid-template-columns:repeat(2,1fr)}.login-shell{grid-template-columns:1fr}.login-admins{grid-column:1}.login-visual{padding:36px}.login-visual h1{font-size:31px}.login-form-panel{padding:36px}.two-col{grid-template-columns:1fr}}@media(max-width:800px){.sidebar{transform:translateX(-105%);transition:.25s}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0;width:100%}.topbar{padding:0 18px}.menu-button{display:block}.user-menu>div:not(.avatar){display:none}.page-content{padding:22px 16px}.stats-grid,.form-grid,.detail-list{grid-template-columns:1fr}.search-form{width:100%}.search-form input{min-width:0;flex:1}.login-page{padding:12px}.login-visual{display:none}.login-form-panel{padding:28px 22px}.compact-contact-grid{grid-template-columns:1fr}.login-admins{padding:18px}.metric-band{grid-template-columns:1fr}}

/* PASS Service Center V2 */
.brand-image{width:42px;height:42px;object-fit:contain;background:#fff;border-radius:12px;padding:4px;box-shadow:0 7px 20px rgba(0,0,0,.16)}
.login-brand-row{display:flex;align-items:center;gap:14px;position:relative;z-index:1}
.login-brand-row img:first-child{width:74px;height:74px;object-fit:contain;background:#fff;border-radius:18px;padding:5px}
.login-brand-row .pass-logo{height:65px;width:150px;object-fit:cover;object-position:center;border-radius:12px;border:1px solid rgba(255,255,255,.28)}
.btn-danger{background:#fff0f3;color:#b3233f;border:1px solid #fac4cf}
.btn-danger:hover{background:#ffe2e8}
.doc-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.document-filter{display:block}
.filter-form{display:grid;grid-template-columns:minmax(240px,1fr) 180px 180px auto;width:100%}
.filter-form input,.filter-form select{min-width:0}
.document-form-layout{align-items:start}
.full-span{grid-column:1/-1}
.item-editor-table{min-width:1450px}
.item-editor-table .form-control{padding:9px 10px;border-radius:9px;font-size:11px}
.item-editor-table th:nth-child(1){width:120px}
.item-editor-table th:nth-child(2){width:130px}
.item-editor-table th:nth-child(3){width:190px}
.item-editor-table th:nth-child(4){width:250px}
.item-editor-table th:nth-child(5){width:85px}
.item-editor-table th:nth-child(6){width:90px}
.item-editor-table th:nth-child(7){width:130px}
.item-editor-table th:nth-child(8){width:100px}
.item-editor-table th:nth-child(9){width:130px}
.item-total{font-weight:800;white-space:nowrap;color:var(--navy)}
.calculation-box{margin-top:18px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fbfdff}
.calculation-box>div{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--line);font-size:12px}
.calculation-box>div:last-child{border-bottom:0}
.calculation-box span{color:var(--muted)}
.calculation-box strong{color:var(--navy)}
.calculation-box .grand-total{background:linear-gradient(135deg,#06499c,#0a80df);color:#fff;padding:16px}
.calculation-box .grand-total span,.calculation-box .grand-total strong{color:#fff}
.calculation-box .grand-total strong{font-size:19px}
.sticky-actions{position:sticky;bottom:0;z-index:4;margin:22px -8px -8px;padding:14px 18px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:16px;box-shadow:0 -10px 35px rgba(19,66,116,.12);backdrop-filter:blur(9px)}
.document-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 28px;border-radius:21px;background:linear-gradient(135deg,#063e88,#0878d5 60%,#17a2e5);color:#fff;margin-bottom:20px;box-shadow:0 18px 40px rgba(7,82,157,.2)}
.document-hero h2{font-size:27px;margin:7px 0}
.document-hero p{margin:0;opacity:.82}
.document-kicker{display:inline-block;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.15);font-weight:800;font-size:10px;text-transform:uppercase;letter-spacing:.7px}
.document-total{text-align:right;min-width:230px}
.document-total>span,.document-total>strong{display:block}
.document-total>span{font-size:11px;opacity:.78}
.document-total>strong{font-size:27px;margin:6px 0 9px}
.document-total .badge{background:#fff;color:#0758c7}
.preline{white-space:pre-line;color:var(--muted);line-height:1.7;font-size:12px}
.soft-rule{border:0;border-top:1px solid var(--line);margin:18px 0}
.summary-lines{display:flex;flex-direction:column}
.summary-lines>div{display:flex;justify-content:space-between;gap:20px;padding:10px 2px;border-bottom:1px solid var(--line);font-size:12px}
.summary-lines span{color:var(--muted)}
.summary-lines strong{color:var(--navy);text-align:right}
.summary-lines .total-line{padding:15px 13px;margin-top:8px;border:0;border-radius:12px;background:#eaf4ff}
.summary-lines .total-line span,.summary-lines .total-line strong{color:#0758c7;font-size:15px}
.summary-lines .words-line{align-items:flex-start;border-bottom:0}
@media(max-width:1100px){
 .filter-form{grid-template-columns:1fr 1fr}
 .filter-form .btn{width:100%}
}
@media(max-width:800px){
 .doc-stats{grid-template-columns:1fr}
 .filter-form{grid-template-columns:1fr}
 .document-hero{align-items:flex-start;flex-direction:column}
 .document-total{text-align:left;min-width:0}
 .full-span{grid-column:auto}
 .sticky-actions{position:static;margin:20px 0 0}
}

/* PASS Service Center V3 - recap & source templates */
.report-filter-card{margin-bottom:20px}
.report-filter{display:grid;grid-template-columns:160px 160px minmax(240px,1fr) 190px auto;gap:14px;align-items:end}
.report-filter-action{display:flex;align-items:end;height:100%}
.report-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.report-section{margin-top:20px}
.report-table{min-width:1180px}
.report-table .num-cell{text-align:right;white-space:nowrap}
.source-file-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;margin-bottom:20px;background:linear-gradient(135deg,#f7fbff,#e9f4ff)}
.source-file-banner strong,.source-file-banner span{display:block}
.source-file-banner strong{color:var(--navy);font-size:14px}
.source-file-banner span{color:var(--muted);font-size:11px;margin-top:5px;line-height:1.55}
.template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.template-card{padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.template-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,#0758c7,#0b83ec);color:#fff;font-size:24px;font-weight:900;box-shadow:0 10px 25px rgba(7,88,199,.22)}
.template-content{flex:1}
.template-content h2{font-size:17px;margin:12px 0 8px;color:var(--navy)}
.template-content p{font-size:12px;color:var(--muted);line-height:1.65;margin:0 0 12px}
.template-content small{font-size:10px;color:var(--blue);font-weight:700}
@media(max-width:1180px){.report-filter{grid-template-columns:1fr 1fr}.report-filter-action .btn{width:100%}.template-grid{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.report-filter,.report-stats,.template-grid{grid-template-columns:1fr}.source-file-banner{align-items:flex-start;flex-direction:column}}
@media print{.sidebar,.topbar,.footer,.toolbar .actions,.report-filter-card{display:none!important}.main-content{margin:0;width:100%}.page-content{padding:0}.card{box-shadow:none}.report-table{min-width:0;font-size:9px}.report-section{break-inside:avoid}.stats-grid{grid-template-columns:repeat(4,1fr)}}

/* PASS Service Center V5 - admin access & visible document shortcuts */
.sidebar{overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent}
.sidebar-card{flex-shrink:0;margin-bottom:4px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;position:relative;z-index:2}
.hero-actions a{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border-radius:11px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.24);color:#fff;font-size:11px;font-weight:800;transition:.2s}
.hero-actions a:hover{background:#fff;color:#0758c7;transform:translateY(-1px)}
@media(max-width:800px){.hero-actions{flex-direction:column}.hero-actions a{width:100%;justify-content:center}}

/* PASS Service Center V5 - role management and password visibility */
.password-field{position:relative;display:flex;align-items:center}
.password-field .form-control{padding-right:104px}
.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;border-radius:9px;padding:7px 10px;background:#eaf4ff;color:var(--blue);font-size:10px;font-weight:800;cursor:pointer;line-height:1}
.password-toggle:hover{background:#dceeff}
.role-filter-card{margin-bottom:20px}
.role-filter-form{display:grid;grid-template-columns:minmax(260px,1fr) 180px 180px auto auto;gap:10px;width:100%}
.role-bulk-bar{align-items:flex-end}
.role-bulk-controls{display:grid;grid-template-columns:190px 190px auto;gap:9px;align-items:center}
.role-table{min-width:1280px}
.role-table th:first-child,.role-table td:first-child{width:45px;text-align:center}
.compact-select{min-width:135px;padding:8px 10px;border-radius:9px;font-size:11px}
.reset-password-box{padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:#f8fbff}
.reset-password-box label{margin:0}
.nav-menu{padding-bottom:12px}
.sidebar .nav-menu{flex:0 0 auto}
.sidebar-card{margin-top:18px}
@media(max-width:1180px){.role-filter-form{grid-template-columns:1fr 1fr}.role-bulk-controls{grid-template-columns:1fr 1fr}.role-bulk-controls .btn{grid-column:1/-1}}
@media(max-width:800px){.role-filter-form,.role-bulk-controls{grid-template-columns:1fr}.role-bulk-controls .btn{grid-column:auto}.password-field .form-control{padding-right:98px}}

/* PASS Service Center V6 - customer langsung tercantum pada quotation */
.customer-direct-preview{margin-top:10px;padding:14px 16px;border:1px solid #b9d6f7;border-radius:13px;background:linear-gradient(135deg,#f7fbff,#eaf4ff);color:var(--navy);line-height:1.55}
.customer-direct-preview[hidden]{display:none!important}
.customer-direct-preview strong{display:block;font-size:14px;margin:4px 0 2px}
.customer-direct-preview>div:not(.customer-direct-badge){font-size:11px;color:var(--muted)}
.customer-direct-preview small{display:block;margin-top:8px;color:var(--blue);font-weight:700}
.customer-direct-badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#0758c7;color:#fff;font-size:9px;font-weight:900;letter-spacing:.45px}
.customer-preview-separator{margin:0 7px;color:#7ea6cf}

/* PASS Service Center V7 - dokumen dipisah dan super admin */
.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}
.document-hub{align-items:stretch}
.document-kind-card{height:100%}
.document-kind-card .card-body{height:100%;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.document-kind-card h2{margin:0;color:var(--navy);font-size:20px}
.document-kind-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.65;flex:1}
.document-kind-stat{display:flex;align-items:end;justify-content:space-between;width:100%;gap:12px;padding:13px;border-radius:13px;background:#f4f9ff}
.document-kind-stat strong{font-size:25px;color:var(--blue)}
.document-kind-stat span{font-size:11px;color:var(--muted);font-weight:700}
@media(max-width:1050px){.three-col{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.three-col{grid-template-columns:1fr}}

/* PASS Service Center V9 - navigasi submenu premium */
.nav-menu{gap:6px}
.nav-label{padding-top:16px}
.nav-group{border:1px solid transparent;border-radius:15px;overflow:hidden;transition:.22s ease}
.nav-group.open{background:rgba(1,27,66,.18);border-color:rgba(255,255,255,.10);box-shadow:inset 0 1px rgba(255,255,255,.04)}
.nav-parent{width:100%;display:grid;grid-template-columns:26px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:11px 13px;border:0;border-radius:13px;background:transparent;color:rgba(255,255,255,.86);cursor:pointer;text-align:left;transition:.2s ease}
.nav-parent:hover,.nav-parent.active{background:rgba(255,255,255,.13);color:#fff}
.nav-parent-icon{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.10);font-size:14px;font-weight:900}
.nav-parent-text{min-width:0}
.nav-parent-text strong,.nav-parent-text small{display:block}
.nav-parent-text strong{font-size:13px;line-height:1.2}
.nav-parent-text small{font-size:9px;line-height:1.3;margin-top:3px;opacity:.62;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-chevron{font-size:17px;line-height:1;text-align:center;transition:transform .22s ease;opacity:.7}
.nav-group.open .nav-chevron{transform:rotate(180deg)}
.nav-submenu{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s ease}
.nav-submenu::before{content:"";display:block;min-height:0}
.nav-group.open .nav-submenu{grid-template-rows:1fr}
.nav-submenu{overflow:hidden}
.nav-submenu a{position:relative;margin:0 7px 4px 17px;padding:9px 11px 9px 13px;border-radius:10px;font-size:11px;font-weight:650;color:rgba(255,255,255,.72);gap:8px}
.nav-submenu a:first-child{margin-top:5px}
.nav-submenu a:last-child{margin-bottom:8px}
.nav-submenu a::before{content:"";position:absolute;left:-9px;top:50%;width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.3);transform:translateY(-50%)}
.nav-submenu a span{width:18px;height:18px;display:grid;place-items:center;border-radius:6px;background:rgba(255,255,255,.08);font-size:10px;font-weight:900}
.nav-submenu a:hover,.nav-submenu a.active{background:linear-gradient(90deg,rgba(255,255,255,.17),rgba(255,255,255,.08));color:#fff;transform:none}
.nav-submenu a.active::before{background:#5be4ac;box-shadow:0 0 0 4px rgba(91,228,172,.12)}
.nav-submenu a.active span{background:#fff;color:#0758c7}
@media(max-width:800px){
 .nav-parent{min-height:51px}
 .nav-submenu a{padding-top:11px;padding-bottom:11px}
}
/* V9 submenu collapse correction */
.nav-submenu{display:flex;flex-direction:column;max-height:0;opacity:0;overflow:hidden;transition:max-height .28s ease,opacity .2s ease,padding .2s ease}
.nav-submenu::before{display:none}
.nav-group.open .nav-submenu{max-height:390px;opacity:1}

/* PASS Service Center V9 - pusat dokumen premium */
.document-center-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px;padding:29px 30px;border-radius:23px;background:linear-gradient(135deg,#063d84 0%,#0874d4 58%,#17a8e7 100%);color:#fff;box-shadow:0 20px 50px rgba(7,78,153,.22)}
.document-center-hero:before,.document-center-hero:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}
.document-center-hero:before{width:250px;height:250px;right:-75px;top:-145px}.document-center-hero:after{width:140px;height:140px;right:180px;bottom:-105px}
.document-center-hero>div{position:relative;z-index:1}.document-center-hero h1{font-size:28px;margin:8px 0}.document-center-hero p{max-width:720px;margin:0;opacity:.82;line-height:1.65;font-size:13px}
.document-center-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.document-center-actions .btn-light{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.25);color:#fff;backdrop-filter:blur(8px)}.document-center-actions .btn-light:hover{background:#fff;color:#0758c7}
.premium-document-card{position:relative;overflow:hidden;transition:.22s ease}.premium-document-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#0758c7,#17a8e7)}.premium-document-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(18,73,131,.13)}
.document-card-top{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px}.document-card-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#0758c7,#0b83ec);color:#fff;font-weight:900;font-size:13px;box-shadow:0 10px 24px rgba(7,88,199,.24)}
.premium-document-card h2{margin-top:4px}.premium-document-card .document-kind-stat{align-items:center}.document-kind-stat>div small{display:block;font-size:9px;color:var(--muted);font-weight:700;margin-bottom:4px}.document-card-value{text-align:right}.document-card-value span{display:block;color:var(--navy);font-size:13px;font-weight:800}.document-card-actions{width:100%;margin-top:2px}.document-card-actions .btn{flex:1}
.document-shortcut-card{margin-top:22px}.document-shortcut-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.document-shortcut-grid>a{display:grid;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(135deg,#fff,#f7fbff);transition:.2s}.document-shortcut-grid>a:hover{border-color:#9cc9f5;transform:translateY(-2px);box-shadow:0 12px 28px rgba(18,73,131,.09)}.document-shortcut-grid>a>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#e9f4ff;color:#0758c7;font-size:18px;font-weight:900}.document-shortcut-grid strong,.document-shortcut-grid small{display:block}.document-shortcut-grid strong{font-size:12px;color:var(--navy)}.document-shortcut-grid small{font-size:10px;color:var(--muted);line-height:1.45;margin-top:4px}.document-shortcut-grid b{color:#0758c7;font-size:17px}
@media(max-width:1050px){.document-center-hero{align-items:flex-start;flex-direction:column}.document-center-actions{justify-content:flex-start}.document-shortcut-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.document-center-hero{padding:23px 21px}.document-center-hero h1{font-size:23px}.document-center-actions,.document-center-actions .btn{width:100%}.document-shortcut-grid{grid-template-columns:1fr}}

/* PASS V9: pencarian pilihan guru/customer dan integrasi data */
.searchable-native-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;left:-9999px!important}
.searchable-select{position:relative;width:100%}
.searchable-select-input{padding-right:38px;background-image:linear-gradient(45deg,transparent 50%,#53718f 50%),linear-gradient(135deg,#53718f 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.searchable-select-dropdown{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 7px);display:none;max-height:280px;overflow:auto;background:#fff;border:1px solid #c9dced;border-radius:14px;box-shadow:0 18px 42px rgba(14,65,125,.18);padding:7px}
.searchable-select.open .searchable-select-dropdown{display:block}
.searchable-select-option{display:block;width:100%;border:0;background:transparent;text-align:left;padding:10px 11px;border-radius:9px;color:#173b60;font-size:11px;cursor:pointer;line-height:1.35}
.searchable-select-option:hover,.searchable-select-option.selected{background:#eaf4ff;color:#0758c7;font-weight:750}
.searchable-select-empty{padding:16px;text-align:center;color:#71879c;font-size:11px}
.integration-preview{margin-top:10px;padding:12px 14px;border:1px solid #cfe2f5;border-radius:13px;background:linear-gradient(135deg,#f7fbff,#eef6ff)}
.integration-preview span{display:block;color:#0874dc;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.7px}
.integration-preview strong{display:block;color:#0b325b;font-size:12px;margin-top:5px}
.integration-preview small{display:block;color:#607991;font-size:10px;margin-top:4px;line-height:1.5}
.integration-source-card{border:1px solid #bcd8f2;background:linear-gradient(145deg,#f8fcff,#edf6ff);border-radius:15px;padding:14px;margin-bottom:16px}
.integration-source-card h3{font-size:13px;margin:0 0 5px;color:#0a3a70}.integration-source-card p{font-size:10px;color:#678098;margin:0 0 12px;line-height:1.5}
.time24-hint{display:block;margin-top:5px;color:#6b8197;font-size:10px}
.integration-source-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}
.live-recap-notice{margin-bottom:18px}
.document-list-stats{margin-bottom:18px}
@media(max-width:800px){.integration-source-controls{grid-template-columns:1fr}.integration-source-controls .btn{width:100%}}

/* V10 - SMTP test center */
.smtp-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}
.smtp-status-card{display:flex;align-items:center;gap:12px;padding:17px 18px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px rgba(18,73,131,.05)}
.smtp-status-card small,.smtp-status-card strong{display:block}.smtp-status-card small{font-size:10px;color:var(--muted);margin-bottom:4px}.smtp-status-card strong{font-size:13px;color:var(--navy)}
.smtp-status-dot{width:13px;height:13px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 6px rgba(96,117,140,.08)}.smtp-status-dot.good{background:#35c789;box-shadow:0 0 0 6px rgba(53,199,137,.12)}.smtp-status-dot.bad{background:#e0526b;box-shadow:0 0 0 6px rgba(224,82,107,.12)}.smtp-status-dot.wait{background:#efa52d;box-shadow:0 0 0 6px rgba(239,165,45,.12)}
.smtp-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:start}.smtp-side{gap:20px}
.smtp-presets{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 14px;margin-bottom:18px;border:1px solid #d8e7f7;border-radius:13px;background:#f7fbff}.smtp-presets>span{font-size:11px;font-weight:800;color:#4d6984;margin-right:4px}
.smtp-auto-toggle{padding:14px;border:1px solid #d6e7f8;border-radius:14px;background:#f8fbff}.smtp-auto-toggle label{display:flex;align-items:flex-start;gap:9px;margin:0}.smtp-auto-toggle input{margin-top:2px;accent-color:var(--blue)}
.smtp-actions{padding-top:2px;flex-wrap:wrap}.smtp-actions .btn{min-width:190px}
.smtp-result{display:grid;grid-template-columns:46px 1fr;gap:14px;padding:17px 19px;border-radius:16px;margin-bottom:18px;border:1px solid}.smtp-result.success{background:#eaf9f3;border-color:#b9ead6;color:#0a7250}.smtp-result.failed{background:#fff0f2;border-color:#f4c3cc;color:#b52e46}.smtp-result-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-weight:900;font-size:20px;background:rgba(255,255,255,.68)}.smtp-result strong{display:block;font-size:14px;margin:1px 0 5px}.smtp-result p{margin:0;font-size:12px;line-height:1.6}.smtp-result details{margin-top:9px;font-size:11px}.smtp-result summary{cursor:pointer;font-weight:750}.smtp-result ol{padding-left:18px;line-height:1.65}
.smtp-steps{display:grid;gap:13px}.smtp-steps>div{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start}.smtp-steps b{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#eaf4ff;color:var(--blue);font-size:12px}.smtp-steps span{font-size:11px;line-height:1.6;color:#59728a}
.last-test{padding:15px;border-radius:13px;border:1px solid}.last-test.ok{background:#eefaf5;border-color:#c6eadb;color:#0a7650}.last-test.fail{background:#fff1f3;border-color:#efc8cf;color:#b52f47}.last-test strong,.last-test span{display:block}.last-test strong{font-size:13px}.last-test span{font-size:10px;margin-top:4px;opacity:.75}.last-test p{font-size:11px;line-height:1.55;margin:10px 0 0}
.smtp-inline-info{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid #d9e7f5;border-radius:13px;background:#f8fbff}.smtp-inline-info strong,.smtp-inline-info span{display:block}.smtp-inline-info strong{font-size:11px}.smtp-inline-info span{font-size:10px;color:var(--muted);margin-top:4px}
.email-save-status{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border-radius:13px;border:1px solid}.email-save-status.enabled{background:#edf9f4;border-color:#c5eadb;color:#0b7652}.email-save-status.disabled{background:#fff8e8;border-color:#f0ddad;color:#8a620c}.email-save-status>span{font-size:18px;line-height:1}.email-save-status strong,.email-save-status small{display:block}.email-save-status strong{font-size:11px}.email-save-status small{font-size:10px;line-height:1.5;margin-top:4px;color:inherit;opacity:.82}
@media(max-width:1100px){.smtp-status-grid{grid-template-columns:repeat(2,1fr)}.smtp-layout{grid-template-columns:1fr}}
@media(max-width:800px){.smtp-status-grid{grid-template-columns:1fr}.smtp-actions .btn{width:100%}.smtp-inline-info{align-items:flex-start;flex-direction:column}.smtp-inline-info .btn{width:100%}}
.email-test-link{display:inline-flex;margin-top:7px;font-size:10px;font-weight:800;text-decoration:underline;text-underline-offset:3px}

/* PASS V11.1 - pencarian service man lebih mudah */
.searchable-select-input{font-size:14px!important;height:48px!important;padding-left:14px!important;border-radius:14px!important}
.searchable-select-dropdown{max-height:340px!important;padding:8px!important;border-radius:16px!important;box-shadow:0 22px 50px rgba(14,65,125,.20)!important}
.searchable-select-option{font-size:13px!important;padding:11px 12px!important;border-radius:10px!important;line-height:1.45!important}
.searchable-select-option.keyboard-active{background:#dbeeff!important;color:#064fad!important;font-weight:800!important;outline:2px solid #8bc4ff!important;outline-offset:-2px}
.searchable-select-empty{display:grid;gap:4px;font-size:12px!important;padding:18px!important}
.searchable-select-empty strong{color:#395b7d}.searchable-select-empty span{color:#7a90a7}
.service-man-search-help{display:flex;align-items:center;gap:7px;margin-top:7px;color:#66809a;font-size:11px}
.service-man-search-help:before{content:'⌕';display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#eaf4ff;color:#0b65d8;font-weight:900}

/* PASS V11.2 - Service reminder email */
.service-reminder-panel{margin-top:8px;padding:20px;border:1px solid #cfe0fb;border-radius:18px;background:linear-gradient(180deg,#f8fbff,#eef5ff)}
.service-reminder-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.service-reminder-head>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}
.service-reminder-head strong{font-size:16px;color:#12304f}
.service-reminder-head small{grid-column:2;color:#60758c;margin-top:3px;line-height:1.5}
.reminder-icon{width:38px;height:38px;border-radius:12px;background:#0b6edc;color:#fff;display:grid;place-items:center;grid-row:1/3;font-size:18px}
.reminder-switch{display:flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:#fff;border:1px solid #cfe0fb;font-weight:700;color:#12304f;white-space:nowrap}
.reminder-switch input,.reminder-confirm input{accent-color:#0b6edc;width:17px;height:17px}
.reminder-fields{transition:opacity .2s ease}
.reminder-confirm{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid #dbe8ff;color:#12304f;font-weight:600}
.reminder-search-row{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;gap:10px;align-items:center}
.reminder-dashboard-card{border-color:#dbe8ff}
.reminder-help-card{background:linear-gradient(135deg,#f7fbff,#eef5ff)}
.reminder-help-card h2{margin-top:0}
.data-table td small{display:block;margin-top:4px;color:#6e8193}
@media(max-width:760px){.service-reminder-head{align-items:flex-start;flex-direction:column}.reminder-search-row{grid-template-columns:1fr}.reminder-search-row .btn{width:100%;justify-content:center}}

/* V11.5 Service Man + Unit Search hardening */
.service-man-search-help{display:block;margin-top:7px;color:#607b96;font-size:12px;line-height:1.5}.service-man-search-help strong{color:#0758c7}.searchable-select-option[data-priority="0"]{font-weight:800}.searchable-select-input:focus{box-shadow:0 0 0 4px rgba(13,110,253,.11)!important}.searchable-select-dropdown{z-index:120!important}
