
:root{
  --blue:#0f4c81;--blue2:#0a3154;--blue3:#1f6aa5;--orange:#b7791f;--green:#166534;--red:#b91c1c;--purple:#5b44c8;
  --bg:#eef3f8;--bg2:#f7fafc;--card:#ffffff;--line:#d6e0ea;--line2:#c5d3e0;--text:#172033;--muted:#64748b;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(180deg,#edf3f9 0%,#f7fbff 220px,#eef3f8 100%);color:var(--text);padding-bottom:72px}
.app-header{position:relative;background:radial-gradient(circle at top left,rgba(255,255,255,.18),transparent 28%),linear-gradient(135deg,var(--blue2),var(--blue),#1a6aa5);color:#fff;padding:30px 16px 28px;text-align:center;box-shadow:0 18px 42px rgba(15,23,42,.16);overflow:hidden}
.app-header::before{content:"";position:absolute;right:-40px;top:-28px;width:180px;height:180px;border-radius:999px;background:rgba(255,255,255,.08)}
.app-header::after{content:"";position:absolute;left:-60px;bottom:-80px;width:220px;height:220px;border-radius:999px;background:rgba(255,255,255,.06)}
.app-header h1{position:relative;margin:0 0 8px;font-size:30px;letter-spacing:.3px}
.app-header p{position:relative;margin:0;font-size:14px;opacity:.95;font-weight:700}
.ko{display:block;margin-top:3px;font-size:10.5px;color:inherit;opacity:.78;font-weight:800}
main{max-width:1600px;margin:0 auto 42px;padding:0 16px}.login-info-bar{position:sticky;top:0;z-index:1000;display:none;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:14px 18px;background:linear-gradient(180deg,#f7fbff,#eff6ff);border:1px solid #cfe0f0;border-top:0;border-radius:0 0 22px 22px;box-shadow:0 16px 36px rgba(15,23,42,.10)}
.login-info-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.login-user-badge{border-radius:999px;padding:8px 14px;background:linear-gradient(135deg,var(--blue),#1d5f95);color:#fff;font-size:13px;font-weight:900;box-shadow:0 8px 18px rgba(15,76,129,.18)}.login-role-text{font-size:14px;font-weight:900}.login-info-bar.daon{background:linear-gradient(180deg,#fffaf3,#fff7ed);border-color:#f7d4a4}.login-info-bar.daon .login-user-badge{background:linear-gradient(135deg,#d98621,var(--orange))}
.logout-btn{border:0;border-radius:999px;padding:10px 16px;background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff;font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 10px 18px rgba(185,28,28,.18)}.logout-btn:hover{filter:brightness(.96)}
.login-overlay{position:fixed;inset:0;z-index:100000;background:radial-gradient(circle at top left,rgba(255,255,255,.18),transparent 34%),linear-gradient(135deg,#0c3d67 0%,#0f4c81 45%,#082f49 100%);display:flex;align-items:center;justify-content:center;padding:22px}.login-card{width:min(760px,100%);background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);border-radius:30px;box-shadow:0 30px 90px rgba(0,0,0,.28);padding:28px 30px;border:1px solid rgba(255,255,255,.55)}.login-card label{display:block;font-weight:900;font-size:13px;margin:10px 0 7px;color:#133b61}.login-card input,.login-card select{width:100%;border:1px solid #c9d8e7;border-radius:15px;padding:14px 15px;font-size:15px;background:#fff;box-shadow:inset 0 1px 2px rgba(15,76,129,.05)}.login-card input:focus,.login-card select:focus{outline:none;border-color:#5b9bd5;box-shadow:0 0 0 3px rgba(91,155,213,.16)}.login-card button{width:100%;margin-top:18px;border:0;border-radius:16px;padding:15px 16px;background:linear-gradient(135deg,#0f4c81,#145d99);color:#fff;font-weight:900;font-size:17px;cursor:pointer;box-shadow:0 12px 24px rgba(15,76,129,.22)}.login-card button:hover{transform:translateY(-1px)}.login-error{display:none;margin-top:12px;background:#fee2e2;color:#991b1b;padding:10px 12px;border-radius:12px;font-size:12px;font-weight:800}.login-footer-note{margin-top:16px;padding-top:12px;border-top:1px solid #d6e6f0;text-align:center;color:#537085;font-size:12px;line-height:1.55;font-weight:800}.login-footer-note .year{display:block;color:#0f4c81;font-size:12.5px;font-weight:900;letter-spacing:.3px}.login-footer-note .designer{display:block;margin-top:3px}.demo-note{margin-top:14px;padding:14px 14px;border-radius:16px;background:#eef5fb;color:#42566e;font-size:13px;line-height:1.5;border:1px solid #d7e5f3}.login-role-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 18px}.login-role-card{border:1px solid rgba(167,205,223,.75);border-radius:24px;padding:22px 18px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;transition:.22s ease;position:relative;min-height:185px;text-align:center;box-shadow:0 14px 34px rgba(8,47,73,.12);overflow:hidden}.login-role-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(255,255,255,.82),transparent 34%);pointer-events:none}.login-role-card::after{content:"";position:absolute;left:-12%;right:-12%;bottom:-38px;height:96px;background:radial-gradient(ellipse at center,rgba(53,141,180,.12),transparent 68%);pointer-events:none}.login-role-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(8,47,73,.16)}.login-role-card.active{transform:translateY(-3px) scale(1.015);box-shadow:0 0 0 4px rgba(255,255,255,.35),0 24px 44px rgba(8,47,73,.26)}.login-role-card.novo{background:linear-gradient(180deg,#f5fcff 0%,#e2f4fa 55%,#d2edf6 100%);border-color:#abd8e8}.login-role-card.novo.active{background:linear-gradient(160deg,#075985 0%,#0f7692 52%,#1ea6b8 100%);border-color:#8ce8f2}.login-role-card.daon{background:linear-gradient(180deg,#f4fbff 0%,#dff1f9 55%,#cde7f5 100%);border-color:#a7d0e5}.login-role-card.daon.active{background:linear-gradient(160deg,#0b3f6d 0%,#145f9c 50%,#2b91d1 100%);border-color:#9fd4ff}.login-role-card.active::before{background:radial-gradient(circle at top right,rgba(255,255,255,.26),transparent 34%)}.login-role-card.active::after{background:radial-gradient(ellipse at center,rgba(255,255,255,.18),transparent 68%)}.login-role-card>div:last-child{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;z-index:1}.login-role-icon{width:94px;height:94px;border-radius:26px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:30px;font-weight:900;flex:0 0 94px;overflow:hidden;position:relative;z-index:1;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,251,254,.94));box-shadow:0 10px 24px rgba(32,108,145,.12),inset 0 1px 0 rgba(255,255,255,.95);border:1px solid rgba(175,209,225,.8);padding:10px}.login-role-card.active .login-role-icon{background:linear-gradient(180deg,rgba(255,255,255,1),rgba(247,252,255,.98));box-shadow:0 14px 28px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.95)}.login-role-card.novo .login-role-icon img{width:72px;height:72px;object-fit:contain;display:block;filter:drop-shadow(0 2px 2px rgba(7,73,104,.08))}.login-role-card.daon .login-role-icon img{width:72px;height:72px;object-fit:contain;display:block;filter:drop-shadow(0 2px 2px rgba(7,73,104,.08))}.login-role-title{font-size:24px;font-weight:900;color:#0a4262;line-height:1.18;letter-spacing:.4px;text-shadow:none}.login-role-sub{margin-top:0;font-size:12.5px;line-height:1.45;color:#4d7083;font-weight:700;max-width:220px}.login-role-card.active .login-role-title{color:#ffffff;text-shadow:0 1px 2px rgba(0,0,0,.14)}.login-role-card.active .login-role-sub{color:rgba(255,255,255,.92)}.login-selected-badge{position:absolute;top:12px;right:12px;background:#ffffff;color:#0b4f7f;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:900;display:none;box-shadow:0 6px 14px rgba(8,47,73,.18);z-index:2}.login-role-card.active .login-selected-badge{background:#fff;color:#0b4f7f}.login-role-card.active .login-selected-badge{display:inline-flex}.login-hint{margin:4px 0 2px;font-size:12px;color:#475569;font-weight:700}.login-card button.login-submit{margin-top:18px}.hidden-login-role{display:none !important}@media (max-width:600px){.login-card{padding:22px 18px;border-radius:24px}.login-role-cards{gap:12px}.login-role-card{min-height:160px;padding:18px 12px}.login-role-icon{width:76px;height:76px;flex-basis:76px;padding:8px}.login-role-card.novo .login-role-icon img,.login-role-card.daon .login-role-icon img{width:58px;height:58px}.login-role-title{font-size:18px}.login-role-sub{font-size:12px;max-width:150px}}
.section-title{margin:16px 0 12px;padding:14px 16px;border-radius:20px;background:linear-gradient(90deg,#0d3d68,#135689,#2b74a9);color:#fff;box-shadow:0 14px 30px rgba(15,76,129,.14);border:1px solid rgba(255,255,255,.18)}.section-title h2{margin:0 0 5px;font-size:18px;letter-spacing:.2px}.section-title p{margin:0;font-size:12px;font-weight:800;opacity:.92}
.dashboard-groups{display:flex;flex-direction:column;gap:18px;margin:14px 0 22px}.dashboard-group{background:#f8fbff;border:1px solid #dce8f4;border-radius:24px;padding:14px 14px 16px;box-shadow:0 12px 28px rgba(15,23,42,.06)}.dashboard-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.dashboard-group-head h3{margin:0;font-size:17px;color:#0f4c81}.dashboard-group-head p{margin:3px 0 0;font-size:12px;color:#64748b;font-weight:800;line-height:1.4}.dashboard-badge{padding:7px 12px;border-radius:999px;background:#eaf4ff;color:#0f4c81;font-size:11px;font-weight:900;white-space:nowrap}.cards{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px}.cards.cards-secondary{grid-template-columns:repeat(4,minmax(150px,1fr))}.card{position:relative;display:flex;align-items:center;gap:12px;min-height:104px;padding:16px;border-radius:24px;color:#fff;overflow:hidden;box-shadow:0 18px 34px rgba(15,23,42,.14);cursor:pointer;border:1px solid rgba(255,255,255,.14);transition:.18s ease}.card::before{content:"";position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:999px;background:rgba(255,255,255,.10)}.card::after{content:"";position:absolute;right:-24px;bottom:-24px;width:92px;height:92px;border-radius:999px;background:rgba(255,255,255,.10)}.card-icon{position:relative;z-index:1;width:54px;height:54px;min-width:54px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.20);font-size:26px;border:1px solid rgba(255,255,255,.24);box-shadow:inset 0 1px 1px rgba(255,255,255,.18)}.card-content{position:relative;z-index:1}.card strong{display:block;font-size:27px;line-height:1;margin:0 0 5px;color:#fff}.card span{display:block;font-size:12px;line-height:1.24;color:rgba(255,255,255,.96);font-weight:900}.card:hover{transform:translateY(-3px);box-shadow:0 22px 38px rgba(15,23,42,.20)}.c-blue{background:linear-gradient(135deg,#1e63ae,#0f4c81)}.c-slate{background:linear-gradient(135deg,#5f6f82,#334155)}.c-cyan{background:linear-gradient(135deg,#0c83b0,#085d7a)}.c-green{background:linear-gradient(135deg,#1f9b5c,#146a40)}.c-purple{background:linear-gradient(135deg,#6f5ae8,#4d35bf)}.c-red{background:linear-gradient(135deg,#df4d43,#a91b1b)}.c-orange{background:linear-gradient(135deg,#db9a24,#9b6212)}.c-teal{background:linear-gradient(135deg,#0f9b8e,#0f766e)}.c-indigo{background:linear-gradient(135deg,#5b6ee1,#4338ca)}
.panel{background:linear-gradient(180deg,#ffffff,#fbfdff);border:1px solid var(--line);border-radius:22px;padding:16px;margin:16px 0;box-shadow:0 12px 28px rgba(15,76,129,.07)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-head h2{margin:0;font-size:18px;color:#0f4c81;letter-spacing:.15px}.count-pill{border:0;border-radius:20px;padding:13px 18px;min-width:110px;background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 12px 24px rgba(220,38,38,.20)}.count-pill.safe{background:linear-gradient(135deg,#1a9d52,#166534);box-shadow:0 12px 24px rgba(22,163,74,.16)}.count-pill span{display:block;font-size:30px;line-height:1}.count-pill small{display:block;margin-top:4px;font-size:12px}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mini-list{display:none;margin-top:14px;border-top:1px dashed var(--line2);padding-top:14px}.mini-list h3{margin:0 0 10px;font-size:14px;color:#334155}.list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mini-item{position:relative;min-height:86px;border:1px solid #dfe7ef;border-radius:16px;background:linear-gradient(180deg,#fbfdff,#f8fbfe);padding:10px 10px 10px 72px;box-shadow:0 4px 12px rgba(15,23,42,.04)}.mini-item img,.photo-placeholder{position:absolute;left:10px;top:10px;width:50px;height:60px;border-radius:10px;object-fit:cover;border:2px solid #cbd5e1;background:#fff}.photo-placeholder{display:flex;align-items:center;justify-content:center;color:#64748b;font-size:19px;border-style:dashed}.mini-item strong{display:block;font-size:13px;margin-bottom:4px}.mini-item .meta{display:block;color:#475569;font-size:11px;font-weight:800;line-height:1.35}.tag{display:inline-block;margin:6px 4px 0 0;border-radius:999px;padding:4px 7px;font-size:10.5px;font-weight:900}.tag-red{background:#dc2626;color:#fff}.tag-green{background:#16a34a;color:#fff}.tag-blue{background:#0f4c81;color:#fff}.tag-orange{background:#f59e0b;color:#111827}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.toolbar input{min-width:260px;flex:1}.toolbar input,.toolbar select,.toolbar button{border:1px solid var(--line);border-radius:10px;padding:10px;font-size:13px}.toolbar button{border:0;background:var(--blue);color:#fff;font-weight:900;cursor:pointer}.toolbar button.danger{background:#b91c1c}.toolbar button.orange{background:#92400e}.toolbar button.success{background:#15803d}.toolbar button.backup{background:#0f766e}.toolbar button.restore{background:#7c3aed}.backup-note{margin:10px 0;padding:10px 12px;border-radius:12px;background:#ecfeff;color:#155e75;font-size:12px;font-weight:800;line-height:1.45;border:1px solid #a5f3fc}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;max-height:720px;background:#fff}table{width:100%;min-width:1800px;border-collapse:collapse}th,td{padding:8px 7px;border-bottom:1px solid #e5e7eb;font-size:12px;text-align:left;vertical-align:top}th{position:sticky;top:0;z-index:2;background:#eef5fb;color:#082f49;white-space:nowrap}tr:hover{background:#f9fafb}.badge{display:inline-block;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;background:#e0f2fe;color:#075985}.status-ok{background:#dcfce7;color:#166534}.status-danger{background:#fee2e2;color:#991b1b}.status-warn{background:#fef3c7;color:#92400e}.row-danger{background:#fff1f2!important}.row-watch{background:#fff7ed!important}.abk-cell{text-align:center;min-width:220px}.photo-box{position:relative;width:92px;height:118px;margin:0 auto 10px}.abk-photo,.abk-photo-empty{width:92px;height:118px;border-radius:14px;object-fit:cover;border:2px solid #cbd5e1;background:#f8fafc;box-shadow:0 6px 14px rgba(15,23,42,.08)}.abk-photo-empty{display:flex;align-items:center;justify-content:center;color:#64748b;font-size:28px;border-style:dashed}.photo-upload-label{display:none}.photo-upload-label input{display:none}.photo-del{display:none}.locked{display:none}.abk-name{display:block;font-weight:900;line-height:1.25}.sub{display:block;color:#64748b;font-size:11px;margin-top:4px}.field-stack{min-width:166px}.field-stack label{display:block;font-size:10px;font-weight:900;color:#475569;margin:0 0 3px}.field-stack input{width:100%;border:1px solid #d1d5db;border-radius:8px;padding:6px 8px;font-size:11.5px;height:31px;margin-bottom:7px}.field-stack input:disabled,.upload-input:disabled{background:#f1f5f9;color:#64748b;cursor:not-allowed}.auto-expired{display:block;padding:7px;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;font-size:11.5px;font-weight:800}.upload-box{min-width:165px}.upload-input{width:165px;border:1px solid #d1d5db;border-radius:9px;padding:6px;font-size:11px;background:#f8fafc}.file-name{display:block;margin-top:5px;color:#334155;font-size:11px;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-btn{margin-top:5px;margin-right:4px;border:0;border-radius:8px;padding:5px 7px;font-size:11px;font-weight:900;cursor:pointer}.file-open{background:#dbeafe;color:#1d4ed8}.file-del{background:#fee2e2;color:#991b1b}
.novo-file-box{min-width:210px;max-width:230px}.novo-file-group{border:1px dashed #bfdbfe;background:#f8fbff;border-radius:12px;padding:8px;margin-bottom:7px}.novo-file-group.done{border-color:#bbf7d0;background:#f0fdf4}.novo-file-group.uploading{opacity:.72;pointer-events:none}.novo-file-title{display:block;color:#0f4c81;font-size:11px;font-weight:900;margin-bottom:5px}.novo-file-input{width:100%;font-size:11px;border:1px solid #d1d5db;border-radius:8px;padding:5px;background:#fff}.novo-file-name{display:block;margin-top:5px;color:#334155;font-size:10.5px;font-weight:800;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.novo-file-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.novo-download-btn{border:0;border-radius:8px;padding:5px 7px;font-size:10.5px;font-weight:900;cursor:pointer;background:#dbeafe;color:#1d4ed8}.novo-delete-btn{border:0;border-radius:8px;padding:5px 7px;font-size:10.5px;font-weight:900;cursor:pointer;background:#fee2e2;color:#991b1b}.novo-missing{display:inline-block;border-radius:999px;padding:4px 7px;background:#fee2e2;color:#991b1b;font-size:10.5px;font-weight:900}.novo-complete{display:inline-block;border-radius:999px;padding:4px 7px;background:#dcfce7;color:#166534;font-size:10.5px;font-weight:900}.novo-file-note{display:block;margin-top:5px;color:#64748b;font-size:10px;font-weight:800;line-height:1.25}.novo-file-preview{margin-top:7px;border-radius:10px;overflow:hidden;border:1px solid #d7dee8;background:#fff}.novo-file-preview.image{height:94px;display:flex;align-items:center;justify-content:center}.novo-file-preview.image img{width:100%;height:94px;object-fit:cover;display:block}.novo-file-preview.doc{display:flex;align-items:center;gap:8px;padding:8px}.novo-file-preview-icon{width:42px;height:42px;flex:0 0 42px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#fee2e2;color:#b91c1c;font-size:11px;font-weight:900}.novo-file-preview-meta{min-width:0}.novo-file-preview-meta strong{display:block;color:#0f4c81;font-size:10.5px;line-height:1.2}.novo-file-preview-meta span{display:block;color:#64748b;font-size:9.8px;font-weight:800;line-height:1.25;margin-top:2px}.novo-upload-ok{display:block;margin-top:5px;color:#166534;font-size:10px;font-weight:900}.novo-upload-wait{display:block;margin-top:5px;color:#92400e;font-size:10px;font-weight:900}
.ship-stack strong{display:block;font-size:12.5px}.ship-stack span{display:block;margin-top:4px;color:#475569;font-size:11px;font-weight:800}.bottom-scroll-fixed{position:fixed;left:12px;right:12px;bottom:12px;z-index:900;background:rgba(255,255,255,.96);border:1px solid #cbd5e1;border-radius:16px;box-shadow:0 10px 30px rgba(15,23,42,.22);padding:8px 12px 7px}.bottom-label{display:flex;justify-content:space-between;gap:10px;color:#0f4c81;font-size:12px;font-weight:900;margin-bottom:5px}.bottom-scroll-box{overflow-x:scroll;overflow-y:hidden;height:22px;border:1px solid #cbd5e1;border-radius:999px;background:#f1f5f9}.bottom-scroll-inner{height:1px;min-width:2500px}.muted{margin-top:10px;color:#64748b;font-size:12px;line-height:1.45}.top-detail{display:none}.detail-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.detail-toolbar input{flex:1;min-width:260px;border:1px solid #cbd5e1;border-radius:10px;padding:10px}.detail-toolbar button{border:0;border-radius:10px;padding:9px 11px;background:#dbeafe;color:#1d4ed8;font-size:12px;font-weight:900;cursor:pointer}.hidden{display:none!important}@keyframes blink{50%{opacity:.45}}.blink{animation:blink 1s infinite}

.edit-abk-btn{margin-top:7px;border:0;border-radius:999px;padding:6px 9px;background:#dbeafe;color:#1d4ed8;font-size:11px;font-weight:900;cursor:pointer}.edit-abk-btn:hover{background:#bfdbfe}.edit-abk-btn:disabled{background:#e2e8f0;color:#64748b;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;z-index:100002;display:none;align-items:center;justify-content:center;background:rgba(15,23,42,.62);padding:16px}.modal-card{width:min(780px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 24px 70px rgba(0,0,0,.35);padding:18px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;border-bottom:1px solid #e5e7eb;padding-bottom:12px}.modal-head h2{margin:0;color:#0f4c81;font-size:20px}.modal-head p{margin:5px 0 0;color:#64748b;font-size:12px;font-weight:800;line-height:1.35}.modal-close{border:0;border-radius:999px;background:#fee2e2;color:#991b1b;font-weight:900;padding:8px 12px;cursor:pointer}.edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.edit-field label{display:block;font-size:12px;font-weight:900;color:#475569;margin:0 0 5px}.edit-field input,.edit-field select{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px;font-size:13px}.edit-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px;border-top:1px solid #e5e7eb;padding-top:12px}.edit-actions button{border:0;border-radius:11px;padding:10px 13px;font-size:13px;font-weight:900;cursor:pointer}.btn-save{background:#0f4c81;color:#fff}.btn-reset{background:#fef3c7;color:#92400e}.btn-cancel{background:#e2e8f0;color:#334155}.edit-note{margin-top:10px;padding:10px 12px;border-radius:12px;background:#f8fafc;color:#475569;font-size:12px;font-weight:800;line-height:1.4}.novo-only-note{display:inline-block;margin-top:6px;border-radius:999px;padding:5px 8px;background:#e2e8f0;color:#475569;font-size:10.5px;font-weight:900}

@media(max-width:1300px){.cards{grid-template-columns:repeat(3,1fr)}.cards.cards-secondary{grid-template-columns:repeat(2,1fr)}.list-grid,.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.cards,.cards.cards-secondary{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.cards,.cards.cards-secondary,.list-grid,.dashboard-grid,.edit-grid{grid-template-columns:1fr}.dashboard-group-head{flex-direction:column;align-items:flex-start}.panel-head{align-items:stretch;flex-direction:column}.count-pill{width:100%}.bottom-label{font-size:10px}}

.edit-section-title{grid-column:1/-1;margin:16px 0 8px;color:#0f4c81;font-size:15px;font-weight:900;border-left:5px solid #0f4c81;padding-left:9px}.edit-grid-docs{background:#f8fafc;border:1px solid #dbeafe;border-radius:14px;padding:12px;margin-top:6px}.readonly-doc{display:block;width:100%;min-height:34px;border:1px solid #d1d5db;border-radius:10px;padding:9px 10px;background:#f8fafc;color:#334155;font-size:12px;font-weight:800}.readonly-doc.empty{color:#991b1b;background:#fff1f2;border-color:#fecaca}.edit-doc-hint{display:block;margin-top:4px;font-size:10.5px;color:#64748b;font-weight:800}.edit-doc-mini{margin-top:6px;border:0;border-radius:999px;padding:6px 9px;background:#0f4c81;color:white;font-size:11px;font-weight:900;cursor:pointer}.edit-doc-mini:hover{background:#082f49}


/* ===== V1.9 Rapikan Menu & Tampilan ===== */
.quick-nav {
  position: sticky;
  top: 60px;
  z-index: 990;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
  justify-content: center;
  margin: 0 0 16px;
  padding: 12px;
  border: 1px solid #d2dde8;
  border-radius: 0 0 22px 22px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 12px 26px rgba(15,23,42,.08);
  backdrop-filter: blur(10px);
}
.quick-nav button {
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 999px;
  padding: 10px 14px;
  background: #ecf6ff;
  color: #0b4f7f;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 5px 12px rgba(15,76,129,.06);
}
.quick-nav button:hover { background:#0f4c81; color:#fff; }
.quick-nav .novo-nav { background:#e8f1ff; color:#1d4ed8; }
.quick-nav .daon-nav { background:#fff4e6; color:#9a3412; }
.quick-nav .backup-nav { background:#e8fcf6; color:#0f766e; }
.quick-nav .danger-nav { background:#fef0f0; color:#991b1b; }
.table-panel-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
  padding:15px 16px;
  border-radius:18px;
  background:linear-gradient(90deg,#f9fbfd,#ffffff);
  border:1px solid #dde6ee;
  box-shadow:0 8px 18px rgba(15,76,129,.05);
}
.table-panel-head h2 { margin:0 0 5px; color:#0f4c81; font-size:19px; }
.table-panel-head p { margin:0; color:#64748b; font-size:12px; font-weight:800; line-height:1.35; }
.table-panel-head .version-badge {
  flex:0 0 auto;
  border-radius:999px;
  padding:8px 12px;
  background:linear-gradient(135deg,#0f4c81,#1d5f95);
  color:white;
  font-size:12px;
  font-weight:900;
  box-shadow:0 10px 18px rgba(15,76,129,.18);
}
.control-block {
  margin-bottom:13px;
  padding:14px;
  border-radius:18px;
  background:linear-gradient(180deg,#f8fbfe,#ffffff);
  border:1px solid #dde6ee;
}
.control-title {
  display:block;
  margin-bottom:9px;
  color:#334155;
  font-size:12px;
  font-weight:900;
}
.toolbar.filter-toolbar { margin-bottom:0; }
.sticky-filter-block{
  position: sticky;
  top: 118px;
  z-index: 985;
  box-shadow: 0 14px 30px rgba(15,23,42,.12);
  border-color:#c3d7ea;
}
.sticky-filter-block::before{
  content:"";
  position:absolute;
  left:0;right:0;top:-10px;height:10px;
  background:linear-gradient(180deg,rgba(238,243,248,0),rgba(238,243,248,.95));
}
.sticky-filter-block .control-title{font-size:13px;color:#0f4c81;}
@media(max-width:700px){.sticky-filter-block{position:static;}}

.action-zone {
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:12px;
  margin: 0 0 14px;
}
.action-group {
  border:1px solid #dde6ee;
  border-radius:18px;
  padding:12px;
  background:linear-gradient(180deg,#ffffff,#fbfdff);
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.action-group h3 {
  margin:0 0 8px;
  font-size:13px;
  color:#0f172a;
}
.action-group .toolbar { margin:0; gap:6px; }
.action-group .toolbar button {
  flex:1 1 auto;
  min-width:120px;
  padding:9px 10px;
  font-size:12px;
}
.section-anchor { scroll-margin-top: 128px; }
.role-helper {
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
  margin: 0 0 14px;
}
.role-helper-card {
  border-radius:18px;
  padding:14px;
  border:1px solid #cfe0f0;
  background:linear-gradient(180deg,#f2f8ff,#ecf5ff);
  color:#1e3a8a;
  font-size:12px;
  font-weight:800;
  line-height:1.45;
  box-shadow:0 8px 18px rgba(15,76,129,.05);
}
.role-helper-card.daon-card { border-color:#f7d4a4; background:linear-gradient(180deg,#fff8ef,#fff3e1); color:#92400e; }
.role-helper-card strong { display:block; font-size:14px; margin-bottom:4px; }
@media(max-width:1100px){ .action-zone{grid-template-columns:repeat(2,minmax(0,1fr));}.quick-nav{top:54px;} }
@media(max-width:700px){ .action-zone,.role-helper{grid-template-columns:1fr}.table-panel-head{flex-direction:column}.table-panel-head .version-badge{width:100%;text-align:center}.quick-nav{position:static;border-radius:18px;margin-top:10px;} }



/* ===== V2.0 FIX: Kolom nama ABK dikunci saat scroll kanan-kiri ===== */
.table-wrap {
  position: relative !important;
}
.table-wrap table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
.table-wrap th:nth-child(1),
.table-wrap td:nth-child(1) {
  position: sticky !important;
  left: 0 !important;
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  z-index: 8 !important;
}
.table-wrap th:nth-child(2),
.table-wrap td:nth-child(2) {
  position: sticky !important;
  left: 48px !important;
  width: 128px !important;
  min-width: 128px !important;
  max-width: 128px !important;
  z-index: 8 !important;
}
.table-wrap th:nth-child(3),
.table-wrap td:nth-child(3) {
  position: sticky !important;
  left: 176px !important;
  width: 235px !important;
  min-width: 235px !important;
  max-width: 235px !important;
  z-index: 9 !important;
  box-shadow: 8px 0 14px rgba(15, 23, 42, 0.10) !important;
}
.table-wrap thead th:nth-child(1),
.table-wrap thead th:nth-child(2),
.table-wrap thead th:nth-child(3) {
  z-index: 30 !important;
  background: #dbeafe !important;
  color: #082f49 !important;
}
.table-wrap tbody td:nth-child(1),
.table-wrap tbody td:nth-child(2),
.table-wrap tbody td:nth-child(3) {
  background: #ffffff !important;
}
.table-wrap tbody tr:hover td:nth-child(1),
.table-wrap tbody tr:hover td:nth-child(2),
.table-wrap tbody tr:hover td:nth-child(3) {
  background: #f9fafb !important;
}
.table-wrap tbody tr.row-danger td:nth-child(1),
.table-wrap tbody tr.row-danger td:nth-child(2),
.table-wrap tbody tr.row-danger td:nth-child(3) {
  background: #fff1f2 !important;
}
.table-wrap tbody tr.row-watch td:nth-child(1),
.table-wrap tbody tr.row-watch td:nth-child(2),
.table-wrap tbody tr.row-watch td:nth-child(3) {
  background: #fff7ed !important;
}
.freeze-name-note {
  margin: 8px 0 10px;
  padding: 9px 11px;
  border-radius: 12px;
  background: #eff6ff;
  color: #0f4c81;
  border: 1px solid #bfdbfe;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.35;
}
@media (max-width: 760px) {
  .table-wrap th:nth-child(2),
  .table-wrap td:nth-child(2) {
    display: none;
  }
  .table-wrap th:nth-child(3),
  .table-wrap td:nth-child(3) {
    left: 48px !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
  }
}



/* ===== V2.8 Custom Calendar: pilih bulan dan tahun ===== */
.date-picker-wrap{position:relative;display:flex;align-items:center;gap:6px;width:100%;}
.date-picker-wrap input{flex:1;min-width:0;}
.date-pick-btn{width:42px;height:40px;border:1px solid #cbd5e1;border-radius:10px;background:#eff6ff;color:#0f4c81;font-weight:900;cursor:pointer;flex:0 0 42px;padding:0;font-size:18px;}
.date-pick-btn:hover{background:#dbeafe;}
.custom-calendar-popup{position:fixed;z-index:1000002;width:322px;background:#fff;border:1px solid #bfdbfe;border-radius:16px;box-shadow:0 18px 45px rgba(15,23,42,.25);padding:12px;display:none;}
.custom-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;}
.custom-calendar-head button{border:0;border-radius:10px;background:#e0f2fe;color:#075985;font-weight:900;padding:7px 10px;cursor:pointer;}
.custom-calendar-title{font-weight:900;color:#0f4c81;font-size:14px;text-align:center;flex:1;}
.custom-calendar-jump{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;}
.custom-calendar-jump select{width:100%;min-width:0;border:1px solid #cbd5e1;border-radius:10px;padding:8px 9px;background:#f8fafc;color:#0f172a;font-size:12px;font-weight:900;}
.custom-calendar-week,.custom-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;}
.custom-calendar-week span{text-align:center;font-size:11px;font-weight:900;color:#64748b;padding:4px 0;}
.custom-calendar-day{height:33px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;color:#0f172a;font-weight:800;cursor:pointer;padding:0;font-size:12px;}
.custom-calendar-day:hover{background:#dbeafe;border-color:#93c5fd;}
.custom-calendar-day.today{border-color:#0f4c81;background:#eff6ff;color:#0f4c81;}
.custom-calendar-day.selected{background:#0f4c81;color:#fff;border-color:#0f4c81;}
.custom-calendar-day.blank{visibility:hidden;pointer-events:none;}
.custom-calendar-foot{display:flex;gap:8px;margin-top:10px;}
.custom-calendar-foot button{flex:1;border:0;border-radius:10px;padding:8px;background:#f1f5f9;color:#334155;font-weight:900;cursor:pointer;font-size:12px;}
.custom-calendar-foot .today-btn{background:#dcfce7;color:#166534;}
.custom-calendar-foot .clear-btn{background:#fee2e2;color:#991b1b;}


/* V2.8.1: tombol Edit Dokumen per kolom dihilangkan, edit cukup dari tombol Edit Data pada nama ABK */
.edit-doc-mini, .edit-doc-hint { display: none !important; }


.novo-file-readonly .novo-file-name-link{display:block;width:100%;margin:5px 0 6px;border:0;background:transparent;color:#1d4ed8;font-size:10.8px;font-weight:900;text-align:left;cursor:pointer;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0}.novo-file-readonly .novo-file-name-link:hover{text-decoration:underline}.novo-file-readonly .novo-file-actions{margin-top:4px}.novo-file-readonly .novo-file-note{font-size:9.8px;color:#64748b}


/* ===== V2.8.3: File NOVO untuk DAON dibuat thumbnail ringkas agar baris tabel tidak tinggi ===== */
.novo-file-box{
  min-width:190px !important;
  max-width:215px !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:6px !important;
}
.novo-file-chip{
  min-height:60px;
  border:1px solid #dbeafe;
  border-radius:12px;
  background:#f8fbff;
  padding:6px;
}
.novo-file-chip.has-file{
  border-color:#bbf7d0;
  background:#f0fdf4;
}
.novo-file-chip.missing-file{
  border-color:#fecaca;
  background:#fff7f7;
}
.novo-file-chip-title{
  display:flex;
  align-items:center;
  gap:4px;
  color:#0f4c81;
  font-size:10.5px;
  font-weight:900;
  line-height:1.08;
  white-space:normal;
  flex-wrap:wrap;
  overflow-wrap:anywhere;
  word-break:normal;
  max-width:100%;
}
.novo-file-chip.missing-file .novo-file-chip-title{color:#991b1b;}
.novo-file-chip-title .label-text{display:inline;min-width:0;}
.novo-file-chip-title .label-text.marine{line-height:1.02;}
.novo-file-chip-status{
  display:block;
  margin-top:4px;
  border-radius:999px;
  padding:3px 5px;
  font-size:9.5px;
  font-weight:900;
  line-height:1;
  text-align:center;
}
.novo-file-chip-status.ok{background:#dcfce7;color:#166534;}
.novo-file-chip-status.no{background:#fee2e2;color:#991b1b;}
.novo-file-chip-actions{
  display:flex;
  gap:4px;
  margin-top:5px;
}
.novo-file-chip-actions button{
  flex:1;
  border:0;
  border-radius:7px;
  padding:4px 3px;
  font-size:9.5px;
  font-weight:900;
  cursor:pointer;
}
.novo-open-mini{background:#dbeafe;color:#1d4ed8;}
.novo-download-mini{background:#ccfbf1;color:#0f766e;}
.novo-file-chip-name{
  display:block;
  margin-top:4px;
  color:#334155;
  font-size:9px;
  font-weight:800;
  line-height:1.1;
  max-width:82px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
/* Ringkas juga beberapa area tabel supaya tinggi baris lebih pendek */
.field-stack label{margin-bottom:2px !important;}
.field-stack input{height:29px !important;margin-bottom:5px !important;}
.auto-expired{padding:6px !important;}
.badge{padding:3px 7px !important;}
th,td{padding:6px 6px !important;}

.doc-status-inline{display:block;margin-top:6px}.doc-status-inline .badge{margin-bottom:3px}.doc-field-ok input,.doc-field-ok .auto-expired{background:#f0fdf4!important;border-color:#bbf7d0!important;color:#166534!important}.doc-field-warning input,.doc-field-warning .auto-expired{background:#fff1f2!important;border-color:#fecaca!important;color:#991b1b!important}


/* ===== V2.8.39 FIX Simpan Checklist DAON ===== */
.onboard-badge{display:inline-block;border-radius:999px;padding:5px 9px;font-size:10.5px;font-weight:900;margin-top:6px;background:#e0f2fe;color:#075985}
.onboard-badge.process{background:#e2e8f0;color:#334155}.onboard-badge.on_board{background:#dcfce7;color:#166534}.onboard-badge.pindah_kapal{background:#dbeafe;color:#1d4ed8}.onboard-badge.bermasalah{background:#fee2e2;color:#991b1b}.onboard-badge.cuti_indonesia{background:#ffedd5;color:#9a3412}.onboard-badge.siap_kembali{background:#ccfbf1;color:#0f766e}.onboard-badge.kembali_on_board{background:#dcfce7;color:#166534}.onboard-badge.selesai_kontrak{background:#fef3c7;color:#92400e}.onboard-badge.pulang_indonesia{background:#ede9fe;color:#5b21b6}
.onboard-cell{min-width:190px}.onboard-cell strong{display:block;font-size:12px;color:#0f4c81}.onboard-cell .ship-now{display:block;font-size:11px;font-weight:900;color:#334155;margin-top:4px}.onboard-cell .muted-mini{display:block;font-size:10.5px;font-weight:800;color:#64748b;line-height:1.35;margin-top:3px}.cuti-summary{grid-column:1/-1;border:1px solid #fed7aa;background:#fff7ed;border-radius:12px;padding:10px;color:#92400e;font-size:12px;font-weight:800;line-height:1.4}.cuti-summary b{color:#7c2d12}.btn-onboard{background:#0f766e!important;color:#fff!important}.btn-report{background:#134e4a!important;color:#fff!important}
.daon-folder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:12px 0}.daon-folder-card{border:1px solid #dbe7f3;border-radius:18px;background:#f8fbff;padding:14px}.daon-folder-card h3{margin:0 0 8px;color:#0f4c81;font-size:16px}.daon-folder-card p{margin:0 0 10px;color:#64748b;font-size:12px;font-weight:800;line-height:1.4}.daon-folder-files{display:flex;flex-direction:column;gap:7px;margin-top:10px;max-height:150px;overflow:auto}.daon-folder-file{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border-radius:12px;background:#fff;border:1px solid #e5edf5;font-size:12px;font-weight:800}.daon-folder-file span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daon-status-box{display:flex;flex-direction:column;gap:6px;min-width:120px}.daon-checkbar{position:sticky;top:0;z-index:4;background:#fff;border:1px solid #dbe7f3;border-radius:16px;padding:12px;margin:12px 0;box-shadow:0 8px 20px rgba(15,23,42,.08)}.daon-checkbar-grid{display:grid;grid-template-columns:1.2fr .8fr auto;gap:10px;align-items:end}.daon-check-list{border:1px solid #e5edf5;border-radius:16px;overflow:auto;max-height:430px;background:#fff}.daon-check-row{display:grid;grid-template-columns:48px 1.4fr .8fr .8fr .8fr;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid #eef2f7;font-size:12px}.daon-check-row:nth-child(even){background:#fbfdff}.daon-check-row.header{position:sticky;top:0;background:#0f4c81;color:#fff;font-weight:900;z-index:2}.daon-check-row strong{color:#0f172a}.daon-check-row.header strong{color:#fff}.daon-check-row .sub{display:block;color:#64748b;font-size:11px;font-weight:800}.daon-check-row.header .sub{color:#dbeafe}.daon-check-row input[type="checkbox"]{width:20px;height:20px;accent-color:#0f4c81}.daon-check-summary{margin-top:8px;color:#475569;font-size:12px;font-weight:900}.daon-status-only{padding:8px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;text-align:center;font-size:12px;font-weight:900}.daon-upload-status{margin-top:8px;padding:8px 10px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;color:#64748b;font-size:12px;font-weight:900}.daon-upload-status.loading{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.daon-upload-status.success{background:#dcfce7;color:#166534;border-color:#86efac}.daon-upload-status.error{background:#fee2e2;color:#991b1b;border-color:#fecaca}
@media(max-width:900px){.daon-folder-grid{grid-template-columns:1fr}.daon-checkbar-grid{grid-template-columns:1fr}.daon-check-row{grid-template-columns:42px 1.4fr .9fr}.daon-check-row .hide-mobile{display:none}}

.onboard-history-box{grid-column:1/-1;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;padding:10px;color:#475569;font-size:12px;font-weight:800;line-height:1.45}.onboard-history-box h4{margin:0 0 8px;color:#0f4c81}.onboard-report-table{width:100%;min-width:1100px;border-collapse:collapse}.onboard-report-table th,.onboard-report-table td{padding:9px 10px;border-bottom:1px solid #e5e7eb;font-size:12px;vertical-align:top}.onboard-report-table th{background:#eef5fb;color:#082f49;font-weight:900}.onboard-report-wrap{overflow:auto;border:1px solid #d7dee8;border-radius:14px;max-height:62vh;background:#fff}.onboard-filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px;margin-bottom:12px}.onboard-filter-grid input,.onboard-filter-grid select{border:1px solid #cbd5e1;border-radius:10px;padding:10px;font-size:12px}.onboard-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.onboard-actions button{border:0;border-radius:10px;padding:9px 12px;font-size:12px;font-weight:900;cursor:pointer;background:#0f4c81;color:#fff}.onboard-actions .export{background:#0f766e}.onboard-actions .danger{background:#b91c1c}@media(max-width:800px){.onboard-filter-grid{grid-template-columns:1fr}}

.abk-inactive-badge{display:inline-block;margin-top:7px;border-radius:999px;padding:5px 9px;background:#334155;color:#fff;font-size:10.5px;font-weight:900}
.row-inactive{background:#f1f5f9!important;color:#64748b;opacity:.84}
.row-inactive .abk-photo,.row-inactive .abk-photo-empty{filter:grayscale(1);opacity:.72}
.btn-inactive{background:#334155!important;color:#fff!important}
.btn-reactivate{background:#15803d!important;color:#fff!important}
.inactive-note{margin-top:10px;padding:10px 12px;border-radius:12px;background:#f1f5f9;color:#334155;font-size:12px;font-weight:800;line-height:1.45;border:1px dashed #94a3b8}



/* ===== V2.8.25 Manajemen User Akses & Riwayat Aktivitas ===== */
.user-access-table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0;margin-top:10px;border:1px solid #d7dee8;border-radius:14px;overflow:hidden;background:#fff}
.user-access-table th,.user-access-table td{padding:9px 10px;border-bottom:1px solid #e5e7eb;font-size:12px;vertical-align:middle}.user-access-table th{background:#eef5fb;color:#082f49;font-weight:900}.user-access-table tr:last-child td{border-bottom:0}.user-role-badge{display:inline-block;border-radius:999px;padding:5px 8px;font-size:10.5px;font-weight:900;background:#e0f2fe;color:#075985}.user-role-badge.novo{background:#dbeafe;color:#1d4ed8}.user-role-badge.daon{background:#ffedd5;color:#9a3412}.user-status-active{background:#dcfce7;color:#166534}.user-status-inactive{background:#fee2e2;color:#991b1b}.user-form-note{margin-top:8px;padding:10px 12px;border-radius:12px;background:#fff7ed;color:#92400e;font-size:12px;font-weight:800;line-height:1.45;border:1px dashed #fed7aa}.user-table-wrap{overflow:auto;border-radius:14px}.user-mini-actions{display:flex;flex-wrap:wrap;gap:5px}.user-mini-actions button{border:0;border-radius:8px;padding:6px 8px;font-size:11px;font-weight:900;cursor:pointer}.user-edit-btn{background:#dbeafe;color:#1d4ed8}.user-toggle-btn{background:#fee2e2;color:#991b1b}.user-toggle-btn.active{background:#dcfce7;color:#166534}.user-reset-btn{background:#fef3c7;color:#92400e}.user-access-hidden{display:none!important}


/* ===== V2.8.25 Riwayat Aktivitas / Log ===== */
.activity-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 12px}
.activity-filter-grid input,.activity-filter-grid select{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:9px 10px;font-size:12px}
.activity-log-wrap{overflow:auto;max-height:520px;border:1px solid #d7dee8;border-radius:14px;background:#fff}
.activity-log-table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0}
.activity-log-table th,.activity-log-table td{padding:9px 8px;border-bottom:1px solid #e5e7eb;font-size:12px;vertical-align:top}
.activity-log-table th{position:sticky;top:0;background:#eef5fb;color:#082f49;z-index:1}
.activity-user-badge{display:inline-block;border-radius:999px;padding:4px 8px;background:#e0f2fe;color:#075985;font-size:10.5px;font-weight:900}
.activity-role-badge{display:inline-block;border-radius:999px;padding:4px 8px;background:#f1f5f9;color:#334155;font-size:10.5px;font-weight:900}
.activity-action-badge{display:inline-block;border-radius:999px;padding:4px 8px;background:#dcfce7;color:#166534;font-size:10.5px;font-weight:900}
.activity-action-badge.delete{background:#fee2e2;color:#991b1b}
.activity-action-badge.upload{background:#dbeafe;color:#1d4ed8}
.activity-action-badge.user{background:#fef3c7;color:#92400e}
.activity-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin:10px 0 0}
.activity-actions button{border:0;border-radius:10px;padding:9px 11px;font-size:12px;font-weight:900;cursor:pointer}
.activity-export-btn{background:#0f766e;color:#fff}
.activity-clear-btn{background:#b91c1c;color:#fff}
@media(max-width:900px){.activity-filter-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.activity-filter-grid{grid-template-columns:1fr}}

.daon-check-row.row-changed{background:#fff7ed!important;border-color:#fdba74!important}

/* PHP online adjustments */
body.php-page{padding-bottom:30px}.php-actions{display:flex;gap:8px;flex-wrap:wrap}.php-link-btn{display:inline-block;text-decoration:none;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:900;background:#dbeafe;color:#1d4ed8}.php-danger{background:#fee2e2!important;color:#991b1b!important}.php-success{background:#dcfce7!important;color:#166534!important}.php-card-link{text-decoration:none;color:inherit}.message{margin:12px 0;padding:11px 13px;border-radius:12px;font-size:13px;font-weight:800}.message.ok{background:#dcfce7;color:#166534}.message.err{background:#fee2e2;color:#991b1b}.message.warn{background:#fff7ed;color:#92400e}.login-card .login-submit{width:100%;margin-top:18px;border:0;border-radius:16px;padding:15px 16px;background:linear-gradient(135deg,#0f4c81,#145d99);color:#fff;font-weight:900;font-size:17px;cursor:pointer;box-shadow:0 12px 24px rgba(15,76,129,.22)}
