:root{--green:#3f6f59;--green-dark:#315744;--green-soft:#edf3ef;--ink:#17221b;--muted:#758079;--line:#e3e9e5;--surface:#fff;--canvas:#f6f8f6;--yellow:#f5c842;--red:#e75454}*{box-sizing:border-box}body{font-family:"Manrope",sans-serif;color:var(--ink);letter-spacing:0}.brand-mark{width:38px;height:38px;display:inline-grid;place-items:center;background:var(--green);color:#fff;border-radius:8px;font-size:18px}.btn-verdea{background:var(--green);border-color:var(--green);color:#fff;font-weight:700;border-radius:7px;padding:.72rem 1.1rem;box-shadow:0 5px 14px rgba(49,87,68,.16)}.btn-verdea:hover,.btn-verdea:focus{background:var(--green-dark);border-color:var(--green-dark);color:#fff}.btn-verdea i{margin-left:.4rem}.user-add-button{min-width:180px;height:42px;padding:0 20px!important;font-size:13px}.icon-button{width:38px;height:38px;padding:0;border:1px solid var(--line);background:#fff;border-radius:7px;display:grid;place-items:center;color:#435049}.form-control:focus,.form-select:focus{border-color:var(--green);box-shadow:0 0 0 .2rem rgba(63,111,89,.12)}

/* Login */
/* Penjualan umum memakai komposisi visual yang sama dengan penjualan anggota. */
body:has([data-general-sale]) .po-list-panel{overflow:visible}body:has([data-general-sale]) .po-form-grid label{position:relative}body:has([data-general-sale]) .po-item-table-wrap{border:1px solid #e2e9e5;border-radius:10px;overflow:auto}body:has([data-general-sale]) .po-item-table{margin:0;min-width:850px}body:has([data-general-sale]) .po-item-table th{padding:11px 12px;background:#f7faf8;color:#26372d;font-size:10px;font-weight:900;border-color:#e2e9e5}body:has([data-general-sale]) .po-item-table td{padding:10px 12px;vertical-align:middle;border-color:#edf1ee}body:has([data-general-sale]) .po-items-heading{margin:24px 0 12px;padding-top:20px;border-top:1px solid var(--line)}body:has([data-general-sale]) .member-sale-payment-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:660px;margin:16px 0 0 auto}body:has([data-general-sale]) .member-sale-payment-fields label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:800}@media(max-width:767px){body:has([data-general-sale]) .member-sale-payment-fields{grid-template-columns:1fr;width:100%}}
/* Penjualan anggota: catatan dan ringkasan jurnal berbagi satu baris pada layar desktop. */
body:has([data-member-sale-items]) .po-form-grid .po-description{grid-column:auto!important;min-width:0}body:has([data-member-sale-items]) .po-form-grid .po-description .form-control{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.login-page{min-height:100vh;background:#edf2ee;padding:24px;display:grid;place-items:center}.login-shell{width:min(1180px,100%);min-height:min(760px,calc(100vh - 48px));display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 24px 70px rgba(20,55,32,.14)}.login-visual{position:relative;overflow:hidden;background:#009b38;min-height:660px}.login-visual>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.visual-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,68,24,.1) 0%,rgba(0,51,19,.02) 44%,rgba(0,45,17,.58) 100%)}.visual-brand{position:absolute;top:38px;left:42px;display:flex;align-items:center;gap:11px;color:#fff;font-weight:800;font-size:19px}.visual-brand .brand-mark{background:#fff;color:var(--green)}.visual-copy{position:absolute;left:42px;right:42px;bottom:42px;color:#fff}.visual-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);border-radius:5px;font-size:12px;font-weight:700;margin-bottom:18px;backdrop-filter:blur(7px)}.visual-copy h1{font-size:clamp(2rem,3.2vw,3.2rem);font-weight:800;line-height:1.08;margin-bottom:16px}.visual-copy>p{font-size:15px;max-width:500px;line-height:1.7;color:rgba(255,255,255,.86)}.trusted-row{display:flex;align-items:center;gap:13px;margin-top:25px}.avatar-stack{display:flex}.avatar-stack span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--green-dark);border:2px solid var(--green-dark);font-size:9px;font-weight:800;margin-left:-7px}.avatar-stack span:first-child{margin-left:0}.trusted-row small{color:rgba(255,255,255,.85)}.login-form-panel{padding:34px 64px 24px;display:flex;flex-direction:column}.mobile-brand{display:none;align-items:center;gap:10px;font-weight:800}.login-form-wrap{width:100%;max-width:430px;margin:auto}.eyebrow{font-size:11px;font-weight:800;color:var(--green);letter-spacing:1.2px}.login-form-wrap h2{font-size:30px;font-weight:800;margin:8px 0}.login-form-wrap>div>p{font-size:14px}.form-label{font-size:13px;font-weight:700;margin-bottom:8px}.form-link,.signup-copy a{color:var(--green-dark);font-weight:700;text-decoration:none}.input-icon-wrap{position:relative}.input-icon-wrap>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#849087;z-index:2}.input-icon-wrap .form-control{height:48px;padding-left:42px;border-color:#dfe5e0;border-radius:7px;font-size:14px}.password-toggle{position:absolute;right:7px;top:5px;width:38px;height:38px;border:0;background:transparent;color:#7c8780}.form-check-label{font-size:13px;color:#59635d}.form-check-input:checked{background-color:var(--green);border-color:var(--green)}.divider{display:flex;align-items:center;gap:13px;color:#9aa29d;font-size:11px;margin:25px 0 18px}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}.btn-social{height:44px;border:1px solid var(--line);font-size:13px;font-weight:700;border-radius:7px}.btn-social:hover{border-color:#bcc7bf;background:#f8faf8}.signup-copy{text-align:center;font-size:13px;margin:25px 0 0}.login-form-panel footer{display:flex;gap:20px;font-size:11px;color:#929b95}.login-form-panel footer a{color:#737e77;text-decoration:none}.login-form-panel footer span{margin-right:auto}

/* Dashboard */
.dashboard-page{background:var(--canvas);min-height:100vh;font-size:13px}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#fff;border-right:1px solid var(--line);z-index:1040;display:flex;flex-direction:column;padding:22px 16px}.sidebar-brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:18px;color:var(--ink);text-decoration:none;padding:0 7px 22px}.workspace-select{display:flex;align-items:center;gap:10px;background:#f4f7f4;border:1px solid var(--line);border-radius:7px;padding:10px;margin-bottom:18px}.workspace-icon{width:32px;height:32px;display:grid;place-items:center;background:#163a25;color:#fff;border-radius:6px;font-size:10px;font-weight:800}.workspace-select div{display:flex;flex-direction:column}.workspace-select small,.workspace-select div strong{font-size:8px}.workspace-select div strong{font-size:11px}.sidebar-nav{display:flex;flex-direction:column;gap:3px}.nav-label{font-size:8px;font-weight:800;color:#a0aaa3;letter-spacing:1px;padding:7px 12px}.sidebar-nav a{height:39px;display:flex;align-items:center;gap:11px;padding:0 12px;border-radius:6px;color:#5b665f;text-decoration:none;font-size:12px;font-weight:600}.sidebar-nav a i{font-size:16px}.sidebar-nav a.active{background:var(--green-soft);color:var(--green-dark);font-weight:800}.nav-count{margin-left:auto;background:var(--green);color:#fff;padding:2px 6px;border-radius:10px;font-size:8px}.sidebar-help{margin-top:auto;background:#093d21;color:#fff;padding:14px;border-radius:7px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.sidebar-help>i{color:#55dd80;font-size:17px}.sidebar-help strong{font-size:11px}.sidebar-help small{font-size:9px;color:#b7cabe;line-height:1.5}.sidebar-help .btn{margin-top:5px;font-size:9px;font-weight:800;width:100%}.sidebar-user{display:flex;align-items:center;gap:9px;padding:16px 4px 0}.user-avatar,.avatar{width:33px;height:33px;display:grid;place-items:center;background:var(--green-soft);color:var(--green-dark);border-radius:50%;font-size:9px;font-weight:800;flex:none}.sidebar-user div{display:flex;flex-direction:column}.sidebar-user strong{font-size:10px}.sidebar-user small{font-size:8px;color:var(--muted)}.sidebar-user button,.transaction-table button{margin-left:auto;border:0;background:transparent;color:#8b948e}.dashboard-main{margin-left:244px}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:1020}.search-box{width:min(390px,35vw);height:38px;background:#f5f7f5;border:1px solid #edf0ed;border-radius:7px;display:flex;align-items:center;padding:0 12px;gap:9px;color:#849087}.search-box input{border:0;outline:0;background:transparent;flex:1;font-size:11px;min-width:0}.search-box kbd{background:#fff;border:1px solid var(--line);color:#89928c;font:9px "Manrope";box-shadow:none}.topbar-actions{display:flex;align-items:center;gap:8px}.has-notification{position:relative}.has-notification:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);border:1px solid #fff;position:absolute;top:7px;right:7px}.topbar-divider{width:1px;height:25px;background:var(--line);margin:0 5px}.topbar .btn-verdea{height:38px;padding:0 14px;font-size:11px}.topbar .btn-verdea i{margin:0 5px 0 0}.dashboard-content{padding:26px 28px 38px;max-width:1600px;margin:auto}.dashboard-alert{background:#e9f8ee;color:#076b2c;border:1px solid #c9ead4;display:flex;align-items:center;gap:9px}.page-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.date-label{font-size:8px!important;font-weight:800;letter-spacing:1px;color:var(--green)!important}.page-heading h1{font-size:25px;font-weight:800;margin:4px 0 5px}.page-heading p{margin:0;color:var(--muted);font-size:11px}.heading-actions{display:flex;gap:8px}.heading-actions>.btn{height:42px;font-size:10px;font-weight:700;border-color:var(--line)}.date-filter{height:42px;min-width:165px;border:1px solid var(--line);background:#fff;border-radius:7px;display:flex;align-items:center;gap:9px;text-align:left;font-size:10px;font-weight:700}.date-filter span{display:flex;flex-direction:column;flex:1}.date-filter small{font-size:7px;color:#9da59f}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.metric-card,.panel{background:#fff;border:1px solid var(--line);border-radius:7px}.metric-card{padding:17px;min-height:190px;position:relative;overflow:hidden}.metric-card.accent{background:#053a20;color:#fff;border-color:#053a20}.metric-top{display:flex;align-items:start;justify-content:space-between;margin-bottom:12px}.metric-icon{width:35px;height:35px;border-radius:7px;background:var(--green-soft);color:var(--green-dark);display:grid;place-items:center;font-size:15px}.accent .metric-icon{background:rgba(255,255,255,.12);color:#fff}.metric-icon.lime{background:#eef6d9;color:#5b7918}.metric-icon.yellow{background:#fff5cf;color:#a17000}.metric-icon.red{background:#feecec;color:#bb3a3a}.trend{font-size:9px;font-weight:800;padding:4px 6px;border-radius:4px}.trend.up{background:#e8f8ed;color:#078032}.trend.down{background:#fdecec;color:#c44747}.accent .trend.up{background:rgba(87,234,132,.14);color:#67ed90}.metric-label{font-size:9px;color:var(--muted);font-weight:700}.accent .metric-label,.accent p{color:#b8d1c1}.metric-card h2{font-size:23px;font-weight:800;margin:5px 0}.metric-card p{font-size:8px;color:#929b95;margin:0}.mini-bars{height:41px;position:absolute;left:17px;right:17px;bottom:0;display:flex;gap:5px;align-items:end}.mini-bars span{flex:1;background:rgba(68,222,115,.36);border-radius:2px 2px 0 0}.mini-bars span:last-child{background:#62df88}.metric-progress,.conversion-scale{height:5px;background:#edf1ee;border-radius:4px;margin-top:19px;overflow:hidden}.metric-progress span,.conversion-scale span{height:100%;display:block;background:var(--green);border-radius:4px}.metric-card>small{font-size:7px;color:#89928c}.customer-avatars{display:flex;align-items:center;margin-top:16px}.customer-avatars span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#e5f5ea;border:2px solid #fff;color:#087a31;font-size:7px;font-weight:800;margin-left:-5px}.customer-avatars span:first-child{margin-left:0}.customer-avatars b{font-size:8px;margin-left:6px}.conversion-scale span{background:var(--yellow)}.scale-label{display:flex;justify-content:space-between}.scale-label small{font-size:7px;color:#89928c}.panel{padding:18px}.panel-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:14px}.panel-header h3{font-size:13px;font-weight:800;margin-bottom:4px}.panel-header p{font-size:8px;color:#949d97;margin:0}.panel-header a{color:var(--green-dark);font-size:9px;font-weight:800;text-decoration:none}.panel-header .icon-button{border:0;width:28px;height:28px}.chart-controls{display:flex;align-items:center;gap:11px;font-size:8px;color:#727c75}.chart-controls .form-select{width:88px;font-size:8px}.legend-dot,.source-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.legend-dot.revenue,.source-dot.green{background:var(--green)}.legend-dot.target{background:#1a2d21}.chart-total{display:flex;align-items:center;gap:8px;margin-bottom:6px}.chart-total strong{font-size:20px}.main-chart-wrap{height:220px}.donut-wrap{height:150px;position:relative}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.donut-center strong{font-size:18px}.donut-center small{font-size:8px;color:var(--muted)}.source-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 15px;margin-top:12px}.source-list>div{display:flex;justify-content:space-between;font-size:8px;color:#5f6a63}.source-list strong{font-size:9px}.source-list strong small{font-size:7px;color:#a0a8a3;margin-left:2px}.source-dot.dark{background:#183425}.source-dot.yellow{background:var(--yellow)}.source-dot.gray{background:#c7d0ca}.transaction-table{margin:0;min-width:670px}.transaction-table th{font-size:7px;color:#9aa39d;font-weight:800;border-color:var(--line);padding:9px}.transaction-table td{font-size:9px;border-color:#edf0ed;padding:10px 9px}.transaction-table td>strong,.transaction-table td>small{display:block}.transaction-table td>small,.customer-cell small{font-size:7px;color:#9ca49f}.customer-cell{display:flex;align-items:center;gap:8px}.customer-cell>div{display:flex;flex-direction:column}.customer-cell strong{font-size:9px}.bg-green{background:#dcf5e5!important;color:#087c32}.bg-yellow{background:#fff2c7!important;color:#8d6700}.bg-blue{background:#dceaf8!important;color:#28638c}.bg-pink{background:#f7e0e7!important;color:#a34d69}.status{padding:4px 7px;border-radius:10px;font-size:7px;font-weight:800}.status.paid{background:#e5f7eb;color:#087a31}.status.pending{background:#fff4d8;color:#8c6500}.status.failed{background:#fde9e9;color:#b54141}.activity-list{display:flex;flex-direction:column}.activity-item{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid #eef1ef}.activity-item>div{flex:1}.activity-item p{font-size:9px;line-height:1.5;margin:0;color:#5b665f}.activity-item small{font-size:7px;color:#9ba39e}.activity-icon{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green-dark);flex:none}.activity-icon.dark{background:#183425;color:#fff}.panel>.btn-light{font-size:8px;font-weight:800}.sidebar-backdrop{display:none}

.logout-form{margin-left:auto}.sidebar-user .logout-button{width:32px;height:32px;margin-left:0;border:0;border-radius:6px;background:#f5f7f5;color:#758079;display:grid;place-items:center;transition:.18s ease}.sidebar-user .logout-button:hover{background:#fde9e9;color:#c23f3f}
.login-visual .visual-copy h1{font-size:clamp(1.75rem,2.2vw,2.25rem);line-height:1.18;max-width:470px;margin-bottom:14px}.login-visual .visual-copy>p{font-size:13px;line-height:1.65;max-width:470px}.login-visual .visual-badge{font-size:10px}.login-visual .trusted-row small{font-size:11px}
.login-visual{background:var(--green-dark)}.login-visual>img{filter:saturate(.52) brightness(.88) contrast(.96)}.login-visual .visual-overlay{background:linear-gradient(180deg,rgba(49,87,68,.34) 0%,rgba(49,87,68,.22) 48%,rgba(31,61,46,.72) 100%)}
.visual-line-pattern{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px);background-size:78px 78px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),rgba(0,0,0,.35) 65%,transparent)}.visual-line-pattern .line-box,.visual-line-pattern .line-path{position:absolute;display:block;border:1px solid rgba(255,255,255,.24)}.visual-line-pattern .line-box{border-radius:1px}.visual-line-pattern .box-one{width:45%;height:28%;top:9%;left:8%}.visual-line-pattern .box-two{width:38%;height:34%;top:18%;right:-5%}.visual-line-pattern .box-three{width:42%;height:29%;bottom:18%;left:-8%}.visual-line-pattern .box-four{width:36%;height:25%;right:8%;bottom:9%}.visual-line-pattern .line-path{width:28%;height:18%;top:34%;left:25%;border-top:0;border-left:0}.visual-line-pattern .path-two{width:31%;height:21%;top:52%;left:auto;right:17%;border-right:0;border-bottom:0}.visual-brand,.visual-copy{z-index:2}
/* Unified dashboard palette: white surfaces with consistent green accents. */
.dashboard-page .metric-card{border-color:#dfe9e2;box-shadow:0 2px 8px rgba(16,74,36,.025)}
.dashboard-page .metric-card.accent{background:#fff;border-color:#dfe9e2;color:var(--ink)}
.dashboard-page .metric-icon,.dashboard-page .metric-icon.lime,.dashboard-page .metric-icon.yellow,.dashboard-page .metric-icon.red{background:#eaf8f0;color:#169b5b}
.dashboard-page .metric-card.accent .metric-icon{background:#eaf8f0;color:#169b5b}
.dashboard-page .trend.up,.dashboard-page .trend.down{background:#eaf8f0;color:#117a48}
.dashboard-page .metric-card.accent .trend{background:#eaf8f0;color:#117a48}
.dashboard-page .metric-card.accent .metric-label,.dashboard-page .metric-card.accent p{color:var(--muted)}
.dashboard-page .metric-card.accent .mini-bars span{background:#bfe8d1}.dashboard-page .metric-card.accent .mini-bars span:last-child{background:#169b5b}
.dashboard-page .metric-progress span,.dashboard-page .conversion-scale span{background:#169b5b}
.dashboard-page .customer-avatars span{background:#e6f7ed;color:#117a48}
.dashboard-page .bg-yellow,.dashboard-page .bg-blue,.dashboard-page .bg-pink{background:#e6f7ed!important;color:#117a48}
.dashboard-page .source-dot.dark{background:#117a48}.dashboard-page .source-dot.yellow{background:#65be8e}.dashboard-page .source-dot.gray{background:#bfe8d1}
.dashboard-page .topbar{height:82px;margin:0 18px;padding-left:28px;padding-right:28px;border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;box-shadow:0 5px 18px rgba(20,61,38,.06);top:0}.dashboard-page .search-box{width:min(470px,42vw);height:42px}.dashboard-page .topbar .icon-button,.dashboard-page .topbar .btn-verdea{height:42px}.dashboard-page .topbar .icon-button{width:42px}.dashboard-page .dashboard-content{padding-top:32px}
.topbar-logout-form{margin:0}.topbar-user-button{height:46px;display:flex;align-items:center;gap:9px;padding:4px 9px 4px 5px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);transition:.18s ease}.topbar-user-button:hover{background:var(--green-soft);border-color:#cfe5d8;color:var(--green-dark)}.topbar-user-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;background:var(--green);color:#fff;font-size:9px;font-weight:800}.topbar-user-info{min-width:72px;flex-direction:column;align-items:flex-start;line-height:1.25}.topbar-user-info strong{font-size:9px}.topbar-user-info small{font-size:7px;color:var(--muted)}.topbar-user-button>i{font-size:14px;margin-left:2px}
.dashboard-page .sidebar-help{background:#e8f6ee;border:1px solid #d3eadc;color:#285c40}.dashboard-page .sidebar-help>i{color:#169b5b}.dashboard-page .sidebar-help small{color:#668274}.dashboard-page .sidebar-help .btn{background:#fff;border:1px solid #d7e7dd;color:#285c40}.dashboard-page .sidebar-help .btn:hover{background:#f5fbf7;border-color:#bcd9c8}
.dashboard-page .sidebar{width:310px;padding-left:24px;padding-right:24px;transition:transform .25s ease}.dashboard-page .dashboard-main{margin-left:310px;transition:margin-left .25s ease}.d-lg-grid{display:none}
@media(max-width:1199px){.metric-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:992px){.d-lg-grid{display:grid!important}.dashboard-page.sidebar-collapsed .sidebar{transform:translateX(-100%)}.dashboard-page.sidebar-collapsed .dashboard-main{margin-left:0}}
@media(max-width:991px){.login-page{padding:0}.login-shell{min-height:100vh;border-radius:0;grid-template-columns:1fr}.login-visual{display:none}.login-form-panel{padding:28px 8vw}.mobile-brand{display:flex}.sidebar{transform:translateX(-100%);transition:transform .25s ease}.sidebar.open{transform:translateX(0)}.sidebar-backdrop.show{display:block;position:fixed;inset:0;background:rgba(7,28,15,.4);z-index:1035}.dashboard-main{margin-left:0}.dashboard-content{padding:22px 18px}.dashboard-page .dashboard-main{margin-left:0}.dashboard-page .topbar{height:74px;margin:0 12px;padding:0 16px;top:0}.dashboard-page .dashboard-content{padding-top:26px}}
@media(max-width:767px){.page-heading{align-items:flex-start;gap:16px;flex-direction:column}.heading-actions{width:100%}.date-filter{flex:1}.metric-grid{grid-template-columns:1fr}.search-box{width:42px;padding:0;justify-content:center}.search-box input,.search-box kbd{display:none}.login-form-panel{padding:24px}.login-form-wrap{margin:45px auto 30px}.login-form-panel footer{margin-top:auto}.chart-controls>span{display:none}.source-list{grid-template-columns:1fr}.topbar-divider{display:none}}
@media(max-width:380px){.login-form-panel{padding:18px}.login-form-wrap h2{font-size:25px}.topbar{padding:0 12px}.dashboard-content{padding:18px 12px}.topbar-actions{gap:4px}}
@media(max-width:991px){.login-page .login-visual{display:block;min-height:330px}.login-page .visual-brand{top:24px;left:28px}.login-page .visual-copy{left:28px;right:28px;bottom:25px}.login-page .visual-copy h1{font-size:1.65rem;max-width:390px;margin-bottom:8px}.login-page .visual-copy>p{font-size:11px;line-height:1.5;max-width:420px;margin-bottom:0}.login-page .visual-badge{margin-bottom:10px}.login-page .trusted-row{display:none}.login-page .login-form-wrap{margin:36px auto 28px}}
@media(max-width:575px){.login-page .login-visual{min-height:280px}.login-page .visual-brand{top:18px;left:20px;font-size:15px}.login-page .visual-brand .brand-mark{width:32px;height:32px}.login-page .visual-copy{left:20px;right:20px;bottom:18px}.login-page .visual-copy h1{font-size:1.35rem;line-height:1.2}.login-page .visual-copy>p{display:none}.login-page .visual-badge{font-size:8px;padding:5px 8px}.login-page .visual-line-pattern{background-size:55px 55px}.login-page .mobile-brand{display:none}}

.dashboard-page .navigation-box-pattern{position:absolute!important;inset:0;z-index:0!important;overflow:hidden;pointer-events:none}.dashboard-page .navigation-box-pattern span{position:absolute;display:block;border:1px solid rgba(255,255,255,.12);border-radius:20px}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(1){width:170px;height:125px;left:-45px;top:32px;transform:rotate(-5deg)}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(2){width:210px;height:170px;right:-85px;top:250px;transform:rotate(8deg)}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(3){width:145px;height:190px;left:22px;top:410px;transform:rotate(-8deg)}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(4){width:240px;height:155px;left:-110px;bottom:170px;transform:rotate(7deg)}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(5){width:175px;height:130px;right:-50px;bottom:35px;transform:rotate(-5deg)}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(6){width:120px;height:105px;right:18px;top:75px;transform:rotate(10deg)}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(7){width:135px;height:115px;left:-20px;top:610px;transform:rotate(4deg)}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(8){width:190px;height:145px;right:-95px;top:520px;transform:rotate(-11deg)}.dashboard-page .topbar .navigation-box-pattern span:nth-child(1){width:190px;height:90px;left:2%;top:-44px;transform:rotate(5deg)}.dashboard-page .topbar .navigation-box-pattern span:nth-child(2){width:240px;height:105px;left:24%;bottom:-68px;transform:rotate(-4deg)}.dashboard-page .topbar .navigation-box-pattern span:nth-child(3){width:175px;height:85px;left:44%;top:-48px;transform:rotate(8deg)}.dashboard-page .topbar .navigation-box-pattern span:nth-child(4){width:225px;height:100px;right:18%;bottom:-62px;transform:rotate(-7deg)}.dashboard-page .topbar .navigation-box-pattern span:nth-child(5){width:160px;height:82px;right:-30px;top:-25px;transform:rotate(6deg)}.dashboard-page .topbar .navigation-box-pattern span:nth-child(6){width:130px;height:75px;left:12%;bottom:-51px;transform:rotate(10deg)}.dashboard-page .topbar .navigation-box-pattern span:nth-child(7){width:145px;height:78px;right:2%;bottom:-52px;transform:rotate(-10deg)}
.dashboard-page .navigation-box-pattern span{transform:none!important;border-radius:18px!important}.dashboard-page .sidebar .navigation-box-pattern span{width:220px!important;height:155px!important;right:auto!important;bottom:auto!important}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(1){left:-70px;top:45px}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(2){left:55px;top:130px}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(3){left:-35px;top:225px}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(4){left:75px;top:320px}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(5){left:-55px;top:415px}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(6){left:50px;top:510px}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(7){left:-35px;top:605px}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(8){left:75px;top:700px}.dashboard-page .topbar .navigation-box-pattern span{width:210px!important;height:110px!important;right:auto!important;bottom:auto!important}.dashboard-page .topbar .navigation-box-pattern span:nth-child(1){left:-55px;top:-55px}.dashboard-page .topbar .navigation-box-pattern span:nth-child(2){left:12%;top:-25px}.dashboard-page .topbar .navigation-box-pattern span:nth-child(3){left:28%;top:-55px}.dashboard-page .topbar .navigation-box-pattern span:nth-child(4){left:44%;top:-25px}.dashboard-page .topbar .navigation-box-pattern span:nth-child(5){left:60%;top:-55px}.dashboard-page .topbar .navigation-box-pattern span:nth-child(6){left:76%;top:-25px}.dashboard-page .topbar .navigation-box-pattern span:nth-child(7){left:92%;top:-55px}

/* Green navigation panels with the same geometric line language as login. */
.dashboard-page{--green:#397a58;--green-dark:#2d6045;--green-soft:#e9f2ed}.dashboard-page .sidebar,.dashboard-page .topbar{background-color:#397a58;background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(135deg,rgba(255,255,255,.035) 25%,transparent 25%);background-size:74px 74px,74px 74px,148px 148px;border-color:rgba(255,255,255,.16)}
.dashboard-page .sidebar{color:#fff;box-shadow:8px 0 24px rgba(19,83,50,.08)}.dashboard-page .sidebar-brand{color:#fff}.dashboard-page .sidebar-brand .brand-mark{background:#fff;color:var(--green)}.dashboard-page .workspace-select{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.2);color:#fff;backdrop-filter:blur(4px)}.dashboard-page .workspace-icon{background:#fff;color:var(--green-dark)}.dashboard-page .nav-label{color:rgba(255,255,255,.6)}.dashboard-page .sidebar-nav a{color:rgba(255,255,255,.82)}.dashboard-page .sidebar-nav a:hover{background:rgba(255,255,255,.09);color:#fff}.dashboard-page .sidebar-nav a.active{background:#fff;color:var(--green-dark);box-shadow:0 5px 14px rgba(7,75,39,.12)}.dashboard-page .nav-count{background:#fff;color:var(--green-dark)}
.dashboard-page .sidebar-help{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.24);color:#fff;backdrop-filter:blur(5px)}.dashboard-page .sidebar-help>i{color:#fff}.dashboard-page .sidebar-help small{color:rgba(255,255,255,.72)}.dashboard-page .sidebar-help .btn{background:#fff;border-color:#fff;color:var(--green-dark)}.dashboard-page .sidebar-user .user-avatar{background:#fff;color:var(--green-dark)}.dashboard-page .sidebar-user strong{color:#fff}.dashboard-page .sidebar-user small{color:rgba(255,255,255,.66)}
.dashboard-page .topbar{color:#fff;box-shadow:0 6px 20px rgba(19,83,50,.14)}.dashboard-page .topbar .search-box{background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.75);color:var(--green-dark)}.dashboard-page .topbar .search-box input{color:var(--ink)}.dashboard-page .topbar .icon-button{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25);color:#fff}.dashboard-page .topbar .icon-button:hover{background:rgba(255,255,255,.24)}.dashboard-page .topbar .has-notification:after{background:#fff;border-color:var(--green)}.dashboard-page .topbar-user-button{background:#fff;border-color:#fff}.dashboard-page .topbar-user-button:hover{background:#f0faf4}.dashboard-page .topbar-user-avatar{background:var(--green-dark)}
.dashboard-page .sidebar,.dashboard-page .topbar{background-image:none;overflow:hidden}.dashboard-page .sidebar::before,.dashboard-page .sidebar::after,.dashboard-page .topbar::before,.dashboard-page .topbar::after{content:"";position:absolute;pointer-events:none;border:1px solid rgba(255,255,255,.15);border-radius:18px;transform:none}.dashboard-page .sidebar::before{width:255px;height:230px;left:-82px;top:115px}.dashboard-page .sidebar::after{width:235px;height:280px;right:-105px;bottom:112px}.dashboard-page .topbar::before{width:360px;height:135px;left:16%;top:-76px}.dashboard-page .topbar::after{width:310px;height:125px;right:7%;bottom:-78px}.dashboard-page .sidebar>*:not(.sidebar-backdrop),.dashboard-page .topbar>*{position:relative;z-index:1}.dashboard-page .navigation-box-pattern{z-index:0!important}
.dashboard-page .navigation-box-pattern span:nth-child(3n+1){border-color:rgba(255,255,255,.19);border-radius:28px!important}.dashboard-page .navigation-box-pattern span:nth-child(3n+2){border-color:rgba(255,255,255,.09);border-radius:14px!important}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(1){width:250px!important;height:170px!important;left:-80px;top:45px}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(2){width:180px!important;height:220px!important;left:52px;top:130px}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(3){width:255px!important;height:140px!important;left:-28px;top:270px}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(4){width:165px!important;height:210px!important;left:88px;top:335px}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(5){width:245px!important;height:175px!important;left:-75px;top:475px}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(6){width:205px!important;height:130px!important;left:62px;top:570px}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(7){width:175px!important;height:195px!important;left:-12px;top:660px}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(8){width:250px!important;height:145px!important;left:92px;top:750px}.dashboard-page .topbar .navigation-box-pattern span:nth-child(1){width:260px!important;height:120px!important;left:-75px;top:-58px}.dashboard-page .topbar .navigation-box-pattern span:nth-child(2){width:180px!important;height:135px!important;left:11%;top:-28px}.dashboard-page .topbar .navigation-box-pattern span:nth-child(3){width:290px!important;height:105px!important;left:28%;top:-54px}.dashboard-page .topbar .navigation-box-pattern span:nth-child(4){width:165px!important;height:145px!important;left:50%;top:-35px}.dashboard-page .topbar .navigation-box-pattern span:nth-child(5){width:250px!important;height:110px!important;left:62%;top:-58px}.dashboard-page .topbar .navigation-box-pattern span:nth-child(6){width:190px!important;height:132px!important;left:80%;top:-22px}.dashboard-page .topbar .navigation-box-pattern span:nth-child(7){width:235px!important;height:100px!important;left:93%;top:-53px}
.dashboard-page .navigation-box-pattern{opacity:.6}.dashboard-page .sidebar::before,.dashboard-page .sidebar::after,.dashboard-page .topbar::before,.dashboard-page .topbar::after{opacity:.6}.dashboard-page .sidebar-nav a,.dashboard-page .workspace-select,.dashboard-page .sidebar-help{position:relative;isolation:isolate}
.category-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start}.category-summary{display:flex;gap:13px;align-items:flex-start}.category-summary>div{display:flex;flex-direction:column}.category-summary small{font-size:8px;font-weight:800;color:var(--muted);letter-spacing:.5px}.category-summary strong{font-size:27px;margin:3px 0}.category-summary p{font-size:8px;color:var(--muted);margin:0}.category-list-panel{min-width:0}.category-toolbar{align-items:center}.category-search{width:230px;height:36px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:6px;padding:0 10px;color:var(--muted)}.category-search input{width:100%;border:0;outline:0;background:transparent;font-size:9px}.category-table{min-width:720px;margin-bottom:10px}.category-table th{font-size:7px;color:#929c95;padding:10px;border-color:var(--line)}.category-table td{font-size:9px;padding:12px 10px;border-color:#edf1ee}.category-code{padding:5px 7px;background:var(--green-soft);color:var(--green-dark);border-radius:4px;font-size:8px;font-weight:800}.category-description{max-width:280px;color:var(--muted)}.category-actions{display:flex;justify-content:flex-end;gap:4px}.category-actions form{margin:0}.category-actions .icon-button{width:30px;height:30px;font-size:10px}.category-actions .delete:hover{background:#fdeaea;color:#bd4141}.empty-state{padding:42px;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--muted)}.empty-state>i{font-size:28px;color:var(--green)}.empty-state strong{color:var(--ink)}.category-modal{border:0;border-radius:8px;box-shadow:0 22px 60px rgba(17,55,32,.18)}.category-modal .modal-header,.category-modal .modal-footer{border-color:var(--line);padding:18px 20px}.category-modal .modal-body{padding:20px}.category-modal h5{font-size:16px;font-weight:800;margin:0}.category-modal .modal-header small{font-size:9px;color:var(--muted)}.category-modal .form-control{font-size:11px;border-color:var(--line);border-radius:6px}.category-modal textarea{resize:none}.category-modal .btn{font-size:10px;font-weight:700}.pagination{margin:12px 0 0}.page-link{font-size:9px;color:var(--green-dark);border-color:var(--line)}.active>.page-link{background:var(--green);border-color:var(--green)}
@media(max-width:1100px){.category-layout{grid-template-columns:1fr}.category-summary{max-width:280px}}
@media(max-width:575px){.category-toolbar{gap:12px;flex-direction:column}.category-toolbar form,.category-search{width:100%}}

/* Softer, deeper green palette overrides. */
.dashboard-page .metric-icon,.dashboard-page .metric-icon.lime,.dashboard-page .metric-icon.yellow,.dashboard-page .metric-icon.red,.dashboard-page .metric-card.accent .metric-icon{background:var(--green-soft);color:var(--green)}
.dashboard-page .trend.up,.dashboard-page .trend.down,.dashboard-page .metric-card.accent .trend{background:var(--green-soft);color:var(--green-dark)}
.dashboard-page .metric-card.accent .mini-bars span{background:#c8d9d0}.dashboard-page .metric-card.accent .mini-bars span:last-child,.dashboard-page .metric-progress span,.dashboard-page .conversion-scale span{background:var(--green)}
.dashboard-page .customer-avatars span,.dashboard-page .bg-yellow,.dashboard-page .bg-blue,.dashboard-page .bg-pink{background:#e7f0eb!important;color:var(--green-dark)}
.dashboard-page .source-dot.dark{background:var(--green-dark)}.dashboard-page .source-dot.yellow{background:#769b88}.dashboard-page .source-dot.gray{background:#c8d9d0}
.dashboard-page .sidebar-help>i{color:#d9e8e0}

/* Replace the browser's yellow autofill with a subtle translucent green. */
.login-form-panel input:-webkit-autofill,.login-form-panel input:-webkit-autofill:hover,.login-form-panel input:-webkit-autofill:focus,.login-form-panel input:-webkit-autofill:active{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);-webkit-box-shadow:0 0 0 1000px rgba(63,111,89,.11) inset!important;box-shadow:0 0 0 1000px rgba(63,111,89,.11) inset!important;transition:background-color 9999s ease-out 0s}

/* Keep tables visually soft while strengthening their typography. */
:root{--green:#16a951;--green-dark:#2f7046;--green-soft:#e9f3ed}
.legend-dot.target{background:#d32f2f}.source-dot.dark{background:#d32f2f}.source-dot.yellow{background:#fbc02d}.source-dot.gray{background:#66bb6a}
.dashboard-page{--green:#16a951;--green-dark:#2f7046;--green-soft:#e9f3ed}.dashboard-page .metric-card.accent{background:#2f7046;border-color:#2f7046}.dashboard-page .workspace-icon,.dashboard-page .sidebar-help{background:#2f7046}.dashboard-page .activity-icon.dark{background:#2f7046}.dashboard-page .mini-bars span{background:rgba(22,169,81,.34)}.dashboard-page .mini-bars span:last-child{background:#4fc477}.dashboard-page .legend-dot.revenue,.dashboard-page .source-dot.green{background:#16a951}.dashboard-page .source-dot.gray{background:#4fc477}
.dashboard-page .sidebar{background:#2f7046;border-right-color:#2f7046}.dashboard-page .sidebar-brand,.dashboard-page .sidebar-nav a,.dashboard-page .nav-tree-toggle{color:#fff}.dashboard-page .nav-label,.dashboard-page .sidebar-user small{color:rgba(255,255,255,.65)}.dashboard-page .sidebar-nav a:hover,.dashboard-page .sidebar-nav a.active,.dashboard-page .nav-tree-toggle:hover,.dashboard-page .nav-tree-toggle.active{background:#16a951;color:#fff}.dashboard-page .workspace-select{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);color:#fff}.dashboard-page .workspace-icon{background:#16a951}.dashboard-page .sidebar-help{background:rgba(0,0,0,.16)}.dashboard-page .sidebar-user{color:#fff}.dashboard-page .topbar{background:#2f7046;border-bottom-color:#2f7046;color:#fff}.dashboard-page .topbar .search-box{background:#fff;border-color:#fff;color:#2f7046}.dashboard-page .topbar .icon-button{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);color:#fff}.dashboard-page .topbar-divider{background:rgba(255,255,255,.35)}.dashboard-page .topbar .btn-verdea{background:#16a951;border-color:#16a951}.dashboard-page .topbar .has-notification:after{background:#fbc02d}
.btn-verdea,.btn-primary{background:#16a951!important;border-color:#16a951!important;color:#fff!important;box-shadow:0 5px 14px rgba(22,169,81,.2)}.btn-verdea:hover,.btn-verdea:focus,.btn-primary:hover,.btn-primary:focus{background:#2f7046!important;border-color:#2f7046!important;color:#fff!important}.btn-outline-success{border-color:#16a951!important;color:#16a951!important}.btn-outline-success:hover,.btn-outline-success:focus{background:#16a951!important;border-color:#16a951!important;color:#fff!important}.category-actions .icon-button:not(.delete){background:#e9f3ed;border-color:#b9d8c4;color:#2f7046}.category-actions .icon-button:not(.delete):hover{background:#16a951;border-color:#16a951;color:#fff}.dashboard-page .topbar .btn-verdea:hover,.dashboard-page .topbar .btn-verdea:focus{background:#245d3a!important;border-color:#245d3a!important}
.dashboard-page .btn,.dashboard-page .icon-button,.dashboard-page .category-actions .icon-button,.dashboard-page .category-actions .icon-button.delete{background:#2f7046!important;border-color:#2f7046!important;color:#fff!important}.dashboard-page .btn:hover,.dashboard-page .btn:focus,.dashboard-page .icon-button:hover,.dashboard-page .icon-button:focus,.dashboard-page .category-actions .icon-button.delete:hover{background:#245d3a!important;border-color:#245d3a!important;color:#fff!important}.dashboard-page .btn:disabled,.dashboard-page .btn.disabled{background:#6f9a7e!important;border-color:#6f9a7e!important;color:#fff!important}.dashboard-page .topbar .icon-button{background:#2f7046!important;border-color:rgba(255,255,255,.4)!important}
.login-page .btn-verdea{background:#2f7046!important;border-color:#2f7046!important;color:#fff!important;box-shadow:0 5px 14px rgba(47,112,70,.22)}.login-page .btn-verdea:hover,.login-page .btn-verdea:focus{background:#245d3a!important;border-color:#245d3a!important;color:#fff!important}
.dashboard-page .sidebar::before,.dashboard-page .sidebar::after,.dashboard-page .topbar::before,.dashboard-page .topbar::after{display:none}.dashboard-page .navigation-box-pattern{opacity:.55}.dashboard-page .navigation-box-pattern span{width:66px!important;height:66px!important;border:0!important;border-radius:0!important;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M6 13c9-3 18-1 26 5v35c-8-6-17-8-26-5V13Zm52 0c-9-3-18-1-26 5v35c8-6 17-8 26-5V13Z' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linejoin='round'/%3E%3Cpath d='M32 18v35M11 21c6-1 11 0 16 3M11 29c6-1 11 0 16 3M53 21c-6-1-11 0-16 3M53 29c-6-1-11 0-16 3' fill='none' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' opacity='.72'/%3E%3C/svg%3E") center/contain no-repeat!important}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(odd){left:18px!important}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(even){left:auto!important;right:18px!important}.dashboard-page .topbar .navigation-box-pattern span{width:54px!important;height:54px!important;top:14px!important}.dashboard-page .topbar .navigation-box-pattern span:nth-child(1){left:4%!important}.dashboard-page .topbar .navigation-box-pattern span:nth-child(2){left:19%!important}.dashboard-page .topbar .navigation-box-pattern span:nth-child(3){left:34%!important}.dashboard-page .topbar .navigation-box-pattern span:nth-child(4){left:49%!important}.dashboard-page .topbar .navigation-box-pattern span:nth-child(5){left:64%!important}.dashboard-page .topbar .navigation-box-pattern span:nth-child(6){left:79%!important}.dashboard-page .topbar .navigation-box-pattern span:nth-child(7){left:94%!important}
.dashboard-page .navigation-box-pattern span{display:none!important}.dashboard-page .sidebar .navigation-box-pattern{opacity:.08;background:url('/images/navigation-library-soft.png') center/cover no-repeat;filter:saturate(.65) contrast(.78)}.dashboard-page .topbar .navigation-box-pattern{opacity:.06;background:url('/images/navigation-library-soft.png') center 46%/cover no-repeat;filter:saturate(.65) contrast(.78)}
.dashboard-page .sidebar .navigation-box-pattern{opacity:1;filter:none;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:72px 72px;background-position:center top}.dashboard-page .sidebar .navigation-box-pattern span{display:block!important;width:190px!important;height:132px!important;background:none!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:2px!important}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(odd){left:-42px!important}.dashboard-page .sidebar .navigation-box-pattern span:nth-child(even){left:auto!important;right:-48px!important}
.dashboard-page .topbar .navigation-box-pattern{opacity:1;filter:none;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:72px 72px;background-position:left center}.dashboard-page .topbar .navigation-box-pattern span{display:block!important;width:190px!important;height:96px!important;top:-38px!important;background:none!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:2px!important}
.dashboard-page .btn-danger,.dashboard-page .category-actions .icon-button.delete{background:#d32f2f!important;border-color:#d32f2f!important;color:#fff!important}.dashboard-page .btn-danger:hover,.dashboard-page .btn-danger:focus,.dashboard-page .category-actions .icon-button.delete:hover,.dashboard-page .category-actions .icon-button.delete:focus{background:#b91c1c!important;border-color:#b91c1c!important;color:#fff!important}
.book-form-section>.row,.warehouse-form-grid,.supplier-form-grid,.stock-form-grid,.pl-form-grid{grid-template-columns:minmax(0,1fr)!important;gap:15px!important}.warehouse-form-grid .full,.supplier-form-grid .full,.stock-form-grid .full,.pl-form-grid .full{grid-column:auto!important}.book-form-section>.row>[class*="col-"]{grid-column:1!important}.modal-dialog:has(.book-modal){max-width:760px}.warehouse-modal,.supplier-modal,.stock-modal,.pl-modal{max-width:620px}.category-modal .modal-body{padding:22px 24px}.category-modal .form-label{margin-bottom:7px}.category-modal .form-control,.category-modal .form-select{width:100%}
.category-modal .modal-footer .btn,.book-modal .modal-footer .btn,.warehouse-modal .modal-footer .btn,.supplier-modal .modal-footer .btn,.stock-modal .modal-footer .btn,.pl-modal .modal-footer .btn{border-radius:999px!important;padding-left:22px;padding-right:22px}
.dashboard-page .sidebar{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.dashboard-page .sidebar-brand{font-size:19px;font-weight:900;letter-spacing:.2px}.dashboard-page .sidebar-nav a,.dashboard-page .nav-tree-toggle{font-size:13px;font-weight:750;letter-spacing:.1px;color:rgba(255,255,255,.94)}.dashboard-page .sidebar-nav a i,.dashboard-page .nav-tree-toggle>i:first-child{font-size:17px}.dashboard-page .nav-label{font-size:9px;font-weight:900;letter-spacing:1.2px;color:rgba(255,255,255,.78)}.dashboard-page .sidebar-nav .nav-tree-children a{font-size:12px;font-weight:700;color:rgba(255,255,255,.88)}.dashboard-page .workspace-select small{font-size:9px;font-weight:800;color:rgba(255,255,255,.72)}.dashboard-page .workspace-select strong{font-size:12px;font-weight:900;color:#fff}.dashboard-page .sidebar-help strong{font-size:12px;font-weight:900}.dashboard-page .sidebar-help small{font-size:10px;color:rgba(255,255,255,.78)}.dashboard-page .sidebar-user strong{font-size:11px;font-weight:900}.dashboard-page .sidebar-user small{font-size:9px;color:rgba(255,255,255,.72)}
.dashboard-page .metric-card.accent{background:#fff!important;border-color:var(--line)!important;color:var(--ink)!important}.dashboard-page .metric-card.accent .metric-icon{background:var(--green-soft);color:var(--green-dark)}.dashboard-page .metric-card.accent .metric-label,.dashboard-page .metric-card.accent p{color:var(--muted)}.dashboard-page .metric-card.accent .trend.up{background:#e8f8ed;color:#078032}.dashboard-page .metric-card.accent .mini-bars span{background:rgba(47,112,70,.18)}.dashboard-page .metric-card.accent .mini-bars span:last-child{background:var(--green)}
.category-modal .modal-footer .btn::before{content:none!important}.modal-footer .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}.modal-footer .btn i.bi{font-size:14px;line-height:1}.icon-button i.bi,.master-add-card i.bi{line-height:1}
.settings-form{max-width:900px}.settings-section{margin-bottom:16px;padding:24px}.settings-section-heading{display:flex;align-items:center;gap:12px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--line)}.settings-section-heading h3{margin:0 0 4px;font-size:15px;font-weight:900}.settings-section-heading p{margin:0;color:var(--muted);font-size:10px}.settings-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.settings-grid label{display:flex;flex-direction:column;gap:7px;color:#34463b;font-size:11px;font-weight:800}.settings-grid .form-control,.settings-grid .form-select{min-height:46px;border-color:#dce5df;border-radius:9px;font-size:12px}.settings-grid textarea.form-control{min-height:100px}.settings-actions{position:sticky;bottom:16px;display:flex;justify-content:flex-end;padding:12px 0}.settings-actions .btn{height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;padding:0 20px;border-radius:999px!important;font-size:10px;font-weight:800}
.settings-preview{width:150px;height:100px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#f5f8f6}.settings-preview.member-card{width:min(320px,100%);height:180px}.settings-preview img{width:100%;height:100%;object-fit:contain}.settings-preview.member-card img{object-fit:cover}.settings-file{display:flex;align-items:center;gap:12px;padding:14px;border:1px dashed #a9c7b5;border-radius:10px;background:#f7fbf8;color:var(--green-dark)}.settings-file>i{font-size:24px}.settings-file>span{display:flex;flex-direction:column}.settings-file small{color:var(--muted);font-size:9px;font-weight:600}
.brand-mark img{width:100%;height:100%;display:block;object-fit:contain;border-radius:inherit}
.dashboard-welcome-brand{display:flex;align-items:center;gap:18px}.dashboard-welcome-brand .brand-mark{width:76px;height:76px;flex:0 0 76px;padding:7px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 20px rgba(47,112,70,.15)}.dashboard-welcome-brand .date-label{margin-bottom:0}.dashboard-welcome-brand h1{margin-top:3px}@media(max-width:575px){.dashboard-welcome-brand{gap:12px}.dashboard-welcome-brand .brand-mark{width:60px;height:60px;flex-basis:60px;padding:5px}}
.book-overview-row{display:grid;grid-template-columns:minmax(230px,1fr) auto;align-items:center;gap:24px;margin-bottom:16px}.book-overview-row .page-heading{margin:0;align-items:center}.book-overview-row .book-stats{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin:0}.book-overview-row .book-stats .panel{width:230px;min-width:230px;height:96px}.book-overview-row .master-add-card{width:96px;min-width:96px;margin:0}@media(max-width:1199px){.book-overview-row{grid-template-columns:1fr}.book-overview-row .book-stats{justify-content:flex-start}}@media(max-width:767px){.book-overview-row .book-stats{display:grid;grid-template-columns:1fr 1fr}.book-overview-row .book-stats .panel{width:100%;min-width:0}.book-overview-row .master-add-card{grid-column:1/-1;justify-self:end}}@media(max-width:480px){.book-overview-row .book-stats{grid-template-columns:1fr}.book-overview-row .master-add-card{grid-column:1}}
.master-overview-row{display:grid;grid-template-columns:minmax(230px,1fr) auto;align-items:center;gap:24px;margin-bottom:16px}.master-overview-row .page-heading{margin:0;align-items:center}.master-stats-row{display:flex!important;align-items:center;justify-content:flex-end;gap:14px;margin:0!important}.master-stats-row>.panel,.master-stats-row>.category-summary{width:230px!important;min-width:230px;height:96px;min-height:96px}.master-stats-row>.master-add-card{width:96px!important;min-width:96px;margin:0;justify-self:auto}.dashboard-content>.category-list-panel{width:100%}@media(max-width:1199px){.master-overview-row{grid-template-columns:1fr}.master-stats-row{justify-content:flex-start}}@media(max-width:767px){.master-stats-row{display:grid!important;grid-template-columns:1fr 1fr}.master-stats-row>.panel,.master-stats-row>.category-summary{width:100%!important;min-width:0}.master-stats-row>.master-add-card{grid-column:1/-1;justify-self:end}}@media(max-width:480px){.master-stats-row{grid-template-columns:1fr}.master-stats-row>.master-add-card{grid-column:1}}
.coa-toolbar{align-items:center}.coa-search{width:310px}.coa-table{min-width:1100px}.coa-table th{padding:11px 10px;font-size:11px;font-weight:900}.coa-table td{padding:11px 10px;font-size:11px;border-color:#edf1ee}.coa-hierarchy{display:flex;min-width:230px;flex-direction:column;gap:2px}.coa-hierarchy small{color:var(--muted);font-size:8px}.coa-hierarchy span{font-size:9px}.coa-hierarchy strong{color:var(--green-dark);font-size:10px}.coa-form-grid{display:grid;grid-template-columns:1fr;gap:15px}.coa-form-grid label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:800}.coa-form-grid .form-control,.coa-form-grid .form-select{min-height:45px;border-color:#dce5df;border-radius:9px;font-size:11px}.coa-modal{max-width:640px}@media(max-width:767px){.coa-toolbar{align-items:stretch;flex-direction:column;gap:12px}.coa-toolbar form,.coa-search{width:100%}}
.coa-table th:nth-child(5),.coa-table td:nth-child(5),.coa-table th:nth-child(6),.coa-table td:nth-child(6),.coa-form-grid label:has([name="balance"]),.coa-form-grid label:has([name="kode_fund"]){display:none}.coa-table{min-width:900px}
@media(max-width:767px){.coa-list-panel{padding:14px;background:transparent;border:0}.coa-list-panel .panel-header{padding:16px;margin-bottom:12px;background:#fff;border:1px solid var(--line);border-radius:14px}.coa-table,.coa-table tbody{display:block;width:100%;min-width:0}.coa-table thead{display:none}.coa-table tbody{display:grid;gap:12px}.coa-table tbody tr{display:block;padding:15px;background:#fff;border:1px solid #dfe8e2;border-radius:14px;box-shadow:0 5px 15px rgba(33,79,50,.07)}.coa-table tbody td{display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #edf1ee;text-align:right}.coa-table tbody td::before{flex:0 0 82px;color:#728078;font-size:9px;font-weight:900;text-align:left}.coa-table tbody td:nth-child(1)::before{content:"Kode"}.coa-table tbody td:nth-child(2)::before{content:"Rekening"}.coa-table tbody td:nth-child(3)::before{content:"Hierarki"}.coa-table tbody td:nth-child(4)::before{content:"Tipe"}.coa-table tbody td:nth-child(7)::before{content:"Status"}.coa-table tbody td:nth-child(8)::before{content:"Aksi"}.coa-table tbody td:nth-child(5),.coa-table tbody td:nth-child(6){display:none}.coa-table tbody td:nth-child(2)>strong{max-width:65%;font-size:12px}.coa-table tbody td:last-child{align-items:center;padding-bottom:0;border:0}.coa-hierarchy{min-width:0;max-width:68%;align-items:flex-end}.coa-hierarchy small,.coa-hierarchy span,.coa-hierarchy strong{text-align:right}.coa-table .category-actions{margin-left:auto}.coa-table .icon-button{width:40px;height:40px;border-radius:10px!important}.coa-table tbody tr:has(td[colspan]){padding:0}.coa-table tbody td[colspan]{display:block;padding:25px;border:0}.coa-table tbody td[colspan]::before{content:none}.coa-list-panel .pagination{display:none}}
.book-table .book-name>strong,.stock-table tbody td:nth-child(3){color:#17221b;font-weight:900}
.dashboard-page .sidebar{overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.38) transparent}.dashboard-page .sidebar::-webkit-scrollbar{width:6px}.dashboard-page .sidebar::-webkit-scrollbar-track{background:transparent}.dashboard-page .sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.32);border-radius:999px}.dashboard-page .sidebar::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.5)}
.dashboard-page .sidebar{scrollbar-width:none;-ms-overflow-style:none}.dashboard-page .sidebar::-webkit-scrollbar{display:none;width:0;height:0}
.coa-setting-tabs{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;scrollbar-width:none}.coa-setting-tabs a{flex:0 0 auto;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#526158;font-size:10px;font-weight:800;text-decoration:none}.coa-setting-tabs a.active{background:var(--green-dark);border-color:var(--green-dark);color:#fff}.coa-setting-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.coa-setting-card{position:relative;padding:20px}.coa-setting-card-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.coa-setting-card-head small{color:var(--muted);font-size:8px}.coa-setting-card-head h3{margin:3px 0 0;font-size:14px;font-weight:900}.coa-setting-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.coa-setting-values>div{display:flex;flex-direction:column;padding:10px;border-radius:8px;background:#f6f9f7}.coa-setting-values small{color:var(--muted);font-size:8px;text-transform:capitalize}.coa-setting-values strong{overflow:hidden;font-size:10px;text-overflow:ellipsis}.coa-setting-card>p{margin:13px 0;color:var(--muted);font-size:10px}.coa-setting-card .category-actions{justify-content:flex-end;margin-top:14px}.coa-setting-form-grid{display:grid;grid-template-columns:1fr;gap:15px}.coa-setting-form-grid label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:800}.coa-setting-form-grid .form-control,.coa-setting-form-grid .form-select{min-height:45px;border-color:#dce5df;border-radius:9px;font-size:11px}.coa-setting-modal{max-width:660px}@media(max-width:767px){.coa-setting-list{grid-template-columns:1fr}.coa-setting-card{border-radius:14px}.coa-setting-values{grid-template-columns:1fr}.coa-setting-tabs{margin-left:-4px;margin-right:-4px}.dashboard-content>.page-heading>.btn{margin-top:12px}}
.coa-setting-values strong{display:flex;flex-direction:column;gap:3px}.coa-setting-values strong>span{overflow:hidden;color:var(--green-dark);font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.coa-setting-add{width:96px!important;min-width:96px;height:96px!important;min-height:96px;padding:8px!important;flex-direction:column;gap:7px!important;border-radius:7px!important}.coa-setting-add i{font-size:20px}.coa-setting-add span{max-width:78px;font-size:9px;line-height:1.25;text-align:center}
.coa-setting-list{grid-template-columns:minmax(0,1fr);width:100%}.coa-setting-card{width:100%}.coa-setting-values{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.po-toolbar{align-items:center}.po-search{width:310px}.po-table{min-width:1000px}.po-table th{padding:11px 10px;font-size:11px;font-weight:900}.po-table td{padding:12px 10px;font-size:11px;border-color:#edf1ee}.po-modal{max-width:940px}.po-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}.po-form-grid label,.po-item label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:800}.po-form-grid .form-control,.po-form-grid .form-select,.po-item .form-control,.po-item .form-select{min-height:44px;border-color:#dce5df;border-radius:9px;font-size:11px}.po-items-heading{display:flex;align-items:center;justify-content:space-between;margin:24px 0 12px;padding-top:20px;border-top:1px solid var(--line)}.po-items-heading h6{margin:0 0 3px;font-size:13px;font-weight:900}.po-items-heading small{color:var(--muted);font-size:9px}.po-items-heading .btn{height:38px;border-radius:999px!important;font-size:9px}.po-items{display:grid;gap:10px}.po-item{display:grid;grid-template-columns:minmax(240px,2fr) minmax(120px,1fr) 90px 120px 38px;align-items:end;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8faf8}.po-item>strong{align-self:center;text-align:right;font-size:11px}.po-item>.icon-button{width:38px;height:38px}.po-total{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:15px;padding:15px;border-radius:10px;background:var(--green-soft)}.po-total span{font-size:10px;font-weight:800}.po-total strong{min-width:130px;text-align:right;font-size:16px}.po-list-panel .master-add-card{width:96px}@media(max-width:767px){.po-toolbar{align-items:stretch;flex-direction:column;gap:12px}.po-toolbar form,.po-search{width:100%}.po-form-grid{grid-template-columns:1fr}.po-item{grid-template-columns:1fr 1fr}.po-item label:first-child{grid-column:1/-1}.po-item>strong{text-align:left}.po-item>.icon-button{justify-self:end}.po-table,.po-table tbody{display:block;width:100%;min-width:0}.po-table thead{display:none}.po-table tbody{display:grid;gap:12px}.po-table tbody tr{display:block;padding:14px;background:#fff;border:1px solid var(--line);border-radius:14px}.po-table tbody td{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #edf1ee;text-align:right}.po-table tbody td::before{color:var(--muted);font-size:9px;font-weight:900}.po-table tbody td:nth-child(1)::before{content:"No. PO"}.po-table tbody td:nth-child(2)::before{content:"Supplier"}.po-table tbody td:nth-child(3)::before{content:"Item"}.po-table tbody td:nth-child(4)::before{content:"Total"}.po-table tbody td:nth-child(5)::before{content:"Diskon"}.po-table tbody td:nth-child(6)::before{content:"Pembayaran"}.po-table tbody td:nth-child(7)::before{content:"Tanggal"}.po-table tbody td:nth-child(8)::before{content:"Aksi"}.po-table tbody td:last-child{border:0}.po-table .category-actions{margin-left:auto}}
.transaction-table,.category-table{border:0;border-collapse:collapse;border-radius:0;overflow:visible;background:transparent;box-shadow:none}
.transaction-table thead th,.category-table thead th{background:transparent;color:#111;font-size:8px;font-weight:900;letter-spacing:.25px;text-transform:none;border-bottom:1px solid var(--line);padding:10px;white-space:nowrap}
.transaction-table tbody td,.category-table tbody td{color:#465249;font-weight:600;border-bottom:1px solid #edf1ee;padding:11px 10px;vertical-align:middle}
.transaction-table tbody tr:nth-child(even),.category-table tbody tr:nth-child(even),.transaction-table tbody tr:hover,.category-table tbody tr:hover{background:transparent;box-shadow:none}
.transaction-table tbody tr:last-child td,.category-table tbody tr:last-child td{border-bottom:0}
.transaction-table td>strong,.category-table td>strong,.customer-cell strong{color:#213128;font-weight:800}

@media(max-width:767px){
  .table-responsive:has(.transaction-table),.table-responsive:has(.category-table){overflow:visible}
  .transaction-table,.category-table,.transaction-table tbody,.category-table tbody{display:block;width:100%;min-width:0}
  .transaction-table thead,.category-table thead{display:none}
  .transaction-table tbody tr,.category-table tbody tr{display:block;position:relative;margin-bottom:12px;padding:7px 13px;background:#fff!important;border:1px solid #e1e9e4;border-radius:10px;box-shadow:0 4px 14px rgba(35,75,53,.055)!important}
  .transaction-table tbody tr:last-child,.category-table tbody tr:last-child{margin-bottom:0}
  .transaction-table tbody td,.category-table tbody td{display:flex;width:100%;min-height:38px;align-items:center;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid #edf1ee;text-align:right}
  .transaction-table tbody td::before,.category-table tbody td::before{flex:0 0 auto;color:#7a867e;font-size:8px;font-weight:800;letter-spacing:.35px;text-align:left}
  .transaction-table tbody td:nth-child(1)::before{content:"Transaksi"}.transaction-table tbody td:nth-child(2)::before{content:"Pelanggan"}.transaction-table tbody td:nth-child(3)::before{content:"Produk"}.transaction-table tbody td:nth-child(4)::before{content:"Total"}.transaction-table tbody td:nth-child(5)::before{content:"Status"}.transaction-table tbody td:nth-child(6)::before{content:"Aksi"}
  .category-table tbody td:nth-child(1)::before{content:"ID"}.category-table tbody td:nth-child(2)::before{content:"Nama kategori"}.category-table tbody td:nth-child(3)::before{content:"Dibuat"}.category-table tbody td:nth-child(4)::before{content:"Diperbarui"}.category-table tbody td:nth-child(5)::before{content:"Aksi"}
  .transaction-table tbody td:last-child,.category-table tbody td:last-child{border-bottom:0}
  .transaction-table tbody td:first-child{display:grid;grid-template-columns:auto 1fr}.transaction-table tbody td:first-child::before{grid-row:1/3;align-self:center}.transaction-table tbody td:first-child>strong,.transaction-table tbody td:first-child>small{grid-column:2;text-align:right}
  .transaction-table td>small,.transaction-table td>strong{margin-left:auto}.transaction-table .customer-cell,.category-table .category-actions{justify-content:flex-end}
  .category-table .category-description{max-width:65%;line-height:1.5}.category-table .category-actions{margin-left:auto}
  .category-table tbody td[colspan]{display:block;padding:0;border:0;text-align:center}.category-table tbody td[colspan]::before{content:none}.category-table tbody tr:has(td[colspan]){padding:0}
}

/* Keep the PDF output in desktop table mode on narrow print viewports. */
@media print {
  html,body,.dashboard-page{width:100%!important;min-width:1000px!important}
  .dashboard-main{width:100%!important;min-width:1000px!important;margin:0!important}
  .dashboard-content{width:100%!important;max-width:none!important;padding:0!important}
  .inventory-report-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .table-responsive{display:block!important;width:100%!important;overflow:visible!important}
  table.po-table.report-table{display:table!important;width:100%!important;min-width:0!important;table-layout:auto!important}
  table.po-table.report-table thead{display:table-header-group!important}
  table.po-table.report-table tbody{display:table-row-group!important}
  table.po-table.report-table tfoot{display:table-row-group!important}
  table.po-table.report-table tr{display:table-row!important;padding:0!important;border:0!important;border-radius:0!important}
  table.po-table.report-table th,table.po-table.report-table td{display:table-cell!important;width:auto!important;text-align:inherit}
  table.po-table.report-table th.text-end,table.po-table.report-table td.text-end{text-align:right!important}
  table.po-table.report-table td::before{display:none!important;content:none!important}
}
+
.po-book-modal.book-modal .modal-header{background:linear-gradient(135deg,#347a57 0%,#245d42 100%);border-bottom-color:transparent}.po-book-modal.book-modal .modal-header h5{color:#fff}.po-book-modal.book-modal .modal-header small{color:rgba(255,255,255,.78)}.po-book-modal.book-modal .book-modal-eyebrow{background:rgba(255,255,255,.15);color:#fff}
@media(max-width:767px){.purchase-order-form-page #poBookPicker .po-book-modal.book-modal .modal-header{background:linear-gradient(135deg,#347a57 0%,#245d42 100%)}.purchase-order-form-page #poBookPicker .po-book-modal.book-modal .modal-header h5{font-size:22px;color:#fff}.purchase-order-form-page #poBookPicker .po-book-modal.book-modal .modal-header small{color:rgba(255,255,255,.78)}}


/* Full mobile mode for the Purchase Order form. */
@media(max-width:767px){
  .purchase-order-form-page .topbar{height:62px;margin:0 8px;padding:0 12px}
  .purchase-order-form-page .dashboard-content{padding:18px 10px 28px}
  .purchase-order-form-page .page-heading{margin-bottom:14px;gap:12px}
  .purchase-order-form-page .page-heading h1{font-size:21px;line-height:1.25}
  .purchase-order-form-page .page-heading p{font-size:10px;line-height:1.5}
  .purchase-order-form-page .page-heading>.btn{width:100%;height:40px;margin:0;justify-content:center}
  .purchase-order-form-page .po-list-panel{padding:0;overflow:hidden;border-radius:13px}
  .purchase-order-form-page .po-list-panel .panel-header{margin:0;padding:16px;border-bottom:1px solid #e4ebe7}
  .purchase-order-form-page .po-list-panel form>.p-3{padding:16px!important}
  .purchase-order-form-page .po-form-grid{gap:13px}
  .purchase-order-form-page .po-form-grid label{font-size:10px}
  .purchase-order-form-page .po-form-grid .form-control,.purchase-order-form-page .po-form-grid .form-select{width:100%;height:43px;min-height:43px}
  .purchase-order-form-page .po-items-heading{margin-top:20px;padding-top:17px}
  .purchase-order-form-page .po-items-heading .btn{width:100%;height:40px;justify-content:center}
  .purchase-order-form-page .po-empty{padding:20px 12px;border:1px dashed #cfded5;border-radius:12px;background:#f8fbf9;text-align:center}
  .purchase-order-form-page .po-total{margin-top:12px}
  .purchase-order-form-page form>.p-3>.d-flex:last-child{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;margin-top:16px!important}
  .purchase-order-form-page .po-form-action{width:100%;min-width:0;height:42px;padding:0 10px}
  .purchase-order-form-page .po-book-modal{height:calc(100dvh - 20px);border-radius:15px}
  .purchase-order-form-page .po-book-modal .modal-header{padding:17px}
  .purchase-order-form-page .po-book-modal .modal-body{overflow-y:auto}
  .purchase-order-form-page .po-book-search{position:sticky;top:0;z-index:2;background:#fff}
}
@media(max-width:380px){
  .purchase-order-form-page .dashboard-content{padding-left:8px;padding-right:8px}
  .purchase-order-form-page .po-item-table .po-item{grid-template-columns:minmax(0,1fr) 76px 38px;padding:12px;gap:9px}
  .purchase-order-form-page form>.p-3>.d-flex:last-child{grid-template-columns:1fr}
}

/* Modern category modal. */
.modal-backdrop.show{opacity:.42;backdrop-filter:blur(4px)}
.category-modal{overflow:hidden;border:1px solid rgba(54,100,74,.12);border-radius:16px;box-shadow:0 28px 80px rgba(20,54,34,.22)}
.category-modal .modal-header{position:relative;align-items:flex-start;padding:22px 24px 19px;background:linear-gradient(135deg,#edf4f0 0%,#f8fbf9 100%);border-bottom:1px solid #dfe9e3}
.category-modal .modal-header::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--green)}
.category-modal .modal-header>div{display:flex;flex-direction:column;gap:5px}.category-modal h5{color:#1f3327;font-size:18px;font-weight:800;letter-spacing:-.25px}.category-modal .modal-header small{color:#708077;font-size:10px;line-height:1.5}
.category-modal .btn-close{width:30px;height:30px;margin:0;padding:0;border-radius:50%;background-color:rgba(57,122,88,.08);background-size:10px;opacity:.65;transition:.18s ease}.category-modal .btn-close:hover{background-color:rgba(57,122,88,.15);opacity:1;transform:rotate(6deg)}
.category-modal .modal-body{padding:24px;background:#fff}.category-modal .form-label{margin-bottom:7px;color:#293b30;font-size:11px;font-weight:800}
.category-modal .form-control{min-height:46px;padding:11px 13px;background:#fbfcfb;border:1px solid #dce5df;border-radius:9px;color:#26372d;font-size:11px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.category-modal textarea.form-control{min-height:92px}.category-modal .form-control::placeholder{color:#a0aaa4}.category-modal .form-control:hover{border-color:#c4d4ca}.category-modal .form-control:focus{background:#fff;border-color:#6f9982;box-shadow:0 0 0 4px rgba(57,122,88,.1)}
.category-modal .form-switch{display:flex;align-items:center;gap:9px;padding:11px 13px 11px 46px;background:#f5f8f6;border:1px solid #e2e9e5;border-radius:9px}.category-modal .form-switch .form-check-input{width:32px;height:18px;margin-left:-34px;margin-top:0;box-shadow:none}.category-modal .form-switch .form-check-label{margin:0;color:#435249;font-size:10px;font-weight:700}
.category-modal .modal-footer{gap:8px;padding:16px 24px;background:#fafcfb;border-top:1px solid #e5ece8}.category-modal .modal-footer .btn{min-width:100px;padding:10px 16px;border-radius:8px;font-size:10px;font-weight:800}.category-modal .modal-footer .btn-light{background:#fff;border:1px solid #dce5df;color:#536159}.category-modal .modal-footer .btn-light:hover{background:#f3f6f4;border-color:#c9d6ce}
@media(max-width:575px){.category-modal{border-radius:18px 18px 0 0}.modal-dialog:has(.category-modal){align-items:flex-end;min-height:100%;margin:0}.modal-dialog:has(.category-modal) .modal-content{width:100%}.category-modal .modal-header,.category-modal .modal-body,.category-modal .modal-footer{padding-left:19px;padding-right:19px}.category-modal .modal-footer{display:grid;grid-template-columns:1fr 1fr}.category-modal .modal-footer .btn{width:100%;margin:0}}

/* Colored category actions. */
.category-actions .icon-button{border-color:#cfe0d6;background:#eaf3ee;color:#397a58;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.category-actions .icon-button:hover{border-color:#9fbfac;background:#dcebe3;color:#285d40;transform:translateY(-1px)}
.category-actions .icon-button.delete{border-color:#f0cece;background:#fbecec;color:#bd4747}
.category-actions .icon-button.delete:hover{border-color:#e4aaaa;background:#f7dada;color:#a52f2f}
.modal[id^="editCategory"] .category-modal .modal-header{background:linear-gradient(135deg,var(--green) 0%,var(--green-dark) 100%);border-bottom-color:transparent}
.modal[id^="editCategory"] .category-modal .modal-header::before{display:none}
.modal[id^="editCategory"] .category-modal h5{color:#fff}
.modal[id^="editCategory"] .category-modal .modal-header small{color:rgba(255,255,255,.76)}
.modal[id^="editCategory"] .category-modal .btn-close{display:none}

.category-modal .modal-footer .btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;isolation:isolate;background-image:none}
.category-modal .modal-footer .btn::before{position:relative;z-index:1;font-size:15px;font-weight:900;line-height:1}
.category-modal .modal-footer .btn-light::before{content:"←"}.category-modal .modal-footer .btn-verdea::before{content:"✓"}
.category-modal .modal-footer .btn::after{display:none}

/* Place the category summary above the data table. */
.category-layout{grid-template-columns:1fr}
.category-summary{width:100%;min-height:96px;align-items:center;padding:18px 20px}.category-summary>div{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:center}.category-summary small{grid-column:1/3}.category-summary strong{grid-row:2/4;margin:2px 0;font-size:30px}.category-summary p{grid-column:2;margin:0}

/* Master books. */
.book-stats{display:grid;grid-template-columns:repeat(2,minmax(0,260px));gap:14px;margin-bottom:16px}.book-stats .panel{display:flex;align-items:center;gap:13px;padding:16px 18px}.book-stats .panel>div{display:flex;flex-direction:column}.book-stats small{color:var(--muted);font-size:8px;font-weight:800}.book-stats strong{font-size:22px}.book-stats p{margin:0;color:var(--muted);font-size:8px}.book-list-panel{min-width:0}.book-toolbar{align-items:center}.book-search{width:280px}.book-table{min-width:820px;margin-bottom:10px}.book-table th{padding:10px;color:#111;font-size:8px;font-weight:900;border-color:var(--line)}.book-table td{padding:11px 10px;color:#465249;font-size:9px;font-weight:600;border-color:#edf1ee}.book-name{display:flex;max-width:280px;flex-direction:column}.book-name strong{overflow:hidden;color:#213128;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.book-name small{color:#909a94;font-size:7px}.stock-badge{display:inline-flex;min-width:38px;justify-content:center;padding:5px 8px;border-radius:12px;background:#e9f3ed;color:#326849;font-size:8px;font-weight:800}.stock-badge.low{background:#fbecec;color:#b84747}
.book-modal .modal-body{padding:22px 24px}.book-form-section{padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid #e7ede9}.book-form-section:last-child{padding-bottom:0;margin-bottom:0;border:0}.book-form-section-title{display:flex;align-items:center;gap:10px;margin-bottom:15px;color:#293b30}.book-form-section-title>i:first-child{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:var(--green-soft);color:var(--green);font-size:14px}.book-form-section-title>div{display:flex;flex-direction:column}.book-form-section-title strong{font-size:11px;font-weight:800}.book-form-section-title small{color:#859087;font-size:8px}.book-modal .form-select{min-height:46px;padding:11px 36px 11px 13px;background-color:#fbfcfb;border:1px solid #dce5df;border-radius:9px;color:#26372d;font-size:11px}.book-modal .form-select:focus{border-color:#6f9982;box-shadow:0 0 0 4px rgba(57,122,88,.1)}.money-input{position:relative}.money-input>span{position:absolute;left:13px;top:50%;z-index:2;transform:translateY(-50%);color:#78857d;font-size:9px;font-weight:800}.money-input .form-control{padding-left:33px}.book-fund-section summary{cursor:pointer;list-style:none;margin-bottom:0}.book-fund-section summary::-webkit-details-marker{display:none}.book-edit-modal .modal-header{background:linear-gradient(135deg,var(--green),var(--green-dark));border:0}.book-edit-modal .modal-header::before{display:none}.book-edit-modal h5{color:#fff}.book-edit-modal .modal-header small{color:rgba(255,255,255,.76)}
@media(max-width:767px){.book-stats{grid-template-columns:1fr 1fr}.book-toolbar{align-items:stretch;gap:12px;flex-direction:column}.book-toolbar form,.book-search{width:100%}.table-responsive:has(.book-table){overflow:visible}.book-table,.book-table tbody{display:block;width:100%;min-width:0}.book-table thead{display:none}.book-table tbody tr{display:block;margin-bottom:12px;padding:7px 13px;background:#fff;border:1px solid #e1e9e4;border-radius:10px}.book-table tbody td{display:flex;width:100%;align-items:center;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid #edf1ee;text-align:right}.book-table tbody td::before{color:#7a867e;font-size:8px;font-weight:800}.book-table tbody td:nth-child(1)::before{content:"Kode"}.book-table tbody td:nth-child(2)::before{content:"Buku"}.book-table tbody td:nth-child(3)::before{content:"Kategori"}.book-table tbody td:nth-child(4)::before{content:"Harga jual"}.book-table tbody td:nth-child(5)::before{content:"Stok"}.book-table tbody td:nth-child(6)::before{content:"Aksi"}.book-table tbody td:last-child{border:0}.book-table .book-name{max-width:65%;align-items:flex-end}.book-table .category-actions{margin-left:auto}.book-table td[colspan]{display:block}.book-table td[colspan]::before{content:none}.book-modal .modal-body{padding:19px}}
@media(max-width:480px){.book-stats{grid-template-columns:1fr}}

/* Use the edit-modal header treatment for every form modal. */
.category-modal .modal-header{background:linear-gradient(135deg,var(--green) 0%,var(--green-dark) 100%);border-bottom-color:transparent}
.category-modal .modal-header::before{display:none}
.category-modal .modal-header h5{color:#fff}
.category-modal .modal-header small{color:rgba(255,255,255,.76)}
.category-modal .modal-header .btn-close{display:none}
.book-audit-section .form-control[readonly]{background:#f1f5f2;color:#6f7c74;border-style:dashed;cursor:not-allowed}
.modal-dialog:has(.book-modal){height:calc(100vh - 40px);height:calc(100dvh - 40px);margin-top:20px;margin-bottom:20px}.book-modal{max-height:100%;display:flex;flex-direction:column}.book-modal form{min-height:0;display:flex;flex:1;flex-direction:column}.book-modal .modal-header,.book-modal .modal-footer{flex:0 0 auto}.book-modal .modal-body{min-height:0;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9ab5a5 transparent}.book-modal .modal-body::-webkit-scrollbar{width:7px}.book-modal .modal-body::-webkit-scrollbar-thumb{background:#9ab5a5;border-radius:8px}.book-modal .modal-body::-webkit-scrollbar-track{background:transparent}
@media(max-width:575px){.modal-dialog:has(.book-modal){height:92vh;height:92dvh;min-height:0;margin-top:8vh;margin-bottom:0}.book-modal{max-height:92vh;max-height:92dvh}}

/* Consistent scrolling for every application modal. */
.modal-dialog:has(.category-modal){height:calc(100vh - 40px);height:calc(100dvh - 40px);min-height:0;margin-top:20px;margin-bottom:20px}.category-modal{max-height:100%;display:flex;flex-direction:column}.category-modal>form{min-height:0;display:flex;flex:1;flex-direction:column}.category-modal .modal-header,.category-modal .modal-footer{flex:0 0 auto}.category-modal .modal-body{min-height:0;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9ab5a5 transparent}.category-modal .modal-body::-webkit-scrollbar{width:7px}.category-modal .modal-body::-webkit-scrollbar-thumb{background:#9ab5a5;border-radius:8px}.category-modal .modal-body::-webkit-scrollbar-track{background:transparent}
@media(max-width:575px){.modal-dialog:has(.category-modal){height:92vh;height:92dvh;min-height:0;margin-top:8vh;margin-bottom:0}.category-modal{max-height:92vh;max-height:92dvh}}

.book-table{min-width:1540px}.book-table td:nth-child(n+4):nth-child(-n+11){white-space:nowrap}
@media(max-width:767px){.book-table{min-width:0}.book-table tbody td:nth-child(4)::before{content:"Harga dasar"}.book-table tbody td:nth-child(5)::before{content:"Harga beli"}.book-table tbody td:nth-child(6)::before{content:"Harga laporan"}.book-table tbody td:nth-child(7)::before{content:"Harga tithe"}.book-table tbody td:nth-child(8)::before{content:"Harga LE"}.book-table tbody td:nth-child(9)::before{content:"Harga umum"}.book-table tbody td:nth-child(10)::before{content:"Harga jual"}.book-table tbody td:nth-child(11)::before{content:"Harga anggota"}.book-table tbody td:nth-child(12)::before{content:"Poin buku"}.book-table tbody td:nth-child(13)::before{content:"Stok"}.book-table tbody td:nth-child(14)::before{content:"Aksi"}}
.book-table th:nth-child(13),.book-table td:nth-child(13){display:none}

/* Balanced two-column forms that collapse cleanly on small screens. */
.book-form-section>.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;margin:0}.book-form-section>.row>[class*="col-"]{width:100%;max-width:none;padding:0}.book-form-section .form-label{display:block;min-height:16px}.book-form-section .form-control,.book-form-section .form-select,.book-form-section .money-input{width:100%}.book-form-section-title{grid-column:1/-1}
@media(max-width:767px){.book-form-section>.row{grid-template-columns:1fr;gap:13px}.book-form-section .form-label{min-height:0}.book-modal .modal-body{padding-left:17px;padding-right:17px}}
.modal-dialog:has(.book-modal){width:calc(100vw - 276px);max-width:none;margin-left:260px;margin-right:16px}
@media(max-width:991px){.modal-dialog:has(.book-modal){width:calc(100vw - 24px);max-width:none;margin-left:12px;margin-right:12px}}
@media(max-width:575px){.modal-dialog:has(.book-modal){width:100%;max-width:100%;margin-left:0;margin-right:0}.book-modal{border-left:0;border-right:0}}

/* Align every dashboard form and panel with the navbar edges. */
.dashboard-page .dashboard-content{width:100%;max-width:none;margin:0;padding-left:18px;padding-right:18px}
@media(max-width:991px){.dashboard-page .dashboard-content{padding-left:12px;padding-right:12px}}

.modal-dialog:has(.book-modal){width:calc(100vw - 40px);max-width:1100px;margin-left:auto;margin-right:auto}
@media(max-width:575px){.modal-dialog:has(.book-modal){width:100%;max-width:100%;margin-left:0;margin-right:0}}

/* Larger table headings and readable values. */
.book-table thead th,.category-table thead th,.transaction-table thead th{font-size:13px;font-weight:900;line-height:1.3;text-transform:none}
.book-table tbody td,.category-table tbody td,.transaction-table tbody td{font-size:12px;font-weight:400;line-height:1.45}
.book-table tbody td strong,.category-table tbody td strong,.transaction-table tbody td strong,.customer-cell strong{font-size:12px;font-weight:400}
.book-table .category-code,.category-table .category-code{font-weight:500}

/* Master warehouses. */
.warehouse-stats{display:grid;grid-template-columns:minmax(0,320px);margin-bottom:16px}.warehouse-stats .panel{display:flex;align-items:center;gap:13px;padding:16px 18px}.warehouse-stats .panel>div{display:flex;flex-direction:column}.warehouse-stats small{color:var(--muted);font-size:9px;font-weight:800}.warehouse-stats strong{font-size:24px}.warehouse-stats p{margin:0;color:var(--muted);font-size:9px}.warehouse-list-panel{min-width:0}.warehouse-toolbar{align-items:center}.warehouse-search{width:300px}.warehouse-table{min-width:900px}.warehouse-table th{padding:11px 10px;color:#111;font-size:13px;font-weight:900;border-color:var(--line)}.warehouse-table td{padding:12px 10px;color:#465249;font-size:12px;font-weight:400;border-color:#edf1ee}.warehouse-address{max-width:360px;line-height:1.5}.warehouse-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}.warehouse-form-grid .full{grid-column:1/-1}.warehouse-form-grid .form-control{width:100%}.warehouse-modal{max-width:680px}.warehouse-edit-modal .modal-header{background:linear-gradient(135deg,var(--green),var(--green-dark))}
@media(max-width:767px){.warehouse-toolbar{align-items:stretch;gap:12px;flex-direction:column}.warehouse-toolbar form,.warehouse-search{width:100%}.table-responsive:has(.warehouse-table){overflow:visible}.warehouse-table,.warehouse-table tbody{display:block;width:100%;min-width:0}.warehouse-table thead{display:none}.warehouse-table tbody tr{display:block;margin-bottom:12px;padding:7px 13px;background:#fff;border:1px solid #e1e9e4;border-radius:10px}.warehouse-table tbody td{display:flex;width:100%;align-items:center;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #edf1ee;text-align:right}.warehouse-table tbody td::before{color:#7a867e;font-size:9px;font-weight:800;text-align:left}.warehouse-table tbody td:nth-child(1)::before{content:"ID"}.warehouse-table tbody td:nth-child(2)::before{content:"Nama gudang"}.warehouse-table tbody td:nth-child(3)::before{content:"Alamat"}.warehouse-table tbody td:nth-child(4)::before{content:"Telepon"}.warehouse-table tbody td:nth-child(5)::before{content:"Dibuat"}.warehouse-table tbody td:nth-child(6)::before{content:"Diperbarui"}.warehouse-table tbody td:nth-child(7)::before{content:"Aksi"}.warehouse-table tbody td:last-child{border:0}.warehouse-table .warehouse-address{max-width:65%}.warehouse-table .category-actions{margin-left:auto}.warehouse-table td[colspan]{display:block}.warehouse-table td[colspan]::before{content:none}.warehouse-form-grid{grid-template-columns:1fr}.warehouse-form-grid .full{grid-column:auto}.warehouse-stats{grid-template-columns:1fr}}

/* Master suppliers. */
.supplier-stats{display:grid;grid-template-columns:minmax(0,320px);margin-bottom:16px}.supplier-stats .panel{display:flex;align-items:center;gap:13px;padding:16px 18px}.supplier-stats .panel>div{display:flex;flex-direction:column}.supplier-stats small{color:var(--muted);font-size:9px;font-weight:800}.supplier-stats strong{font-size:24px}.supplier-stats p{margin:0;color:var(--muted);font-size:9px}.supplier-list-panel{min-width:0}.supplier-toolbar{align-items:center}.supplier-search{width:300px}.supplier-table{min-width:1050px}.supplier-table th{padding:11px 10px;color:#111;font-size:13px;font-weight:900;border-color:var(--line)}.supplier-table td{padding:12px 10px;color:#465249;font-size:12px;font-weight:400;border-color:#edf1ee}.supplier-address{max-width:300px}.supplier-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}.supplier-form-grid .full{grid-column:1/-1}.supplier-modal{max-width:720px}
@media(max-width:767px){.supplier-toolbar{align-items:stretch;gap:12px;flex-direction:column}.supplier-toolbar form,.supplier-search{width:100%}.table-responsive:has(.supplier-table){overflow:visible}.supplier-table,.supplier-table tbody{display:block;width:100%;min-width:0}.supplier-table thead{display:none}.supplier-table tbody tr{display:block;margin-bottom:12px;padding:7px 13px;background:#fff;border:1px solid #e1e9e4;border-radius:10px}.supplier-table tbody td{display:flex;width:100%;align-items:center;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #edf1ee;text-align:right}.supplier-table tbody td::before{color:#7a867e;font-size:9px;font-weight:800}.supplier-table tbody td:nth-child(1)::before{content:"ID"}.supplier-table tbody td:nth-child(2)::before{content:"Nama supplier"}.supplier-table tbody td:nth-child(3)::before{content:"Contact person"}.supplier-table tbody td:nth-child(4)::before{content:"Telepon"}.supplier-table tbody td:nth-child(5)::before{content:"Email"}.supplier-table tbody td:nth-child(6)::before{content:"Alamat"}.supplier-table tbody td:nth-child(7)::before{content:"Aksi"}.supplier-table tbody td:last-child{border:0}.supplier-table .supplier-address{max-width:65%}.supplier-table .category-actions{margin-left:auto}.supplier-table td[colspan]{display:block}.supplier-table td[colspan]::before{content:none}.supplier-form-grid{grid-template-columns:1fr}.supplier-form-grid .full{grid-column:auto}.supplier-stats{grid-template-columns:1fr}}

/* Warehouse book stock. */
.stock-stats{display:grid;grid-template-columns:repeat(2,minmax(0,280px));gap:14px;margin-bottom:16px}.stock-stats .panel{display:flex;align-items:center;gap:13px;padding:16px 18px}.stock-stats .panel>div{display:flex;flex-direction:column}.stock-stats small{color:var(--muted);font-size:9px;font-weight:800}.stock-stats strong{font-size:24px}.stock-stats p{margin:0;color:var(--muted);font-size:9px}.stock-list-panel{min-width:0}.stock-toolbar{align-items:center}.stock-search{width:300px}.stock-table{min-width:950px}.stock-table th{padding:11px 10px;color:#111;font-size:13px;font-weight:900;border-color:var(--line)}.stock-table td{padding:12px 10px;color:#465249;font-size:12px;font-weight:400;border-color:#edf1ee}.stock-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}.stock-form-grid .full{grid-column:1/-1}.stock-modal .form-select{min-height:46px;padding:11px 36px 11px 13px;border:1px solid #dce5df;border-radius:9px;font-size:11px}
@media(max-width:767px){.stock-toolbar{align-items:stretch;gap:12px;flex-direction:column}.stock-toolbar form,.stock-search{width:100%}.table-responsive:has(.stock-table){overflow:visible}.stock-table,.stock-table tbody{display:block;width:100%;min-width:0}.stock-table thead{display:none}.stock-table tbody tr{display:block;margin-bottom:12px;padding:7px 13px;background:#fff;border:1px solid #e1e9e4;border-radius:10px}.stock-table tbody td{display:flex;width:100%;align-items:center;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #edf1ee;text-align:right}.stock-table tbody td::before{color:#7a867e;font-size:9px;font-weight:800}.stock-table tbody td:nth-child(1)::before{content:"ID"}.stock-table tbody td:nth-child(2)::before{content:"Kode produk"}.stock-table tbody td:nth-child(3)::before{content:"Nama buku"}.stock-table tbody td:nth-child(4)::before{content:"Gudang"}.stock-table tbody td:nth-child(5)::before{content:"Stok"}.stock-table tbody td:nth-child(6)::before{content:"Diperbarui"}.stock-table tbody td:nth-child(7)::before{content:"Aksi"}.stock-table tbody td:last-child{border:0}.stock-table .category-actions{margin-left:auto}.stock-table td[colspan]{display:block}.stock-table td[colspan]::before{content:none}.stock-form-grid{grid-template-columns:1fr}.stock-form-grid .full{grid-column:auto}.stock-stats{grid-template-columns:1fr 1fr}}@media(max-width:480px){.stock-stats{grid-template-columns:1fr}}
.stock-book-search{position:relative}.stock-book-search>i{position:absolute;left:14px;top:50%;z-index:2;transform:translateY(-50%);color:#728078}.stock-book-search .form-control{padding-left:40px;padding-right:34px}.stock-book-search .form-control::-webkit-search-cancel-button{cursor:pointer}.stock-search-hint{display:block;margin-top:6px;color:#89948d;font-size:8px}

/* Align add actions with summary panels. */
.book-stats{grid-template-columns:repeat(3,minmax(0,260px))}.warehouse-stats,.supplier-stats{grid-template-columns:repeat(2,minmax(0,320px));gap:14px}.stock-stats{grid-template-columns:repeat(3,minmax(0,280px))}.book-stats .panel,.warehouse-stats .panel,.supplier-stats .panel,.stock-stats .panel,.master-add-card{height:96px;min-height:96px}.master-add-card{display:flex;align-items:center;justify-content:center;gap:10px;border-radius:7px;font-size:12px;font-weight:800;box-shadow:0 7px 18px rgba(45,96,69,.16)}.master-add-card i{margin:0;font-size:17px}.category-layout{grid-template-columns:minmax(0,320px) minmax(0,320px);gap:14px}.category-summary{height:96px;min-height:96px}.category-layout .category-list-panel{grid-column:1/-1}.category-layout>.master-add-card{width:100%}
@media(max-width:767px){.book-stats,.stock-stats{grid-template-columns:1fr 1fr}.book-stats .master-add-card,.stock-stats .master-add-card{grid-column:1/-1}.warehouse-stats,.supplier-stats,.category-layout{grid-template-columns:1fr}.category-layout .category-list-panel{grid-column:auto}.master-add-card{width:100%}}
@media(max-width:480px){.book-stats,.stock-stats{grid-template-columns:1fr}.book-stats .master-add-card,.stock-stats .master-add-card{grid-column:auto}}
.master-add-card i{width:36px;height:36px;display:grid;flex:0 0 36px;place-items:center;margin:0;border:1px solid rgba(255,255,255,.24);border-radius:8px;background:rgba(255,255,255,.12);font-size:17px;line-height:1}.master-add-card span{line-height:1.2}
.book-stats{grid-template-columns:260px 260px minmax(20px,1fr) 200px}.warehouse-stats,.supplier-stats{grid-template-columns:320px minmax(20px,1fr) 200px}.stock-stats{grid-template-columns:280px 280px minmax(20px,1fr) 200px}.category-layout{grid-template-columns:320px minmax(20px,1fr) 200px}.master-add-card{width:200px;max-width:100%;justify-self:end}
.master-add-card{flex-direction:column;gap:7px}.master-add-card i{width:32px;height:32px;flex-basis:32px}.master-add-card span{text-align:center}
.category-layout{grid-template-columns:320px minmax(20px,1fr) 160px}.category-summary{width:320px;max-width:100%}.category-layout>.master-add-card{width:160px}
@media(max-width:900px){.category-layout{grid-template-columns:1fr}.category-summary{width:100%}.category-layout>.master-add-card{width:160px;justify-self:end}}

/* Sidebar master-data tree. */
.nav-tree{display:flex;flex-direction:column}.nav-tree-toggle{width:100%;height:39px;display:flex;align-items:center;gap:11px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:#5b665f;font:600 12px "Manrope",sans-serif;text-align:left;transition:.18s ease}.nav-tree-toggle>i:first-child{font-size:16px}.nav-tree-toggle>i:last-child{font-size:10px;transition:transform .22s ease}.nav-tree.open .nav-tree-toggle>i:last-child{transform:rotate(180deg)}.nav-tree-children{max-height:0;overflow:hidden;display:flex;flex-direction:column;gap:2px;margin-left:18px;padding-left:10px;border-left:1px solid transparent;opacity:0;transition:max-height .28s ease,opacity .2s ease,padding .28s ease}.nav-tree.open .nav-tree-children{max-height:240px;padding-top:4px;padding-bottom:4px;border-left-color:rgba(57,122,88,.2);opacity:1}.sidebar-nav .nav-tree-children a{height:34px;padding-left:10px;font-size:11px}.sidebar-nav .nav-tree-children a i{font-size:13px}.dashboard-page .nav-tree-toggle{color:rgba(255,255,255,.84)}.dashboard-page .nav-tree-toggle:hover,.dashboard-page .nav-tree-toggle.active{background:rgba(255,255,255,.1);color:#fff}.dashboard-page .nav-tree.open .nav-tree-children{border-left-color:rgba(255,255,255,.22)}.dashboard-page .sidebar-nav .nav-tree-children a{color:rgba(255,255,255,.72)}.dashboard-page .sidebar-nav .nav-tree-children a:hover{background:rgba(255,255,255,.08);color:#fff}.dashboard-page .sidebar-nav .nav-tree-children a.active{background:#fff;color:var(--green-dark);box-shadow:0 4px 10px rgba(7,75,39,.1)}

/* Keep summary panels left and add actions on the far right. */
.book-stats{grid-template-columns:260px 260px minmax(20px,1fr) 260px}.book-stats .master-add-card{grid-column:4}.warehouse-stats,.supplier-stats{grid-template-columns:320px minmax(20px,1fr) 320px}.warehouse-stats .master-add-card,.supplier-stats .master-add-card{grid-column:3}.stock-stats{grid-template-columns:280px 280px minmax(20px,1fr) 280px}.stock-stats .master-add-card{grid-column:4}.category-layout{grid-template-columns:320px minmax(20px,1fr) 320px}.category-layout>.master-add-card{grid-column:3}.category-layout .category-list-panel{grid-column:1/-1}
@media(max-width:900px){.book-stats,.stock-stats{grid-template-columns:1fr 1fr}.book-stats .master-add-card,.stock-stats .master-add-card{grid-column:1/-1}.warehouse-stats,.supplier-stats,.category-layout{grid-template-columns:1fr}.warehouse-stats .master-add-card,.supplier-stats .master-add-card,.category-layout>.master-add-card{grid-column:auto}.category-layout .category-list-panel{grid-column:auto}}
@media(max-width:480px){.book-stats,.stock-stats{grid-template-columns:1fr}.book-stats .master-add-card,.stock-stats .master-add-card{grid-column:auto}}
.book-table .book-name small,.transaction-table tbody td small,.customer-cell small{font-size:10px}
.nav-tree.open .nav-tree-children{max-height:600px}
/* Master PL. */
.pl-stats{display:grid;grid-template-columns:320px minmax(20px,1fr) 200px;gap:14px;margin-bottom:16px}.pl-stats .panel{height:96px;display:flex;align-items:center;gap:13px;padding:16px 18px}.pl-stats .panel>div{display:flex;flex-direction:column}.pl-stats small{color:var(--muted);font-size:9px;font-weight:800}.pl-stats strong{font-size:24px}.pl-stats p{margin:0;color:var(--muted);font-size:9px}.pl-stats .master-add-card{grid-column:3}.pl-list-panel{min-width:0}.pl-toolbar{align-items:center}.pl-search{width:300px}.pl-table{min-width:950px}.pl-table th{padding:11px 10px;color:#111;font-size:13px;font-weight:900}.pl-table td{padding:12px 10px;color:#465249;font-size:12px;font-weight:400;border-color:#edf1ee}.pl-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}.pl-form-grid .full{grid-column:1/-1}
@media(max-width:900px){.pl-stats{grid-template-columns:1fr}.pl-stats .master-add-card{grid-column:auto}.pl-toolbar{align-items:stretch;gap:12px;flex-direction:column}.pl-toolbar form,.pl-search{width:100%}}
@media(max-width:767px){.table-responsive:has(.pl-table){overflow:visible}.pl-table,.pl-table tbody{display:block;width:100%;min-width:0}.pl-table thead{display:none}.pl-table tbody tr{display:block;margin-bottom:12px;padding:7px 13px;background:#fff;border:1px solid #e1e9e4;border-radius:10px}.pl-table tbody td{display:flex;width:100%;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #edf1ee;text-align:right}.pl-table tbody td::before{color:#7a867e;font-size:9px;font-weight:800}.pl-table tbody td:nth-child(1)::before{content:"ID"}.pl-table tbody td:nth-child(2)::before{content:"Kode PL"}.pl-table tbody td:nth-child(3)::before{content:"Nama"}.pl-table tbody td:nth-child(4)::before{content:"Telepon"}.pl-table tbody td:nth-child(5)::before{content:"Alamat"}.pl-table tbody td:nth-child(6)::before{content:"Diperbarui"}.pl-table tbody td:nth-child(7)::before{content:"Aksi"}.pl-table tbody td:last-child{border:0}.pl-table .category-actions{margin-left:auto}.pl-table td[colspan]{display:block}.pl-table td[colspan]::before{content:none}.pl-form-grid{grid-template-columns:1fr}.pl-form-grid .full{grid-column:auto}}
.pl-table th:nth-child(1),.pl-table td:nth-child(1){display:none}
.harga-100-input[readonly]{background:#edf4f0;color:var(--green-dark);border-color:#cbded2;font-weight:800;cursor:not-allowed}.calculated-field-note{display:block;margin-top:5px;color:#87938b;font-size:8px}
.harga-100-input{background:#f7fbf8;border-color:#9fbfac;font-weight:800}.book-modal input[name="harga_dasar"][readonly],.book-modal input[name="harga_beli"][readonly],.book-modal input[name="harga_umum"][readonly]{background:#f1f5f2;color:#5d6c63;cursor:not-allowed}
.book-modal input[name="le_commission"][readonly],.book-modal input[name="harga_tithe"][readonly]{background:#f1f5f2;color:#5d6c63;cursor:not-allowed}
.book-modal input[name="abc_operation"][readonly]{background:#f1f5f2;color:#5d6c63;cursor:not-allowed}
.book-modal input[name="harga_le"][readonly]{background:#f1f5f2;color:#5d6c63;cursor:not-allowed}
.book-modal input[name="leadership_fund"][readonly]{background:#f1f5f2;color:#5d6c63;cursor:not-allowed}
.master-add-card{width:96px;max-width:96px;height:96px;min-height:96px;padding:8px;justify-self:end}.book-stats{grid-template-columns:260px 260px minmax(20px,1fr) 96px}.warehouse-stats,.supplier-stats,.pl-stats{grid-template-columns:320px minmax(20px,1fr) 96px}.stock-stats{grid-template-columns:280px 280px minmax(20px,1fr) 96px}.category-layout{grid-template-columns:320px minmax(20px,1fr) 96px}.category-layout>.master-add-card{width:96px}.master-add-card span{max-width:80px;font-size:10px;line-height:1.25}
@media(max-width:900px){.master-add-card,.category-layout>.master-add-card{width:96px;max-width:96px;justify-self:end}}
@media(max-width:900px){.book-stats,.stock-stats{grid-template-columns:1fr 1fr}.book-stats .master-add-card,.stock-stats .master-add-card{grid-column:1/-1}.warehouse-stats,.supplier-stats,.pl-stats,.category-layout{grid-template-columns:1fr}.warehouse-stats .master-add-card,.supplier-stats .master-add-card,.pl-stats .master-add-card,.category-layout>.master-add-card{grid-column:1;justify-self:end}.category-layout .category-list-panel{grid-column:1}}
@media(max-width:480px){.book-stats,.stock-stats{grid-template-columns:1fr}.book-stats .master-add-card,.stock-stats .master-add-card{grid-column:1;justify-self:end}}
@media(min-width:992px){.login-page .visual-copy{top:132px;bottom:42px}.login-page .trusted-row{position:absolute;left:0;bottom:0;margin:0}}
+
/* Book modal title treatment based on the Master Buku reference. */
.book-modal .modal-header,.book-edit-modal .book-modal .modal-header{padding:24px 28px 21px;background:linear-gradient(135deg,#eef8f2 0%,#f9fcfa 100%);border-bottom:1px solid #dce9e1}
.book-modal .modal-header>div{width:100%;gap:8px}.book-modal .modal-header h5,.book-edit-modal .book-modal .modal-header h5{color:#0d1f39;font-size:26px;font-weight:900;letter-spacing:-.5px;line-height:1.15}
.book-modal .modal-header small,.book-edit-modal .book-modal .modal-header small{max-width:720px;color:#60748a;font-size:12px;line-height:1.7}
.book-modal-eyebrow{align-self:flex-start;display:inline-flex;padding:7px 13px;border-radius:999px;background:#dcefe3;color:#08723b;font-size:10px;font-weight:900;letter-spacing:1px;text-transform:uppercase}
.book-modal .book-form-section{padding:20px;border:1px solid #dce9e1;border-radius:16px;background:#fff}.book-modal .book-form-section-title{margin-bottom:18px}.book-modal .book-form-section-title>i:first-child{display:none}.book-modal .book-form-section-title strong{color:#075a30;font-size:15px;font-weight:900}.book-modal .book-form-section-title small{margin-top:4px;color:#60748a;font-size:10px;line-height:1.5}
@media(max-width:575px){.book-modal .modal-header{padding:20px 18px}.book-modal .modal-header h5,.book-edit-modal .book-modal .modal-header h5{font-size:22px}.book-modal .book-form-section{padding:16px}}
.book-modal .price-rate{float:right;margin-left:10px;color:#1e3454;font-size:9px;font-style:italic;font-weight:800}.book-modal .form-label{width:100%}
.book-modal .modal-header h5,.book-edit-modal .book-modal .modal-header h5{color:#174f35}.book-modal .book-form-section-title strong{color:#216342}.book-modal .price-rate{color:#4f7660}
.book-modal .modal-header,.book-edit-modal .book-modal .modal-header{background:linear-gradient(135deg,#347a57 0%,#245d42 100%);border-bottom-color:transparent}.book-modal .modal-header h5,.book-edit-modal .book-modal .modal-header h5{color:#fff}.book-modal .modal-header small,.book-edit-modal .book-modal .modal-header small{color:rgba(255,255,255,.78)}.book-modal-eyebrow{background:rgba(255,255,255,.15);color:#fff}

/* Purchase Order page form and master-book picker. */
.po-form-grid .po-description{grid-column:1/-1}.po-form-action{min-width:118px;height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 20px;font-size:11px;font-weight:800}.po-item-table-wrap{position:relative;min-height:145px;border:1px solid #e2e9e5;border-radius:10px}.po-item-table{min-width:850px;margin:0}.po-item-table th{padding:11px 12px;background:#f7faf8;color:#26372d;font-size:10px;font-weight:900;border-color:#e2e9e5}.po-item-table td{padding:10px 12px;vertical-align:middle;color:#465249;font-size:11px;border-color:#edf1ee}.po-item-table td:nth-child(2){min-width:230px}.po-item-table .form-control{min-width:100px;height:36px;font-size:11px}.po-empty{min-height:100px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;color:#87938b}.po-empty[hidden]{display:none}.po-empty i{font-size:23px;color:#3d805d}.po-empty strong{color:#526158;font-size:11px}.po-empty small{font-size:9px}.po-book-modal .modal-header{align-items:flex-start}.po-book-modal .modal-header h5{margin:0;color:#173124;font-weight:900}.po-book-modal .modal-header small{color:#76837b;font-size:10px}.po-book-search{width:100%}.po-picker-table{min-width:650px}.po-picker-table th{font-size:10px;font-weight:900}.po-picker-table td{vertical-align:middle;font-size:11px}.po-picker-table td:nth-child(2){min-width:260px}.po-pick-book{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:10px}.po-picker-table tr[hidden]{display:none}.po-items-heading .btn{display:inline-flex;align-items:center;gap:7px}
@media(max-width:767px){.po-form-grid .po-description{grid-column:auto}.po-form-action{min-width:105px}.po-items-heading{align-items:stretch;gap:12px;flex-direction:column}.po-items-heading .btn{align-self:flex-start}}
.po-item-hidden{display:none!important}
.po-print-prompt{border:0;border-radius:18px!important;text-align:center;box-shadow:0 18px 50px rgba(18,66,39,.2)}.po-print-prompt .modal-body{padding:32px}.po-print-prompt-icon{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 15px;border-radius:50%;background:#e8f6ed;color:#16834a;font-size:27px}.po-print-prompt h5{margin:0 0 8px;color:#173124;font-size:19px;font-weight:900}.po-print-prompt p{max-width:360px;margin:0 auto;color:#6c7971;font-size:11px;line-height:1.7}.po-print-prompt-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:9px;margin-top:23px}.po-print-prompt-actions .btn{height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:10px;font-weight:800}@media(max-width:480px){.po-print-prompt .modal-body{padding:25px 18px}.po-print-prompt-actions{grid-template-columns:1fr}}
+
/* Purchase Order detail trigger and item dialog. */
.po-number-cell{display:flex;align-items:center;gap:8px;white-space:nowrap}.po-detail-button{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border:1px solid #cfe1d6;border-radius:999px;background:#edf6f0;color:var(--green-dark);font-size:8px;font-weight:900;transition:.18s ease}.po-detail-button:hover{background:var(--green-dark);border-color:var(--green-dark);color:#fff}.po-detail-modal .modal-header{align-items:flex-start}.po-detail-modal .modal-header h5{margin:0;color:#173124;font-size:18px;font-weight:900}.po-detail-modal .modal-header small{display:block;margin-top:4px;color:#7c8981;font-size:9px}.po-detail-table{margin:0}.po-detail-table th{padding:10px 12px;background:#f7faf8;color:#26372d;font-size:10px;font-weight:900}.po-detail-table td{padding:12px;vertical-align:middle;color:#465249;font-size:11px;border-color:#edf1ee}.po-detail-table td:nth-child(2){width:100%}.po-detail-table td:nth-child(2) strong{color:#17251d;font-weight:800}.po-detail-qty{display:inline-grid;min-width:38px;height:28px;place-items:center;border-radius:999px;background:var(--green-soft);color:var(--green-dark);font-size:10px;font-weight:900}
@media(max-width:767px){.po-number-cell{justify-content:flex-end;flex-wrap:wrap}.po-detail-modal .modal-dialog{margin:10px}.po-detail-modal .modal-content{max-height:calc(100dvh - 20px);border-radius:15px}.po-detail-modal .modal-body{padding:14px}.po-detail-modal .table-responsive{overflow:visible}.po-detail-table,.po-detail-table tbody{display:block;width:100%}.po-detail-table thead{display:none}.po-detail-table tbody{display:grid;gap:10px}.po-detail-table tbody tr{display:grid;grid-template-columns:1fr auto;gap:9px 12px;padding:13px;border:1px solid #e0e9e3;border-radius:11px;background:#f9fbfa}.po-detail-table tbody td{display:block;width:auto!important;padding:0;border:0}.po-detail-table tbody td:nth-child(2){grid-column:1/-1;grid-row:1}.po-detail-table tbody td:nth-child(1){grid-column:1;grid-row:2}.po-detail-table tbody td:nth-child(3){grid-column:2;grid-row:2}.po-detail-table tbody td:nth-child(1)::before{content:"Kode";display:block;margin-bottom:5px;color:#7b8980;font-size:8px;font-weight:900}.po-detail-table tbody td:nth-child(3)::before{content:"Jumlah";display:block;margin-bottom:5px;color:#7b8980;font-size:8px;font-weight:900;text-align:right}.po-detail-table tbody td:nth-child(2) strong{font-size:12px}.po-detail-modal .modal-footer .btn{width:100%;justify-content:center}}

+
/* Mobile master-book search modal. */
@media(max-width:767px){
  .purchase-order-form-page #poBookPicker{padding:0!important}
  .purchase-order-form-page #poBookPicker .modal-dialog{width:auto;max-width:none;height:calc(100dvh - 16px);margin:8px}
  .purchase-order-form-page #poBookPicker .modal-content{height:100%;max-height:none;overflow:hidden;border:0;border-radius:16px}
  .purchase-order-form-page #poBookPicker .modal-header{flex:0 0 auto;padding:16px 17px;background:#fff;border-bottom:1px solid #e4ebe7}
  .purchase-order-form-page #poBookPicker .modal-header h5{font-size:18px}
  .purchase-order-form-page #poBookPicker .modal-header small{display:block;margin-top:4px;font-size:9px}
  .purchase-order-form-page #poBookPicker .modal-body{display:flex;min-height:0;flex-direction:column;padding:14px;overflow:hidden}
  .purchase-order-form-page #poBookPicker .po-book-search{position:relative;top:auto;flex:0 0 auto;margin-bottom:12px}
  .purchase-order-form-page #poBookPicker .po-book-search input{width:100%;height:44px;padding-left:40px;font-size:11px}
  .purchase-order-form-page #poBookPicker .table-responsive{flex:1;min-height:0;margin-top:0!important;padding-right:2px;overflow-x:hidden;overflow-y:auto}
  .purchase-order-form-page #poBookPicker .po-picker-table tbody tr{background:#fff;box-shadow:0 3px 10px rgba(24,72,45,.06)}
  .purchase-order-form-page #poBookPicker .po-picker-table tbody td:nth-child(1)::before{content:"Kode";margin-right:8px;color:#7b8980;font-size:8px;font-weight:900}
  .purchase-order-form-page #poBookPicker .po-picker-table tbody td:nth-child(3)::before{content:"Stok";margin-right:8px;color:#7b8980;font-size:8px;font-weight:900}
  .purchase-order-form-page #poBookPicker .po-picker-table tbody td:nth-child(4)::before{content:"Harga";margin-right:8px;color:#7b8980;font-size:8px;font-weight:900}
  .purchase-order-form-page #poBookPicker .po-pick-book{min-width:76px;height:36px;justify-content:center}
}
@media(max-width:380px){
  .purchase-order-form-page #poBookPicker .modal-dialog{height:100dvh;margin:0}
  .purchase-order-form-page #poBookPicker .modal-content{border-radius:0}
  .purchase-order-form-page #poBookPicker .po-picker-table tbody tr{grid-template-columns:minmax(0,1fr) auto}
}

+
/* Responsive Purchase Order item layout. */
.po-item-table{width:100%;min-width:0;table-layout:fixed}
.po-item-table .po-item{display:table-row;padding:0;border:0;border-radius:0;background:transparent}
.po-item-table th:nth-child(1),.po-item-table td:nth-child(1){width:18%}
.po-item-table th:nth-child(2),.po-item-table td:nth-child(2){width:auto;min-width:0}
.po-item-table th:nth-child(5),.po-item-table td:nth-child(5){width:120px}
.po-item-table th:nth-child(7),.po-item-table td:nth-child(7){width:58px;text-align:center}
.po-item-table td:nth-child(2) strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#17251d;font-weight:800}
.po-item-table td:nth-child(5) .form-control{width:82px;min-width:0;margin:auto;text-align:center}
.po-item-table td:nth-child(7) .icon-button{margin:auto}
@media(max-width:767px){
  .po-item-table-wrap{overflow:visible;min-height:120px;border:0}
  .po-item-table,.po-item-table tbody{display:block;width:100%;min-width:0}
  .po-item-table thead{display:none}
  .po-item-table tbody{display:grid;gap:10px}
  .po-item-table .po-item{display:grid;grid-template-columns:minmax(0,1fr) 88px 38px;gap:10px 12px;padding:14px;border:1px solid #dfe8e2;border-radius:12px;background:#f8fbf9;box-shadow:0 3px 10px rgba(26,75,49,.05)}
  .po-item-table .po-item td{display:block;width:auto!important;min-width:0;padding:0;border:0;text-align:left}
  .po-item-table .po-item td:nth-child(2){grid-column:1/-1;grid-row:1}
  .po-item-table .po-item td:nth-child(1){grid-column:1;grid-row:2;align-self:end}
  .po-item-table .po-item td:nth-child(5){grid-column:2;grid-row:2}
  .po-item-table .po-item td:nth-child(7){grid-column:3;grid-row:2;align-self:end}
  .po-item-table .po-item td:nth-child(2)::before{content:"Nama buku"}
  .po-item-table .po-item td:nth-child(1)::before{content:"Kode"}
  .po-item-table .po-item td:nth-child(5)::before{content:"Jumlah"}
  .po-item-table .po-item td::before{display:block;margin-bottom:6px;color:#7b8980;font-size:8px;font-weight:900;text-transform:uppercase}
  .po-item-table td:nth-child(2) strong{font-size:12px;white-space:normal;line-height:1.4}
  .po-item-table td:nth-child(5) .form-control{width:100%;height:38px;margin:0}
  .po-item-table td:nth-child(7)::before{content:"Aksi";visibility:hidden}
  .po-item-table td:nth-child(7) .icon-button{width:38px;height:38px;margin:0}
  .po-total{justify-content:space-between;gap:12px;padding:13px}
  .po-total strong{min-width:0;font-size:15px}
  .po-book-modal .modal-dialog{margin:10px}
  .po-book-modal .modal-body{padding:16px}
  .po-book-modal .table-responsive{overflow:visible}
  .po-picker-table,.po-picker-table tbody{display:block;width:100%;min-width:0}
  .po-picker-table thead{display:none}
  .po-picker-table tbody{display:grid;gap:10px}
  .po-picker-table tbody tr{display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding:12px;border:1px solid #e1e9e4;border-radius:11px}
  .po-picker-table tbody td{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:3px 0;border:0}
  .po-picker-table tbody td:nth-child(2){grid-column:1/-1;grid-row:1;min-width:0}
  .po-picker-table tbody td:nth-child(1){grid-column:1;grid-row:2}
  .po-picker-table tbody td:nth-child(3){grid-column:2;grid-row:2}
  .po-picker-table tbody td:nth-child(4){grid-column:1;grid-row:3}
  .po-picker-table tbody td:nth-child(5){grid-column:2;grid-row:3}
  .po-picker-table tbody td:nth-child(2) strong{overflow:hidden;text-overflow:ellipsis;white-space:normal}
}
.purchase-order-form-page .po-square-action{width:96px!important;min-width:96px;height:96px!important;min-height:96px;display:flex!important;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:9px!important;border-radius:9px!important;box-shadow:0 7px 18px rgba(45,96,69,.18);font-size:10px!important;font-weight:900;text-align:center}.purchase-order-form-page .po-square-action i{width:40px;height:40px;display:grid;place-items:center;margin:0;border:1px solid rgba(255,255,255,.3);border-radius:9px;background:rgba(255,255,255,.14);font-size:21px;line-height:1}.purchase-order-form-page .po-square-action span{display:block;line-height:1.2}.purchase-order-form-page .po-add-item-button i{font-size:25px;background:rgba(255,255,255,.2);box-shadow:0 0 0 4px rgba(255,255,255,.07)}
@media(max-width:767px){.purchase-order-form-page .page-heading>.po-square-action{width:96px!important;height:96px!important;align-self:flex-end}.purchase-order-form-page .po-items-heading .po-square-action{width:96px!important;height:96px!important;align-self:flex-end;justify-content:center}}
.purchase-order-form-page .po-items-heading .po-add-item-button{width:52px!important;min-width:52px;height:52px!important;min-height:52px;padding:5px!important}.purchase-order-form-page .po-items-heading .po-add-item-button i{width:34px;height:34px;font-size:21px}@media(max-width:767px){.purchase-order-form-page .po-items-heading .po-add-item-button{width:52px!important;height:52px!important;min-height:52px}}

/* Uniform destructive actions. */
.dashboard-page .delete,.dashboard-page .btn-delete,.dashboard-page [data-delete],.dashboard-page form:has(input[name="_method"][value="DELETE"]) button{background:#dc2626!important;border-color:#dc2626!important;color:#fff!important;box-shadow:0 4px 10px rgba(220,38,38,.18)}.dashboard-page .delete i,.dashboard-page .btn-delete i,.dashboard-page [data-delete] i,.dashboard-page form:has(input[name="_method"][value="DELETE"]) button i{color:#fff!important}.dashboard-page .delete:hover,.dashboard-page .btn-delete:hover,.dashboard-page [data-delete]:hover,.dashboard-page form:has(input[name="_method"][value="DELETE"]) button:hover{background:#b91c1c!important;border-color:#b91c1c!important;color:#fff!important;transform:translateY(-1px)}

/* Keep the Data PO detail action comfortably separated from the PO number. */
.purchase-order-page .po-number-cell{gap:14px}

.po-detail-modal .modal-header h5{color:#fff}
.po-detail-modal .modal-header small{color:#fff}

/* Keep inventory-history search and filters on one horizontal row. */
.panel-header.d-block>form{display:flex;align-items:center;flex-wrap:nowrap!important;width:100%;overflow-x:auto;padding-bottom:2px}
.panel-header.d-block>form .category-search{flex:1 1 auto;min-width:240px}
.panel-header.d-block>form .category-search input{font-size:11px}
.panel-header.d-block>form .form-select{flex:0 0 180px;width:180px}
.panel-header.d-block>form input[type="date"]{flex:0 0 160px;width:160px}
.panel-header.d-block>form .btn{flex:0 0 auto;white-space:nowrap}
.panel-header.d-block>form input,.panel-header.d-block>form select,.panel-header.d-block>form button{font-size:11px!important}

/* Equal-width inventory history summary panels. */
.purchase-order-page .book-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%}
.purchase-order-page .book-stats .panel{width:100%;min-width:0;height:96px;min-height:96px;margin:0}
.purchase-order-page .general-journal-stats{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
.purchase-order-page .general-journal-stats .panel{width:100%;height:96px;min-height:96px}

/* Searchable warehouse dropdown. */
.po-form-grid label:has([data-warehouse-search]){position:relative}
.warehouse-search-menu{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:1060;display:none;max-height:220px;padding:6px;overflow-y:auto;border:1px solid #d8e3dc;border-radius:10px;background:#fff;box-shadow:0 14px 34px rgba(24,72,45,.16)}
.warehouse-search-menu.show{display:grid}
.warehouse-search-menu button{width:100%;padding:10px 11px;border:0;border-radius:7px;background:transparent;color:#26372d;font-size:11px;font-weight:700;text-align:left}
.warehouse-search-menu button:hover,.warehouse-search-menu button:focus{background:var(--green-soft);color:var(--green-dark)}


/* Global mobile-app form mode. */
@media(max-width:767px){
  .dashboard-page{min-width:0;background:#f3f7f4}
  .dashboard-page .dashboard-main{width:100%;min-width:0}
  .dashboard-page .topbar{position:sticky;top:0;z-index:90;height:60px;margin:0;padding:0 14px;border-radius:0;box-shadow:0 2px 14px rgba(24,72,45,.1)}
  .dashboard-page .dashboard-content{width:100%;padding:16px 12px 92px}
  .dashboard-page .page-heading{display:flex;align-items:flex-start;flex-direction:column;margin-bottom:16px;gap:12px}
  .dashboard-page .page-heading>div{width:100%}
  .dashboard-page .page-heading h1{font-size:22px;line-height:1.25}
  .dashboard-page .page-heading p:not(.date-label){font-size:11px;line-height:1.55}
  .dashboard-page .page-heading>.btn,.dashboard-page .page-heading>.master-add-card{width:100%!important;min-width:0!important;height:48px!important;min-height:48px!important;display:flex!important;align-items:center;justify-content:center;flex-direction:row!important;gap:9px;padding:0 16px!important;border-radius:13px!important}
  .dashboard-page .page-heading>.btn i,.dashboard-page .page-heading>.master-add-card i{width:auto;height:auto;margin:0;border:0;background:transparent;box-shadow:none;font-size:18px}
  .dashboard-page .panel{border-radius:15px}
  .dashboard-page .panel-header{padding:16px}
  .dashboard-page .panel-header h3{font-size:14px}
  .dashboard-page .panel-header p{font-size:9px;line-height:1.5}
  .dashboard-page form .row>[class*="col-"],.dashboard-page form .row>[class^="col-"]{width:100%}
  .dashboard-page form .po-form-grid,.dashboard-page form .settings-grid,.dashboard-page form .book-form-grid,.dashboard-page form .form-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
  .dashboard-page form label{width:100%;font-size:10px;font-weight:800}
  .dashboard-page form .form-control,.dashboard-page form .form-select{width:100%!important;min-width:0;height:48px;min-height:48px;padding:11px 13px;border-radius:11px;font-size:16px}
  .dashboard-page form textarea.form-control{height:auto;min-height:96px;resize:vertical}
  .dashboard-page form input[type="date"],.dashboard-page form input[type="time"]{min-height:48px}
  .dashboard-page form .input-group{width:100%;flex-wrap:nowrap}
  .dashboard-page form .input-group>.form-control{min-width:0}
  .dashboard-page form .form-check-input{width:22px!important;height:22px;min-height:0;padding:0}
  .dashboard-page form .d-flex.justify-content-end{display:grid!important;grid-template-columns:1fr;gap:10px!important}
  .dashboard-page form .d-flex.justify-content-end>.btn,.dashboard-page form .d-flex.justify-content-end>button,.dashboard-page form .d-flex.justify-content-end>a{width:100%!important;min-width:0;height:48px;justify-content:center;border-radius:12px!important}
  .dashboard-page .modal{padding:0!important}
  .dashboard-page .modal-dialog{width:100%;max-width:none;height:100dvh;min-height:100dvh;margin:0}
  .dashboard-page .modal-content{height:100%;max-height:none!important;border:0;border-radius:0!important}
  .dashboard-page .modal-header{flex:0 0 auto;padding:17px}
  .dashboard-page .modal-body{min-height:0;padding:16px;overflow-x:hidden;overflow-y:auto}
  .dashboard-page .modal-footer{display:grid;grid-template-columns:1fr;flex:0 0 auto;gap:9px;padding:14px 16px}
  .dashboard-page .modal-footer .btn{width:100%;min-height:46px;justify-content:center;margin:0}
  .dashboard-page .alert{border-radius:12px;font-size:11px}
  .dashboard-page .panel-header.d-block>form{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch;gap:10px!important;width:100%;overflow:visible;padding-bottom:0}
  .dashboard-page .panel-header.d-block>form .category-search{grid-column:1/-1;width:100%!important;min-width:0!important;height:48px}
  .dashboard-page .panel-header.d-block>form .form-select{grid-column:1/-1;width:100%!important;min-width:0!important}
  .dashboard-page .panel-header.d-block>form input[type="date"]{width:100%!important;min-width:0!important}
  .dashboard-page .panel-header.d-block>form .btn{grid-column:1/-1;width:100%!important;min-width:0!important}
  .dashboard-page .panel-header.d-block>form .category-search input{height:100%;font-size:11px}
  .dashboard-page .panel-header.d-block>form .btn{min-height:48px;justify-content:center;border-radius:11px!important}
  .dashboard-page .panel-header.d-block>form input,.dashboard-page .panel-header.d-block>form select,.dashboard-page .panel-header.d-block>form button{font-size:11px!important}
  .purchase-order-page .book-stats{grid-template-columns:1fr}
  .purchase-order-page .book-stats .panel{height:96px;min-height:96px}
}
@media(max-width:380px){
  .dashboard-page .dashboard-content{padding-right:8px;padding-left:8px}
  .dashboard-page .panel{border-radius:13px}
}
/* Modern inventory report print layout */
@media print {
    @page { size: A4 landscape; margin: 12mm 10mm 14mm; }
    .inventory-report-filter + .report-meta { display:block!important;position:relative;padding:14px 18px 14px 190px;margin:0 0 14px!important;min-height:72px;border:1px solid #d9e8df;border-top:4px solid #26744a;border-radius:9px;background:linear-gradient(110deg,#f3faf6,#fff)!important;color:#172c20;-webkit-print-color-adjust:exact;print-color-adjust:exact }
    .inventory-report-filter + .report-meta::before { content:"LAPORAN PERSEDIAAN";position:absolute;left:18px;top:17px;padding:6px 10px;border-radius:20px;background:#26744a!important;color:#fff;font-size:8px;font-weight:800;letter-spacing:1px }
    .inventory-report-filter + .report-meta::after { content:"Dokumen laporan inventory";position:absolute;left:18px;top:50px;color:#718078;font-size:7px }
    .inventory-report-filter + .report-meta h2 { margin:0 0 5px;color:#174d32;font-size:18px;font-weight:800 }
    .inventory-report-filter + .report-meta p { margin:0;font-size:8px;color:#647269 }
    .inventory-report-stats { gap:8px!important;margin-bottom:14px!important }
    .inventory-report-stats .panel { height:64px!important;padding:10px 12px!important;border:1px solid #dbe9e0!important;border-radius:9px!important;background:#f6fbf8!important;-webkit-print-color-adjust:exact;print-color-adjust:exact }
    .inventory-report-stats .metric-icon { width:30px!important;height:30px!important;background:#def1e5!important;color:#26744a!important }
    .inventory-report-stats small { font-size:6px!important;letter-spacing:.8px }
    .inventory-report-stats strong { color:#174d32;font-size:15px!important }
    .po-list-panel { padding:0!important;border:0!important }
    .po-list-panel>.panel-header { padding:0 0 9px!important;border:0!important }
    .po-list-panel>.panel-header h3 { margin:0 0 2px;font-size:11px!important }
    .po-list-panel>.panel-header p { margin:0;font-size:7px!important }
    .report-table { border-collapse:separate!important;border-spacing:0!important;font-size:6.5px!important }
    .report-table thead { display:table-header-group }
    .report-table tfoot { display:table-row-group }
    .report-table tr { break-inside:avoid;page-break-inside:avoid }
    .report-table th { padding:6px 5px!important;border:0!important;background:#26744a!important;color:#fff!important;font-size:6px!important;text-transform:uppercase;letter-spacing:.25px;-webkit-print-color-adjust:exact;print-color-adjust:exact }
    .report-table thead th:first-child { border-radius:7px 0 0 }
    .report-table thead th:last-child { border-radius:0 7px 0 0 }
    .report-table td { padding:5px!important;border-bottom:1px solid #e3ebe6!important }
    .report-table tbody tr:nth-child(even) td { background:#f7faf8!important;-webkit-print-color-adjust:exact;print-color-adjust:exact }
    .report-table tfoot th { border-top:2px solid #26744a!important;background:#e3f2e8!important;color:#174d32!important }
    .report-table .category-code { padding:2px 5px!important;font-size:6px!important }
}
.inventory-metric-value{display:block;margin-top:2px;color:#26744a;font-size:9px;font-weight:800;white-space:nowrap}
@media print{.inventory-metric-value{margin-top:1px;font-size:7px!important;color:#26744a!important}}
.inventory-report-stats .panel>div{display:flex;min-width:0;flex-direction:column;align-items:flex-start}
.inventory-report-stats .panel small{display:block!important;margin-bottom:4px;color:#173d28!important;font-size:10px!important;font-weight:900!important;line-height:1.2;letter-spacing:.45px}
.inventory-report-stats .panel strong{display:block;line-height:1.15}
@media print{.inventory-report-stats .panel small{margin-bottom:2px!important;font-size:7px!important;letter-spacing:.6px}.inventory-report-stats .panel strong{font-size:13px!important}}
@media print{.report-table,.report-table thead,.report-table tbody,.report-table tfoot,.report-table tr,.report-table th,.report-table td{border-radius:0!important}}
body:has(.inventory-report-filter) .po-list-panel>.panel-header p{display:none!important}
/* Inventory PDF table follows the clean on-screen table design. */
@media print{
  table.po-table.report-table{border-collapse:collapse!important;background:#fff!important}
  table.po-table.report-table th{padding:7px 6px!important;border:0!important;border-bottom:1px solid #cfd9d3!important;background:#fff!important;color:#111!important;font-size:7px!important;font-weight:900!important;text-transform:none!important;letter-spacing:0!important}
  table.po-table.report-table td{padding:7px 6px!important;border:0!important;border-bottom:1px solid #e4eae6!important;background:#fff!important;color:#111!important;font-size:7px!important}
  table.po-table.report-table tbody tr:nth-child(even) td{background:#fff!important}
  table.po-table.report-table tfoot th{border-top:2px solid #cfd9d3!important;border-bottom:0!important;background:#fff!important;color:#111!important}
  table.po-table.report-table .category-code{background:#e8f3ec!important;color:#26744a!important;border-radius:3px!important}
}
/* Final print composition for the inventory report. */
@media print{
  body:has(.inventory-report-filter){font-family:Manrope,Arial,sans-serif!important;background:#fff!important}
  body:has(.inventory-report-filter) .dashboard-content{box-sizing:border-box!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
  body:has(.inventory-report-filter) .report-meta{box-sizing:border-box!important;min-height:66px!important;padding:13px 18px 12px 180px!important;margin-bottom:10px!important;border:1px solid #d8e2dc!important;border-top:3px solid #26744a!important;border-radius:0!important;background:#fff!important}
  body:has(.inventory-report-filter) .report-meta::before{top:15px!important;left:16px!important;padding:5px 9px!important;border-radius:2px!important}
  body:has(.inventory-report-filter) .report-meta::after{top:45px!important;left:16px!important}
  body:has(.inventory-report-filter) .report-meta h2{margin:0 0 4px!important;font-size:16px!important;line-height:1.2!important}
  body:has(.inventory-report-filter) .report-meta p{font-size:7px!important;line-height:1.45!important}
  body:has(.inventory-report-filter) .inventory-report-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;margin:0 0 11px!important}
  body:has(.inventory-report-filter) .inventory-report-stats .panel{box-sizing:border-box!important;height:58px!important;min-height:58px!important;padding:8px 10px!important;gap:9px!important;border:1px solid #dfe7e2!important;border-radius:0!important;background:#fff!important}
  body:has(.inventory-report-filter) .inventory-report-stats .metric-icon{width:27px!important;height:27px!important;border-radius:2px!important;font-size:12px!important}
  body:has(.inventory-report-filter) .inventory-report-stats .panel small{margin:0 0 2px!important;font-size:6.5px!important;line-height:1!important}
  body:has(.inventory-report-filter) .inventory-report-stats .panel strong{font-size:12px!important;line-height:1.05!important}
  body:has(.inventory-report-filter) .inventory-metric-value{margin-top:2px!important;font-size:6.5px!important;line-height:1!important}
  body:has(.inventory-report-filter) .po-list-panel>.panel-header{margin:0!important;padding:0 0 7px!important}
  body:has(.inventory-report-filter) .po-list-panel>.panel-header h3{font-size:10px!important;line-height:1.2!important}
  body:has(.inventory-report-filter) table.po-table.report-table{width:100%!important;min-width:0!important;table-layout:fixed!important;margin:0!important;border-collapse:collapse!important}
  body:has(.inventory-report-filter) table.po-table.report-table th{padding:6px 5px!important;font-size:6.4px!important;line-height:1.2!important;white-space:nowrap!important}
  body:has(.inventory-report-filter) table.po-table.report-table td{padding:5px!important;font-size:6.4px!important;line-height:1.3!important;vertical-align:middle!important;overflow-wrap:anywhere}
  body:has(.inventory-report-filter) table.po-table.report-table th:nth-child(1){width:8%}
  body:has(.inventory-report-filter) table.po-table.report-table th:nth-child(2){width:22%}
  body:has(.inventory-report-filter) table.po-table.report-table th:nth-child(3){width:14%}
  body:has(.inventory-report-filter) table.po-table.report-table th:nth-child(n+4):nth-child(-n+8){width:6%}
  body:has(.inventory-report-filter) table.po-table.report-table th:nth-child(9){width:8%}
  body:has(.inventory-report-filter) table.po-table.report-table th:nth-child(10),body:has(.inventory-report-filter) table.po-table.report-table th:nth-child(11){width:9%}
  body:has(.inventory-report-filter) table.po-table.report-table td:nth-child(2) strong{font-weight:800!important}
  body:has(.inventory-report-filter) table.po-table.report-table tfoot{break-inside:avoid!important;page-break-inside:avoid!important}
  body:has(.inventory-report-filter) table.po-table.report-table tfoot th{padding-top:7px!important;padding-bottom:7px!important;font-size:6.8px!important;font-weight:900!important}
}
/* Prevent horizontal print pagination that creates alternating blank pages. */
@media print{
  html:has(body .inventory-report-filter),body:has(.inventory-report-filter),body:has(.inventory-report-filter) .dashboard-main,body:has(.inventory-report-filter) .dashboard-content{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;margin-right:0!important;margin-left:0!important;overflow-x:visible!important}
  body:has(.inventory-report-filter) .po-list-panel,body:has(.inventory-report-filter) .table-responsive,body:has(.inventory-report-filter) table.po-table.report-table{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;margin-right:0!important;margin-left:0!important;overflow:visible!important}
}
@media(min-width:768px){body:has(.general-journal-stats) .po-list-panel>.panel-header form>.btn{width:auto!important;min-width:76px!important;min-height:34px!important;height:34px!important;padding:5px 13px!important;align-self:center;font-size:10px!important;line-height:1.2}}
/* Stok ditampilkan saat memilih buku, bukan pada detail penjualan anggota. */
body:has([data-member-sale-items]) .po-item-table:has([data-member-sale-items]) tr>:nth-child(3){display:none}
body:has([data-member-sale-items]) .po-item-table,body:has([data-member-sale-items]) .po-item-table input,body:has([data-member-sale-items]) .po-picker-table,body:has([data-member-sale-items]) .po-picker-table .btn{font-size:12px!important}
body:has([data-member-sale-items]) [data-member-sale-pick]{padding:5px 9px!important;font-size:10px!important;line-height:1.2!important}
body:has([data-member-sale-items]) [data-bs-target="#memberSaleBookPicker"]{width:38px!important;height:38px!important;padding:0!important;display:inline-grid!important;place-items:center!important;border-radius:10px!important;background:#168747!important;border-color:#168747!important;color:#fff!important;font-size:0!important}body:has([data-member-sale-items]) [data-bs-target="#memberSaleBookPicker"] i{font-size:16px!important}
body:has([data-member-sale-items]) .member-sale-breakdown{display:grid;gap:8px;margin-top:10px;padding:12px 16px;border:1px solid #e4ece6;border-radius:12px;background:#fbfdfb}body:has([data-member-sale-items]) .member-sale-breakdown>div{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#738077}body:has([data-member-sale-items]) .member-sale-breakdown>div:last-child{padding-top:8px;border-top:1px solid #e4ece6;color:#31563c;font-weight:700}body:has([data-member-sale-items]) .member-sale-breakdown strong{color:#1e3d28;font-size:13px}
body:has([data-member-sale-items]) .po-form-grid label{position:relative}body:has([data-member-sale-items]) .member-search-menu{position:absolute;z-index:20;top:100%;right:0;left:0;display:none;max-height:210px;overflow-y:auto;padding:5px;margin-top:3px;border:1px solid #dbe6dd;border-radius:9px;background:#fff;box-shadow:0 12px 24px rgba(32,62,40,.14)}body:has([data-member-sale-items]) .member-search-menu.show{display:block}body:has([data-member-sale-items]) .member-search-menu button{display:block;width:100%;padding:9px 10px;border:0;border-radius:6px;background:transparent;color:#34513c;text-align:left;font-size:12px}body:has([data-member-sale-items]) .member-search-menu button:hover{background:#edf7ef}
/* Format tampilan tanggal seragam: DD/MM/YYYY, nilai input tetap YYYY-MM-DD. */
.app-date-picker{position:relative;display:block;min-width:0}.app-date-picker-display{display:flex!important;align-items:center;min-height:100%;pointer-events:none;color:#34443a}.app-date-picker input[type=date]{position:absolute;z-index:1;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.app-date-picker:focus-within .app-date-picker-display{border-color:#86b89a;box-shadow:0 0 0 .2rem rgba(22,135,71,.12)}.app-date-picker:has(input[type=date]:disabled) .app-date-picker-display{background:#e9ecef}.app-date-picker input[type=date]:disabled{cursor:not-allowed}

/* Modern general-sale book picker. */
#generalBookPicker .modal-dialog{max-width:900px}
#generalBookPicker .general-book-modal{border:1px solid rgba(29,91,55,.12);border-radius:20px;box-shadow:0 30px 90px rgba(12,48,29,.28)}
#generalBookPicker .modal-header{align-items:center;padding:22px 25px;background:linear-gradient(125deg,#123f28 0%,#1d7043 68%,#258b54 100%)}
#generalBookPicker .general-book-modal-title{display:flex;align-items:center;gap:14px}
#generalBookPicker .general-book-modal-icon{width:46px;height:46px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(255,255,255,.13);color:#fff;font-size:19px;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
#generalBookPicker .book-modal-eyebrow{color:#bde5cc;font-size:8px;font-weight:900;letter-spacing:1.5px}
#generalBookPicker .modal-header h5{margin:2px 0 3px;color:#fff;font-size:20px}
#generalBookPicker .modal-header small{color:rgba(255,255,255,.72);font-size:10px}
#generalBookPicker .modal-header .btn-close{display:block!important;filter:brightness(0) invert(1);background-color:rgba(255,255,255,.12);opacity:.85}
#generalBookPicker .modal-body{padding:22px 25px;background:#f8fbf9}
#generalBookPicker .general-book-toolbar{display:flex;align-items:center;gap:12px}
#generalBookPicker .po-book-search{height:44px;flex:1;border-color:#d8e5dc;border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(24,70,43,.05)}
#generalBookPicker .po-book-search i{color:#248450;font-size:14px}
#generalBookPicker .po-book-search input{font-size:11px}
#generalBookPicker .general-book-stock-info{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border:1px solid #dce8e0;border-radius:11px;background:#fff;color:#52705e;font-size:9px;font-weight:800;white-space:nowrap}
#generalBookPicker .general-book-helper{display:flex;align-items:flex-start;gap:8px;margin-top:13px;padding:10px 12px;border-radius:10px;background:#eaf5ee;color:#47705a;font-size:9px;line-height:1.55}
#generalBookPicker .general-book-helper i{color:#258b54;font-size:12px}
#generalBookPicker .table-responsive{border:1px solid #dfe9e3;border-radius:13px;background:#fff;box-shadow:0 8px 24px rgba(24,70,43,.05)}
#generalBookPicker .po-picker-table{margin:0}
#generalBookPicker .po-picker-table th{padding:12px 14px;background:#edf5f0;color:#456052;border:0;font-size:9px;letter-spacing:.35px;text-transform:uppercase}
#generalBookPicker .po-picker-table td{padding:13px 14px;border-color:#edf2ef}
#generalBookPicker .po-picker-table tbody tr{transition:background .16s ease,transform .16s ease}
#generalBookPicker .po-picker-table tbody tr:hover{background:#f4faf6}
#generalBookPicker .po-picker-table .btn{min-width:76px;padding:8px 15px;font-size:9px;box-shadow:0 5px 13px rgba(22,135,71,.18)}
#generalBookPicker .modal-footer{justify-content:space-between;padding:15px 25px;background:#fff}
#generalBookPicker .modal-footer>span{display:flex;align-items:center;gap:7px;color:#7a8980;font-size:9px;font-weight:700}
#generalBookPicker .modal-footer>span i{color:#258b54}
#generalBookPicker .modal-footer .btn{min-width:96px}
@media(max-width:575px){#generalBookPicker .general-book-modal{border-radius:18px 18px 0 0!important}#generalBookPicker .general-book-stock-info{display:none}#generalBookPicker .modal-header,#generalBookPicker .modal-body,#generalBookPicker .modal-footer{padding-left:17px;padding-right:17px}#generalBookPicker .modal-footer{display:flex;grid-template-columns:none}#generalBookPicker .modal-footer>span{display:none}#generalBookPicker .modal-footer .btn{width:100%}}

.general-sale-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.general-sale-detail-summary>div{display:flex;min-width:0;flex-direction:column;padding:14px;border:1px solid #deE8e2;border-radius:12px;background:linear-gradient(145deg,#f8fbf9,#fff)}.general-sale-detail-summary small,.general-sale-detail-note small{color:#78867e;font-size:8px;font-weight:900;letter-spacing:.65px}.general-sale-detail-summary strong{overflow:hidden;margin:4px 0 2px;color:#24392d;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.general-sale-detail-summary span{color:#87938c;font-size:8px}.general-sale-detail-note{display:flex;gap:11px;margin-top:14px;padding:13px 14px;border:1px solid #dfe9e3;border-radius:11px;background:#f7faf8;color:#387252}.general-sale-detail-note>i{font-size:16px}.general-sale-detail-note p{margin:3px 0 0;color:#536159;font-size:10px;line-height:1.55}
@media(max-width:575px){.general-sale-detail-summary{grid-template-columns:1fr}.general-sale-detail-summary>div{padding:11px 12px}}

/* Jangan tampilkan kontrol Keluar di belakang/bawah modal penjualan. */
body.modal-open:has(#generalBookPicker.show) [data-global-logout],
body.modal-open:has(#memberSaleBookPicker.show) [data-global-logout],
body.modal-open:has([id^="generalSaleDetail"].show) [data-global-logout],
body.modal-open:has([id^="saleDetail"].show) [data-global-logout],
body.modal-open:has(#generalBookPicker.show) .topbar-logout-form,
body.modal-open:has(#memberSaleBookPicker.show) .topbar-logout-form,
body.modal-open:has([id^="generalSaleDetail"].show) .topbar-logout-form,
body.modal-open:has([id^="saleDetail"].show) .topbar-logout-form{visibility:hidden}
/* Samakan tombol tambah item penjualan anggota dengan tombol tambah item PO. */
body:has([data-member-sale-items]) .po-items-heading [data-bs-target="#memberSaleBookPicker"]{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:0!important;width:52px!important;min-width:52px!important;height:52px!important;min-height:52px!important;padding:5px!important;border-radius:12px!important}body:has([data-member-sale-items]) .po-items-heading [data-bs-target="#memberSaleBookPicker"] i{display:block;width:auto;height:auto;margin:0!important;font-size:21px!important;line-height:1}
body:has([data-member-sale-items]) .po-form-action i{font-size:16px!important;line-height:1}
body:has([data-member-sale-items]) .member-sale-payment-fields{display:grid;grid-template-columns:minmax(0,320px);justify-content:end;gap:12px;width:min(100%,320px);margin:16px 0 0 auto}body:has([data-member-sale-items]) .member-sale-payment-fields label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:800}body:has([data-member-sale-items]) .member-sale-payment-fields .form-control{min-height:44px;border-color:#dce5df;border-radius:9px;font-size:11px}
.mutation-warehouse-field{position:relative}.mutation-warehouse-menu{position:absolute;z-index:1080;top:calc(100% + 5px);right:0;left:0;display:none;max-height:220px;overflow-y:auto;padding:6px;border:1px solid #d8e3dc;border-radius:10px;background:#fff;box-shadow:0 14px 34px rgba(24,72,45,.16)}.mutation-warehouse-menu.show{display:block}.mutation-warehouse-menu button{display:block;width:100%;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:#34513c;text-align:left;font-size:11px}.mutation-warehouse-menu button:hover{background:#edf7ef}.mutation-warehouse-search{padding-right:34px;background:#fff}
.cleanup-warning{display:flex;gap:13px;margin-bottom:16px;padding:15px 17px;border:1px solid #f0c7c7;border-radius:12px;background:#fff5f5;color:#a13e3e}.cleanup-warning>i{font-size:20px}.cleanup-warning strong{font-size:12px}.cleanup-warning p{margin:3px 0 0;color:#885d5d;font-size:9px}.cleanup-panel{padding:21px}.cleanup-select-all{display:flex;align-items:center;gap:7px;color:#526158;font-size:10px;font-weight:800}.cleanup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cleanup-option{position:relative;display:flex;align-items:center;gap:11px;padding:14px;border:1px solid #dfe8e2;border-radius:11px;background:#fbfcfb;cursor:pointer;transition:.16s}.cleanup-option:hover{border-color:#9fbdab;background:#f4faf6}.cleanup-option>input{position:absolute;opacity:0}.cleanup-check{width:25px;height:25px;display:grid;place-items:center;flex:none;border:1px solid #cbd9d0;border-radius:7px;background:#fff;color:transparent}.cleanup-option:has(input:checked){border-color:#54a475;background:#edf8f1}.cleanup-option input:checked+.cleanup-check{border-color:var(--green);background:var(--green);color:#fff}.cleanup-option>span:last-child{display:flex;min-width:0;flex-direction:column}.cleanup-option strong{color:#26372d;font-size:11px}.cleanup-option small{margin-top:3px;color:#849087;font-size:8px}.cleanup-confirm{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:18px;padding-top:17px;border-top:1px solid #e4ebe7}.cleanup-confirm label{display:flex;flex-direction:column;gap:7px;color:#34443a;font-size:10px;font-weight:800}.cleanup-confirm .form-control{height:43px;font-size:11px}.cleanup-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:19px}.cleanup-actions .btn{min-width:135px;font-size:10px;font-weight:800}@media(max-width:767px){.cleanup-grid,.cleanup-confirm{grid-template-columns:1fr}.cleanup-actions{display:grid;grid-template-columns:1fr}.cleanup-actions .btn{width:100%}}
.account-balance-table{min-width:900px}.account-balance-table th{background:#f3f8f5;color:#26372d;font-size:9px}.account-balance-table td{vertical-align:middle}.account-balance-table td:nth-child(2){min-width:230px}.account-balance-table .form-control,.account-balance-table .input-group-text{height:38px;font-size:10px}.account-balance-table .input-group-text{background:#edf5f0;color:#397051;border-color:#d8e4dc;font-weight:800}.account-balance-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:15px}.account-balance-footer .pagination{margin:0}.account-balance-footer .btn{min-width:145px;font-size:10px;font-weight:800}@media(max-width:767px){.account-balance-table{min-width:0}.account-balance-table tbody td:nth-child(1)::before{content:"Kode Rekening"}.account-balance-table tbody td:nth-child(2)::before{content:"Nama Rekening"}.account-balance-table tbody td:nth-child(3)::before{content:"Tanggal"}.account-balance-table tbody td:nth-child(4)::before{content:"Saldo"}.account-balance-table tbody td:nth-child(5)::before{content:"Keterangan"}.account-balance-table tbody td:nth-child(2){min-width:0}.account-balance-table tbody td>*{min-width:0;max-width:65%}.account-balance-table tbody td>.form-control,.account-balance-table tbody td>.input-group{width:min(230px,65%)}.account-balance-table tbody td::before{flex:none}.account-balance-footer{align-items:stretch;flex-direction:column}.account-balance-footer .btn{width:100%}}
.ledger-stats{grid-template-columns:repeat(2,minmax(0,300px))}.ledger-filter{display:grid!important;grid-template-columns:minmax(190px,1fr) minmax(240px,1.4fr) 150px 150px auto!important;gap:9px;overflow:visible!important}.ledger-filter .category-search{width:100%}.ledger-filter .form-control,.ledger-filter .form-select,.ledger-filter .btn{height:40px;font-size:10px}.ledger-table{min-width:1100px}.ledger-table th{background:#f3f8f5;color:#26372d;font-size:8px}.ledger-table td{vertical-align:middle;font-size:9px}.ledger-table td:nth-child(3){min-width:190px}.ledger-table td:nth-child(4){min-width:220px}@media(max-width:900px){.ledger-filter{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important}.ledger-filter>*{min-width:170px}.ledger-stats{grid-template-columns:1fr 1fr}}@media(max-width:575px){.ledger-stats{grid-template-columns:1fr}}
.ledger-filter-panel{margin-bottom:14px;padding:15px 18px}.ledger-filter-panel .ledger-filter{display:grid!important;grid-template-columns:minmax(300px,1.8fr) minmax(150px,.7fr) minmax(150px,.7fr) auto!important;align-items:end;gap:11px}.ledger-filter label{display:flex;min-width:0;flex-direction:column;gap:6px;color:#526158;font-size:9px;font-weight:800}.ledger-filter-panel .ledger-filter .form-control,.ledger-filter-panel .ledger-filter .form-select,.ledger-filter-panel .ledger-filter .btn{height:42px}.ledger-sheet{padding:0;overflow:hidden;border-radius:10px}.ledger-report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;padding:23px 25px;border-bottom:1px solid #dfe8e2;background:linear-gradient(135deg,#f5faf7,#fff)}.ledger-report-header>div{display:flex;flex-direction:column}.ledger-report-header>div:last-child{align-items:flex-end;text-align:right}.ledger-report-header small{color:#59806a;font-size:8px;font-weight:900;letter-spacing:1.1px}.ledger-report-header h2{margin:4px 0;color:#183425;font-size:20px;font-weight:900}.ledger-report-header p{margin:0;color:#758079;font-size:9px}.ledger-report-header>div:last-child strong{margin:5px 0 2px;color:#293b30;font-size:11px}.ledger-report-header>div:last-child span{color:#89948d;font-size:8px}.ledger-balance-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #dfe8e2;background:#fff}.ledger-balance-strip>div{display:flex;min-width:0;flex-direction:column;padding:15px 20px;border-right:1px solid #e6ece8}.ledger-balance-strip>div:last-child{border:0}.ledger-balance-strip small{color:#819087;font-size:7px;font-weight:900;letter-spacing:.7px}.ledger-balance-strip strong{overflow:hidden;margin-top:4px;color:#24382c;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.ledger-balance-strip .closing{background:#123f28}.ledger-balance-strip .closing small{color:#b6d2c1}.ledger-balance-strip .closing strong{color:#fff}.ledger-accounting-table{min-width:1000px;margin:0}.ledger-accounting-table th{padding:11px 13px;background:#edf4f0;color:#334a3c;border-color:#dbe5df;font-size:8px;font-weight:900;letter-spacing:.4px;text-transform:uppercase}.ledger-accounting-table td{padding:11px 13px;color:#4d5a52;border-color:#e9eeeb;font-size:9px}.ledger-accounting-table td:nth-child(4){min-width:260px}.ledger-accounting-table .debit{color:#187b42}.ledger-accounting-table .credit{color:#b54a4a}.ledger-journal-number{font-weight:800;color:#276b47}.ledger-opening-row td{background:#f8faf9;color:#56665d}.ledger-accounting-table tfoot th{padding:13px;background:#e5efe9;color:#21382a;border-color:#cfddd4;font-size:9px}.ledger-pagination{padding:14px 20px;border-top:1px solid #e4ebe7}.ledger-pagination .pagination{margin:0}@media(max-width:767px){.ledger-filter-panel .ledger-filter{display:grid!important;grid-template-columns:1fr 1fr!important}.ledger-filter-panel .ledger-filter label:first-child{grid-column:1/-1}.ledger-filter-panel .ledger-filter .btn{grid-column:1/-1}.ledger-report-header{flex-direction:column}.ledger-report-header>div:last-child{align-items:flex-start;text-align:left}.ledger-balance-strip{grid-template-columns:1fr 1fr}.ledger-balance-strip>div:nth-child(2){border-right:0}.ledger-balance-strip>div:nth-child(-n+2){border-bottom:1px solid #e6ece8}}
@media print{body:has(.ledger-sheet) .sidebar,body:has(.ledger-sheet) .topbar,body:has(.ledger-sheet) .page-heading,body:has(.ledger-sheet) .ledger-filter-panel{display:none!important}body:has(.ledger-sheet) .dashboard-main{margin:0!important}body:has(.ledger-sheet) .dashboard-content{max-width:none!important;padding:0!important}body:has(.ledger-sheet) .ledger-sheet{border:0!important;box-shadow:none!important}.ledger-pagination{display:none!important}.ledger-accounting-table{min-width:0!important}.ledger-report-header,.ledger-balance-strip{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.trial-filter-panel{margin-bottom:14px;padding:15px 18px}.trial-filter-panel form{display:grid;grid-template-columns:170px 170px minmax(170px,1fr) auto;align-items:end;gap:11px}.trial-filter-panel label{display:flex;flex-direction:column;gap:6px;color:#526158;font-size:9px;font-weight:800}.trial-filter-panel .form-control,.trial-filter-panel .btn{height:41px;font-size:10px}.trial-zero-option{height:41px;align-items:center!important;flex-direction:row!important;gap:8px!important;padding:0 12px;border:1px solid #dde6e0;border-radius:8px;background:#fafcfb}.trial-sheet{padding:0;overflow:hidden;border-radius:10px}.trial-report-header{display:flex;justify-content:space-between;gap:25px;padding:23px 25px;border-bottom:1px solid #dce6df;background:linear-gradient(135deg,#123f28,#236b43);color:#fff}.trial-report-header>div{display:flex;flex-direction:column}.trial-report-header>div:last-child{align-items:flex-end;text-align:right}.trial-report-header small{color:#b8d9c5;font-size:8px;font-weight:900;letter-spacing:1px}.trial-report-header h2{margin:4px 0 2px;font-size:20px;font-weight:900}.trial-report-header p{margin:0;color:#c8ddd0;font-size:9px}.trial-report-header strong{margin:5px 0 2px;font-size:11px}.trial-report-header span{color:#c8ddd0;font-size:8px}.trial-table{min-width:1100px;margin:0}.trial-table th{padding:10px 11px;background:#e9f1ec;color:#294334;border:1px solid #d3dfd7;font-size:8px;font-weight:900;text-align:center;vertical-align:middle;text-transform:uppercase}.trial-table thead tr:first-child th{background:#dce9e1}.trial-table th:nth-child(-n+2){text-align:left}.trial-table td{padding:10px 11px;border-color:#e7ece9;color:#4e5c53;font-size:9px}.trial-table td:nth-child(2){min-width:230px}.trial-table td:nth-child(n+3){font-variant-numeric:tabular-nums;text-align:right}.trial-table td small{display:block;margin-top:2px;color:#929c96;font-size:7px}.trial-table tbody tr:hover{background:#f8fbf9}.trial-table tfoot th{padding:13px 11px;background:#d8e7dd;color:#193a27;text-align:right}.trial-table tfoot th:first-child{text-align:left}.trial-status{display:flex;align-items:center;gap:11px;margin:16px 20px;padding:13px 15px;border-radius:10px}.trial-status>i{font-size:20px}.trial-status>span{display:flex;flex-direction:column}.trial-status strong{font-size:10px}.trial-status small{margin-top:2px;font-size:8px}.trial-status.balanced{background:#eaf7ee;color:#19733d}.trial-status.unbalanced{background:#fff2e7;color:#a35b1d}@media(max-width:767px){.trial-filter-panel form{grid-template-columns:1fr 1fr}.trial-zero-option,.trial-filter-panel .btn{grid-column:1/-1}.trial-report-header{flex-direction:column}.trial-report-header>div:last-child{align-items:flex-start;text-align:left}}@media print{body:has(.trial-sheet) .sidebar,body:has(.trial-sheet) .topbar,body:has(.trial-sheet) .page-heading,body:has(.trial-sheet) .trial-filter-panel{display:none!important}body:has(.trial-sheet) .dashboard-main{margin:0!important}body:has(.trial-sheet) .dashboard-content{max-width:none!important;padding:0!important}.trial-sheet{border:0!important;box-shadow:none!important}.trial-report-header,.trial-table th,.trial-status{-webkit-print-color-adjust:exact;print-color-adjust:exact}.trial-table{min-width:0!important}.trial-table th,.trial-table td{padding:6px!important;font-size:7px!important}}
@media(max-width:767px){body:has([data-member-sale-items]) .member-sale-payment-fields{grid-template-columns:minmax(0,1fr);width:100%}}
/* Ukuran tombol standar aplikasi: medium. Tombol tambah berbentuk persegi tetap mempertahankan ukurannya. */
.btn:not(.master-add-card):not(.po-square-action){min-height:42px;padding:0 20px;font-size:13px;display:inline-flex;align-items:center;justify-content:center}.icon-button{width:42px;height:42px}.topbar-user-button{min-height:42px}
/* Semua tombol berbentuk pill menggunakan ukuran medium yang konsisten. */
.btn.rounded-pill{width:auto!important;min-width:0!important;height:42px!important;min-height:42px!important;padding:0 20px!important;gap:8px!important;font-size:13px!important;line-height:1.2!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap}
.btn.rounded-pill i{margin:0!important;font-size:15px!important;line-height:1!important}
/* Identitas pengguna ditampilkan pada panel atas sidebar. */
.sidebar-login-panel{display:grid!important;grid-template-columns:36px minmax(0,1fr) 16px;min-height:62px;margin-top:auto!important;margin-bottom:0!important;padding:11px 12px!important;gap:10px!important;align-items:center;flex:none}.sidebar-login-panel .user-avatar{width:36px;height:36px;margin:0;flex:none;font-size:16px!important;font-weight:900!important;line-height:1!important;text-align:center;text-transform:uppercase}.sidebar-login-panel>div{display:flex!important;min-width:0;max-width:100%;flex-direction:column;overflow:hidden;line-height:1.2}.sidebar-login-panel>div small{display:block;font-size:7px!important;letter-spacing:.8px;white-space:nowrap}.sidebar-login-panel>div strong{display:block;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px!important;line-height:1.35}.sidebar-login-panel>div span{display:block;width:100%;margin-top:2px;overflow:hidden;color:rgba(255,255,255,.72);font-size:8px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.sidebar-login-panel>i{width:16px;margin:0!important;font-size:15px;color:rgba(255,255,255,.8);text-align:center}
/* Panel promo lama menjadi panel judul aplikasi di posisi paling atas. */
.dashboard-page .sidebar-title-panel{order:0;display:flex;width:calc(100% + 20px);min-height:88px;margin:0 -10px 14px!important;padding:16px!important;background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:8px!important;align-items:center;backdrop-filter:blur(5px)}
.dashboard-page .sidebar-title-panel .sidebar-brand{display:flex;width:100%;margin:0;padding:0;gap:12px;align-items:center;color:#fff;text-decoration:none}.dashboard-page .sidebar-title-panel .brand-mark{width:46px;height:46px;flex:0 0 46px;background:#fff;color:var(--green-dark);border-radius:7px;font-size:21px}.dashboard-page .sidebar-title-panel .sidebar-brand-copy{display:flex;min-width:0;flex:1;flex-direction:column;justify-content:center}.dashboard-page .sidebar-title-panel .sidebar-brand-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:800;line-height:1.15}.dashboard-page .sidebar-title-panel .sidebar-brand-copy>small{margin-top:5px;color:rgba(255,255,255,.78);font-size:8px;font-weight:500;line-height:1.4}
.topbar-system-title{display:flex;min-height:42px;padding:0 14px;gap:12px;align-items:center;color:#fff;font-size:35px;font-weight:800;line-height:1;letter-spacing:-.6px}.topbar-system-title i{font-size:30px}.topbar-system-title span{white-space:nowrap}@media(max-width:575px){.topbar-system-title{padding:0 4px;font-size:18px;letter-spacing:-.2px}.topbar-system-title i{display:none}}
/* Header kolom detail menggunakan warna yang sama dengan panel subtotal. */
.po-item-table thead th{background:var(--green-soft)!important;color:var(--green-dark)!important;border-color:#d9e5dd!important}
/* Field Pencatatan Jurnal selalu memenuhi lebar form dari kiri ke kanan. */
.po-form-grid label.po-description:has(input[readonly]),.po-form-grid label:has([data-receipt-journal]),.po-form-grid label[data-general-journal]{grid-column:1/-1!important;width:100%!important;min-width:0}.po-form-grid label.po-description:has(input[readonly]) .form-control,.po-form-grid label:has([data-receipt-journal]) .form-control,.po-form-grid label[data-general-journal] .form-control{width:100%!important;max-width:none!important}
/* Laporan posisi keuangan. */
.financial-filter{margin-bottom:14px;padding:15px 18px}.financial-filter form{display:grid;grid-template-columns:220px minmax(210px,1fr) auto;align-items:end;gap:11px}.financial-filter label{display:flex;flex-direction:column;gap:6px;color:#526158;font-size:9px;font-weight:800}.financial-filter .form-control,.financial-filter .btn{height:42px;font-size:10px}.financial-zero-option{height:42px;align-items:center!important;flex-direction:row!important;gap:8px!important;padding:0 13px;border:1px solid #dde6e0;border-radius:8px;background:#fafcfb}.financial-sheet{padding:0;overflow:hidden;border-radius:10px}.financial-report-header{display:flex;justify-content:space-between;gap:25px;padding:23px 25px;border-bottom:1px solid #dce6df;background:linear-gradient(135deg,#123f28,#236b43);color:#fff}.financial-report-header>div{display:flex;flex-direction:column}.financial-report-header>div:last-child{align-items:flex-end;text-align:right}.financial-report-header small{color:#b8d9c5;font-size:8px;font-weight:900;letter-spacing:1px}.financial-report-header h2{margin:4px 0 2px;font-size:20px;font-weight:900}.financial-report-header p{margin:0;color:#c8ddd0;font-size:9px}.financial-report-header strong{margin:5px 0 2px;font-size:11px}.financial-report-header span{color:#c8ddd0;font-size:8px}.financial-columns{display:grid;grid-template-columns:1fr 1fr;background:#fff}.financial-columns>section{min-width:0;padding:23px 25px}.financial-columns>section+section{border-left:1px solid #dfe7e2}.financial-columns h3{margin:0 0 18px;padding-bottom:10px;border-bottom:2px solid #276b43;color:#183b27;font-size:14px;font-weight:900;text-transform:uppercase}.financial-section{margin-bottom:20px}.financial-section h4{margin:0 0 7px;color:#54705e;font-size:9px;font-weight:900;letter-spacing:.55px;text-transform:uppercase}.financial-line,.financial-subtotal,.financial-grand-total{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:7px 0}.financial-line{border-bottom:1px dashed #e7ece9;color:#4d5d53;font-size:9px}.financial-line span:first-child{display:flex;min-width:0;flex-direction:column}.financial-line small{margin-top:2px;color:#929d96;font-size:7px}.financial-line b,.financial-subtotal b,.financial-grand-total b{flex:none;font-variant-numeric:tabular-nums}.financial-subtotal{margin-top:4px;border-top:1px solid #cad8cf;color:#294a35;font-size:9px;font-weight:900}.financial-grand-total{margin-top:8px;padding:13px 0;border-top:2px solid #174d30;border-bottom:4px double #174d30;color:#143a24;font-size:12px;font-weight:900}.financial-empty{padding:12px 0;color:#98a29c;font-size:9px;font-style:italic}.financial-equation{display:flex;align-items:center;gap:11px;margin:3px 20px 18px;padding:13px 15px;border-radius:10px}.financial-equation>i{font-size:20px}.financial-equation>span{display:flex;flex-direction:column}.financial-equation strong{font-size:10px}.financial-equation small{margin-top:2px;font-size:8px}.financial-equation.balanced{background:#eaf7ee;color:#19733d}.financial-equation.unbalanced{background:#fff2e7;color:#a35b1d}@media(max-width:767px){.financial-filter form{grid-template-columns:1fr}.financial-report-header{flex-direction:column}.financial-report-header>div:last-child{align-items:flex-start;text-align:left}.financial-columns{grid-template-columns:1fr}.financial-columns>section+section{border-top:1px solid #dfe7e2;border-left:0}}@media print{body:has(.financial-sheet) .sidebar,body:has(.financial-sheet) .topbar,body:has(.financial-sheet) .page-heading,body:has(.financial-sheet) .financial-filter{display:none!important}body:has(.financial-sheet) .dashboard-main{margin:0!important}body:has(.financial-sheet) .dashboard-content{max-width:none!important;padding:0!important}.financial-sheet{border:0!important;box-shadow:none!important}.financial-report-header,.financial-equation{-webkit-print-color-adjust:exact;print-color-adjust:exact}.financial-columns>section{padding:16px!important}}
/* Laporan perubahan aset neto. */
.net-assets-filter{margin-bottom:14px;padding:15px 18px}.net-assets-filter form{display:grid;grid-template-columns:190px 190px minmax(0,1fr);align-items:end;gap:11px}.net-assets-filter label{display:flex;flex-direction:column;gap:6px;color:#526158;font-size:9px;font-weight:800}.net-assets-filter .form-control,.net-assets-filter .btn{height:42px;font-size:10px}.net-assets-filter .btn{min-width:112px;justify-self:end}.net-assets-sheet{padding:0;overflow:hidden}.net-assets-body{padding:24px}.net-assets-table{margin:0;border:1px solid #dce5df}.net-assets-table th{padding:11px 14px;background:#e6efe9;color:#294334;border-color:#cfddd4;font-size:8px;font-weight:900;text-transform:uppercase}.net-assets-table td{padding:12px 14px;border-color:#e3eae6;color:#4b5b51;font-size:9px;vertical-align:middle}.net-assets-table td:first-child{display:flex;flex-direction:column}.net-assets-code{color:#809087;font-size:7px;font-weight:800}.net-assets-table td small{display:block;margin-top:3px;color:#89958e;font-size:7px}.net-assets-profit{background:#f7faf8}.net-assets-table tfoot th{padding:14px;background:#d7e7dd;color:#153b25;border-top:3px double #1c5736;font-size:10px}.net-assets-empty{padding:24px!important;color:#8b978f!important;text-align:center}.net-assets-reconciliation{display:grid;grid-template-columns:1fr auto auto 1fr auto auto 1fr auto;align-items:center;gap:10px;margin-top:18px;padding:15px 17px;border-radius:9px;background:#edf6f0;color:#31533d;font-size:8px}.net-assets-reconciliation strong{font-size:10px}.net-assets-reconciliation i{color:#287348;font-size:13px}.net-assets-notes{margin-top:18px;padding-top:14px;border-top:1px solid #e0e7e3;color:#65746b;font-size:8px}.net-assets-notes strong{color:#405348}.net-assets-notes p{margin:4px 0 0;line-height:1.6}@media(max-width:767px){.net-assets-filter form{grid-template-columns:1fr}.net-assets-filter .btn{width:100%;justify-self:stretch}.net-assets-body{padding:14px}.net-assets-table{min-width:650px}.net-assets-reconciliation{grid-template-columns:1fr auto}.net-assets-reconciliation i{display:none}}@media print{body:has(.net-assets-sheet) .sidebar,body:has(.net-assets-sheet) .topbar,body:has(.net-assets-sheet) .page-heading,body:has(.net-assets-sheet) .net-assets-filter{display:none!important}body:has(.net-assets-sheet) .dashboard-main{margin:0!important}body:has(.net-assets-sheet) .dashboard-content{max-width:none!important;padding:0!important}.net-assets-sheet{border:0!important;box-shadow:none!important}.financial-report-header,.net-assets-table th,.net-assets-reconciliation{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* Header seluruh laporan dibuat transparan. */
.financial-report-header,.trial-report-header,.ledger-report-header{background:transparent!important;color:var(--ink)!important}.financial-report-header small,.trial-report-header small,.ledger-report-header small{color:var(--green-dark)!important}.financial-report-header h2,.trial-report-header h2,.ledger-report-header h2,.financial-report-header strong,.trial-report-header strong,.ledger-report-header strong{color:var(--ink)!important}.financial-report-header p,.financial-report-header span,.trial-report-header p,.trial-report-header span,.ledger-report-header p,.ledger-report-header span{color:var(--muted)!important}
/* Ukuran teks standar untuk seluruh tabel data. */
.dashboard-page .table th,.dashboard-page .table td{font-size:12px!important}
.activity-log-table{width:100%;min-width:0!important;table-layout:auto}.activity-log-table th,.activity-log-table td{vertical-align:top}.activity-log-table th:nth-child(1),.activity-log-table td:nth-child(1),.activity-log-table th:nth-child(3),.activity-log-table td:nth-child(3){white-space:nowrap}.activity-log-table th:nth-child(1){width:1%}.activity-log-table th:nth-child(2){width:16%}.activity-log-table th:nth-child(3){width:1%}.activity-log-table td:nth-child(4){width:100%;min-width:280px;white-space:pre-line;overflow-wrap:anywhere;line-height:1.55}@media(max-width:767px){.activity-log-table{min-width:640px!important}.activity-log-table th:nth-child(2){width:auto}.activity-log-table td:nth-child(4){min-width:300px}}
.coa-account-picker{position:relative}.coa-account-menu{position:absolute;z-index:1080;top:calc(100% + 5px);right:0;left:0;display:none;max-height:220px;overflow-y:auto;padding:6px;border:1px solid #d8e3dc;border-radius:10px;background:#fff;box-shadow:0 14px 34px rgba(24,72,45,.16)}.coa-account-menu.show{display:block}.coa-account-menu button{display:block;width:100%;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:#34513c;text-align:left;font-size:11px}.coa-account-menu button:hover,.coa-account-menu button:focus{background:#edf7ef}.coa-account-search{padding-right:34px;background:#fff}
/* Panel saldo akhir Buku Besar: hijau tua transparan. */
.ledger-balance-strip .closing{background:rgba(18,63,40,.12)!important}.ledger-balance-strip .closing small{color:#315744!important}.ledger-balance-strip .closing strong{color:#123f28!important}
/* Total Trial Balance hanya dicetak setelah baris data terakhir. */
@media print{.trial-table tfoot{display:table-row-group!important}}
.general-journal-filter{margin-bottom:14px;padding:15px 18px}.general-journal-filter .form-control{width:170px;height:34px;font-size:10px}.general-journal-filter .btn{width:auto!important;min-width:76px;height:34px;padding:5px 13px!important;font-size:10px}.general-journal-sheet{padding:0;overflow:hidden}.journal-accounting-table{min-width:1000px;margin:0}.journal-accounting-table th{padding:10px 11px;background:#e9f1ec;color:#294334;border:1px solid #d3dfd7;font-weight:900;text-transform:uppercase}.journal-accounting-table td{padding:10px 11px;border-color:#e7ece9;color:#4e5c53}.journal-accounting-table td:nth-child(5){min-width:260px}.journal-transaction-total td{background:#f5f8f6;border-bottom:2px solid #d4dfd8}.journal-accounting-table tfoot th{padding:13px 11px;background:#d8e7dd;color:#193a27;border-top:3px double #1d5837;text-align:right}.journal-accounting-table tfoot th:first-child{text-align:left}@media print{@page{size:A4 landscape;margin:10mm}body:has(.general-journal-sheet) .sidebar,body:has(.general-journal-sheet) .topbar,body:has(.general-journal-sheet) .page-heading,body:has(.general-journal-sheet) .general-journal-stats,body:has(.general-journal-sheet) .general-journal-filter{display:none!important}body:has(.general-journal-sheet) .dashboard-main{margin:0!important}body:has(.general-journal-sheet) .dashboard-content{max-width:none!important;padding:0!important}.general-journal-sheet{border:0!important;box-shadow:none!important}.journal-accounting-table{min-width:0!important}.journal-accounting-table th,.journal-accounting-table td{padding:6px!important;font-size:7px!important}.journal-accounting-table thead{display:table-header-group}.journal-accounting-table tfoot{display:table-row-group!important}.journal-transaction-total{break-inside:avoid}.trial-report-header,.journal-accounting-table th,.trial-status{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.dashboard-page .inventory-report-filter button.btn{width:auto!important;min-width:76px!important;min-height:34px!important;height:34px!important;padding:5px 13px!important;align-self:center;font-size:10px!important;line-height:1.2;white-space:nowrap}
.dashboard-page small,.dashboard-page .form-text{font-size:12px!important}.permission-user-card:target{border-color:#4b9669;box-shadow:0 0 0 3px rgba(47,112,70,.12)}.pdf-company{display:none}@media print{.pdf-company{display:flex!important;align-items:center;gap:14px;margin:0 0 16px;padding:0 0 13px;border-bottom:2px solid #315744}.pdf-company .brand-mark{display:grid!important;width:58px;height:58px;flex:none;border-radius:9px}.pdf-company .brand-mark img{width:100%;height:100%;object-fit:contain}.pdf-company>div{display:flex;flex-direction:column}.pdf-company>div>strong{color:#123f28;font-size:21px;font-weight:900;line-height:1.15}.pdf-company>div>span{margin-top:4px;color:#607168;font-size:8px;font-weight:800;letter-spacing:1px;text-transform:uppercase}}
.excel-actions{display:flex;align-items:center;gap:8px}.excel-actions form{margin:0}.excel-actions .btn{height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 14px;font-size:10px;font-weight:800}.excel-actions .btn i{margin:0}.excel-actions input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}@media(max-width:767px){.page-heading:has(.excel-actions){align-items:stretch;flex-direction:column;gap:12px}.excel-actions{display:grid;grid-template-columns:1fr 1fr}.excel-actions .btn{justify-content:center;width:100%}}
.excel-actions-square .excel-square-action{width:96px!important;height:96px!important;min-height:96px!important;padding:8px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:7px;border-radius:7px!important;font-size:10px!important;font-weight:800;text-align:center;line-height:1.25}.excel-actions-square .excel-square-action i{width:32px;height:32px;display:grid;place-items:center;border:1px solid currentColor;border-radius:8px;font-size:17px;opacity:.9}.excel-actions-square form{width:96px;height:96px}.excel-actions-square label{cursor:pointer}@media(max-width:767px){.excel-actions-square{display:flex;justify-content:flex-end}.excel-actions-square .excel-square-action{width:96px!important}.excel-actions-square form{width:96px}}
.permission-users{display:grid;gap:15px}.permission-user-card{padding:0;overflow:hidden}.permission-user-card form>header{display:flex;align-items:center;gap:11px;padding:17px 19px;border-bottom:1px solid #e1e8e3;background:#f8faf8}.permission-user-card header>div{min-width:0;flex:1}.permission-user-card h3{margin:0;color:#26382d;font-size:13px;font-weight:900}.permission-user-card header p{margin:3px 0 0;color:#7b8780;font-size:8px}.permission-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:18px}.permission-option{position:relative;display:flex;align-items:center;gap:10px;min-height:76px;padding:12px;border:1px solid #dfe7e2;border-radius:9px;background:#fff;cursor:pointer}.permission-option>input{position:absolute;opacity:0}.permission-option>.bi{color:#427158;font-size:18px}.permission-option>span:last-child{display:flex;min-width:0;flex-direction:column}.permission-option strong{font-size:9px}.permission-option small{margin-top:3px;color:#849087;font-size:7px;line-height:1.45}.permission-check{width:20px;height:20px;display:grid;place-items:center;flex:none;border:1px solid #cbd8d0;border-radius:5px;color:transparent}.permission-option:has(input:checked){border-color:#68a17f;background:#f0f8f3}.permission-option input:checked+.permission-check{border-color:var(--green);background:var(--green);color:#fff}.permission-user-card footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid #e3e9e5}.permission-user-card footer .btn{min-width:120px;font-size:9px}@media(max-width:1100px){.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.permission-grid{grid-template-columns:1fr}.permission-user-card form>header{align-items:flex-start;flex-wrap:wrap}.permission-user-card footer{display:grid;grid-template-columns:1fr 1fr}.permission-user-card footer .btn{width:100%}}
.sale-print-prompt .modal-header small{color:var(--green);font-size:8px;font-weight:900;letter-spacing:1px}.sale-print-prompt .modal-body>p{color:var(--muted);font-size:10px}.sale-print-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sale-print-options>a{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #dbe6df;border-radius:10px;background:#f8fbf9;color:#263a2d;text-decoration:none;transition:.16s}.sale-print-options>a:hover{border-color:#77a389;background:#edf7f0}.sale-print-options>a>i{width:39px;height:39px;display:grid;place-items:center;flex:none;border-radius:8px;background:#dfeee4;color:#245c38;font-size:18px}.sale-print-options span{display:flex;flex-direction:column}.sale-print-options strong{font-size:11px}.sale-print-options small{margin-top:3px;color:#7b8880;font-size:8px}.sale-document{margin:0;background:#eef2ef;font-family:"Manrope",sans-serif;color:#17251d}.sale-print-sheet{width:min(1000px,calc(100% - 32px));margin:20px auto;padding:28px;background:#fff;box-shadow:0 10px 35px rgba(25,58,38,.12)}.sale-document .pdf-company{display:flex!important;align-items:center;gap:14px;margin-bottom:16px;padding-bottom:14px;border-bottom:2px solid #315744}.sale-document .pdf-company .brand-mark{width:58px;height:58px;display:grid!important;flex:none}.sale-document .pdf-company .brand-mark img{width:100%;height:100%;object-fit:contain}.sale-document .pdf-company>div{display:flex;flex-direction:column}.sale-document .pdf-company>div>strong{color:#123f28;font-size:21px;font-weight:900}.sale-document .pdf-company>div>span{color:#65756c;font-size:8px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.sale-document-header{display:flex;justify-content:space-between;gap:24px;padding:18px 20px;background:rgba(18,63,40,.09);border:1px solid rgba(18,63,40,.15)}.sale-document-header>div{display:flex;flex-direction:column}.sale-document-header>div:last-child{align-items:flex-end;text-align:right}.sale-document-header small{color:#315744;font-size:8px;font-weight:900;letter-spacing:1px}.sale-document-header h1{margin:4px 0;font-size:20px;font-weight:900}.sale-document-header span{color:#69766e;font-size:8px}.sale-document-header strong{font-size:11px}.sale-document-meta{display:grid;grid-template-columns:repeat(4,1fr);margin:16px 0;border:1px solid #dde6e0}.sale-document-meta>div{display:flex;min-height:62px;flex-direction:column;padding:11px 13px;border-right:1px solid #dde6e0}.sale-document-meta>div:last-child{border:0}.sale-document-meta small{color:#718078;font-size:7px;font-weight:900}.sale-document-meta strong{margin-top:4px;font-size:10px}.sale-document-meta span{color:#89948d;font-size:7px}.sale-document-table{margin:0;border:1px solid #d8e2db}.sale-document-table th{padding:9px 10px!important;background:#e5eee8;color:#294334;border-color:#cfdcd3;font-size:9px!important;font-weight:900;text-transform:uppercase}.sale-document-table td{padding:9px 10px!important;border-color:#e4eae6;font-size:9px!important}.sale-document-table tfoot th{background:#d7e7dd;border-top:3px double #1c5736}.sale-payment-summary{width:330px;margin:16px 0 0 auto}.sale-payment-summary>div{display:flex;justify-content:space-between;padding:6px 3px;border-bottom:1px solid #e3e9e5;font-size:9px}.sale-payment-summary .grand{margin:4px 0;padding:10px;background:#e4f0e8;color:#173d26;font-size:12px;font-weight:900}.sale-document-note{margin-top:15px;padding:10px 12px;background:#f7f9f7;color:#536158;font-size:8px}.sale-journal-status{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px 14px;border-radius:8px}.sale-journal-status.balanced{background:#eaf7ee;color:#19733d}.sale-journal-status.unbalanced{background:#fff2e7;color:#a35b1d}.sale-journal-status>span{display:flex;flex-direction:column}.sale-journal-status strong{font-size:9px}.sale-journal-status small{font-size:7px}.sale-document-footer{display:flex;justify-content:space-between;margin-top:28px;padding-top:11px;border-top:1px solid #dfe6e2;color:#7a867f;font-size:7px}@media(max-width:600px){.sale-print-options,.sale-document-meta{grid-template-columns:1fr}.sale-document-meta>div{border-right:0;border-bottom:1px solid #dde6e0}.sale-document-header{flex-direction:column}.sale-document-header>div:last-child{align-items:flex-start;text-align:left}}@media print{@page{size:A4 portrait;margin:10mm}.sale-document{background:#fff}.sale-print-sheet{width:100%;margin:0;padding:0;box-shadow:none}.sale-document-table thead{display:table-header-group}.sale-document-table tfoot{display:table-row-group}.sale-document-header,.sale-document-table th,.sale-journal-status{-webkit-print-color-adjust:exact;print-color-adjust:exact}.sale-document-footer{break-inside:avoid}}
.access-tabs{display:flex;gap:8px;margin:20px 0 14px}.access-tabs a{display:flex;align-items:center;gap:8px;padding:11px 18px;border:1px solid #cfe3d8;border-radius:12px;color:#476158;text-decoration:none;font-weight:700;background:rgba(255,255,255,.7)}.access-tabs a.active{color:#fff;background:#0b7a50;border-color:#0b7a50;box-shadow:0 7px 18px rgba(11,122,80,.2)}
.access-info{display:flex;gap:10px;align-items:center;padding:14px 18px;margin-bottom:16px;border:1px solid #cfe7dc;border-radius:13px;background:rgba(218,240,229,.55);color:#315f4f}.access-info i{font-size:18px;color:#0b8055}
.access-panel{overflow:hidden;padding:0}.access-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid #dce8e2}.access-panel-heading h2{font-size:18px;margin:0 0 4px}.access-panel-heading p{margin:0;color:#74847e}.access-panel-heading label,.access-unit-toolbar label,.access-user-picker label,.access-unit-select label{display:block;margin-bottom:7px;font-weight:700;color:#3b5049}
.access-permission-list{width:100%}.access-list-head,.access-permission-row{display:grid;grid-template-columns:48px minmax(0,1fr) 100px;align-items:center;padding:13px 20px;border-bottom:1px solid #e0e9e5}.access-list-head{grid-template-columns:minmax(0,1fr) auto;background:rgba(212,234,223,.55);font-weight:800;color:#315f4f}.access-list-head button{border:0;background:none;color:#0b7a50;font-weight:700}.access-permission-row:last-child{border-bottom:0}.access-menu-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#e3f3eb;color:#17835c;font-size:16px}.access-menu-copy{display:flex;flex-direction:column;gap:3px}.access-menu-copy small{color:#71817b}.access-switch{appearance:none;width:40px;height:22px;border-radius:20px;background:#d6ddda;position:relative;cursor:pointer;justify-self:end;transition:.2s}.access-switch:after{content:'';position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.2s}.access-switch:checked{background:#11815a}.access-switch:checked:after{transform:translateX(18px)}
.access-unit-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:20px;margin-bottom:16px}.access-unit-toolbar form{min-width:0}.access-user-picker{padding:20px;margin-bottom:16px;max-width:720px}.access-source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px}.access-source-grid label{display:flex;align-items:flex-start;gap:11px;padding:15px;border:1px solid #d8e6df;border-radius:12px;cursor:pointer}.access-source-grid label:has(input:checked){border-color:#159064;background:rgba(218,240,229,.45);box-shadow:0 0 0 1px #159064}.access-source-grid input{margin-top:3px;accent-color:#0b7a50}.access-source-grid span{display:flex;flex-direction:column;gap:3px}.access-source-grid small,.access-unit-select small{color:#71817b}.access-unit-select{padding:0 20px 20px;max-width:560px}
@media(max-width:760px){.access-tabs{overflow-x:auto}.access-tabs a{white-space:nowrap}.access-unit-toolbar,.access-source-grid{grid-template-columns:1fr}.access-panel-heading{align-items:flex-start;flex-direction:column}.access-permission-row{grid-template-columns:42px minmax(0,1fr) 50px;padding:12px}.access-menu-copy small{display:none}}
.dashboard-page .sidebar>.workspace-select,.dashboard-page .sidebar>.sidebar-user,.dashboard-page .sidebar>.sidebar-login-panel{display:none!important}

/* Cetak jurnal selalu memakai struktur tabel desktop, termasuk bila dialog cetak
   dirender dengan viewport sempit oleh browser/PDF printer. */
@media print{
  body:has(.general-journal-sheet) .table-responsive{display:block!important;width:100%!important;overflow:visible!important}
  body:has(.general-journal-sheet) .journal-accounting-table{display:table!important;width:100%!important;min-width:0!important;table-layout:auto}
  body:has(.general-journal-sheet) .journal-accounting-table thead{display:table-header-group!important}
  body:has(.general-journal-sheet) .journal-accounting-table tbody{display:table-row-group!important}
  body:has(.general-journal-sheet) .journal-accounting-table tfoot{display:table-row-group!important}
  body:has(.general-journal-sheet) .journal-accounting-table tr{display:table-row!important;padding:0!important;border-radius:0!important;box-shadow:none!important}
  body:has(.general-journal-sheet) .journal-accounting-table th,
  body:has(.general-journal-sheet) .journal-accounting-table td{display:table-cell!important;width:auto!important;max-width:none!important;padding:6px!important;white-space:normal!important}
  body:has(.general-journal-sheet) .journal-accounting-table td::before{display:none!important;content:none!important}
}
.access-action-matrix .access-list-head{grid-template-columns:minmax(260px,1fr) repeat(4,110px) 85px}.access-action-matrix .access-list-head span:not(:first-child){text-align:center;font-size:10px}.access-action-matrix .access-permission-row{grid-template-columns:48px minmax(210px,1fr) repeat(4,110px)}.access-action-check{display:grid;place-items:center;margin:0}.access-action-check input{position:absolute;opacity:0}.access-action-check span{width:36px;height:22px;display:grid;place-items:center;border:1px solid #d0dbd5;border-radius:12px;background:#edf1ef;color:transparent;cursor:pointer;transition:.18s}.access-action-check input:checked+span{border-color:#11815a;background:#11815a;color:#fff}.access-action-check i{font-size:12px}@media(max-width:900px){.access-action-matrix{overflow-x:auto}.access-action-matrix .access-list-head,.access-action-matrix .access-permission-row{min-width:850px}}
.access-user-search{position:relative}.access-user-search>i{position:absolute;left:14px;top:23px;z-index:2;transform:translateY(-50%);color:#6c7d74}.access-user-search .form-control{height:46px;padding-left:42px;border-color:#b9d8c8}.access-user-result{display:block;margin-top:8px;color:#71817b}.access-user-results{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;max-height:250px;overflow-y:auto;padding:6px;border:1px solid #b9d8c8;border-radius:10px;background:#fff;box-shadow:0 12px 28px rgba(19,61,40,.16)}.access-user-option{display:flex;width:100%;flex-direction:column;gap:2px;padding:10px 12px;border:0;border-radius:7px;background:transparent;color:#263b31;text-align:left}.access-user-option:hover,.access-user-option:focus{background:#eaf6ee;outline:0}.access-user-option strong{font-size:12px}.access-user-option small,.access-user-empty{color:#71817b;font-size:10px}.access-user-empty{padding:12px}

/* Logo halaman login. */
.login-page .visual-brand{gap:13px!important;font-size:21px!important}.login-page .visual-brand .brand-mark{width:64px!important;height:64px!important}.login-page .mobile-brand{gap:12px!important;font-size:20px!important}.login-page .mobile-brand .brand-mark{width:58px!important;height:58px!important}@media(max-width:575px){.login-page .visual-brand .brand-mark{width:48px!important;height:48px!important}.login-page .visual-brand{font-size:17px!important}.login-page .mobile-brand .brand-mark{width:52px!important;height:52px!important}}

/* Sales book pickers follow the stock-opname picker layout. */
#generalBookPicker .modal-dialog,#memberSaleBookPicker .modal-dialog{max-width:900px}
#generalBookPicker .po-book-modal,#memberSaleBookPicker .po-book-modal{border:0;border-radius:14px;box-shadow:0 24px 65px rgba(12,48,29,.24)}
#generalBookPicker .modal-header,#memberSaleBookPicker .modal-header{padding:23px 25px;background:linear-gradient(135deg,#347a57 0%,#245d42 100%)}
#generalBookPicker .modal-body,#memberSaleBookPicker .modal-body{padding:22px 25px;background:#fff}
#generalBookPicker .po-picker-table,#memberSaleBookPicker .po-picker-table{margin:0}
#generalBookPicker .table-responsive,#memberSaleBookPicker .table-responsive{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
#generalBookPicker .po-picker-table th,#memberSaleBookPicker .po-picker-table th{padding:12px 8px;color:#111;border-color:#dce4df;font-size:10px}
#generalBookPicker .po-picker-table td,#memberSaleBookPicker .po-picker-table td{padding:12px 8px;border-color:#dce4df}
#generalBookPicker .po-pick-book,#memberSaleBookPicker [data-member-sale-pick]{min-width:92px;justify-content:center}
@media(max-width:575px){#generalBookPicker .po-book-modal,#memberSaleBookPicker .po-book-modal{border-radius:18px 18px 0 0!important}#generalBookPicker .modal-header,#generalBookPicker .modal-body,#memberSaleBookPicker .modal-header,#memberSaleBookPicker .modal-body{padding-left:17px;padding-right:17px}}

/* Kartu periode Dashboard. */
.dashboard-page .date-filter{position:relative;min-width:196px;height:52px;padding:0 16px 0 9px;display:flex;align-items:center;gap:11px;border:1px solid #d9e7df;border-radius:12px;background:linear-gradient(135deg,#fff 0%,#f4faf6 100%);box-shadow:0 5px 16px rgba(24,86,51,.08);color:#183f2b;font-size:11px;font-weight:800;letter-spacing:-.1px;transition:border-color .18s,box-shadow .18s,transform .18s}.dashboard-page .date-filter:hover{border-color:#88b69c;box-shadow:0 8px 20px rgba(24,86,51,.13);transform:translateY(-1px)}.dashboard-page .date-filter>i{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:9px;background:#28734a;color:#fff;font-size:15px;box-shadow:0 4px 10px rgba(40,115,74,.22)}.dashboard-page .date-filter>span{display:flex;min-width:0;flex-direction:column;gap:2px;line-height:1.15;white-space:nowrap}.dashboard-page .date-filter small{color:#7b9184;font-size:8px;font-weight:900;letter-spacing:.8px}.dashboard-page .date-filter>span::after{content:'PERIODE AKTIF';display:none}@media(max-width:575px){.dashboard-page .heading-actions{width:auto}.dashboard-page .date-filter{min-width:184px;height:48px}.dashboard-page .date-filter>i{width:31px;height:31px}}
.dashboard-page .backup-database-button{height:52px;display:inline-flex;align-items:center;gap:8px;padding:0 15px;border:1px solid #b9d9c6;border-radius:12px;background:#fff;color:#1f6740;font-size:10px;font-weight:900;box-shadow:0 5px 16px rgba(24,86,51,.08)}.dashboard-page .backup-database-button:hover{border-color:#5e9a73;background:#edf8f0;color:#15522f}.dashboard-page .backup-database-button i{font-size:17px}@media(max-width:575px){.dashboard-page .backup-database-button{height:48px;padding:0 12px}.dashboard-page .backup-database-button span{display:none}}
/* Pemilihan dan perbaikan harga master buku. */
.book-repair-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 18px;border-bottom:1px solid #e2eae5;background:#f8fbf9}.book-repair-toolbar>span{margin-right:auto;color:#607168;font-size:10px}.book-repair-toolbar>span i{margin-right:6px;color:#28734a}.book-repair-toolbar>span strong{color:#1e5637}.book-repair-toolbar .btn{height:36px;display:inline-flex;align-items:center;gap:6px;font-size:10px}.book-select-column{width:42px;text-align:center!important}.book-table .book-select-column .form-check-input{margin:0;cursor:pointer}.book-table th:nth-child(13),.book-table td:nth-child(13){display:table-cell}.book-table th:nth-child(14),.book-table td:nth-child(14){display:none}@media(max-width:767px){.book-repair-toolbar{align-items:stretch;flex-direction:column;padding:12px}.book-repair-toolbar>span{margin:0}.book-repair-toolbar .btn{justify-content:center;width:100%}.book-table tbody td:nth-child(1)::before{content:"Pilih"}.book-table tbody td:nth-child(2)::before{content:"Kode"}.book-table tbody td:nth-child(3)::before{content:"Buku"}.book-table tbody td:nth-child(4)::before{content:"Kategori"}.book-table tbody td:nth-child(5)::before{content:"Harga dasar"}.book-table tbody td:nth-child(6)::before{content:"Harga beli"}.book-table tbody td:nth-child(7)::before{content:"Harga laporan"}.book-table tbody td:nth-child(8)::before{content:"Harga tithe"}.book-table tbody td:nth-child(9)::before{content:"Harga LE"}.book-table tbody td:nth-child(10)::before{content:"Harga umum"}.book-table tbody td:nth-child(11)::before{content:"Harga jual"}.book-table tbody td:nth-child(12)::before{content:"Harga anggota"}.book-table tbody td:nth-child(13)::before{content:"Poin buku"}.book-table tbody td:nth-child(14){display:none!important}.book-table tbody td:nth-child(15)::before{content:"Aksi"}.book-table tbody td:nth-child(13){display:flex!important}}
.stock-filter-form{display:flex;align-items:center;gap:8px}.stock-filter-form .form-select{width:180px;height:38px;font-size:10px}.stock-filter-form .btn{height:38px;white-space:nowrap;font-size:10px}@media(max-width:767px){.stock-filter-form{display:grid;grid-template-columns:1fr}.stock-filter-form .form-select,.stock-filter-form .btn{width:100%}}
.stock-warehouse-picker{position:relative;display:block}.stock-warehouse-picker .warehouse-search-menu{top:calc(100% + 6px)}
.receipt-po-picker{position:relative}.receipt-po-picker .warehouse-search-menu{top:calc(100% + 6px)}
.access-user-unit-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,260px) auto;align-items:end;gap:14px;margin-top:16px;padding:18px}.access-user-unit-form h3{margin:0;color:#254432;font-size:13px;font-weight:900}.access-user-unit-form p{margin:4px 0 0;color:#74827a;font-size:9px;line-height:1.5}.access-user-unit-form label{display:flex;flex-direction:column;gap:6px;color:#526158;font-size:9px;font-weight:800}.access-user-unit-form .form-select,.access-user-unit-form .btn{height:40px;font-size:10px}@media(max-width:767px){.access-user-unit-form{grid-template-columns:1fr}.access-user-unit-form .btn{width:100%}}

/* Seluruh menu sidebar harus tetap terjangkau pada viewport mobile yang pendek. */
@media(max-width:991px){.dashboard-page .sidebar{width:min(310px,88vw);height:100vh;height:100dvh;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.dashboard-page .sidebar-title-panel,.dashboard-page .sidebar-nav{flex:none}.dashboard-page .sidebar-nav{min-height:max-content;padding-bottom:max(28px,env(safe-area-inset-bottom))}.dashboard-page .nav-tree.open .nav-tree-children{max-height:600px}}

/* Tabel mobile standar: struktur tabel dipertahankan dan digeser horizontal. */
@media(max-width:767px){.dashboard-page .table-responsive{display:block;width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}.dashboard-page .table-responsive>.table{display:table!important;width:100%!important;min-width:720px!important;margin-bottom:0}.dashboard-page .table-responsive>.table thead{display:table-header-group!important}.dashboard-page .table-responsive>.table tbody{display:table-row-group!important}.dashboard-page .table-responsive>.table tfoot{display:table-footer-group!important}.dashboard-page .table-responsive>.table tr{display:table-row!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}.dashboard-page .table-responsive>.table tr[hidden],.dashboard-page .table-responsive>.table [hidden]{display:none!important}.dashboard-page .table-responsive>.table th,.dashboard-page .table-responsive>.table td{display:table-cell!important;width:auto!important;min-width:0;max-width:none!important;padding:10px!important;border-bottom:1px solid #e7ede9!important;text-align:left;white-space:nowrap;vertical-align:middle}.dashboard-page .table-responsive>.table td::before{display:none!important;content:none!important}.dashboard-page .table-responsive>.table td>*{max-width:none}.dashboard-page .table-responsive>.table .form-control,.dashboard-page .table-responsive>.table .form-select,.dashboard-page .table-responsive>.table .input-group{width:auto;min-width:150px;max-width:none}.dashboard-page .table-responsive>.table .category-actions{margin-left:0}.dashboard-page .table-responsive>.coa-table th:nth-child(5),.dashboard-page .table-responsive>.coa-table td:nth-child(5),.dashboard-page .table-responsive>.coa-table th:nth-child(6),.dashboard-page .table-responsive>.coa-table td:nth-child(6),.dashboard-page .table-responsive>.book-table th:nth-child(14),.dashboard-page .table-responsive>.book-table td:nth-child(14),.dashboard-page .table-responsive>.pl-table th:nth-child(1),.dashboard-page .table-responsive>.pl-table td:nth-child(1){display:none!important}}

/* Tampilan tabel seperti daftar kartu pada aplikasi mobile. */
@media(max-width:767px){.dashboard-page .table-responsive:has(>.mobile-app-table){overflow:visible!important}.dashboard-page .table-responsive>.mobile-app-table{display:block!important;width:100%!important;min-width:0!important;background:transparent}.dashboard-page .table-responsive>.mobile-app-table thead{display:none!important}.dashboard-page .table-responsive>.mobile-app-table tbody,.dashboard-page .table-responsive>.mobile-app-table tfoot{display:grid!important;width:100%;gap:12px}.dashboard-page .table-responsive>.mobile-app-table tfoot{margin-top:12px}.dashboard-page .table-responsive>.mobile-app-table tr{display:block!important;width:100%;padding:13px 15px!important;border:1px solid #dfe8e2!important;border-radius:14px!important;background:#fff!important;box-shadow:0 4px 14px rgba(31,75,47,.06)}.dashboard-page .table-responsive>.mobile-app-table tr[hidden],.dashboard-page .table-responsive>.mobile-app-table [hidden]{display:none!important}.dashboard-page .table-responsive>.mobile-app-table td{display:grid!important;width:100%!important;grid-template-columns:minmax(105px,38%) minmax(0,1fr);align-items:center;gap:12px;min-width:0!important;max-width:none!important;padding:9px 0!important;border:0!important;border-bottom:1px solid #edf1ee!important;text-align:right!important;white-space:normal!important}.dashboard-page .table-responsive>.mobile-app-table td:last-child{border-bottom:0!important}.dashboard-page .table-responsive>.mobile-app-table td::before{display:block!important;align-self:start;color:#718078;content:attr(data-mobile-label)!important;font-size:9px;font-weight:900;text-align:left}.dashboard-page .table-responsive>.mobile-app-table td.mobile-table-full-row{display:block!important;text-align:center!important}.dashboard-page .table-responsive>.mobile-app-table td.mobile-table-full-row::before{display:none!important}.dashboard-page .table-responsive>.mobile-app-table td>*{min-width:0;max-width:100%;margin-left:auto}.dashboard-page .table-responsive>.mobile-app-table td>strong,.dashboard-page .table-responsive>.mobile-app-table td>small{overflow-wrap:anywhere}.dashboard-page .table-responsive>.mobile-app-table .form-control,.dashboard-page .table-responsive>.mobile-app-table .form-select,.dashboard-page .table-responsive>.mobile-app-table .input-group{width:100%;min-width:0;max-width:100%}.dashboard-page .table-responsive>.mobile-app-table .category-actions{justify-content:flex-end;margin-left:auto}.dashboard-page .table-responsive>.mobile-app-table .coa-hierarchy{max-width:100%;align-items:flex-end}.dashboard-page .table-responsive>.mobile-app-table .text-end{text-align:right!important}.dashboard-page .table-responsive>.mobile-app-table.coa-table td:nth-child(5),.dashboard-page .table-responsive>.mobile-app-table.coa-table td:nth-child(6),.dashboard-page .table-responsive>.mobile-app-table.book-table td:nth-child(14),.dashboard-page .table-responsive>.mobile-app-table.pl-table td:nth-child(1){display:none!important}}

/* Harus berada setelah seluruh aturan responsive agar print tidak berubah ke kartu/mobile. */
@media print{
  body:has(.general-journal-sheet) .table-responsive{display:block!important;width:100%!important;overflow:visible!important}
  body:has(.general-journal-sheet) .journal-accounting-table{display:table!important;width:100%!important;min-width:0!important}
  body:has(.general-journal-sheet) .journal-accounting-table thead{display:table-header-group!important}
  body:has(.general-journal-sheet) .journal-accounting-table tbody{display:table-row-group!important}
  body:has(.general-journal-sheet) .journal-accounting-table tfoot{display:table-row-group!important}
  body:has(.general-journal-sheet) .journal-accounting-table tr{display:table-row!important;padding:0!important;border-radius:0!important;box-shadow:none!important}
  body:has(.general-journal-sheet) .journal-accounting-table th,
  body:has(.general-journal-sheet) .journal-accounting-table td{display:table-cell!important;width:auto!important;max-width:none!important;padding:6px!important;white-space:normal!important}
  body:has(.general-journal-sheet) .journal-accounting-table td::before{display:none!important;content:none!important}
}
