:root{
  --navy:#0d3b78;--navy2:#0a2e62;--blue:#1674cf;--cyan:#11a9df;--green:#149447;
  --orange:#e56d13;--red:#d62936;--ink:#172536;--muted:#607080;--line:#aeb9c4;
  --panel:#f8fafc;--workspace:#dce3e9;--shadow-hi:#fff;--shadow-lo:#7d8994;
}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:"Segoe UI",Tahoma,Arial,sans-serif;color:var(--ink);background:#cfd7de;font-size:14px}
button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.auth-screen{min-height:100vh;display:grid;grid-template-columns:minmax(440px,1.25fr) minmax(420px,.75fr);background:#eef3f7}
.auth-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:7vh 8vw;color:#fff;background:
  linear-gradient(130deg,rgba(7,40,90,.96),rgba(7,88,154,.94)),url("/assets/app-icon.png") center/60% no-repeat}
.auth-brand:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 18px,rgba(255,255,255,.025) 18px 20px);pointer-events:none}
.brand-copy,.auth-highlights{position:relative;z-index:1}.auth-logo{width:min(520px,75%);height:210px;object-fit:contain;object-position:left center;filter:drop-shadow(0 8px 18px rgba(0,0,0,.25))}
.auth-title{font-size:34px;font-weight:800;margin-top:6px}.auth-subtitle{font-size:18px;color:#9fe3ff;margin-top:7px;font-weight:600}
.auth-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:58px}.auth-highlights>div{display:grid;grid-template-columns:42px 1fr;gap:3px 10px;align-items:center}
.auth-highlights small{grid-column:2;color:#cfe1f1;line-height:1.45}.feature-icon{grid-row:1/3;width:42px;height:42px;border-radius:5px;display:grid;place-items:center;font-weight:900;font-size:18px;box-shadow:inset 1px 1px #fff8,0 3px 8px #001d3d80}
.feature-icon.blue{background:#2196f3}.feature-icon.green{background:#18a853}.feature-icon.orange{background:#f47c20}
.auth-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:45px;background:linear-gradient(#f8fafc,#e4ebf1)}
.auth-card{width:min(430px,100%);padding:30px;background:#fff;border:1px solid #aeb9c4;border-radius:7px;box-shadow:inset 1px 1px #fff,0 18px 45px #27425e2c}
.auth-card-head{display:flex;align-items:center;gap:16px;padding-bottom:22px;border-bottom:1px solid #d9e0e6}.login-icon{width:64px;height:64px;object-fit:contain}
.auth-card h1{font-size:23px;margin:0 0 4px;color:#123f79}.auth-card p{margin:0;color:var(--muted)}
label{display:block;font-weight:650;color:#30465b;margin:16px 0 6px}input,select,textarea{width:100%;border:1px solid #8e9ca9;border-radius:3px;padding:10px 11px;background:#fff;color:#15283c;box-shadow:inset 1px 1px 2px #0001}
input:focus,select:focus,textarea:focus{outline:2px solid #1585dc45;border-color:#1674cf}.password-wrap,.copy-field{display:flex}.password-wrap input,.copy-field input{border-radius:3px 0 0 3px}
.password-wrap button,.copy-field button{border:1px solid #8e9ca9;border-left:0;background:linear-gradient(#fff,#dce3e9);min-width:54px;border-radius:0 3px 3px 0;color:#244967}
.remember{font-weight:500;display:flex;gap:8px;align-items:center}.remember input{width:auto}.primary,.emboss{border:1px solid #73808d;border-radius:3px;padding:9px 18px;font-weight:700;box-shadow:inset 1px 1px #fff,1px 1px 1px #7d8994;background:linear-gradient(#fff,#d9e0e6);color:#17324c}
.primary{color:#fff;border-color:#084e91;background:linear-gradient(#2385dd,#0754a1);text-shadow:0 1px #003c76}.wide{width:100%;padding:11px;margin-top:12px}
.primary:hover{background:linear-gradient(#3297ec,#0860b5)}.emboss:hover{background:linear-gradient(#fff,#cfd9e1)}.link-button{border:0;background:none;color:#1268b5;font-weight:700;margin:18px auto 0;display:block}
.auth-footer{margin-top:28px;color:#4b667f;text-decoration:none}.license-warning{margin:18px 0 0;padding:11px;border:1px solid #dd9d30;background:#fff5d9;color:#6a4612;border-radius:4px}.form-message{min-height:20px;margin-top:12px;text-align:center;color:var(--red);font-weight:600}
.app-shell{height:100vh;display:flex;flex-direction:column;min-width:1024px;overflow:hidden}.titlebar{height:35px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg,#082994,#1458c4);color:#fff;border:2px solid #d7e6fb;box-shadow:inset 1px 1px #6ba7ff;font-weight:700;flex:0 0 35px}
.window-title{display:flex;align-items:center;gap:8px;padding-left:8px}.window-title img{width:23px;height:23px;object-fit:contain}.window-controls{height:100%;display:flex}.window-controls span,.window-controls button{width:34px;height:100%;display:grid;place-items:center;background:#e8ecef;color:#15283c;border:1px outset #fff;font-size:18px}.window-controls button{font-weight:900}
.app-header{height:142px;display:flex;align-items:center;justify-content:space-between;padding:12px 34px;background:linear-gradient(#fff,#e5e7e9);border:3px ridge #fff;flex:0 0 142px}
.header-brand{display:flex;align-items:center;gap:20px}.header-brand img{width:190px;height:110px;object-fit:contain}.header-brand strong{display:block;font-size:28px}.header-brand small{display:block;margin-top:6px;color:#124d9b;font-size:16px;font-weight:700}
.header-user{display:flex;align-items:center;gap:14px;padding-left:22px;border-left:1px solid #9ca8b3}.header-user div{min-width:140px}.header-user small,.header-user b,.header-user span{display:block}.header-user b{font-size:18px;color:#123f8b;margin:2px 0}.user-avatar{width:55px;height:55px;border:2px ridge #fff;background:#fff;display:grid!important;place-items:center;font-size:35px;color:#1b5aa6}.logout{margin-left:14px;padding:12px 18px}
.workspace{display:grid;grid-template-columns:236px 1fr;min-height:0;flex:1 1 auto;border:2px ridge #fff;overflow:hidden}.sidebar{background:#e9edef;border-right:3px ridge #fff;padding:8px 6px;overflow-y:auto;min-height:0}
.nav-button{width:100%;height:57px;display:flex;align-items:center;gap:14px;padding:8px 12px;border:1px solid #a2aab1;border-top-color:#fff;border-left-color:#fff;background:linear-gradient(100deg,#fff,#e2e5e7);font-weight:750;text-align:left;color:#172536}
.nav-button:hover,.nav-button.active{background:linear-gradient(100deg,#fff,#cde3fa);color:#064f96;border-color:#769ac0}.nav-icon{width:34px;height:34px;display:grid;place-items:center;font-size:19px;border-radius:4px;color:#fff;font-weight:900;text-shadow:0 1px 1px #0008;box-shadow:inset 1px 1px #fff9,1px 2px 2px #777}
.i-blue{background:linear-gradient(#45a6ff,#075ec0)}.i-green{background:linear-gradient(#53d85f,#14902e)}.i-orange{background:linear-gradient(#ffab36,#e65b08)}.i-red{background:linear-gradient(#ff6570,#c41426)}.i-purple{background:linear-gradient(#9b78f4,#5f3db6)}.i-teal{background:linear-gradient(#36c9ce,#087f8a)}
.main{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--workspace);padding:12px;overflow:hidden}.content-toolbar{min-height:74px;display:flex;align-items:center;justify-content:space-between;padding:11px 18px;background:linear-gradient(#fff,#e9edf0);border:2px ridge #fff;flex:0 0 auto}
.content-toolbar h2{margin:0;color:#153e70;font-size:23px}.content-toolbar p{margin:5px 0 0;color:#66788a}.content-toolbar #page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.page-content{min-height:0;flex:1 1 auto;overflow:auto;padding:12px 0 2px}.app-footer{height:46px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 16px;background:linear-gradient(#f7f7f7,#d5d9dc);border:2px ridge #fff;font-size:12px;color:#4f5e6d;flex:0 0 46px;z-index:5}
.app-footer a{color:#064ea3;font-weight:700;text-decoration:none}.app-footer span:last-child{text-align:right}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;margin-bottom:12px}.stat-card{min-height:108px;display:grid;grid-template-columns:56px 1fr;align-items:center;gap:12px;padding:15px;background:linear-gradient(135deg,#fff,#e8ecef);border:2px ridge #fff;box-shadow:1px 2px 2px #70809055}
.stat-card .stat-icon{width:52px;height:62px;display:grid;place-items:center;font-size:27px;font-weight:900;color:#fff;border-radius:4px;box-shadow:inset 1px 1px #fff8,1px 2px 3px #59636c}
.stat-card label{margin:0;font-size:15px;color:#263849}.stat-card strong{display:block;font-size:21px;margin:6px 0 2px}.stat-card small{color:#61717f}.stat-card.green strong{color:#128237}.stat-card.orange strong{color:#d85c08}.stat-card.blue strong{color:#0d58b8}.stat-card.red strong{color:#c52634}
.panel{background:#f7f9fa;border:2px ridge #fff;box-shadow:1px 2px 2px #70809044;margin-bottom:12px}.panel-head{min-height:46px;display:flex;align-items:center;justify-content:space-between;padding:8px 13px;background:linear-gradient(#fff,#dfe5e9);border-bottom:1px solid #abb6c0}
.panel-head h3{margin:0;font-size:16px;color:#173f6b}.panel-summary{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.panel-summary span{min-width:150px;padding:7px 10px;background:linear-gradient(#fff,#d8e3ec);border:1px solid #8fa3b6;box-shadow:inset 1px 1px #fff,1px 1px 1px #8d9aa5}.panel-summary small{display:block;color:#466075;font-weight:700;font-size:11px;text-transform:uppercase}.panel-summary b{display:block;color:#0a3765;font-size:14px;white-space:nowrap}.panel-body{padding:14px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.data-table{width:100%;border-collapse:collapse;background:#fff}.data-table th{position:sticky;top:0;z-index:1;background:linear-gradient(#eef5fb,#c7d8e7);color:#183d62;text-align:left;border:1px solid #91a3b5;padding:10px 9px;white-space:nowrap}
.data-table td{border:1px solid #c5ced6;padding:9px;vertical-align:middle}.data-table tbody tr:nth-child(even){background:#f1f5f8}.data-table tbody tr:hover{background:#e1f0ff}.table-wrap{overflow:auto;max-height:calc(100vh - 290px)}.actions{white-space:nowrap}
.mini{padding:5px 8px;font-size:12px;margin-right:4px}.danger{color:#fff!important;border-color:#9f111e!important;background:linear-gradient(#ef5360,#bd1724)!important}.success{color:#fff!important;border-color:#0b6c31!important;background:linear-gradient(#38b860,#138139)!important}
.badge{display:inline-block;padding:4px 8px;border-radius:3px;font-weight:700;font-size:12px;border:1px solid}.badge.green{background:#dff5e5;color:#0c7130;border-color:#7dc991}.badge.orange{background:#fff0d7;color:#a94d05;border-color:#e6ad5e}.badge.red{background:#ffe2e4;color:#a7101d;border-color:#e28b91}.badge.blue{background:#dcecff;color:#0c55a5;border-color:#86afe0}
.empty{padding:38px;text-align:center;color:#72808c;background:#fff;border:1px dashed #acb6bf}.search{width:250px;padding:8px 10px}.toolbar-filter{width:150px;padding:8px 10px}.money{font-weight:750;white-space:nowrap}.profit{color:#117e37}.loss{color:#c52432}
dialog{padding:0;border:0;background:transparent;max-width:none;max-height:none}dialog::backdrop{background:#0a1d2f99}.modal-window{width:min(920px,calc(100vw - 50px));max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:#eef2f5;border:3px ridge #fff;box-shadow:0 20px 50px #0007}
.modal-window>header{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:linear-gradient(#fff,#dbe4eb);border-bottom:1px solid #9ca9b4}.modal-window h3{margin:0;color:#123f78;font-size:20px}.modal-window header p{margin:4px 0 0;color:#667788}.icon-button{border:2px outset #fff;background:#e7eaec;width:34px;height:30px;font-size:20px;font-weight:900}
.modal-body{padding:18px;overflow:auto;flex:1 1 auto;min-height:0}.modal-window>footer{display:flex;justify-content:flex-end;gap:9px;padding:12px 16px;background:#dde4e9;border-top:1px solid #a5b0ba}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 16px}.form-grid label{margin-top:8px}.span-2{grid-column:1/-1}.form-hint{margin-top:10px;padding:9px 12px;background:linear-gradient(#fffdf2,#e8f0f8);border:1px solid #a9b9c7;color:#27445d;font-size:13px;border-radius:2px}.section-title{grid-column:1/-1;margin:18px 0 5px;padding:8px 10px;background:linear-gradient(#f9fcff,#d6e4f0);border:1px solid #9eafbd;color:#164a7d;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:8px}
.item-editor{grid-column:1/-1;border:1px solid #9caab6;background:#fff;margin-top:10px}.item-editor-head,.item-row{display:grid;grid-template-columns:90px 1.8fr 90px 105px 140px 100px 38px;gap:6px;align-items:center;padding:7px}
.item-editor-head{background:#d9e5ef;font-weight:700;color:#1e476e;border-bottom:1px solid #a7b4c0}.item-row{border-bottom:1px solid #dce2e7}.item-row input,.item-row select{padding:7px}.item-row button{height:33px}.add-item{margin:9px}
.license-box{display:grid;grid-template-columns:1fr 1fr;gap:14px}.license-card{padding:18px;background:linear-gradient(#fff,#e5ebef);border:2px ridge #fff}.license-card h3{margin:0 0 15px;color:#153f73}.license-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #cbd3d9}.license-row b{text-align:right}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick-action{padding:18px;text-align:left;min-height:92px}.quick-action b{display:block;color:#164f86;margin-bottom:7px}.quick-action small{color:#667788}
#toast{position:fixed;right:24px;bottom:62px;z-index:1000;min-width:260px;max-width:420px;padding:13px 16px;background:#183f63;color:#fff;border:2px ridge #fff;box-shadow:0 7px 20px #0005;transform:translateY(30px);opacity:0;pointer-events:none;transition:.2s}
#toast.show{transform:none;opacity:1}#toast.error{background:#a91c28}
@media(max-width:1200px){.stat-grid{grid-template-columns:repeat(2,1fr)}.auth-highlights{grid-template-columns:1fr}.auth-highlights small{display:none}}
.permission-box{margin-top:10px;padding:12px;background:linear-gradient(#fff,#e3edf5);border:1px solid #93a6b7;box-shadow:inset 1px 1px #fff,1px 1px 1px #8c99a5}
.permission-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px;color:#164a7d}.permission-head span{font-size:12px;color:#5e7080;font-weight:600;text-align:right}
.permission-actions{display:flex;justify-content:flex-end;gap:6px;margin-bottom:8px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:8px}
.permission-item{margin:0!important;display:flex;align-items:center;gap:10px;padding:8px 10px;background:linear-gradient(#fff,#edf2f6);border:1px solid #a4b1bd;font-weight:750;color:#1d3852;box-shadow:inset 1px 1px #fff}.permission-item input{width:auto}.permission-item .nav-icon{width:28px;height:28px;font-size:15px;flex:0 0 auto}.permission-item b{font-size:13px}.access-list{max-width:360px;line-height:1.45}.small-empty{font-size:12px;padding:18px;margin-top:6px}
@media(max-width:1200px){.permission-grid{grid-template-columns:1fr}.permission-head{display:block}.permission-head span{display:block;text-align:left;margin-top:4px}}

/* User Management: hak akses staf dibuat selalu terlihat dan ringkas pada layar 1366x768. */
.user-form-grid .permission-box{margin-top:14px;padding:10px;background:linear-gradient(#ffffff,#e6f0f8)}
.user-form-grid .permission-head{margin-bottom:6px}.user-form-grid .permission-head b{font-size:14px}.user-form-grid .permission-head span{font-size:11px}
.user-form-grid .permission-actions{margin-bottom:7px}.user-form-grid .permission-grid{grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:6px}
.user-form-grid .permission-item{min-height:34px;padding:5px 7px;gap:7px}.user-form-grid .permission-item .nav-icon{width:23px;height:23px;font-size:12px}.user-form-grid .permission-item b{font-size:12px}
@media(max-height:820px){.modal-window{max-height:calc(100vh - 18px)}.modal-window>header{padding:10px 16px}.modal-body{padding:12px 18px}.modal-window>footer{padding:10px 16px}.user-form-grid .permission-box{margin-top:10px}.user-form-grid .permission-item{min-height:30px;padding:4px 7px}}

/* V7: Job/Pekerjaan dipisah menjadi Start, Finish, dan Rekap. */
.nav-submenu{display:none;margin:-4px 0 5px 26px;padding:4px 0 4px 9px;border-left:2px ridge #ffffff}
.nav-submenu.open{display:block}
.nav-sub-button{width:100%;min-height:38px;margin:3px 0;display:flex;align-items:center;gap:10px;padding:5px 10px;border:1px solid #a6b1bb;border-top-color:#fff;border-left-color:#fff;background:linear-gradient(100deg,#fbfdff,#dfe7ee);font-weight:750;text-align:left;color:#17304b}
.nav-sub-button .nav-icon{width:25px;height:25px;font-size:12px}
.nav-sub-button:hover,.nav-sub-button.active{background:linear-gradient(100deg,#fff,#cde3fa);color:#064f96;border-color:#769ac0}
.job-tabs{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.job-tab{min-width:72px;padding:8px 12px!important;font-weight:800}
.job-tab.active{color:#fff!important;border-color:#075aa9!important;background:linear-gradient(#4da9ff,#075fb9)!important;text-shadow:0 1px 1px #003a70}
@media(max-width:1100px){.job-tabs{width:100%;justify-content:flex-end}.job-tab{min-width:88px}}


/* V13 LSS: Logo Logistic Sarana Samudera */
.auth-logo{width:min(360px,72%);height:260px;object-fit:contain;object-position:left center;background:rgba(255,255,255,.94);border-radius:10px;padding:12px;box-shadow:inset 1px 1px #fff,0 8px 22px rgba(0,0,0,.20)}
.header-brand img{width:132px;height:112px;object-fit:contain;background:#fff;border:1px solid #d2dce5;border-radius:6px;padding:4px}
.header-brand strong{font-size:25px}.header-brand small{font-size:15px}.login-icon{background:#fff;border-radius:6px;padding:3px}.window-title img{background:#fff;border-radius:3px;padding:1px}

/* V17 LSS: logo transparan, center, nama aplikasi Sarana Samudera */
.brand-copy{
  text-align:center!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
}
.auth-logo{
  width:min(260px,58%)!important;
  height:auto!important;
  max-height:260px!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.18))!important;
  display:block!important;
  margin:0 auto 14px!important;
}
.auth-title{
  text-align:center!important;
  margin-top:0!important;
  font-size:34px!important;
  line-height:1.15!important;
}
.auth-subtitle{
  text-align:center!important;
}
.header-brand img,
.login-icon,
.window-title img{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
}
.header-brand img{
  width:118px!important;
  height:104px!important;
  object-fit:contain!important;
}


/* V21: ringkasan Job dipindahkan ke toolbar atas dan role User tetap readonly. */
.content-toolbar #page-actions .job-toolbar-summary{
  order:18;
  flex:1 1 620px;
  justify-content:flex-end;
  margin:1px 4px 0 0;
}
.content-toolbar #page-actions .job-toolbar-summary span{
  min-width:150px;
  padding:7px 10px;
}
.content-toolbar #page-actions .job-tabs{order:20;}
.content-toolbar #page-actions > .primary{order:21;}
.content-toolbar #page-actions .job-toolbar-summary + .job-tabs{margin-left:2px;}
@media(max-width:1300px){
  .content-toolbar #page-actions .job-toolbar-summary{flex-basis:100%;justify-content:flex-end;}
  .content-toolbar #page-actions .job-toolbar-summary span{min-width:138px;}
}


/* V22: ringkasan Job di sebelah kiri tombol Start/Finish/Rekap, font diperkecil agar muat satu frame. */
html,body{font-size:12.5px!important;}
.titlebar{height:28px!important;flex-basis:28px!important;}
.window-title img{width:19px!important;height:19px!important;}
.window-controls span,.window-controls button{width:30px!important;font-size:15px!important;}
.app-header{height:116px!important;flex-basis:116px!important;padding:8px 26px!important;}
.header-brand{gap:14px!important;}
.header-brand img{width:98px!important;height:86px!important;padding:2px!important;background:transparent!important;border:0!important;}
.header-brand strong{font-size:22px!important;}
.header-brand small{font-size:13px!important;margin-top:4px!important;}
.header-user{gap:10px!important;padding-left:18px!important;}
.header-user b{font-size:15px!important;}
.header-user div{min-width:120px!important;}
.user-avatar{width:44px!important;height:44px!important;font-size:27px!important;}
.logout{margin-left:8px!important;padding:8px 14px!important;}
.workspace{grid-template-columns:226px 1fr!important;}
.sidebar{padding:6px 5px!important;}
.nav-button{height:48px!important;gap:10px!important;padding:6px 10px!important;font-size:12.5px!important;}
.nav-icon{width:30px!important;height:30px!important;font-size:16px!important;}
.nav-sub-button{min-height:32px!important;padding:4px 8px!important;font-size:12px!important;}
.nav-sub-button .nav-icon{width:22px!important;height:22px!important;font-size:11px!important;}
.main{padding:8px!important;}
.content-toolbar{min-height:66px!important;padding:8px 12px!important;align-items:flex-start!important;}
.content-toolbar h2{font-size:21px!important;line-height:1.15!important;}
.content-toolbar p{font-size:12px!important;line-height:1.35!important;margin-top:4px!important;}
.content-toolbar #page-actions{gap:6px!important;align-items:center!important;}
.search{width:220px!important;padding:6px 8px!important;}
.toolbar-filter{width:136px!important;padding:6px 8px!important;}
.primary,.emboss{padding:7px 13px!important;}
.job-command-row{flex-basis:100%!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;margin-top:2px!important;}
.content-toolbar #page-actions .job-command-row .job-toolbar-summary{order:1!important;flex:0 1 auto!important;flex-basis:auto!important;display:flex!important;gap:6px!important;justify-content:flex-end!important;margin:0!important;}
.content-toolbar #page-actions .job-command-row .job-toolbar-summary span{min-width:118px!important;padding:5px 7px!important;}
.content-toolbar #page-actions .job-command-row .job-toolbar-summary small{font-size:9.8px!important;line-height:1.1!important;}
.content-toolbar #page-actions .job-command-row .job-toolbar-summary b{font-size:12.2px!important;line-height:1.15!important;}
.content-toolbar #page-actions .job-command-row .job-tabs{order:2!important;width:auto!important;flex:0 0 auto!important;justify-content:flex-end!important;}
.content-toolbar #page-actions .job-command-row > .primary{order:3!important;flex:0 0 auto!important;}
.job-tab{min-width:62px!important;padding:7px 10px!important;}
.page-content{padding:8px 0 0!important;}
.panel{margin-bottom:8px!important;}
.panel-head{min-height:38px!important;padding:6px 10px!important;}
.panel-head h3{font-size:14px!important;}
.panel-body{padding:10px!important;}
.data-table th{padding:6px 7px!important;font-size:12px!important;}
.data-table td{padding:5px 6px!important;font-size:12px!important;line-height:1.22!important;}
.table-wrap{max-height:calc(100vh - 245px)!important;}
.badge{padding:3px 6px!important;font-size:11px!important;}
.mini{padding:4px 7px!important;font-size:11.5px!important;}
.money{font-size:12px!important;}
.cell-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal!important;word-break:break-word;line-height:1.22;max-width:132px;}
.app-footer{height:38px!important;flex-basis:38px!important;font-size:11px!important;padding:0 12px!important;}
@media(max-width:1300px){
  .content-toolbar #page-actions .job-command-row .job-toolbar-summary{flex-basis:auto!important;}
  .content-toolbar #page-actions .job-command-row .job-toolbar-summary span{min-width:108px!important;}
  .toolbar-filter{width:128px!important;}
  .search{width:200px!important;}
}

/* V23 - multi file attachment support */
.file-links{display:flex;flex-wrap:wrap;gap:4px;align-items:center;justify-content:center;}
.file-field small{display:block;margin-top:4px;color:#607080;font-size:11px;line-height:1.25;}
.existing-files{margin:3px 0 5px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:11px;color:#40546a;}
.existing-files .file-links{display:inline-flex;justify-content:flex-start;}

/* V24: Dashboard nominal compact - mencegah nilai Rupiah keluar dari card */
.stat-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}
.stat-card{
  grid-template-columns:46px minmax(0,1fr)!important;
  gap:10px!important;
  padding:12px!important;
  min-height:92px!important;
  overflow:hidden!important;
}
.stat-card .stat-icon{
  width:44px!important;
  height:52px!important;
  font-size:22px!important;
  align-self:center!important;
}
.stat-card > div{
  min-width:0!important;
  overflow:hidden!important;
}
.stat-card label{
  display:block!important;
  font-size:13px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.stat-card strong{
  display:block!important;
  max-width:100%!important;
  font-size:clamp(14px,1.18vw,18px)!important;
  line-height:1.08!important;
  letter-spacing:-.45px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  margin:5px 0 2px!important;
}
.stat-card small{
  display:block!important;
  font-size:10.5px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:1280px){
  .stat-grid{gap:8px!important;}
  .stat-card{grid-template-columns:40px minmax(0,1fr)!important;gap:8px!important;padding:10px!important;}
  .stat-card .stat-icon{width:38px!important;height:48px!important;font-size:20px!important;}
  .stat-card strong{font-size:clamp(13px,1.08vw,16px)!important;letter-spacing:-.6px!important;}
  .stat-card label{font-size:12px!important;}
  .stat-card small{font-size:10px!important;}
}


/* V25: satu tombol Lihat File dengan daftar file di popup */
.file-links{display:inline-flex!important;align-items:center;justify-content:center;}
.file-list-btn{white-space:nowrap;min-width:76px;text-align:center;}
.existing-files .file-list-btn{margin-left:2px;}
.file-modal-window{width:min(460px,calc(100vw - 42px))!important;}
.file-modal-list{display:flex;flex-direction:column;gap:8px;}
.file-modal-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;background:#f7fafc;border:1px solid #aebdca;box-shadow:inset 1px 1px #fff,inset -1px -1px #c5d0da;font-size:12px;}
.file-modal-item span{font-weight:800;color:#123f78;min-width:70px;}
.file-modal-item a{margin:0!important;}
.data-table td .file-list-btn{margin:0 auto;display:block;}
