/* Theme "atlas" — echoidea CI: orange #f48523 / white / black / grey. Layout modelled on design/uxui. */
:root{
  --o:#f48523; --o-hover:#e0730f; --o-deep:#c2610a; --o-50:#fff7ee; --o-100:#ffead4;
  --ink:#16181d; --g50:#f8fafc; --g100:#f1f3f5; --g200:#e5e7eb; --g300:#d1d5db; --g400:#9ca3af; --g500:#6b7280; --g600:#4b5563; --g700:#374151;
  --ok:#16a34a; --ok-bg:#e9f8ef; --bad:#dc2626; --bad-bg:#fdecec;
  --shadow-card:0 2px 10px rgba(0,0,0,.035); --shadow-soft:0 8px 24px -6px rgba(0,0,0,.08);
  --head-h:72px;
}
html,body{background:var(--g50);color:var(--g700);font-size:15px}
a{color:var(--o-deep)}a:hover{color:var(--o-hover);text-decoration:none}
::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:9999px}::-webkit-scrollbar-track{background:#f1f5f9}

/* ---------- Header ---------- */
.main-header.navbar{height:var(--head-h);min-height:var(--head-h);background:#fff;border-bottom:1px solid var(--g200);padding:0 1.5rem;box-shadow:none}
.layout-navbar-fixed .wrapper .content-wrapper{margin-top:var(--head-h)}
.icon-btn{color:var(--g500)!important;border-radius:.75rem;padding:.55rem .7rem!important;position:relative;font-size:1.1rem}
.icon-btn:hover{background:var(--g100);color:var(--ink)!important}
.header-search{position:relative;flex:1;max-width:520px;margin:0 1rem}
.header-search i{position:absolute;left:.95rem;top:50%;transform:translateY(-50%);color:var(--g400);font-size:.95rem;pointer-events:none}
.header-search input{width:100%;height:42px;padding:0 1rem 0 2.6rem;background:var(--g50);border:1px solid var(--g200);border-radius:.85rem;font-size:.85rem;color:var(--g700);transition:.15s}
.header-search input:focus{outline:0;border-color:var(--o);background:#fff;box-shadow:0 0 0 .2rem rgba(244,133,35,.18)}
.notif-dot{position:absolute;top:.45rem;right:.5rem;width:9px;height:9px;background:var(--o);border-radius:50%;box-shadow:0 0 0 2px #fff}
.header-divider{width:1px;height:26px;background:var(--g200);margin:0 .9rem}
.header-user{display:flex;align-items:center;gap:.7rem;color:var(--ink);padding:.25rem .4rem;border-radius:.75rem}
.header-user:hover{background:var(--g50);color:var(--ink)}
.header-user-text{line-height:1.2;text-align:left}.header-user-text strong{display:block;font-size:.82rem;color:var(--ink)}.header-user-text small{color:var(--g400);font-size:.72rem}
.avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:#fff;font-weight:700;font-size:.8rem;flex-shrink:0}
.avatar-dark{background:var(--ink);box-shadow:0 0 0 3px rgba(244,133,35,.2)}
.avatar-orange{width:36px;height:36px;border-radius:.75rem;background:var(--o)}
.dropdown-menu{border:1px solid var(--g200);border-radius:.9rem;box-shadow:var(--shadow-soft);padding:.4rem;font-size:.85rem}
.dropdown-item{border-radius:.6rem;padding:.5rem .75rem;display:flex;align-items:center;gap:.6rem;color:var(--g700)}
.dropdown-item:hover,.dropdown-item:focus{background:var(--o-50);color:var(--o-deep)}
.dropdown-header{font-weight:700;color:var(--ink);font-size:.8rem}
.notif-menu{min-width:340px;padding:.5rem}
.notif-item{display:flex;align-items:center;gap:.7rem;padding:.55rem .5rem;border-radius:.6rem}
.notif-item:hover{background:var(--g50)}
.notif-text{flex:1;min-width:0;line-height:1.25}.notif-text strong{display:block;font-size:.8rem;color:var(--ink)}.notif-text small{display:block;color:var(--g400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notif-empty{padding:1rem;text-align:center;color:var(--g400);font-size:.8rem}

/* ---------- Left menu ---------- */
.main-sidebar{background:#fff;border-right:1px solid var(--g200);box-shadow:none;display:flex;flex-direction:column;height:100vh}
.main-sidebar .brand-link{display:flex;align-items:center;gap:.75rem;height:var(--head-h);min-height:var(--head-h);padding:0 1.25rem;border-bottom:1px solid var(--g200)!important;background:transparent;color:var(--ink);overflow:hidden;white-space:nowrap}
body .main-sidebar .brand-link{position:relative!important;top:auto!important;left:auto!important;width:100%!important;flex:0 0 auto}
.brand-mark{width:40px;height:40px;object-fit:contain;flex-shrink:0}
.brand-text{display:flex;flex-direction:column;line-height:1.15;margin:0!important}
.brand-title{font-size:1.1rem;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:.4rem}
.brand-chip{font-style:normal;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--o-100);color:var(--o-deep);padding:.12rem .4rem;border-radius:.35rem}
.brand-sub{font-size:.72rem;color:var(--g400);font-weight:400}
.main-sidebar .sidebar{flex:1 1 auto;min-height:0;height:auto;margin:0!important;padding:1rem;overflow-y:auto;overflow-x:hidden}
.nav-sidebar{width:100%}
.nav-sidebar .nav-item{margin-bottom:.3rem}
.nav-sidebar>.nav-item>.nav-link{width:100%!important;display:flex;align-items:center;gap:.85rem;padding:.72rem 1rem;border-radius:.9rem;color:var(--g600);font-weight:500;font-size:.88rem;white-space:nowrap}
.nav-sidebar>.nav-item>.nav-link p{margin:0;display:block}
.nav-sidebar>.nav-item>.nav-link p small{font-weight:400;opacity:.65}
.nav-sidebar>.nav-item>.nav-link .nav-icon{width:1.35rem;margin:0;font-size:1.1rem;text-align:center;color:var(--g400)}
.nav-sidebar>.nav-item>.nav-link:hover{background:var(--g100);color:var(--ink)}
.nav-sidebar>.nav-item>.nav-link.active,.nav-sidebar>.nav-item>.nav-link.active:hover{background:var(--o);color:#fff;box-shadow:0 8px 16px -6px rgba(244,133,35,.55)}
.nav-sidebar>.nav-item>.nav-link.active .nav-icon{color:#fff}
.sidebar-extra{padding:1rem;border-top:1px solid var(--g100);flex-shrink:0}
.side-card{background:linear-gradient(135deg,#fff7ee,#ffeedc);border:1px solid #ffe0bd;border-radius:1rem;padding:.9rem 1rem;margin-bottom:.9rem;font-size:.78rem;color:var(--g600)}
.side-card-title{font-weight:700;color:var(--ink);font-size:.78rem;margin-bottom:.35rem;display:flex;align-items:center;gap:.4rem}
.side-card-title i{color:var(--o)}
.side-card p{margin:0 0 .5rem;line-height:1.55}
.side-card-foot{padding-top:.5rem;border-top:1px dashed #f6cfa0;font-weight:600;color:var(--o-deep)}
.quota-row{display:flex;justify-content:space-between;margin-top:.45rem}
.quota-bar{height:6px;background:#fff;border-radius:99px;overflow:hidden;margin-top:.25rem}.quota-bar span{display:block;height:100%;background:var(--o);border-radius:99px}
.side-user-btn{display:flex;align-items:center;gap:.7rem;padding:.35rem;border-radius:.8rem;color:var(--ink)}
.side-user-btn:hover{background:var(--g50);color:var(--ink)}
.side-user-text{flex:1;min-width:0;line-height:1.25}.side-user-text strong{display:block;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.status-ok{font-size:.7rem;color:var(--ok);display:flex;align-items:center;gap:.3rem;font-weight:500}
.dot{width:7px;height:7px;border-radius:50%;background:var(--ok);display:inline-block;animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.35}}
.sidebar-mini.sidebar-collapse .main-sidebar .sidebar-extra{display:none}
.sidebar-mini.sidebar-collapse .main-sidebar .brand-text{display:none}
.sidebar-mini.sidebar-collapse .main-sidebar .brand-link{justify-content:center;padding:0}
.sidebar-mini.sidebar-collapse .main-sidebar .sidebar{padding:1rem .6rem}
.sidebar-mini.sidebar-collapse .main-sidebar .nav-sidebar>.nav-item>.nav-link{justify-content:center;padding-left:0;padding-right:0}
.sidebar-mini.sidebar-collapse .main-sidebar .nav-sidebar>.nav-item>.nav-link p{display:none}

/* ---------- Page head / body / footer ---------- */
.content-wrapper{background:var(--g50)}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.6rem 1.5rem .9rem}
.page-head h1{font-size:1.65rem;font-weight:700;color:var(--ink);margin:0;letter-spacing:-.01em}
.page-sub{margin:.3rem 0 0;font-size:.82rem;color:var(--g500)}
.content>.container-fluid{padding:0 1.5rem 1.5rem}
.main-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;background:#fff;border-top:1px solid var(--g200);padding:.95rem 1.5rem;font-size:.78rem;color:var(--g600)}
.footer-left{display:flex;align-items:center;gap:.55rem}.footer-mark{width:20px;height:20px}
.footer-right .sep{margin:0 .4rem;color:var(--g300)}

/* ---------- Components ---------- */
.card{border:1px solid #eef0f3;border-radius:1rem;box-shadow:var(--shadow-card);margin-bottom:1.25rem;background:#fff}
.card-header{background:transparent;border-bottom:1px solid var(--g100);padding:1rem 1.25rem}
.card-title{float:none!important;display:block;font-weight:700;font-size:1rem;color:var(--ink);margin:0}
.card-header>.card-tools{float:none;margin:0}
.card-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.card-body{padding:1.25rem}
.card-tools{font-size:.8rem}
.btn{border-radius:.75rem;font-weight:600;font-size:.84rem;padding:.5rem .95rem}
.btn-sm{padding:.3rem .6rem;font-size:.78rem;border-radius:.6rem}
.btn-brand{background:var(--o);border-color:var(--o);color:#fff;box-shadow:0 6px 14px -6px rgba(244,133,35,.6)}
.btn-brand:hover,.btn-brand:focus{background:var(--o-hover);border-color:var(--o-hover);color:#fff}
.btn-outline-secondary{color:var(--g600);border-color:var(--g200);background:#fff}.btn-outline-secondary:hover{background:var(--g100);color:var(--ink);border-color:var(--g300)}
.btn-outline-success{color:var(--ok);border-color:#bfe6cd}.btn-outline-success:hover{background:var(--ok);border-color:var(--ok)}
.btn-outline-danger{color:var(--bad);border-color:#f4c4c4}.btn-outline-danger:hover{background:var(--bad);border-color:var(--bad)}
.btn-outline-warning{color:var(--o-deep);border-color:#ffd9b0}.btn-outline-warning:hover{background:var(--o);border-color:var(--o);color:#fff}
.btn-link{color:var(--g600)}
.form-control,.custom-select{border-radius:.75rem;border:1px solid var(--g200);background-color:var(--g50);height:calc(1.5em + 1.1rem + 2px);padding:.55rem .85rem;font-size:.86rem;line-height:1.5}
.form-control-sm,.custom-select-sm{height:calc(1.5em + .6rem + 2px);padding:.3rem .6rem;border-radius:.6rem;font-size:.8rem}
textarea.form-control{height:auto}

/* Dropdowns: ONE custom chevron for every <select> (the browser's native arrow hugs the edge, Bootstrap's is a
   different double-triangle). The arrow sits 1.1rem from the right edge and the text keeps clear of it. */
select.form-control,select.custom-select,.custom-select{
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236b7280' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-size:12px 8px;background-position:right 1.1rem center;
  padding-right:2.9rem;cursor:pointer}
select.form-control-sm,select.custom-select-sm,.custom-select-sm{background-size:10px 7px;background-position:right .85rem center;padding-right:2.3rem}
select.form-control:focus,.custom-select:focus{background-color:#fff;border-color:var(--o);box-shadow:0 0 0 .2rem rgba(244,133,35,.18)}
select.form-control::-ms-expand{display:none}
.form-control:focus{background:#fff;border-color:var(--o);box-shadow:0 0 0 .2rem rgba(244,133,35,.18)}
label{font-weight:600;font-size:.82rem;color:var(--g700)}
.table thead th{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--g400);font-weight:700;border-top:0;border-bottom:1px solid var(--g100);background:#fcfcfd;white-space:nowrap}
.table td{vertical-align:middle;border-top:1px solid var(--g100);font-size:.86rem}
.table-hover tbody tr:hover{background:#fffaf4}
.badge{border-radius:99px;font-weight:600;font-size:.72rem;padding:.35em .7em}
.badge-success{background:var(--ok-bg);color:var(--ok)}.badge-danger{background:var(--bad-bg);color:var(--bad)}
.badge-secondary{background:var(--g100);color:var(--g600)}.badge-primary{background:var(--o-100);color:var(--o-deep)}
.alert{border:0;border-radius:.9rem;font-size:.86rem}
.alert-success{background:var(--ok-bg);color:#166534}.alert-danger{background:var(--bad-bg);color:#991b1b}.alert-warning{background:var(--o-50);color:#8a4a07;border:1px solid #ffe0bd}
.tile{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:.85rem;font-size:1.15rem;flex-shrink:0}
.tile-sm{width:34px;height:34px;border-radius:.7rem;font-size:.95rem}
.tile-orange{background:var(--o-100);color:var(--o)}.tile-dark{background:#e9eaec;color:var(--ink)}.tile-gray{background:var(--g100);color:var(--g500)}
.pill{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:600;padding:.2rem .6rem;border-radius:99px;background:var(--ok-bg);color:var(--ok);white-space:nowrap}
.pill-orange{background:var(--o-100);color:var(--o-deep)}.pill-gray{background:var(--g100);color:var(--g600)}.pill-bad{background:var(--bad-bg);color:var(--bad)}

/* ---------- Dashboard ---------- */
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-bottom:1.25rem}
.kpi{background:#fff;border:1px solid #eef0f3;border-radius:1.1rem;padding:1.15rem;box-shadow:var(--shadow-card);display:flex;flex-direction:column;justify-content:space-between;min-height:158px;transition:.15s}
.kpi:hover{box-shadow:var(--shadow-soft)}
.kpi-top{display:flex;justify-content:space-between;align-items:flex-start}
.kpi-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:1rem;gap:.5rem}
.kpi-label{font-size:.76rem;color:var(--g400);font-weight:500;margin:0}
.kpi-value{font-size:1.65rem;font-weight:700;color:var(--ink);margin:.1rem 0 0;line-height:1.15}
.kpi-value small{font-size:.8rem;font-weight:500;color:var(--g500)}
.kpi canvas{width:84px!important;height:38px!important}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.svc-col{background:#fafbfc;border:1px solid var(--g200);border-radius:.9rem;padding:.9rem}
.svc-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:.55rem;margin-bottom:.7rem;border-bottom:1px solid var(--g200);font-size:.8rem;font-weight:700;color:var(--g700)}
.svc-item{background:#fff;border:1px solid var(--g200);border-radius:.75rem;padding:.7rem .8rem;margin-bottom:.6rem}
.svc-item:last-child{margin-bottom:0}
.svc-row{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;font-weight:600;color:var(--ink)}
.svc-state{font-size:.72rem;font-weight:600;display:flex;align-items:center;gap:.3rem}.svc-state.up{color:var(--ok)}.svc-state.down{color:var(--bad)}
.svc-state:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.svc-desc{font-size:.72rem;color:var(--g400);margin-top:.2rem}
.svc-meta{display:flex;justify-content:space-between;font-size:.68rem;color:var(--g400);margin-top:.45rem}
.dash-row{display:grid;grid-template-columns:5fr 3fr 4fr;gap:1.1rem}
.chart-box{position:relative;height:250px}
.donut-wrap{position:relative;height:190px}
.legend-row{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;padding:.3rem 0}
.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:.45rem}
.feed-item{display:flex;align-items:flex-start;gap:.75rem;padding:.55rem 0}
.feed-text{flex:1;min-width:0;line-height:1.3}.feed-text strong{display:block;font-size:.8rem;color:var(--ink)}.feed-text small{display:block;color:var(--g400);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.feed-time{font-size:.68rem;color:var(--g400);white-space:nowrap}
.empty-note{text-align:center;color:var(--g400);padding:1.5rem 0;font-size:.85rem}

@media (max-width:1199px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dash-row{grid-template-columns:1fr 1fr}.dash-row>:first-child{grid-column:1/-1}}
@media (max-width:991px){.header-search{display:none}.svc-grid{grid-template-columns:1fr 1fr}.page-head,.content>.container-fluid{padding-left:1rem;padding-right:1rem}.main-header.navbar{padding:0 .75rem}}
@media (max-width:640px){.kpi-grid,.svc-grid,.dash-row{grid-template-columns:1fr}.notif-menu{min-width:280px}}

/* ---------- Login ---------- */
.login-page{background:var(--g50);background-image:radial-gradient(circle at 15% 10%,#fff1e0 0,transparent 40%),radial-gradient(circle at 90% 90%,#f1f3f5 0,transparent 45%)}
.login-box{width:400px;max-width:92vw}
.login-logo{margin-bottom:1.25rem}
.login-logo .brand-logo{max-width:250px;width:78%;height:auto}
.login-logo .brand-sub{font-size:.95rem;font-weight:600;color:var(--g500);margin-top:.4rem}
.login-box .card{border-radius:1.25rem;box-shadow:var(--shadow-soft);border:1px solid #eef0f3}
.login-card-body{padding:1.75rem;border-radius:1.25rem}
.login-box-msg{padding:0 0 1.1rem;color:var(--g500);font-size:.88rem}
.login-box .input-group-text{background:var(--g50);border:1px solid var(--g200);border-left:0;border-radius:0 .75rem .75rem 0;color:var(--g400)}
.login-box .input-group>.form-control{border-radius:.75rem 0 0 .75rem}
.login-box .btn-brand{padding:.7rem;font-size:.92rem}

/* ---------- Focus: never blue; orange ring for keyboard only ---------- */
a:focus,button:focus,.btn:focus,.btn.focus,.nav-link:focus,.dropdown-item:focus,.icon-btn:focus,.header-user:focus,.side-user-btn:focus{outline:0!important;box-shadow:none}
.btn-brand:focus{box-shadow:0 6px 14px -6px rgba(244,133,35,.6)}
.icon-btn:active{background:var(--g100)}
a:focus-visible,button:focus-visible,.btn:focus-visible,.icon-btn:focus-visible,.nav-link:focus-visible,.header-user:focus-visible,.side-user-btn:focus-visible{outline:2px solid var(--o)!important;outline-offset:2px}
.form-control:focus-visible{outline:0!important}

/* ---------- Metrics page ---------- */
.seg{display:inline-flex;background:var(--g100);padding:3px;border-radius:.75rem}
.seg-btn{border:0;background:transparent;color:var(--g600);font-weight:600;font-size:.8rem;padding:.35rem .9rem;border-radius:.6rem;cursor:pointer}
.seg-btn.active{background:#fff;color:var(--o-deep);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.m-select .form-control{min-width:160px}
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;background:var(--g50);border:1px solid var(--g100);border-radius:1rem;padding:1rem 1.25rem;margin-bottom:1.25rem;text-align:center}
.stat-label{display:flex;justify-content:center;align-items:center;gap:.4rem;font-size:.78rem;color:var(--g500);font-weight:500}
.stat strong{display:block;font-size:1.3rem;color:var(--ink);margin-top:.15rem}
.dot-orange,.dot-ink{width:10px;height:10px;border-radius:50%;display:inline-block}
.dot-orange{background:var(--o)}.dot-ink{background:var(--ink)}
.chart-box.tall{height:340px}
@media (max-width:991px){.stat-strip{grid-template-columns:1fr 1fr}.chart-box.tall{height:260px}}
.table td small{white-space:nowrap}

/* ---------- Site disk usage ---------- */
.usage-bar{height:6px;background:var(--g100);border-radius:99px;overflow:hidden;margin:.3rem 0 .1rem}
.usage-fill{display:block;height:100%;border-radius:99px;transition:width .3s}
.usage-fill.level-ok{background:var(--ok)}.usage-fill.level-warn{background:var(--o)}.usage-fill.level-over{background:var(--bad)}.usage-fill.level-none{background:var(--g300)}
.usage-text{font-size:.82rem;white-space:nowrap}.usage-pct{font-size:.7rem}

/* ---------- Input groups: input + unit/select/buttons joined into a single control ---------- */
.input-group{flex-wrap:nowrap}
.input-group>.form-control,.input-group>.custom-select{min-width:0}
.input-group>.form-control:not(:last-child),
.input-group>.custom-select:not(:last-child),
.input-group-prepend>.input-group-text,.input-group-prepend>.btn,.input-group-prepend>.custom-select{border-top-right-radius:0;border-bottom-right-radius:0}
.input-group>.form-control:not(:first-child),
.input-group>.custom-select:not(:first-child),
.input-group-append>.input-group-text,.input-group-append>.btn,.input-group-append>.custom-select{border-top-left-radius:0;border-bottom-left-radius:0}
.input-group-prepend>.input-group-text,.input-group-prepend>.btn,.input-group-prepend>.custom-select{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}
.input-group-append>.input-group-text,.input-group-append>.btn,.input-group-append>.custom-select{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}
.input-group-sm .input-group-prepend>*,.input-group-sm .input-group-append>*,.input-group-sm>.form-control,.input-group-sm>.custom-select{border-radius:inherit}
.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.custom-select{border-radius:0 .6rem .6rem 0}
.input-group-sm>.input-group-prepend>.input-group-text{border-radius:.6rem 0 0 .6rem}
.input-group-sm>.form-control:not(:last-child){border-radius:.6rem 0 0 .6rem}
.input-group-sm>.form-control:not(:first-child):not(:last-child){border-radius:0}
.input-group-sm>.form-control:not(:first-child):last-child{border-radius:0 .6rem .6rem 0}
.input-group-append{margin-left:-1px}.input-group-prepend{margin-right:-1px}
.input-group>.form-control:focus,.input-group>.custom-select:focus{position:relative;z-index:3}
.input-group-text{display:flex;align-items:center;background:var(--g100);border:1px solid var(--g200);color:var(--g600);font-size:.86rem;padding:0 .85rem}
.input-group-sm .input-group-text{font-size:.8rem;padding:0 .6rem}
/* the unit select inside an input group: same fill as the unit label, arrow with breathing room */
.input-group-append>.custom-select{background-color:var(--g100);color:var(--g700);font-weight:600;min-width:5.2rem}
.input-group-append>.custom-select-sm{min-width:4.4rem}
/* numeric fields next to a unit read right-aligned, like a quantity */
.input-number,.input-number::placeholder{text-align:right}
input.input-number{padding-right:.95rem}
/* appended icon buttons (eye / refresh / save) match the field height */
.input-group-append>.btn{display:flex;align-items:center;justify-content:center;padding:0 .85rem}

/* "N รายการ" after a list title: plain weight, grey */
.card-title .count-note{font-weight:400;font-size:.85rem;color:var(--g500);margin-left:.4rem}
