/* ==========================================================================
   uz-ui.css — Uzaily shared design system (admin + client dashboards)
   One canvas, one accent, hairline borders, editorial serif headings.
   Loaded by admin/layouts/master.blade.php and templates/basic/layouts/user_app.blade.php.
   ========================================================================== */

@import url('../../fonts/uz-fonts.css');

/* ---------- 1. Tokens ---------- */
:root {
    /* colour */
    --uz-ink: #0B1220;            /* text, primary buttons */
    --uz-ink-2: #3A4250;          /* secondary text */
    --uz-muted: #6B7280;          /* labels, captions */
    --uz-faint: #9CA3AF;          /* placeholder, disabled */
    --uz-canvas: #FCFCFA;         /* page background (near-white) */
    --uz-surface: #FFFFFF;        /* cards */
    --uz-tint: #F6F3EC;           /* cream: subtle tint only (hover, table head) */
    --uz-line: #E7E5E0;           /* 1px hairline */
    --uz-line-soft: #F0EEEA;      /* row dividers */
    --uz-accent: #006D77;         /* the single accent */
    --uz-accent-soft: #E8F2F3;
    --uz-ok: #1F7A4D;
    --uz-warn: #9A6700;
    --uz-bad: #B42318;

    /* type */
    --uz-font-serif: 'Fraunces', 'Source Serif 4', Georgia, serif;
    --uz-font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --uz-text-xs: 11px;   /* uppercase labels */
    --uz-text-sm: 13px;   /* captions, table cells */
    --uz-text-md: 14px;   /* body */
    --uz-text-lg: 16px;
    --uz-h3: 20px;        /* card titles */
    --uz-h2: 26px;        /* section titles */
    --uz-h1: 44px;        /* page title */
    --uz-stat: 40px;      /* headline numbers */

    /* spacing: 8px scale */
    --uz-s1: 4px; --uz-s2: 8px; --uz-s3: 16px; --uz-s4: 24px; --uz-s5: 32px; --uz-s6: 48px; --uz-s7: 64px;

    /* radius / border / shadow */
    --uz-r-sm: 8px;
    --uz-r-md: 12px;
    --uz-r-lg: 16px;
    --uz-r-pill: 999px;
    --uz-border: 1px solid var(--uz-line);
    --uz-shadow: 0 1px 2px rgba(11, 18, 32, .03);
}

/* ---- Admin brand rules (formerly assets/admin/css/uz-admin-brand.css), scoped to body.uz-admin so uz-ui.css is the only brand stylesheet. Fonts come from uz-fonts.css (partials/uz_head_brand). ---- */
.uz-admin{--uz-paper:#F6F3EC;--uz-paper-2:#EFEAE0;--uz-ink:#0B1220;--uz-ink-2:#3A4150;
  --uz-teal:#006D77;--uz-teal-dark:#00555D;--uz-teal-soft:#E3EEEC;--uz-rule:#D9D2C3;--uz-card:#FFFFFF;
  --uz-amber:#8A5A00;--uz-amber-soft:#F6ECD6;--uz-red:#A1262B;--uz-red-soft:#F5E1DF;
  --uz-green:#1E6B47;--uz-green-soft:#E1EFE6;
  
  --base:185 100% 23%;--base-h:185;--base-s:100%;--base-l:23%;--base-400:185 100% 23%;--base-600:185 100% 18%;
  --primary:185 100% 23%;--info:185 100% 23%;--dark:222 49% 8%;--secondary:220 16% 27%;
  --warning:40 100% 27%;--danger:358 62% 39%;--success:150 56% 27%;
  --uz-serif:'Fraunces','Source Serif 4',Georgia,'Times New Roman',serif;
  --uz-sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;}
.uz-admin html:not(.dark) body,body.uz-admin{background-color:var(--uz-paper)!important;color:var(--uz-ink)!important;font-family:var(--uz-sans)}
.uz-admin .body-wrapper,.uz-admin .bodywrapper__inner{background-color:var(--uz-paper)!important}
.uz-admin h1,.uz-admin h2,.uz-admin h3,.uz-admin h4,.uz-admin h5,.uz-admin .page-title,.uz-admin .card-title,.uz-admin .widget-card-title,.uz-admin .login-main .title{font-family:var(--uz-serif)!important;letter-spacing:-.01em;color:var(--uz-ink)}
.uz-admin a{color:var(--uz-teal)}
.uz-admin a:hover{color:var(--uz-teal-dark)}
.uz-admin .card{background:var(--uz-card)!important;border:1px solid var(--uz-rule)!important;box-shadow:0 1px 2px rgba(11,18,32,.05)!important}
.uz-admin .card-header{background:var(--uz-card);border-bottom:1px solid var(--uz-rule)}
.uz-admin .card-header.bg--dark,.uz-admin .bg--dark:not(.sidebar):not(.navbar-wrapper){background-color:var(--uz-c-primary)!important;color:var(--uz-c-on-primary)!important}
.uz-admin .card-header.bg--dark *,.uz-admin .bg--dark:not(.sidebar):not(.navbar-wrapper) .card-title{color:var(--uz-c-on-primary)!important}
.uz-admin [class*="border--primary"],.uz-admin [class*="border--info"],.uz-admin [class*="border--purple"],.uz-admin [class*="border--indigo"],.uz-admin [class*="border--deep-purple"],.uz-admin [class*="border--blue"],.uz-admin [class*="border--cyan"]{border-color:var(--uz-teal)!important}
.uz-admin .border--dark{border-color:var(--uz-ink)!important}
.uz-admin .border--warning{border-color:var(--uz-amber)!important}
.uz-admin .border--danger{border-color:var(--uz-red)!important}
.uz-admin .border--success{border-color:var(--uz-green)!important}
.uz-admin .text--primary,.uz-admin .text--info,.uz-admin .text--purple,.uz-admin .text--indigo,.uz-admin .text--deep-purple,.uz-admin .text--blue,.uz-admin .text--cyan,.uz-admin .text--teal{color:var(--uz-teal)!important}
.uz-admin .text--warning{color:var(--uz-amber)!important}
.uz-admin .text--danger{color:var(--uz-red)!important}
.uz-admin .text--success{color:var(--uz-green)!important}
.uz-admin .text--dark{color:var(--uz-ink)!important}
.uz-admin .bg--primary,.uz-admin .bg--info,.uz-admin .bg--purple,.uz-admin .bg--indigo,.uz-admin .bg--deep-purple,.uz-admin .bg--blue,.uz-admin .bg--cyan,.uz-admin .bg--teal,.uz-admin .bg-primary{background-color:var(--uz-teal)!important;color:#fff}
.uz-admin .bg--warning{background-color:var(--uz-amber)!important;color:#fff}
.uz-admin .bg--danger{background-color:var(--uz-red)!important;color:#fff}
.uz-admin .bg--success{background-color:var(--uz-green)!important;color:#fff}
.uz-admin .badge,.uz-admin .info-badge,.uz-admin .info-badge-two{font-family:var(--uz-sans);font-weight:600;border-radius:999px}
.uz-admin .badge--primary,.uz-admin .badge--info,.uz-admin .badge--purple,.uz-admin .badge--indigo,.uz-admin .badge-primary,.uz-admin .info-badge,.uz-admin .info-badge-two{background-color:var(--uz-teal-soft)!important;color:var(--uz-teal-dark)!important;border:1px solid rgba(0,109,119,.25)!important}
.uz-admin .badge--dark,.uz-admin .badge--secondary{background-color:#E6E7EA!important;color:var(--uz-ink)!important;border:1px solid #C9CCD3!important}
.uz-admin .badge--warning{background-color:var(--uz-amber-soft)!important;color:var(--uz-amber)!important;border:1px solid rgba(138,90,0,.3)!important}
.uz-admin .badge--danger{background-color:var(--uz-red-soft)!important;color:var(--uz-red)!important;border:1px solid rgba(161,38,43,.3)!important}
.uz-admin .badge--success{background-color:var(--uz-green-soft)!important;color:var(--uz-green)!important;border:1px solid rgba(30,107,71,.3)!important}
.uz-admin .btn--primary,.uz-admin .btn--base,.uz-admin .btn-primary,.uz-admin .btn--dark,.uz-admin .btn--info,.uz-admin .btn--purple{background-color:var(--uz-ink)!important;border-color:var(--uz-ink)!important;color:#fff!important;background-image:none!important}
.uz-admin .btn--primary:hover,.uz-admin .btn--base:hover,.uz-admin .btn-primary:hover,.uz-admin .btn--dark:hover,.uz-admin .btn--info:hover,.uz-admin .btn--purple:hover{background-color:var(--uz-teal)!important;border-color:var(--uz-teal)!important;color:#fff!important}
.uz-admin .btn-outline--primary,.uz-admin .btn-outline-primary,.uz-admin .btn-outline--info,.uz-admin .btn-outline--base{color:var(--uz-teal)!important;border-color:var(--uz-teal)!important;background:transparent!important}
.uz-admin .btn-outline--primary:hover,.uz-admin .btn-outline-primary:hover,.uz-admin .btn-outline--info:hover,.uz-admin .btn-outline--base:hover{background-color:var(--uz-teal)!important;color:#fff!important}
.uz-admin .btn-outline--dark{color:var(--uz-ink)!important;border-color:var(--uz-ink)!important}
.uz-admin .btn-outline--dark:hover{background:var(--uz-ink)!important;color:#fff!important}
.uz-admin .btn--warning,.uz-admin .btn.btn--warning{background-color:var(--uz-c-warn-bg)!important;border-color:var(--uz-c-warn-dot)!important;color:var(--uz-c-warn)!important;box-shadow:inset 3px 0 0 var(--uz-c-warn-dot)}
.uz-admin .btn--warning:hover,.uz-admin .btn--warning i{color:var(--uz-c-warn)!important}
.uz-admin .btn--danger{background-color:var(--uz-red)!important;border-color:var(--uz-red)!important;color:#fff!important}
.uz-admin .btn-outline--warning{color:var(--uz-amber)!important;border-color:var(--uz-amber)!important}
.uz-admin .btn-outline--danger{color:var(--uz-red)!important;border-color:var(--uz-red)!important}
.uz-admin .btn:focus-visible,.uz-admin a:focus-visible{outline:2px solid var(--uz-teal);outline-offset:2px;box-shadow:none}
.uz-admin .sidebar,.uz-admin .sidebar__inner{background-color:#fff!important;border-right:1px solid var(--uz-rule)}
.uz-admin .sidebar__menu .sidebar-menu-item>a:hover{background-color:var(--uz-teal-soft)!important}
.uz-admin .sidebar__menu .sidebar-menu-item.active>a,.uz-admin .sidebar__menu .sidebar-submenu .sidebar-menu-item.active>a,.uz-admin .capsule--block .sidebar-menu-item.active a{background-color:var(--uz-teal-soft)!important;color:var(--uz-teal-dark)!important;border-left:3px solid var(--uz-teal)!important}
.uz-admin .sidebar__menu .sidebar-menu-item.active>a .menu-icon,.uz-admin .sidebar__menu .sidebar-menu-item.active>a .menu-title,.uz-admin .sidebar__menu .sidebar-menu-item.active>a .menu-badge{color:var(--uz-teal-dark)!important}
.uz-admin .sidebar__menu .sidebar-menu-item .menu-badge{background-color:var(--uz-teal)!important;color:#fff!important}
.uz-admin .navbar-wrapper{background:#fff!important;border-bottom:1px solid var(--uz-rule)}
.uz-admin .table thead th,.uz-admin .table--light thead th,.uz-admin .custom--table thead th{background-color:var(--uz-ink)!important;color:#fff!important;font-weight:600}
.uz-admin .table--light.style--two thead th{background-color:var(--uz-paper-2)!important;color:var(--uz-ink)!important}
.uz-admin .table tbody tr:hover{background-color:#FBF9F4}
.uz-admin .form-control:focus,.uz-admin .form-select:focus,.uz-admin .select2-container--focus .select2-selection,.uz-admin .select2-container--open .select2-selection{border-color:var(--uz-teal)!important;box-shadow:0 0 0 3px rgba(0,109,119,.18)!important}
.uz-admin .form-check-input:checked{background-color:var(--uz-teal)!important;border-color:var(--uz-teal)!important}
.uz-admin .select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:var(--uz-teal)!important}
.uz-admin .toggle.btn-primary,.uz-admin .toggle-on.btn{background-color:var(--uz-teal)!important;border-color:var(--uz-teal)!important}
.uz-admin .input-group-text{background-color:var(--uz-paper-2)!important;border-color:var(--uz-rule)!important;color:var(--uz-ink)!important}
.uz-admin .pagination .page-link{color:var(--uz-teal)!important;border-color:var(--uz-rule)!important}
.uz-admin .pagination .page-item.active .page-link{background-color:var(--uz-ink)!important;border-color:var(--uz-ink)!important;color:#fff!important}
.uz-admin .pagination .page-link:focus{box-shadow:0 0 0 3px rgba(0,109,119,.2)!important}
.uz-admin .widget-two,.uz-admin .widget-seven,.uz-admin .widget-card,.uz-admin .dashboard-w1{background-color:#fff!important;border:1px solid var(--uz-rule)!important;color:var(--uz-ink)!important;background-image:none!important}
.uz-admin .widget-card.bg--primary,.uz-admin .widget-card.bg--info,.uz-admin .widget-two.box--shadow2{border-left:4px solid var(--uz-teal)!important}
.uz-admin .widget-card.bg--success{border-left:4px solid var(--uz-ink)!important}
.uz-admin .widget-card.bg--warning{border-left:4px solid var(--uz-amber)!important}
.uz-admin .widget-card.bg--danger{border-left:4px solid var(--uz-red)!important}
.uz-admin .widget-card .widget-card-title,.uz-admin .widget-card .widget-card-amount,.uz-admin .widget-card .text--white{color:var(--uz-ink)!important}
.uz-admin .widget-card .widget-card-icon,.uz-admin .widget-card .widget-card-arrow{background-color:var(--uz-teal-soft)!important;color:var(--uz-teal-dark)!important}
.uz-admin .widget-card.bg--success .widget-card-icon,.uz-admin .widget-card.bg--success .widget-card-arrow{background-color:#E6E7EA!important;color:var(--uz-ink)!important}
.uz-admin .widget-card.bg--warning .widget-card-icon,.uz-admin .widget-card.bg--warning .widget-card-arrow{background-color:var(--uz-amber-soft)!important;color:var(--uz-amber)!important}
.uz-admin .widget-card.bg--danger .widget-card-icon,.uz-admin .widget-card.bg--danger .widget-card-arrow{background-color:var(--uz-red-soft)!important;color:var(--uz-red)!important}
.uz-admin .widget-card-icon::before{background:transparent!important}
.uz-admin .widget-two__icon,.uz-admin .widget-seven__content-icon{background-color:var(--uz-teal-soft)!important;color:var(--uz-teal-dark)!important}
.uz-admin [class*="b-radius--"].bg--gradi-1,.uz-admin [class*="bg--gradi-"]{background-image:none!important;background-color:var(--uz-teal)!important}
/* ---- Admin auth (login / forgot / reset / verify code): brand card ---- */
.uz-admin .login-main{background-color:var(--uz-paper)!important;background-image:none!important;padding:64px 0}
.uz-admin .login-main::before,.uz-admin .login-area::after,.uz-admin .login-wrapper__top::after{content:none!important;display:none!important}
.uz-admin .login-area{background:transparent!important;border:0!important;padding:0}
.uz-admin .login-wrapper{background:var(--uz-card)!important;border:1px solid var(--uz-rule)!important;border-radius:16px!important;box-shadow:0 1px 2px rgba(11,18,32,.04),0 12px 32px -16px rgba(11,18,32,.18);color:var(--uz-ink)}
.uz-admin .login-wrapper__top{background:transparent!important;border-radius:0!important;padding:40px 40px 8px!important;text-align:left}
.uz-admin .login-wrapper__top .title,.uz-admin .login-main .title,.uz-admin .login-main h2{font-family:var(--uz-serif)!important;color:var(--uz-ink)!important;font-weight:600;font-size:28px;letter-spacing:-.01em;margin-bottom:6px}
.uz-admin .login-wrapper__top .title strong{font-weight:600}
.uz-admin .login-wrapper__top p,.uz-admin .login-main .uz-auth-sub{color:var(--uz-ink-2)!important;font-size:14px;margin:0}
.uz-admin .login-wrapper__body{padding:24px 40px 40px!important}
.uz-admin .login-form label,.uz-admin .login-form .form-label,.uz-admin .login-form .uz-auth-label{display:inline-block;color:var(--uz-ink)!important;font-size:13px;font-weight:600;margin-bottom:6px}
.uz-admin .login-form label.required::after{color:var(--uz-red)!important}
.uz-admin .login-form .form-control{height:46px;padding:10px 14px;background:#fff!important;color:var(--uz-ink)!important;border:1px solid var(--uz-rule)!important;border-radius:10px!important;font-size:15px;box-shadow:none}
.uz-admin .login-form .form-control::placeholder{color:#9CA3AF!important}
.uz-admin .login-form .form-control:focus{border-color:var(--uz-teal)!important;box-shadow:0 0 0 3px rgba(0,109,119,.18)!important;outline:0}
.uz-admin .login-form .form-control:-webkit-autofill,.uz-admin .login-form .form-control:-webkit-autofill:hover,.uz-admin .login-form .form-control:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--uz-paper) inset!important;box-shadow:0 0 0 1000px var(--uz-paper) inset!important;-webkit-text-fill-color:var(--uz-ink)!important;caret-color:var(--uz-ink);transition:background-color 9999s ease-out 0s}
.uz-admin .login-form .form-control:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--uz-paper) inset,0 0 0 3px rgba(0,109,119,.18)!important}
.uz-admin .login-form .forget-text,.uz-admin .login-form .uz-auth-link{color:var(--uz-teal)!important;font-size:13px;font-weight:500;text-decoration:none}
.uz-admin .login-form .forget-text:hover,.uz-admin .login-form .uz-auth-link:hover{color:var(--uz-teal-dark)!important;text-decoration:underline}
/* custom captcha: the generator emits an inline-styled dark strip; restyle it to a light outlined tile */
.uz-admin .login-form .mb-2 > div[style]{background-color:var(--uz-paper)!important;color:var(--uz-ink)!important;border:1px solid var(--uz-rule);border-radius:10px;overflow:hidden}
.uz-admin .login-wrapper .cmn-btn,.uz-admin .login-form .cmn-btn,.uz-admin .cmn-btn{background:var(--uz-ink)!important;color:#fff!important;border-color:var(--uz-ink)!important;background-image:none!important}
.uz-admin .login-form .cmn-btn{height:46px;border-radius:10px!important;font-weight:600;letter-spacing:.02em;margin-top:8px}
.uz-admin .login-wrapper .cmn-btn:hover,.uz-admin .cmn-btn:hover{background:var(--uz-teal)!important;border-color:var(--uz-teal)!important}
.uz-admin .login-form .cmn-btn:focus-visible{box-shadow:0 0 0 3px rgba(0,109,119,.35)!important}
/* verify-code page (dark masked digit boxes in verification_code.css) */
.uz-admin .uz-auth-code .login-area{background:var(--uz-card)!important;border:1px solid var(--uz-rule)!important;border-radius:16px;padding:40px}
.uz-admin .uz-auth-code .verification-code::after{background-color:var(--uz-card)!important}
.uz-admin .uz-auth-code .verification-code input{color:var(--uz-ink)!important}
.uz-admin .uz-auth-code .boxes span{border-color:var(--uz-rule)!important;color:var(--uz-ink-2)!important;background:#fff}
@media (max-width:575px){.uz-admin .login-main{padding:24px 0}.uz-admin .login-wrapper__top{padding:28px 22px 4px!important}.uz-admin .login-wrapper__body{padding:20px 22px 28px!important}.uz-admin .uz-auth-code .login-area{padding:28px 22px}}
.uz-admin .uz-logo{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;line-height:1}
.uz-admin .uz-logo__mark{width:28px;height:28px;border-radius:6px;flex:none}
.uz-admin .uz-logo__wordmark{font-family:var(--uz-serif)!important;font-weight:600;font-size:1.75rem;letter-spacing:-.02em}
.uz-admin .uz-logo--light .uz-logo__wordmark{color:var(--uz-ink)!important}
.uz-admin .uz-logo--dark .uz-logo__wordmark{color:#fff!important}
.uz-admin .uz-logo__dot{color:var(--uz-teal)!important}
.uz-admin .uz-logo--dark .uz-logo__dot{color:#4FB3BC!important}
.uz-admin .sidebar__main-logo{display:inline-flex}
/* ---- end admin brand rules ---- */

/* ---------- 2. Base ---------- */
.uz-ui { background: var(--uz-canvas); color: var(--uz-ink); font-family: var(--uz-font-sans); font-size: var(--uz-text-md); -webkit-font-smoothing: antialiased; }
.uz-ui .font-display, .uz-serif { font-family: var(--uz-font-serif); font-weight: 500; letter-spacing: -0.02em; }
.uz-num { font-variant-numeric: tabular-nums; }
.uz-label { display: block; font-size: var(--uz-text-xs); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--uz-muted); }
.uz-muted { color: var(--uz-muted); }
.uz-icon { color: var(--uz-muted); width: 16px; text-align: center; }

/* ---------- 3. Page header ---------- */
.uz-page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--uz-s3); flex-wrap: wrap; padding-bottom: var(--uz-s4); margin-bottom: var(--uz-s5); border-bottom: var(--uz-border); }
.uz-page-header__eyebrow { margin-bottom: var(--uz-s2); }
.uz-page-header__title { font-family: var(--uz-font-serif); font-weight: 500; font-size: var(--uz-h1); line-height: 1.08; letter-spacing: -0.025em; color: var(--uz-ink); margin: 0; }
.uz-page-header__sub { margin: var(--uz-s2) 0 0; color: var(--uz-muted); font-size: var(--uz-text-md); }
.uz-page-header__actions { display: flex; align-items: center; gap: var(--uz-s2); flex-wrap: wrap; }

/* ---------- 4. Section ---------- */
.uz-section { margin-bottom: var(--uz-s6); }
.uz-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--uz-s3); margin-bottom: var(--uz-s3); }
.uz-section__title { font-family: var(--uz-font-serif); font-weight: 500; font-size: var(--uz-h3); line-height: 1.25; letter-spacing: -0.01em; margin: 0; color: var(--uz-ink); }
.uz-section__meta { font-size: var(--uz-text-sm); color: var(--uz-muted); }

/* ---------- 5. Card / stat ---------- */
.uz-card, .uz-ui .uz-card { background: var(--uz-surface); border: var(--uz-border); border-radius: var(--uz-r-lg); padding: var(--uz-s4); box-shadow: none; }
.uz-card--flush { padding: 0; overflow: hidden; }
.uz-card__title { font-family: var(--uz-font-serif); font-weight: 500; font-size: var(--uz-h3); margin: 0 0 var(--uz-s1); }
.uz-card__foot { margin-top: var(--uz-s3); padding-top: var(--uz-s3); border-top: 1px solid var(--uz-line-soft); display: flex; align-items: center; justify-content: space-between; gap: var(--uz-s2); }
a.uz-card { display: block; color: inherit; text-decoration: none; transition: border-color .15s; }
a.uz-card:hover { border-color: #CFCBC2; }

.uz-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--uz-surface); border: var(--uz-border); border-radius: var(--uz-r-lg); }
.uz-stats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.uz-stats--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.uz-stats > .uz-stat { border-left: var(--uz-border); }
.uz-stats > .uz-stat:first-child { border-left: 0; }
.uz-stat { padding: var(--uz-s4); min-width: 0; }
.uz-stat__value { margin-top: var(--uz-s2); font-family: var(--uz-font-serif); font-weight: 400; font-size: var(--uz-stat); line-height: 1.05; letter-spacing: -0.02em; color: var(--uz-ink); font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.uz-stat__unit { font-family: var(--uz-font-sans); font-size: var(--uz-text-md); color: var(--uz-muted); letter-spacing: 0; margin-left: 4px; }
.uz-stat__note { margin-top: var(--uz-s2); font-size: var(--uz-text-sm); color: var(--uz-muted); }
.uz-stat--card { background: var(--uz-surface); border: var(--uz-border); border-radius: var(--uz-r-lg); }
.uz-meter { height: 4px; background: var(--uz-line-soft); border-radius: var(--uz-r-pill); overflow: hidden; margin-top: var(--uz-s3); }
.uz-meter > span { display: block; height: 100%; background: var(--uz-accent); border-radius: inherit; }
.uz-meter--ink > span { background: var(--uz-ink); }
/* Cost Guardian spend bar: tone from config/costguardian.php (CostGuardianService::meterTone). Default = teal accent. */
.uz-meter.is-warn > span { background: #D4A017; }
.uz-meter.is-bad > span { background: var(--uz-bad); }
.uz-budget { margin-top: var(--uz-s3); }
.uz-budget__row { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
.uz-budget__field { display: inline-flex; align-items: center; height: 32px; width: 104px; padding: 0 10px; border: 1px solid var(--uz-line); border-radius: var(--uz-r-sm); background: var(--uz-surface); }
.uz-budget__field:focus-within { border-color: var(--uz-accent); box-shadow: 0 0 0 3px var(--uz-accent-soft); }
.uz-budget__prefix { color: var(--uz-muted); font-size: var(--uz-text-sm); }
.uz-budget__input { width: 100%; border: 0; outline: 0; background: transparent; padding: 0 0 0 4px; font-size: var(--uz-text-sm); color: var(--uz-ink); }
.uz-kv { display: flex; flex-wrap: wrap; gap: var(--uz-s2) var(--uz-s5); padding: var(--uz-s3) var(--uz-s4); border-top: var(--uz-border); font-size: var(--uz-text-sm); color: var(--uz-muted); grid-column: 1 / -1; }
.uz-kv strong { color: var(--uz-ink); font-weight: 600; font-variant-numeric: tabular-nums; margin-left: 6px; }
@media (max-width: 900px) {
    .uz-stats, .uz-stats--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .uz-stats > .uz-stat:nth-child(odd) { border-left: 0; }
    .uz-stats > .uz-stat:nth-child(n+3) { border-top: var(--uz-border); }
    .uz-page-header__title { font-size: 34px; }
}

/* ---------- 6. Table ---------- */
.uz-table-wrap { background: var(--uz-surface); border: var(--uz-border); border-radius: var(--uz-r-lg); overflow: hidden; }
.uz-table, .uz-ui .uz-table { width: 100%; border-collapse: separate; border-spacing: 0; }
.uz-table thead th { font-size: var(--uz-text-xs) !important; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--uz-muted) !important; background: var(--uz-surface) !important; border-bottom: var(--uz-border) !important; padding: 12px var(--uz-s4) !important; text-align: left; }
.uz-table tbody td { font-size: var(--uz-text-sm); color: var(--uz-ink); border-bottom: 1px solid var(--uz-line-soft) !important; padding: 14px var(--uz-s4) !important; vertical-align: middle; background: transparent; }
.uz-table tbody tr:last-child td { border-bottom: 0 !important; }
.uz-table tbody tr:hover td { background: #FBFAF7; }

/* ---------- 7. Buttons ---------- */
.uz-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--uz-s2); height: 40px; padding: 0 18px; border-radius: var(--uz-r-sm); font-family: var(--uz-font-sans); font-size: var(--uz-text-md); font-weight: 500; line-height: 1; border: 1px solid transparent; cursor: pointer; text-decoration: none; transition: background-color .15s, border-color .15s, color .15s; white-space: nowrap; }
.uz-btn--sm, .uz-btn.\!py-1 { height: 32px; padding: 0 12px; font-size: var(--uz-text-sm); }
.uz-btn-primary, .uz-btn--primary { background: var(--uz-ink); color: #fff !important; border-color: var(--uz-ink); }
.uz-btn-primary:hover, .uz-btn--primary:hover { background: #1C2433; border-color: #1C2433; }
.uz-btn-secondary, .uz-btn--secondary { background: var(--uz-surface); color: var(--uz-ink) !important; border-color: var(--uz-line); }
.uz-btn-secondary:hover, .uz-btn--secondary:hover { background: var(--uz-tint); border-color: #D6D2C9; }
.uz-btn-danger { background: var(--uz-bad); color: #fff; border-color: var(--uz-bad); }
.uz-link { color: var(--uz-accent); font-size: var(--uz-text-sm); font-weight: 500; text-decoration: none; background: none; border: 0; padding: 0; cursor: pointer; }
.uz-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.uz-link--muted { color: var(--uz-muted); }
.uz-link--danger { color: var(--uz-bad); }

/* ---------- 8. Badge (the only one) ---------- */
.uz-badge { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 10px; border: var(--uz-border); border-radius: var(--uz-r-pill); background: var(--uz-surface); font-size: 12px; font-weight: 500; color: var(--uz-ink-2); white-space: nowrap; line-height: 1; }
.uz-badge__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--uz-faint); flex: none; }
.uz-badge--ok .uz-badge__dot { background: var(--uz-ok); }
.uz-badge--warn .uz-badge__dot { background: #D4A017; }
.uz-badge--bad .uz-badge__dot { background: var(--uz-bad); }
.uz-badge--accent .uz-badge__dot { background: var(--uz-accent); }

/* ---------- 9. Empty state ---------- */
.uz-empty { grid-column: 1 / -1; text-align: center; padding: var(--uz-s6) var(--uz-s4); border: 1px dashed var(--uz-line); border-radius: var(--uz-r-lg); background: var(--uz-surface); color: var(--uz-muted); font-size: var(--uz-text-md); }
.uz-empty__title { font-family: var(--uz-font-serif); font-size: var(--uz-h3); color: var(--uz-ink); margin-bottom: var(--uz-s1); }
.uz-empty__actions { margin-top: var(--uz-s3); display: flex; justify-content: center; gap: var(--uz-s2); }

/* ---------- 10. Notice (neutral callout with a 2px left rule) ---------- */
.uz-notice { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--uz-s3); padding: var(--uz-s3) var(--uz-s4); background: var(--uz-surface); border: var(--uz-border); border-left: 2px solid var(--uz-accent); border-radius: var(--uz-r-md); margin-bottom: var(--uz-s4); }
.uz-notice--warn { border-left-color: #D4A017; }
.uz-notice--bad { border-left-color: var(--uz-bad); }
.uz-notice__title { font-weight: 600; color: var(--uz-ink); }
.uz-notice__body { font-size: var(--uz-text-sm); color: var(--uz-muted); margin-top: 2px; }

/* ==========================================================================
   Client portal (body.uz-ui.uz-client): normalise legacy Tailwind cards
   on pages that have not been rewritten, so every page shares one look.
   ========================================================================== */
.uz-client main .rounded-3xl:not(.uz-badge):not(.uz-btn), .uz-client main .rounded-2xl.border { border-radius: var(--uz-r-lg) !important; }
.uz-client main .shadow-sm, .uz-client main .shadow, .uz-client main .shadow-md { box-shadow: none !important; }
.uz-client main .border-gray-200, .uz-client main .border-gray-100 { border-color: var(--uz-line) !important; }
.uz-client main .bg-\[\#FBFAF6\] { background: var(--uz-surface) !important; }
.uz-client main .border-\[\#E4DCCE\] { border-color: var(--uz-line) !important; }
.uz-client .modern-card { transition: border-color .15s; }
.uz-client .modern-card:hover { transform: none; box-shadow: none; border-color: #CFCBC2 !important; }
.uz-client main h1.font-display { font-weight: 500; letter-spacing: -0.025em; }

/* client nav styles live in partials/uz_nav.blade.php (that partial is shared with public pages that don't load this file) */

/* ==========================================================================
   Admin (body.uz-ui.uz-admin): ViserLab theme overrides
   ========================================================================== */
html body.uz-ui, html:not(.dark) body.uz-ui, .uz-admin .page-wrapper, .uz-admin .body-wrapper, .uz-admin .bodywrapper__inner { background: var(--uz-canvas) !important; color: var(--uz-ink) !important; }
.uz-admin { font-family: var(--uz-font-sans) !important; color: var(--uz-ink); }
.uz-admin .page-title { font-family: var(--uz-font-serif) !important; font-weight: 500 !important; font-size: 30px !important; letter-spacing: -0.02em; color: var(--uz-ink) !important; }

/* sidebar: white, hairline, monochrome icons, one accent for the active item */
.uz-admin .sidebar, .uz-admin .sidebar.bg--dark, .uz-admin .sidebar__inner, .uz-admin .sidebar__menu-wrapper { background: var(--uz-surface) !important; }
.uz-admin .sidebar { border-right: var(--uz-border) !important; box-shadow: none !important; }
.uz-admin .sidebar__logo { border-bottom: var(--uz-border) !important; background: var(--uz-surface) !important; padding: 18px 24px !important; }
.uz-admin .sidebar__menu .sidebar-menu-item > a, .uz-admin .sidebar__menu .sidebar-dropdown > a { color: var(--uz-ink-2) !important; background: transparent !important; border-radius: var(--uz-r-sm) !important; margin: 1px 12px !important; padding: 8px 12px !important; font-size: var(--uz-text-md) !important; font-weight: 500 !important; border-left: 0 !important; }
.uz-admin .sidebar__menu .sidebar-menu-item > a:hover { background: var(--uz-tint) !important; color: var(--uz-ink) !important; }
.uz-admin .sidebar__menu .menu-icon { color: var(--uz-muted) !important; font-size: 17px !important; width: 20px; margin-right: 10px !important; text-shadow: none !important; }
.uz-admin .sidebar__menu .sidebar-menu-item.active > a, .uz-admin .sidebar__menu .sidebar-dropdown > a.active, .uz-admin .sidebar__menu .sidebar-menu-item > a.active { background: var(--uz-accent-soft) !important; color: var(--uz-accent) !important; }
.uz-admin .sidebar__menu .sidebar-menu-item.active > a .menu-icon, .uz-admin .sidebar__menu a.active .menu-icon { color: var(--uz-accent) !important; }
.uz-admin .sidebar__menu-header { color: var(--uz-faint) !important; font-size: var(--uz-text-xs) !important; letter-spacing: .08em !important; text-transform: uppercase; font-weight: 600 !important; padding: 20px 24px 6px !important; }
.uz-admin .sidebar-submenu { background: transparent !important; }
.uz-admin .sidebar-submenu .sidebar-menu-item > a { padding-left: 42px !important; font-size: var(--uz-text-sm) !important; }
.uz-admin .sidebar-submenu .menu-icon { display: none !important; }
.uz-admin .sidebar .menu-badge { background: var(--uz-tint) !important; color: var(--uz-ink) !important; border: var(--uz-border); font-size: 11px !important; border-radius: var(--uz-r-pill) !important; }
.uz-admin .sidebar .menu-badge i { color: var(--uz-warn) !important; }
.uz-admin .sidebar-dropdown > a::before, .uz-admin .sidebar-dropdown > a::after { color: var(--uz-faint) !important; }

/* topbar */
.uz-admin .navbar-wrapper { background: rgba(252,252,250,.92) !important; border-bottom: var(--uz-border) !important; box-shadow: none !important; backdrop-filter: blur(8px); }
.uz-admin .navbar__search input, .uz-admin .navbar-search-field { background: var(--uz-surface) !important; border: var(--uz-border) !important; border-radius: var(--uz-r-sm) !important; box-shadow: none !important; }
.uz-admin .navbar__right button, .uz-admin .navbar__right a.primary--layer, .uz-admin .navbar__right .primary--layer { color: var(--uz-ink-2) !important; background: transparent !important; }
.uz-admin .navbar__right .icon-left-right, .uz-admin .navbar__right i { color: var(--uz-ink-2) !important; }
.uz-admin .navbar-user__thumb img { border-radius: 50%; }
.uz-admin .notification-count, .uz-admin .navbar__right .pulse--primary { background: var(--uz-ink) !important; }

/* generic admin surfaces */
.uz-admin .card { background: var(--uz-surface) !important; border: var(--uz-border) !important; border-radius: var(--uz-r-lg) !important; box-shadow: none !important; }
.uz-admin .card-header { background: transparent !important; border-bottom: var(--uz-border) !important; padding: var(--uz-s3) var(--uz-s4) !important; }
.uz-admin .card-title, .uz-admin .card-header h5, .uz-admin .card-header h6 { font-family: var(--uz-font-serif) !important; font-weight: 500 !important; color: var(--uz-ink) !important; }
.uz-admin .table thead th, .uz-admin .table--light thead th, .uz-admin .table--light.style--two thead th { background: var(--uz-surface) !important; color: var(--uz-muted) !important; font-size: var(--uz-text-xs) !important; font-weight: 600 !important; letter-spacing: .08em; text-transform: uppercase; border-bottom: var(--uz-border) !important; border-top: 0 !important; padding: 12px 16px !important; }
.uz-admin .table thead th:first-child, .uz-admin .table thead th:last-child { border-radius: 0 !important; }
.uz-admin .table tbody td { border-bottom: 1px solid var(--uz-line-soft) !important; border-top: 0 !important; color: var(--uz-ink); font-size: var(--uz-text-sm); padding: 14px 16px !important; background: transparent !important; }
.uz-admin .table tbody tr:hover td { background: #FBFAF7 !important; }
.uz-admin .table-responsive--md, .uz-admin .table-responsive--sm, .uz-admin .table-responsive--lg { border-radius: var(--uz-r-lg); }
.uz-admin .btn--primary, .uz-admin .btn.btn--primary { background: var(--uz-ink) !important; border-color: var(--uz-ink) !important; color: #fff !important; box-shadow: none !important; border-radius: var(--uz-r-sm) !important; }
.uz-admin .btn-outline--primary, .uz-admin .btn--secondary, .uz-admin .btn-outline--dark, .uz-admin .btn-outline--info, .uz-admin .btn-outline--success, .uz-admin .btn-outline--warning { background: var(--uz-surface) !important; border: var(--uz-border) !important; color: var(--uz-ink) !important; box-shadow: none !important; border-radius: var(--uz-r-sm) !important; }
.uz-admin .btn-outline--primary:hover, .uz-admin .btn--secondary:hover { background: var(--uz-tint) !important; }
.uz-admin .btn-outline--danger { background: var(--uz-surface) !important; border: var(--uz-border) !important; color: var(--uz-bad) !important; border-radius: var(--uz-r-sm) !important; }
.uz-admin .badge, .uz-admin [class*="badge--"] { background: var(--uz-surface) !important; color: var(--uz-ink-2) !important; border: var(--uz-border) !important; border-radius: var(--uz-r-pill) !important; font-weight: 500 !important; font-size: 12px !important; padding: 4px 10px !important; }
.uz-admin .badge--success::before, .uz-admin .badge--danger::before, .uz-admin .badge--warning::before, .uz-admin .badge--primary::before, .uz-admin .badge--dark::before, .uz-admin .badge--info::before { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin-right: 6px; vertical-align: middle; background: var(--uz-faint); }
.uz-admin .badge--success::before { background: var(--uz-ok); }
.uz-admin .badge--danger::before { background: var(--uz-bad); }
.uz-admin .badge--warning::before { background: #D4A017; }
.uz-admin .badge--primary::before, .uz-admin .badge--info::before { background: var(--uz-accent); }
.uz-admin .form-control, .uz-admin .form-select, .uz-admin .select2-container--default .select2-selection--single { border: var(--uz-border) !important; border-radius: var(--uz-r-sm) !important; box-shadow: none !important; }
.uz-admin .input-group-text { background: var(--uz-surface) !important; border: var(--uz-border) !important; }
.uz-admin .pagination .page-item.active .page-link { background: var(--uz-ink) !important; border-color: var(--uz-ink) !important; }

/* admin dashboard widgets (dashboard.blade.php uses uz-* markup; these tame anything legacy left on other pages) */
.uz-admin .widget-two, .uz-admin .widget-seven, .uz-admin .widget-card, .uz-admin .dashboard-widget { background: var(--uz-surface) !important; border: var(--uz-border) !important; border-radius: var(--uz-r-lg) !important; box-shadow: none !important; }
.uz-admin .widget-two::before, .uz-admin .widget-two__icon, .uz-admin .widget-card__icon { box-shadow: none !important; }

/* admin page header: same component, tuned to the denser admin canvas */
.uz-admin .uz-page-header--admin { margin-bottom: var(--uz-s4); padding-bottom: var(--uz-s3); }
.uz-admin .uz-page-header--admin .uz-page-header__title, .uz-admin .uz-page-header--admin .page-title { font-size: 32px !important; line-height: 1.15; margin: 0; }
.uz-admin .uz-section { margin-bottom: var(--uz-s5); }
.uz-admin .uz-stat__value { font-size: 32px; }
.uz-admin .bodywrapper__inner { max-width: 1240px; }
.uz-admin .sidebar__menu .menu-title { letter-spacing: 0 !important; }
.uz-admin .navbar__action-list button, .uz-admin .navbar__action-list .primary--layer { border: 0 !important; box-shadow: none !important; background: transparent !important; border-radius: var(--uz-r-sm) !important; }
.uz-admin .navbar__action-list button:hover { background: var(--uz-tint) !important; }
.uz-admin .sidebar__menu .menu-badge-level-one { background: transparent !important; border: 0 !important; }
.uz-admin .total_orders { color: var(--uz-ink); }
.uz-admin .sidebar { box-shadow: none !important; }
.uz-admin .sidebar__inner, .uz-admin .sidebar__menu-wrapper { border-right: 0 !important; }
.uz-client main thead, .uz-client main thead tr { background: transparent !important; }
.uz-client main h1.font-display.text-4xl { font-size: var(--uz-h1); font-weight: 500; }
/* Dash launcher: ink, not a second (cyan) accent */
.uz-client #uz-launcher { background: var(--uz-ink) !important; border-radius: 50% !important; box-shadow: 0 2px 8px rgba(11,18,32,.12) !important; }

/* ---- Ported from uz-unified.css (phase 2) for pages that still use these classes
   (admin Monitoring, profile, deposit history, account billing). uz-ui is the only
   brand layer on admin + client layouts, so these live here now. ---- */
.uz-eyebrow { font-size: var(--uz-text-xs); letter-spacing: .12em; text-transform: uppercase; font-weight: 600; color: var(--uz-muted); }
.uz-badge--muted { color: var(--uz-muted); }
.uz-text-ok { color: var(--uz-ok) !important; }
.uz-text-warn { color: var(--uz-warn) !important; }
.uz-text-bad { color: var(--uz-bad) !important; }
.uz-input { border-color: var(--uz-line); border-radius: var(--uz-r-sm); }
.uz-input:focus { border-color: var(--uz-accent) !important; box-shadow: 0 0 0 3px var(--uz-accent-soft) !important; }
.uz-stack > * + * { margin-top: 24px; }
.uz-kpis { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 992px) { .uz-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.uz-kpi-card { border: var(--uz-border); border-radius: var(--uz-r-lg); padding: 16px 20px; background: var(--uz-surface); box-shadow: var(--uz-shadow); }
.uz-kpi-card__label { font-size: 12px; color: var(--uz-muted); font-weight: 500; }
.uz-kpi-card__value { font-size: 28px; font-weight: 600; color: var(--uz-ink); font-variant-numeric: tabular-nums; margin-top: 4px; }

/* release fixes 2026-10-12 */
/* ViserLab's dark-sidebar rule (.sidebar[class*="bg--"] ...) greyed out every inactive item and the topbar name */
.uz-admin .sidebar[class*="bg--"] .sidebar__menu .sidebar-menu-item > a .menu-title,
.uz-admin .sidebar__menu .sidebar-menu-item > a .menu-title { color: var(--uz-ink-2) !important; }
.uz-admin .sidebar[class*="bg--"] .sidebar__menu .sidebar-menu-item .menu-icon { color: var(--uz-muted) !important; }
.uz-admin .sidebar[class*="bg--"] .sidebar__menu .sidebar-menu-item.active > a .menu-title,
.uz-admin .sidebar[class*="bg--"] .sidebar__menu .sidebar-menu-item.active > a .menu-icon,
.uz-admin .sidebar[class*="bg--"] .sidebar__menu .sidebar-menu-item > a.active .menu-title,
.uz-admin .sidebar[class*="bg--"] .sidebar__menu .sidebar-menu-item > a.active .menu-icon { color: var(--uz-accent) !important; }
.uz-admin [class*="bg--"] .navbar-user__name, .uz-admin .navbar-user__name { color: var(--uz-ink) !important; }
/* wide admin tables scroll inside their card instead of spilling past it */
.uz-admin .card .table-responsive { overflow-x: auto !important; }
.uz-admin .card { overflow: hidden; }
/* uz-unified.css forces every heading to Inter; keep the design-system titles and numbers in Fraunces on both sides */
html body.uz-ui .uz-page-header__title, html body.uz-ui .uz-section__title, html body.uz-ui .uz-card__title,
html body.uz-ui .uz-stat__value, html body.uz-ui .uz-empty__title { font-family: var(--uz-font-serif) !important; font-weight: 500 !important; letter-spacing: -0.02em; }
.uz-admin .card .table thead th, .uz-admin .card .table tbody td { padding-left: 12px !important; padding-right: 12px !important; }
.uz-admin .card .table tbody td { white-space: normal; }
.uz-admin .card .table tbody td.tabular-nums, .uz-admin .card .table tbody td .uz-badge { white-space: nowrap; }
.uz-admin .sidebar[class*="bg--"] .sidebar__menu .menu-badge.menu-badge-level-one { background: transparent !important; border: 0 !important; }
.uz-admin .sidebar[class*="bg--"] .sidebar__menu .menu-badge.menu-badge-level-one i { color: var(--uz-warn) !important; }

/* ==========================================================================
   v2 "breathing" layer (2026-10-12): roomier cards on client dashboard + admin Metrics.
   Stat rows become separate soft-bordered cards; max 3 stat cards / 2 site cards per row.
   ========================================================================== */
:root { --uz-card-pad: 24px; --uz-gap: 24px; --uz-line-card: #ECE9E2; }

/* section rhythm: space above headings */
html body.uz-ui .uz-section { margin-top: 0; margin-bottom: 56px; }
html body.uz-ui .uz-section__head { margin-bottom: 20px; padding-top: 8px; }
html body.uz-ui .uz-section__title { font-size: 22px; }

/* cards: soft border, no shadow, consistent padding, equal heights with footer pinned */
html body.uz-ui .uz-card, html body.uz-ui .uz-stat--card { padding: var(--uz-card-pad); border: 1px solid var(--uz-line-card); border-radius: 16px; box-shadow: none !important; background: #fff; }
html body.uz-ui .uz-card { display: flex; flex-direction: column; }
html body.uz-ui .uz-card > .uz-card__foot { margin-top: auto; padding-top: 16px; }
html body.uz-ui .uz-card > .uz-card__foot:not(:first-child) { margin-top: auto; }
html body.uz-ui .uz-card .uz-card__foot { border-top-color: #F2EFE9; }

/* stat rows -> separate cards in a grid */
html body.uz-ui .uz-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; background: transparent; border: 0; border-radius: 0; }
html body.uz-ui .uz-stats.uz-stats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
html body.uz-ui .uz-stats > .uz-stat { border: 1px solid var(--uz-line-card) !important; border-radius: 16px !important; background: #fff; padding: var(--uz-card-pad) 28px; min-height: 148px; display: flex; flex-direction: column; }
html body.uz-ui .uz-stats > .uz-stat .uz-label { font-size: 11px; color: var(--uz-muted); }
html body.uz-ui .uz-stats > .uz-stat .uz-stat__value { font-size: 40px; margin-top: 12px; }
html body.uz-ui .uz-stats > .uz-stat .uz-stat__note { font-size: 12px; color: var(--uz-faint); margin-top: auto; padding-top: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html body.uz-ui .uz-stats > .uz-stat .uz-meter { margin-top: 12px; }
/* secondary stats strip: demoted to plain muted text under the cards */
html body.uz-ui .uz-stats > .uz-kv { border: 0; padding: 4px 4px 0; gap: 8px 28px; font-size: 13px; background: transparent; }
html body.uz-ui .uz-stats > .uz-kv strong { font-weight: 500; }
/* admin link stats keep the card radius on hover */
html body.uz-ui .uz-stats > .uz-stat--link { border-radius: 16px !important; }

/* dashboard grids: wider gaps, fewer per row */
.uz-client #monitored-websites-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--uz-gap); }
.uz-client main .uz-section > .grid { gap: var(--uz-gap); }
.uz-client #stacks-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* site cards: one headline (SSL days) in Fraunces, trimmed secondary text, no duplicate SSL badge */
.uz-client .site-card { min-height: 268px; }
.uz-client .site-card > .mt-4.flex { margin-top: 20px !important; }
.uz-client .site-card > .mt-4.flex > .uz-badge { display: none; }
.uz-client .site-card > .mt-4.flex .text-sm.font-medium { font-family: var(--uz-font-serif); font-weight: 500; font-size: 28px; line-height: 1.15; letter-spacing: -0.02em; margin-top: 6px !important; }
.uz-client .site-card > .mt-4.flex .text-xs { font-size: 12px; color: var(--uz-faint) !important; margin-top: 6px !important; }
.uz-client .site-card > .grid { margin-top: 20px !important; gap: 16px; }
.uz-client .site-card > .grid .uz-label { font-size: 10px; }
.uz-client .site-card > .grid .text-sm { font-size: 13px; color: var(--uz-ink-2); }

/* mobile: one column everywhere */
@media (max-width: 767px) {
    html body.uz-ui .uz-stats, html body.uz-ui .uz-stats.uz-stats--3, .uz-client #monitored-websites-list { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .uz-client #stacks-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    html body.uz-ui .uz-stats > .uz-stat { min-height: 0; padding: 20px; }
    html body.uz-ui .uz-stats > .uz-stat .uz-stat__value { font-size: 34px; }
    .uz-client .site-card { min-height: 0; }
    html body.uz-ui .uz-section { margin-bottom: 40px; }
}
/* the hidden SSL badge still carries the tone: colour the headline instead */
.uz-client .site-card > .mt-4.flex:has(.uz-badge--bad) .text-sm.font-medium { color: var(--uz-bad); }
.uz-client .site-card > .mt-4.flex:has(.uz-badge--warn) .text-sm.font-medium { color: var(--uz-warn); }
html body.uz-ui.uz-admin .uz-stats > .uz-stat { min-height: 0; padding: 24px 28px; }
