@import url('https://fonts.googleapis.com/css2?family=Prompt:wght@300;400;500;600;700&display=swap');
:root{--blue:#0d6efd;--green:#22c55e;--dark:#0f172a;--muted:#64748b;--bg:#f6f9fc;--line:#dbe7f3;--card:#fff;--radius:22px;}
*{box-sizing:border-box} body{font-family:'Prompt',Arial,sans-serif;background:linear-gradient(180deg,#f8fbff,#eef6fb);color:#0b1b3a;margin:0;font-size:14px}.app{display:flex;min-height:100vh}.sidebar{width:255px;background:rgba(255,255,255,.9);border-right:1px solid var(--line);padding:18px;position:fixed;inset:0 auto 0 0;z-index:50;transition:.25s;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;margin-bottom:25px}.brand img{width:78px}.brand b{font-size:18px}.menu a{display:flex;gap:12px;align-items:center;padding:13px 14px;border-radius:14px;color:#0b1b3a;text-decoration:none;margin:4px 0;font-weight:600}.menu a.active,.menu a:hover{background:linear-gradient(135deg,#0d6efd,#00b5d8);color:white;box-shadow:0 10px 24px rgba(13,110,253,.20)}.loginbox{position:absolute;bottom:18px;left:18px;right:18px;background:#f8fbff;border:1px solid var(--line);border-radius:18px;padding:14px}.main{margin-left:255px;width:calc(100% - 255px)}.topbar{height:76px;background:rgba(255,255,255,.75);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.hamb{border:0;background:#eff6ff;border-radius:14px;width:44px;height:44px;font-size:20px}.search{max-width:620px;flex:1;margin-left:18px}.search input{width:100%;border:1px solid var(--line);border-radius:16px;padding:14px 18px}.content{padding:26px}.page-title{font-size:28px;font-weight:700;margin:0}.sub{color:var(--muted)}.grid{display:grid;gap:16px}.kpis{grid-template-columns:repeat(6,minmax(150px,1fr));margin:18px 0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 30px rgba(15,23,42,.06);padding:18px}.kpi{display:flex;gap:14px;align-items:center}.ico{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#eff6ff;color:#0d6efd;font-size:23px}.kpi h3{margin:0;font-size:28px}.btn{border:0;border-radius:14px;padding:12px 16px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}.btn-primary{background:linear-gradient(135deg,#0d6efd,#05b6d4);color:white}.btn-green{background:linear-gradient(135deg,#22c55e,#0d6efd);color:white}.btn-light{background:#f1f5f9;color:#0f172a}.form-control,.form-select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px;margin:6px 0 14px;background:white}.table{width:100%;border-collapse:separate;border-spacing:0 8px}.table th{text-align:left;color:#64748b;font-size:12px}.table td{background:white;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px}.badge{border-radius:999px;padding:5px 10px;font-size:12px}.bg-success{background:#dcfce7;color:#15803d}.bg-warning{background:#fef3c7;color:#a16207}.bg-danger{background:#fee2e2;color:#b91c1c}.bg-primary{background:#dbeafe;color:#1d4ed8}.bg-info{background:#e0f2fe;color:#0369a1}.bg-secondary{background:#e2e8f0;color:#475569}.asset-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}.asset-card{display:flex;gap:14px;align-items:flex-start}.asset-card img{width:86px;height:70px;object-fit:cover;border-radius:16px;background:#eef5ff}.health{height:8px;background:#e2e8f0;border-radius:99px;overflow:hidden}.health span{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#0d6efd)}.kanban{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;overflow-x:auto}.lane{background:#f8fbff;border:1px solid var(--line);border-radius:18px;padding:12px;min-width:220px}.wo-card{background:white;border:1px solid var(--line);border-radius:16px;padding:12px;margin:10px 0}.mobile-fab{display:none;position:fixed;right:18px;bottom:18px;z-index:100}.notice{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:12px;margin:8px 0;background:white}.chartbar{height:150px;display:flex;align-items:end;gap:8px}.chartbar div{flex:1;background:linear-gradient(180deg,#0d6efd,#22c55e);border-radius:8px 8px 0 0;min-height:10px}.qrbox{border:2px dashed #9bc2ff;border-radius:22px;padding:18px;text-align:center;background:#f8fbff}.hide-desktop{display:none}
@media(max-width:1100px){.kpis{grid-template-columns:repeat(3,1fr)}.asset-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){body{font-size:13px}.sidebar{transform:translateX(-105%);width:82%;box-shadow:0 0 0 999px rgba(15,23,42,.35)}body.open .sidebar{transform:translateX(0)}.main{margin-left:0;width:100%}.topbar{padding:0 12px;height:66px}.search{display:none}.content{padding:16px 12px 90px}.kpis{grid-template-columns:repeat(2,1fr)}.grid,.asset-grid{grid-template-columns:1fr!important}.card{padding:14px;border-radius:18px}.page-title{font-size:23px}.kanban{grid-template-columns:1fr;display:flex}.mobile-fab{display:block}.hide-mobile{display:none}.hide-desktop{display:block}.brand img{width:64px}}

/* Asset Register edit/delete enhancement */
.asset-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.asset-page-grid{grid-template-columns:320px 1fr;align-items:start}
.form-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.asset-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;align-items:center}
.inline-delete{display:inline;margin:0}
.btn-danger{background:#ef4444;color:#fff;border:0}
.btn-danger:hover{background:#dc2626;color:#fff}
.btn-sm{padding:8px 12px;border-radius:12px;font-size:12px}
@media(max-width:900px){
  .asset-page-grid{grid-template-columns:1fr!important}
  .asset-form-card{order:2}
  .asset-grid{order:1;grid-template-columns:1fr!important}
  .asset-card-actions .btn,.asset-card-actions button{flex:1;text-align:center}
}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.setting-card{overflow:auto}.inline-master-form,.master-row{display:flex;gap:8px;align-items:center;margin:8px 0}.master-row{padding:8px;border:1px solid #dbe7f5;border-radius:12px;background:#fff}.small-input{max-width:110px}.mini{max-width:90px}@media(max-width:900px){.settings-grid{grid-template-columns:1fr}.inline-master-form,.master-row{flex-direction:column;align-items:stretch}.small-input,.mini{max-width:none}}

/* Technician avatar fit fix */
.asset-card img.technician-avatar{width:78px;height:78px;min-width:78px;border-radius:18px;object-fit:cover;object-position:center top;background:#eef5ff;border:1px solid #dbeafe;padding:0;}
@media(max-width:768px){.asset-card img.technician-avatar{width:64px;height:64px;min-width:64px;border-radius:16px;}}

/* Asset Register Enterprise Filter Layout */
.asset-toolbar-top{display:flex;gap:14px;justify-content:flex-end;align-items:center;margin:10px 0 14px;flex-wrap:wrap}
.asset-form-top{padding:18px;margin:12px 0 16px;border:1px solid #dbeafe;box-shadow:0 18px 40px rgba(15,23,42,.06)}
.form-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 18px}
.form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.mt-10{margin-top:10px}.form-actions-right{display:flex;justify-content:flex-end;margin-top:14px}
.advanced-search{padding:18px 22px;margin:14px 0 18px;border:1px dashed #60a5fa;background:linear-gradient(180deg,#fff,#f8fbff)}
.filter-title{font-weight:800;margin-bottom:16px;color:#0f172a}.filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px 22px}.filter-grid label,.form-grid-4 label{font-size:13px;font-weight:800;color:#0f172a;display:block;margin-bottom:6px}.date-pair{display:flex;align-items:center;gap:8px}.date-pair span{font-weight:800;color:#64748b}.filter-actions{display:flex;gap:14px;justify-content:flex-end;margin-top:18px}.asset-list-head{display:flex;justify-content:space-between;align-items:center;margin:14px 0 12px;gap:12px;flex-wrap:wrap}.asset-view-tools{display:flex;align-items:center;gap:10px}.asset-view-tools .active{border-color:#2563eb;color:#2563eb;background:#eff6ff}.sort-form{margin:0}.sort-form .form-select{min-width:180px}.refresh-link{text-decoration:none;margin-left:6px;color:#2563eb}.asset-grid-modern{grid-template-columns:repeat(4,minmax(250px,1fr));gap:16px}.asset-card-modern{position:relative;display:flex;gap:14px;align-items:flex-start;min-height:172px;padding:16px}.asset-img-wrap{position:relative;flex:0 0 86px}.asset-img-wrap img{width:86px!important;height:72px!important;border-radius:12px;object-fit:cover;background:#eef4ff}.qr-badge{position:absolute;right:-6px;top:-6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#dcfce7;color:#16a34a;font-weight:900;border:1px solid #bbf7d0}.asset-info{flex:1;min-width:0}.asset-card-modern .health{margin-top:6px}.asset-list-view{grid-template-columns:1fr}.asset-list-view .asset-card-modern{min-height:auto}.asset-list-view .asset-img-wrap img{height:60px!important}.asset-list-view .asset-card-actions{justify-content:flex-end}
@media(max-width:1200px){.filter-grid{grid-template-columns:repeat(3,1fr)}.form-grid-4{grid-template-columns:repeat(2,1fr)}.asset-grid-modern{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.asset-toolbar-top{justify-content:flex-start}.filter-grid,.form-grid-4,.form-grid-2{grid-template-columns:1fr}.advanced-search{padding:14px}.date-pair{flex-direction:column;align-items:stretch}.filter-actions{justify-content:stretch;flex-direction:column}.asset-list-head{align-items:flex-start}.asset-view-tools{width:100%;justify-content:space-between}.asset-grid-modern{grid-template-columns:1fr}.asset-card-modern{min-height:auto}.asset-form-top{padding:14px}}

/* Asset Register mockup fix: force true card grid, not stacked list */
.asset-grid,
.asset-grid-modern{
  display:grid !important;
}
.asset-grid-modern{
  grid-template-columns:repeat(4,minmax(245px,1fr)) !important;
  gap:18px !important;
  align-items:stretch;
}
.asset-grid-modern.asset-list-view{
  grid-template-columns:1fr !important;
}
.asset-card-modern{
  min-height:190px;
  border-radius:18px;
  padding:16px;
  box-shadow:0 14px 34px rgba(15,23,42,.075);
  border:1px solid #dbe7f3;
}
.asset-card-modern .asset-card-actions{
  margin-top:14px;
}
.asset-card-modern .btn-sm{
  min-width:70px;
  text-align:center;
}
.advanced-search{
  border:1.5px dashed #60a5fa;
  border-radius:18px;
  margin-top:18px;
  margin-bottom:20px;
}
.asset-toolbar-top .btn{
  min-width:125px;
  text-align:center;
}
.asset-list-head{
  margin-top:18px;
}
@media(max-width:1380px){
  .asset-grid-modern{grid-template-columns:repeat(3,minmax(240px,1fr)) !important;}
}
@media(max-width:1100px){
  .asset-grid-modern{grid-template-columns:repeat(2,minmax(240px,1fr)) !important;}
}
@media(max-width:760px){
  .asset-grid-modern{grid-template-columns:1fr !important;}
  .asset-toolbar-top .btn{min-width:auto;flex:1;}
}


/* Topbar notification/avatar fix */
.topbar-left{display:flex;align-items:center;flex:1;min-width:0}.topbar-right{display:flex;align-items:center;gap:12px}.top-icon-btn{position:relative;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:14px;display:grid;place-items:center;text-decoration:none;color:#0f172a;font-size:18px;box-shadow:0 8px 20px rgba(15,23,42,.04);cursor:pointer}.top-icon-btn span{position:absolute;right:-6px;top:-7px;background:#ef4444;color:#fff;border-radius:999px;min-width:20px;height:20px;padding:0 5px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}.top-userbox{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:16px;background:rgba(255,255,255,.85);border:1px solid transparent}.top-userbox img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#eef5ff;border:1px solid #dbe7f3}.top-usertext{line-height:1.25}.top-noti-wrap{position:relative}.noti-dropdown{display:none;position:absolute;right:0;top:54px;width:330px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 22px 55px rgba(15,23,42,.16);padding:10px;z-index:200}.showNoti .noti-dropdown{display:block}.noti-head{display:flex;justify-content:space-between;align-items:center;padding:8px 10px}.noti-head a{font-size:12px;text-decoration:none;color:#2563eb;font-weight:700}.noti-mini{display:block;text-decoration:none;color:#0f172a;border:1px solid #edf2f7;border-radius:14px;padding:10px 12px;margin:7px 0;background:#f8fbff}.noti-mini b{display:block;font-size:13px}.noti-mini span{display:block;font-size:12px;color:#64748b;margin-top:2px}.noti-empty{padding:18px;text-align:center;color:#64748b}.menu-noti{position:relative}.menu-noti em{margin-left:auto;background:#ef4444;color:#fff;border-radius:999px;min-width:22px;height:22px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:12px;font-weight:800}.menu a.active.menu-noti em{background:#fff;color:#ef4444}@media(max-width:760px){.topbar-right{gap:6px}.top-usertext{display:none}.top-icon-btn{width:40px;height:40px}.top-userbox{padding:0;border:0;background:transparent}.top-userbox img{width:40px;height:40px}.noti-dropdown{right:-54px;width:290px}.search{display:none!important}}


/* Asset Enterprise Image Fix */
.asset-image-box{
 width:100%;
 height:500px;
 background:#fff;
 border:1px solid #e5e7eb;
 border-radius:16px;
 overflow:hidden;
 display:flex;
 align-items:center;
 justify-content:center;
 margin-bottom:15px;
}
.asset-image-box img{
 width:100%;
 height:100%;
 object-fit:contain;
 padding:20px;
}
.asset-card img,
.asset-thumb,
.asset-photo{
 width:100%;
 height:220px;
 object-fit:contain !important;
 background:#f8fafc;
}
@media(max-width:768px){
 .asset-image-box{height:280px;}
 .asset-card img,.asset-thumb,.asset-photo{height:160px;}
}

.asset-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.asset-info-table{width:100%;border-collapse:collapse}
.asset-info-table th,.asset-info-table td{padding:10px;border-bottom:1px solid #e2e8f0}
.asset-info-table th{background:#f8fafc;width:180px}
.asset-spec-card{margin-top:15px;padding:15px;border:1px solid #dbe7f3;border-radius:16px}
@media(max-width:768px){.asset-info-grid{grid-template-columns:1fr}}
