:root{--ink:#182019;--army:#24452d;--green:#397447;--lime:#c8e85d;--gold:#e8b84a;--paper:#f5f7ec;--white:#fff;--muted:#687267;--danger:#c94e4e;--shadow:0 18px 45px #1623161c}*{box-sizing:border-box}body{margin:0;font-family:Inter,"Segoe UI",sans-serif;color:var(--ink);background-color:#eef2e6;background-image:linear-gradient(135deg,#ffffffda,#f0f5e7e8),radial-gradient(ellipse at 20% 20%,#71815a 0 12%,transparent 13%),radial-gradient(ellipse at 70% 35%,#344a30 0 13%,transparent 14%),radial-gradient(ellipse at 40% 75%,#9eaa70 0 14%,transparent 15%);background-size:auto,260px 180px,280px 210px,300px 220px;background-attachment:fixed}a{color:inherit;text-decoration:none}.app{min-height:100vh}.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:265px;padding:25px 18px;display:flex;flex-direction:column;background:linear-gradient(165deg,#142419f5,#29482ff7),radial-gradient(circle at 20% 30%,#688256 0 14%,transparent 15%);color:#fff;box-shadow:8px 0 30px #14201726}.brand{display:flex;align-items:center;gap:12px;padding:0 9px 24px;border-bottom:1px solid #ffffff1c}.brand img{width:48px;height:48px;object-fit:contain}.brand b{font-size:17px;letter-spacing:.4px}.brand span{color:var(--lime)}.brand small,.side-foot small{display:block;color:#bdc9ba;font-size:10px;letter-spacing:1.3px;margin-top:4px}.sidebar nav{display:grid;gap:7px;margin-top:25px}.sidebar nav a{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:12px;color:#d8e2d5;font-weight:600;font-size:14px}.sidebar nav a i{font-style:normal;width:24px;text-align:center;font-size:18px}.sidebar nav a:hover,.sidebar nav a.active{color:#152019;background:linear-gradient(100deg,var(--lime),#e3f69e);box-shadow:0 9px 22px #0003}.side-foot{margin-top:auto;display:flex;align-items:center;gap:10px;padding:15px 8px 0;border-top:1px solid #ffffff1c;font-size:12px}.side-foot>a{margin-left:auto;font-size:20px}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--lime);color:#182019;font-weight:800}.main{margin-left:265px;min-height:100vh}.topbar{height:95px;padding:0 34px;display:flex;align-items:center;gap:20px;background:#ffffffb8;backdrop-filter:blur(14px);border-bottom:1px solid #ffffff}.topbar h1{font-size:24px;margin:3px 0}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:var(--green)}.system-online{margin-left:auto;padding:9px 13px;border:1px solid #dbe6d5;border-radius:20px;background:#fff;font-size:12px}.system-online i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#67c56f;margin-right:7px;box-shadow:0 0 0 4px #67c56f26}.menu-toggle{display:none;border:0;background:none;font-size:22px}.content{padding:28px 34px}.hero{padding:26px 30px;border-radius:20px;background:linear-gradient(115deg,#23482f,#417a48);color:#fff;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:260px;height:260px;right:-80px;border:45px solid #c8e85d1f;border-radius:50%}.hero h2{font-size:27px;margin:5px 0}.hero p{margin:0;color:#dce8da}.date-chip{z-index:1;padding:12px 17px;border:1px solid #ffffff40;border-radius:12px;background:#ffffff16}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.stats article{position:relative;background:#ffffffdc;padding:20px;border-radius:17px;box-shadow:var(--shadow);border:1px solid #fff}.stats article>i{position:absolute;right:17px;top:18px;width:37px;height:37px;display:grid;place-items:center;border-radius:10px;background:#dff0b9;color:#31583a;font-style:normal}.stats span,.stats small{display:block;color:var(--muted);font-size:12px}.stats strong{display:block;font-size:30px;margin:7px 0}.panel{background:#ffffffdf;border:1px solid #fff;border-radius:18px;padding:22px;box-shadow:var(--shadow)}.grid-2{display:grid;grid-template-columns:1.6fr 1fr;gap:18px}.panel-head,.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.panel-head h3{margin:3px 0}.panel-head a{font-size:12px;color:var(--green);font-weight:700}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#667064;font-size:10px;letter-spacing:1px;text-transform:uppercase;background:#eef3e9}th,td{padding:13px 12px;border-bottom:1px solid #e5eade}tbody tr:hover{background:#f6f9ee}.status{display:inline-block;border-radius:20px;padding:5px 9px;background:#e8eee5;font-size:11px;font-weight:700}.status.dipinjam,.status.perawatan{background:#fff0c8;color:#82610a}.status.kembali,.status.baik,.status.aktif{background:#dff4dd;color:#25642b}.status.rusak,.status.nonaktif{background:#f8dcdc;color:#973636}.readiness strong{font-size:54px;color:var(--green)}.readiness span{display:block;color:var(--muted)}.bar{height:11px;border-radius:20px;background:#e3e9dd;margin:17px 0;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--lime));border-radius:20px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:10px 15px;font-weight:750;cursor:pointer;font-size:13px}.primary{background:linear-gradient(110deg,#345f3c,#579152);color:#fff}.secondary{background:#e8f1df;color:#274b30}.danger{background:#ffe3e1;color:#a43c35}.wide{width:100%}.toolbar form{display:flex;gap:8px}.toolbar input{min-width:230px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.form-grid .full{grid-column:1/-1}label{display:grid;gap:7px;font-weight:650;font-size:12px}input,select,textarea{width:100%;border:1px solid #d6dfcf;background:#fbfcf7;border-radius:10px;padding:11px 12px;font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:#6f995b;box-shadow:0 0 0 3px #719c5b22}.alert{padding:12px 15px;border-radius:10px;margin-bottom:16px;background:#e1f2dc;color:#295d31}.alert-danger{background:#fde1df;color:#913832}footer{text-align:center;color:#7e877d;font-size:11px;padding:28px}.login-page{min-height:100vh;display:grid;place-items:center;background-color:#15251a;background-image:linear-gradient(110deg,#15251af2,#27482ed9),radial-gradient(ellipse at 25% 25%,#6f7f52 0 14%,transparent 15%),radial-gradient(ellipse at 75% 60%,#1c2919 0 18%,transparent 19%);background-size:auto,300px 220px,360px 240px}.login-shell{width:min(970px,92vw);display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:70px}.login-brand{color:#fff}.login-brand img{width:110px}.login-brand h1{font-size:48px;margin:14px 0}.login-brand h1 span{color:var(--lime)}.login-brand p{max-width:520px;color:#d2ddcf;font-size:17px;line-height:1.65}.security-note{margin-top:35px;color:#c9e06c;font-size:12px}.login-card{background:#fffffff0;padding:34px;border-radius:22px;box-shadow:0 28px 70px #0006}.login-card h2{margin:14px 0 5px}.login-card>p{color:var(--muted);font-size:13px;margin:0 0 22px}.login-card form{display:grid;gap:15px}.login-card small{display:block;margin-top:17px;color:#6d756b;text-align:center}.badge{display:inline-block;padding:6px 9px;border-radius:6px;background:#e9f5c9;color:#42612f;font-weight:800;font-size:9px;letter-spacing:1.5px}@media(max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.25s}.nav-open .sidebar{transform:none}.main{margin-left:0}.menu-toggle{display:block}.content,.topbar{padding-left:18px;padding-right:18px}.stats{grid-template-columns:1fr 1fr}.login-shell{grid-template-columns:1fr;gap:20px;padding:25px 0}.login-brand p,.security-note{display:none}.login-brand{text-align:center}.login-brand img{width:70px}.login-brand h1{font-size:32px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}@media(max-width:480px){.stats{grid-template-columns:1fr}.hero{align-items:flex-start}.date-chip{display:none}.system-online{display:none}}


/* ArsenalGuard custom camouflage background - preserved */
body{
 background:
 linear-gradient(rgba(20,32,15,.78),rgba(20,32,15,.78)),
 url("../images/camo.png") center/cover fixed !important;
}



/* ===== ARSENALGUARD HEADER & SIDEBAR FIX ===== */

/* Hapus top header halaman */
.top-header,
.page-header,
.header-bar,
.content-header,
.page-title-header,
.system-status-header {
    display:none !important;
}

/* Konten langsung naik */
.main-content,
.content-area,
.dashboard-content,
.page-content {
    padding-top:20px !important;
    margin-top:0 !important;
}


/* SIDEBAR SCROLL FIX */
.sidebar,
.sidebar-menu,
.side-nav,
nav.sidebar {
    height:100vh !important;
    max-height:100vh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    position:fixed;
}


/* scrollbar sidebar */
.sidebar::-webkit-scrollbar {
    width:7px;
}

.sidebar::-webkit-scrollbar-thumb {
    background:#8aa35a;
    border-radius:20px;
}

.sidebar::-webkit-scrollbar-track {
    background:rgba(255,255,255,.08);
}


/* logout selalu terlihat setelah scroll */
.logout,
.btn-logout,
.sidebar .logout-btn {
    margin-top:20px;
    position:relative;
}


/* jangan biarkan overlay menutup tombol */
.sidebar a,
.sidebar button,
.sidebar .menu-item {
    position:relative;
    z-index:5;
    cursor:pointer;
}


/* perbaikan card agar konten terbaca */
.card,
.panel,
.content-card {
    background:rgba(255,255,255,.92);
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.18);
}


/* button */
button,
.btn,
.action-btn {
    cursor:pointer !important;
    pointer-events:auto !important;
}


/* Header removed fix */
.command-header{display:none!important;}
.app-main{padding-top:20px!important;}


/* =====================================================
   ARSENALGUARD PROFESSIONAL UI POLISH
   Visual refinement only - keeps original structure
===================================================== */

:root{
    --ag-green:#234b2d;
    --ag-light:#eef4e8;
    --ag-card:rgba(255,255,255,.88);
    --ag-shadow:0 18px 45px rgba(20,35,20,.18);
}

body{
    background-blend-mode:overlay;
    color:#172317;
}

.sidebar{
    backdrop-filter:blur(12px);
    box-shadow:8px 0 35px rgba(0,0,0,.25);
    overflow-y:auto;
    scrollbar-width:thin;
}

.sidebar::-webkit-scrollbar{
    width:7px;
}

.sidebar::-webkit-scrollbar-thumb{
    border-radius:20px;
    background:#9dbb67;
}

.sidebar a{
    margin-bottom:8px;
    transition:all .25s ease;
}

.sidebar a:hover,
.sidebar a.active{
    box-shadow:0 8px 20px rgba(0,0,0,.15);
}

.hero,
.panel,
.card,
.login-card,
.stats article{
    background:var(--ag-card);
    backdrop-filter:blur(14px);
    border:1px solid rgba(255,255,255,.45);
    box-shadow:var(--ag-shadow);
}

.hero{
    border-radius:24px;
    padding:30px;
}

.hero h2{
    font-size:30px;
    letter-spacing:.2px;
}

.stats article{
    border-radius:22px;
    padding:25px;
    transition:.3s ease;
}

.stats article:hover{
    transform:translateY(-6px);
}

.stats article strong{
    font-size:38px;
    color:var(--ag-green);
}

.panel{
    border-radius:22px;
    overflow:hidden;
}

.panel-head{
    padding:22px 25px;
}

.table-wrap{
    padding:0 20px 20px;
}

table{
    border-radius:16px;
    overflow:hidden;
}

thead th{
    letter-spacing:.8px;
    font-size:12px;
}

tbody tr{
    transition:.2s ease;
}

tbody tr:hover{
    transform:scale(1.005);
}

.btn{
    border-radius:14px;
    font-weight:600;
    transition:.25s;
}

.btn:hover{
    transform:translateY(-2px);
}

input,select,textarea{
    border-radius:14px;
    padding:13px 16px;
}

input:focus,select:focus,textarea:focus{
    box-shadow:0 0 0 4px rgba(117,180,207,.25);
}

.status{
    padding:7px 14px;
    border-radius:999px;
    font-size:12px;
}

@media(max-width:900px){
    .hero h2{
        font-size:24px;
    }
}

/* ===== Dashboard Professional Overlay Fix ===== */
body{
    background-attachment:fixed;
}

body::before{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(20,35,18,.62);
    z-index:-1;
}

.hero,
.stats article,
.panel,
.ready,
.table-wrap{
    background:rgba(255,255,255,.92) !important;
    backdrop-filter:blur(14px);
    border-radius:22px;
    box-shadow:0 18px 45px rgba(0,0,0,.18);
}

.hero{
    padding:28px 32px;
    margin-bottom:24px;
}

.hero h2,
.panel h3{
    color:#18351f;
}

.stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
    margin-bottom:25px;
}

.stats article{
    padding:24px;
    color:#18351f;
    border:1px solid rgba(56,102,65,.18);
    transition:.25s ease;
}

.stats article:hover{
    transform:translateY(-6px);
}

.stats strong{
    display:block;
    font-size:42px;
    color:#31572c;
    margin:10px 0;
}

.panel{
    padding:26px;
}

.table-wrap{
    overflow:hidden;
}

table{
    background:rgba(255,255,255,.96) !important;
}

thead th{
    background:#31572c !important;
    color:white !important;
}

tbody td{
    color:#243024;
}

.readiness{
    background:#f4f8ef;
    border-radius:18px;
    padding:25px;
    margin:20px 0;
}

.bar{
    height:14px;
    background:#dbe8d2;
    border-radius:20px;
    overflow:hidden;
}

.bar i{
    display:block;
    height:100%;
    background:linear-gradient(90deg,#386641,#95d5b2);
    border-radius:20px;
}

@media(max-width:1000px){
.stats{grid-template-columns:repeat(2,1fr);}
}


/* ===== ArsenalGuard Enterprise Dashboard Refinement ===== */
body{
    background:
    linear-gradient(rgba(17,31,18,.68),rgba(17,31,18,.68)),
    radial-gradient(ellipse at 20% 20%,#71815a 0 12%,transparent 13%),
    radial-gradient(ellipse at 70% 35%,#344a30 0 13%,transparent 14%),
    radial-gradient(ellipse at 40% 75%,#9eaa70 0 14%,transparent 15%);
    background-size:auto,260px 180px,280px 210px,300px 220px;
    color:#172018;
}

.content{
    padding:32px 34px 45px;
}

.content > section,
.stats-command,
.dashboard-panel{
    position:relative;
    z-index:1;
}

.stats-command{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
    margin-bottom:24px;
}

.stat-card{
    background:rgba(255,255,255,.94)!important;
    color:#182019!important;
    border-radius:22px!important;
    padding:25px!important;
    box-shadow:0 18px 40px rgba(0,0,0,.22)!important;
    border:1px solid rgba(255,255,255,.8);
}

.stat-card span{
    color:#55705a;
    font-weight:700;
    letter-spacing:.5px;
}

.stat-card strong{
    display:block;
    margin:12px 0 5px;
    font-size:42px;
    color:#24452d;
}

.stat-card small{
    color:#687267;
}

.dashboard-panel{
    background:rgba(255,255,255,.95)!important;
    color:#182019!important;
    border-radius:24px!important;
    padding:28px!important;
    box-shadow:0 18px 45px rgba(0,0,0,.25)!important;
    margin-bottom:25px;
}

.dashboard-panel h3{
    color:#24452d!important;
    margin-top:0;
}

.status-row label{
    color:#344834!important;
    font-weight:700;
}

.bar{
    background:#e3eadb!important;
    height:14px!important;
    border-radius:20px!important;
    overflow:hidden;
}

.bar span{
    background:linear-gradient(90deg,#397447,#c8e85d)!important;
}

.dashboard-panel table,
.table-wrap{
    background:#fff!important;
    color:#182019!important;
}

.dashboard-panel th{
    background:#24452d!important;
    color:#fff!important;
}

.dashboard-panel td{
    color:#253125!important;
    background:#fff!important;
}

@media(max-width:900px){
.stats-command{
 grid-template-columns:1fr;
}
}

/* =====================================================
   ARSENALGUARD ENTERPRISE FINAL UI OVERRIDE
   Added after audit - layout stabilization
===================================================== */

:root{
 --ag-primary:#284f30;
 --ag-secondary:#6f8f45;
 --ag-card:rgba(255,255,255,.94);
 --ag-border:#dce5d6;
 --ag-shadow:0 12px 35px rgba(15,30,15,.14);
}

body{
 overflow-x:hidden;
}

.content{
 max-width:1450px;
 margin:0 auto;
}

.panel,
.card,
.stats article{
 background:var(--ag-card);
 border:1px solid var(--ag-border);
 box-shadow:var(--ag-shadow);
}

.stats{
 grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
}

.stats article{
 min-height:145px;
}

.grid-2{
 grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);
}

.table-wrap{
 width:100%;
 overflow-x:auto;
 border-radius:16px;
}

.table-wrap table{
 min-width:720px;
}

thead th{
 background:#28552b;
 color:#fff;
 padding:15px 14px;
}

tbody td{
 padding:14px;
}

.sidebar nav{
 flex:1;
 overflow-y:auto;
 padding-right:5px;
}

.sidebar{
 display:flex;
 flex-direction:column;
}

.side-foot{
 position:sticky;
 bottom:0;
 background:linear-gradient(180deg,transparent,#142419);
}

.status{
 white-space:nowrap;
}

.form-grid{
 grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
}

button,.btn{
 transition:.2s ease;
}

button:hover,.btn:hover{
 transform:translateY(-2px);
}

@media(max-width:1000px){
 .grid-2{
  grid-template-columns:1fr;
 }
}


/* ==========================================================
   ARSENALGUARD FINAL ENTERPRISE UI PASS
   Layout stabilization and visual refinement
========================================================== */

body{
    overflow-x:hidden;
}

.main{
    margin-left:265px;
    padding:28px;
    min-height:100vh;
}

.panel,
.card,
.content-card,
.table-card{
    border-radius:18px;
    background:rgba(255,255,255,.94);
    box-shadow:0 12px 35px rgba(15,30,15,.12);
}

.stats{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
    gap:18px;
}

.table-wrap,
.table-container{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    border-radius:16px;
}

table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
}

th{
    background:#24452d;
    color:#fff;
    padding:13px 15px;
}

td{
    padding:13px 15px;
    vertical-align:middle;
}

tr:hover td{
    background:rgba(36,69,45,.06);
}

.sidebar nav{
    flex:1;
    overflow-y:auto;
    scrollbar-width:thin;
}

.side-foot{
    position:sticky;
    bottom:0;
    margin-top:15px;
    background:linear-gradient(180deg,transparent,#142419);
}

button,.btn{
    border-radius:10px;
}

input,select,textarea{
    border-radius:10px;
    min-height:42px;
}

@media(max-width:900px){
    .main{
        margin-left:0;
        padding:18px;
    }

    .sidebar{
        position:relative;
        width:100%;
        height:auto;
    }
}


/* Data Senjata Action Fix */
.weapon-master-table th:last-child,
.weapon-master-table td:last-child{
    min-width:220px;
}
.action-group{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    align-items:center;
}
.action-group form{
    margin:0;
}

/* ArsenalGuard Definitive Data Senjata Action Column Fix */
.weapon-master-table th:last-child,
.weapon-master-table td:last-child {
    min-width: 260px !important;
    width: 260px !important;
    white-space: normal !important;
    overflow: visible !important;
}

.weapon-master-table .action-group {
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    visibility:visible !important;
    opacity:1 !important;
}

.weapon-master-table .action-group a,
.weapon-master-table .action-group button {
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    align-items:center;
    justify-content:center;
}

/* FINAL ARSENALGUARD ACTION FIX */
.action-group{
 display:flex !important;
 flex-wrap:wrap !important;
 align-items:center !important;
 gap:8px !important;
 min-width:260px !important;
 overflow:visible !important;
}
.action-group form{
 margin:0 !important;
 padding:0 !important;
 display:inline-flex !important;
}
.action-group .btn{
 white-space:nowrap !important;
 cursor:pointer;
}
.weapon-master-table th:last-child,
.weapon-master-table td:last-child{
 min-width:280px !important;
 width:280px !important;
 overflow:visible !important;
}
