:root{
    --bg:#f6f8fb;
    --surface:#ffffff;
    --surface-2:#f0f4f8;
    --text:#0f172a;
    --text-soft:#64748b;
    --border:#e2e8f0;
    --danger:#e11d48;
    --success:#059669;
    --warning:#d97706;
    --shadow:0 14px 34px rgba(15,23,42,.08);
    --radius:18px;
}
body.theme-dark{
    --bg:#020617;
    --surface:#0f172a;
    --surface-2:#111827;
    --text:#f8fafc;
    --text-soft:#94a3b8;
    --border:#1e293b;
    --shadow:0 14px 34px rgba(2,6,23,.45);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;transition:background .28s ease,color .28s ease}
a{text-decoration:none;color:inherit}
button{font:inherit}
img{max-width:100%}
.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh;align-items:start}
.sidebar{background:var(--primary);color:#fff;padding:24px 24px 74px 24px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:hidden}
.brand{padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.12)}
.brand-logo{width:var(--crm-logo-width,156px);max-width:100%;max-height:76px;object-fit:contain;display:block}
.nav{display:flex;flex-direction:column;gap:8px;padding:24px 0;overflow-y:auto;min-height:0;scrollbar-width:thin}
.nav a{padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.04);transition:background .2s ease, transform .2s ease}
.nav a:hover{background:rgba(255,255,255,.10);transform:translateX(2px)}
.sidebar-footer{font-size:13px;opacity:.75}
.main{padding:26px;min-width:0}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}
.page-title{margin:0;font-size:30px}
.page-subtitle{color:var(--text-soft);margin-top:6px}
.topbar-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:12px;border:1px solid transparent;cursor:pointer}
.btn-primary{background:var(--primary);color:#fff}
.btn-accent{background:var(--accent);color:#111827}
.btn-secondary{background:var(--surface);border-color:var(--border);color:var(--text);box-shadow:var(--shadow)}
.theme-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    background:transparent;
    padding:0;
    cursor:pointer;
}
.theme-toggle-track{
    position:relative;
    width:76px;
    height:42px;
    border-radius:999px;
    background:#ffffff;
    border:1px solid var(--border);
    box-shadow:0 10px 24px rgba(15,23,42,.10);
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 11px;
    transition:background .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.theme-toggle-thumb{
    position:absolute;
    top:4px;
    left:4px;
    width:32px;
    height:32px;
    border-radius:50%;
    background:#ffffff;
    box-shadow:0 8px 18px rgba(15,23,42,.16);
    transition:transform .32s cubic-bezier(.22,1,.36,1), background .28s ease;
    z-index:1;
}
.theme-icon{
    position:relative;
    z-index:2;
    width:16px;
    height:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:color .28s ease, opacity .28s ease, transform .28s ease;
}
.theme-icon svg{
    width:16px;
    height:16px;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.theme-toggle.is-dark .theme-toggle-thumb{transform:translateX(34px)}
.theme-toggle.is-light .theme-icon-sun{color:#0f172a;opacity:1;transform:scale(1)}
.theme-toggle.is-light .theme-icon-moon{color:#94a3b8;opacity:.55;transform:scale(.92)}
.theme-toggle.is-dark .theme-icon-sun{color:#94a3b8;opacity:.55;transform:scale(.92)}
.theme-toggle.is-dark .theme-icon-moon{color:#0f172a;opacity:1;transform:scale(1)}
body.theme-dark .theme-toggle-track{
    background:#e5e7eb;
    border-color:#cbd5e1;
    box-shadow:0 10px 24px rgba(2,6,23,.22);
}
body.theme-dark .theme-toggle-thumb{background:#ffffff}
.grid{display:grid;gap:18px}
.cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;transition:background .28s ease,border-color .28s ease}
.card-title{font-size:14px;color:var(--text-soft)}
.card-value{font-size:34px;font-weight:800;margin-top:12px}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:14px 10px;border-bottom:1px solid var(--border);text-align:left;font-size:14px;vertical-align:top}
th{color:var(--text-soft);font-weight:600}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form-group{display:flex;flex-direction:column;gap:8px}
.form-group-full{grid-column:1 / -1}
label{font-size:14px;font-weight:600}
input,select,textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}
textarea{min-height:120px;resize:vertical}
.flash{margin-bottom:16px;padding:14px 16px;border-radius:14px}
.flash-success{background:rgba(5,150,105,.12);color:var(--success)}
.flash-error{background:rgba(225,29,72,.12);color:var(--danger)}
.row{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.badge{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:700}
.badge-active{background:rgba(5,150,105,.12);color:var(--success)}
.badge-completed{background:rgba(217,119,6,.12);color:var(--warning)}
.section-title{margin:0 0 14px;font-size:20px}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.small{font-size:13px;color:var(--text-soft)}
.preview-box{padding:16px;border-radius:16px;background:var(--surface-2);border:1px dashed var(--border)}
.settings-layout{grid-template-columns:1fr 420px;align-items:start}
.settings-side{position:sticky;top:24px;align-self:start}
.settings-preview-card{position:static;height:fit-content}
.settings-summary-card{position:static}
.asset-preview{
    margin-top:10px;
    border:1px dashed var(--border);
    background:var(--surface-2);
    border-radius:14px;
    padding:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:88px;
}
.asset-preview img{max-height:60px;object-fit:contain}
.asset-preview-login img{max-height:180px;max-width:100%;border-radius:12px}
.filter-grid{display:grid;grid-template-columns:2fr repeat(4,minmax(0,1fr));gap:14px;align-items:end}
.filter-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.card-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.stat-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}
.stat-label{font-size:14px;color:var(--text-soft)}
.stat-number{font-size:32px;font-weight:800;margin-top:12px}
.inline-badge{display:inline-flex;align-items:center;gap:8px}

/* Login cover version */
.login-cover-body{
    min-height:100vh;
    position:relative;
    background:
        linear-gradient(rgba(7,12,22,.40), rgba(7,12,22,.40)),
        var(--login-cover-image, linear-gradient(135deg, #0f172a 0%, #1e293b 45%, #334155 100%));
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    overflow:hidden;
}
.login-cover-overlay{
    position:fixed;
    inset:0;
    background:
        radial-gradient(circle at 15% 20%, rgba(255,255,255,.10), transparent 26%),
        radial-gradient(circle at 85% 80%, rgba(197,155,93,.14), transparent 28%);
    pointer-events:none;
}
.login-cover-shell{
    position:relative;
    z-index:1;
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:36px 20px;
}
.login-cover-card{
    width:min(470px, 100%);
    background:rgba(255,255,255,.90);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border:1px solid rgba(255,255,255,.52);
    border-radius:30px;
    box-shadow:0 30px 80px rgba(15,23,42,.24);
    padding:34px;
}
.login-cover-header{
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:26px;
}
.login-cover-logo{
    max-width:240px;
    max-height:88px;
    width:auto;
    height:auto;
    object-fit:contain;
    display:block;
}
.login-cover-form{
    display:flex;
    flex-direction:column;
    gap:18px;
}
.login-cover-form label{
    color:#0f172a;
    font-weight:700;
}
.login-cover-form input{
    height:56px;
    border-radius:16px;
    background:#f8fafc;
    border:1px solid #d8e0ea;
    transition:border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.login-cover-form input:focus{
    outline:none;
    border-color:rgba(15,23,42,.28);
    box-shadow:0 0 0 4px rgba(15,23,42,.06);
    background:#ffffff;
}
.login-cover-submit{
    width:100%;
    height:56px;
    border-radius:16px;
    margin-top:4px;
    font-weight:700;
    font-size:15px;
    background:var(--primary);
    color:#ffffff !important;
    border:none;
    box-shadow:0 18px 36px rgba(15,23,42,.20);
}
.login-cover-submit:hover{
    filter:brightness(1.03);
}
.login-cover-flash{
    margin-bottom:20px;
}
.login-cover-footer{
    margin-top:20px;
    padding-top:18px;
    border-top:1px solid #e5e7eb;
    display:flex;
    flex-direction:column;
    gap:6px;
    color:#64748b;
    font-size:13px;
}
@media (max-width: 1180px){
  .settings-layout{grid-template-columns:1fr}
  .settings-side,.settings-preview-card,.settings-summary-card{position:static}
  .filter-grid{grid-template-columns:1fr 1fr}
  .stat-grid-3{grid-template-columns:1fr}
}
@media (max-width: 980px){
  .app-shell{grid-template-columns:1fr}
  .sidebar{position:static;height:auto}
  .cards-4,.form-grid{grid-template-columns:1fr}
}
@media (max-width: 760px){
  .filter-grid{grid-template-columns:1fr}
}
@media (max-width: 640px){
    .login-cover-card{
        padding:24px;
        border-radius:24px;
    }
    .login-cover-logo{
        max-width:190px;
        max-height:72px;
    }
}


/* Login page fixes */
.login-cover-body{
    background-color:#0f172a;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
}
.login-cover-card{
    background:rgba(255,255,255,.92) !important;
}
.login-cover-submit{
    background:var(--primary, #0f172a) !important;
    color:#ffffff !important;
    border:1px solid rgba(15,23,42,.08) !important;
    text-shadow:none !important;
}
.login-cover-submit span,
.login-cover-submit *{
    color:#ffffff !important;
}
.login-cover-submit:hover{
    background:var(--secondary, #1e293b) !important;
}
.login-cover-logo{
    max-width:260px !important;
    max-height:92px !important;
}


.map-card{
    overflow:hidden;
}
.map-toolbar{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:end;
    margin-bottom:14px;
}
.map-toolbar .form-group{
    flex:1 1 220px;
}
.map-canvas{
    width:100%;
    height:380px;
    border-radius:18px;
    overflow:hidden;
    border:1px solid var(--border);
    background:#e5e7eb;
}
.map-canvas-sm{
    width:100%;
    height:300px;
    border-radius:18px;
    overflow:hidden;
    border:1px solid var(--border);
    background:#e5e7eb;
}
.info-note{
    padding:14px 16px;
    border-radius:14px;
    background:rgba(15,23,42,.05);
    color:var(--text-soft);
    margin-bottom:16px;
}
@media (max-width: 980px){
  .map-canvas,.map-canvas-sm{height:280px;}
}


.topbar-left{
    display:flex;
    align-items:center;
    gap:14px;
}
.mobile-menu-toggle{
    width:48px;
    height:48px;
    border:1px solid var(--border);
    background:var(--surface);
    border-radius:14px;
    display:none;
    align-items:center;
    justify-content:center;
    position:relative;
    box-shadow:var(--shadow);
    cursor:pointer;
    transition:background .28s ease,border-color .28s ease,transform .28s ease;
}
.mobile-menu-toggle span{
    position:absolute;
    width:20px;
    height:2px;
    background:var(--text);
    border-radius:999px;
    transition:transform .28s ease, opacity .22s ease, top .28s ease, background .28s ease;
}
.mobile-menu-toggle span:nth-child(1){top:16px;}
.mobile-menu-toggle span:nth-child(2){top:23px;}
.mobile-menu-toggle span:nth-child(3){top:30px;}
.mobile-menu-toggle.is-active span:nth-child(1){top:23px;transform:rotate(45deg);}
.mobile-menu-toggle.is-active span:nth-child(2){opacity:0;}
.mobile-menu-toggle.is-active span:nth-child(3){top:23px;transform:rotate(-45deg);}
.mobile-nav-overlay{
    position:fixed;
    inset:0;
    background:rgba(2,6,23,.36);
    opacity:0;
    pointer-events:none;
    transition:opacity .28s ease;
    z-index:40;
}
.check-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}
@media (max-width: 980px){
  .mobile-menu-toggle{display:inline-flex;}
  .topbar{align-items:flex-start;}
  .app-shell{grid-template-columns:1fr;}
  .sidebar{
      position:fixed;
      top:0;
      left:0;
      width:min(320px, 86vw);
      height:100vh;
      z-index:60;
      transform:translateX(-100%);
      transition:transform .34s cubic-bezier(.22,1,.36,1);
      padding-top:24px;
  }
  body.menu-open .sidebar{transform:translateX(0);}
  body.menu-open .mobile-nav-overlay{
      opacity:1;
      pointer-events:auto;
  }
  .check-grid{
      grid-template-columns:1fr;
  }
}
@media (max-width: 760px){
  .topbar{
      flex-direction:column;
      align-items:stretch;
  }
  .topbar-actions{
      justify-content:flex-end;
  }
}
.two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.dashboard-grid{grid-template-columns:1.4fr .9fr;gap:20px;}
.progress{height:8px;background:rgba(148,163,184,.22);border-radius:999px;overflow:hidden;min-width:120px;}
.progress span{display:block;height:100%;background:var(--accent);border-radius:999px;}
.badge-warning{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;}
.badge-danger{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;}
.file-list{display:grid;gap:8px;margin:12px 0 18px 0;}
.file-list div{padding:10px 12px;border:1px solid rgba(148,163,184,.25);border-radius:12px;display:flex;justify-content:space-between;gap:12px;}
.large-map{min-height:620px;}
.mini-list{display:grid;gap:10px;}
.mini-list div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(148,163,184,.18);}
.mini-list span{color:var(--muted);font-size:13px;}
@media (max-width: 1100px){.two-col,.dashboard-grid,.main .grid[style*="grid-template-columns:380px"],.main .grid[style*="grid-template-columns:360px"],.main form.grid[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important;}}

/* Mobile navigation layering and right aligned toggle fix */
.leaflet-container,
.leaflet-pane,
.leaflet-top,
.leaflet-bottom,
.leaflet-control-container{
    z-index:1;
}

@media (max-width: 980px){
    .topbar{
        flex-direction:row;
        align-items:flex-start;
    }

    .topbar-left{
        min-width:0;
        flex:1 1 auto;
    }

    .topbar-actions{
        margin-left:auto;
        justify-content:flex-end;
        flex-wrap:nowrap;
        align-items:center;
    }

    .mobile-menu-toggle{
        order:99;
        display:inline-flex;
        position:relative;
        z-index:10020;
        flex:0 0 48px;
    }

    .mobile-nav-overlay{
        z-index:10000;
    }

    .sidebar{
        z-index:10010;
        box-shadow:22px 0 60px rgba(2,6,23,.28);
    }

    body.menu-open{
        overflow:hidden;
    }

    body.menu-open .leaflet-container,
    body.menu-open .leaflet-pane,
    body.menu-open .leaflet-top,
    body.menu-open .leaflet-bottom,
    body.menu-open .leaflet-control-container{
        z-index:1 !important;
    }
}

@media (max-width: 760px){
    .topbar{
        flex-direction:row;
        align-items:flex-start;
    }

    .topbar-actions{
        justify-content:flex-end;
        margin-left:auto;
    }

    .page-title{
        font-size:26px;
        line-height:1.12;
    }
}

@media (max-width: 420px){
    .theme-toggle-track{
        width:68px;
        height:40px;
    }

    .theme-toggle-thumb{
        width:30px;
        height:30px;
    }

    .theme-toggle.is-dark .theme-toggle-thumb{
        transform:translateX(28px);
    }

    .btn{
        padding:10px 13px;
    }
}


/* Topbar language and logout */
.locale-form{margin:0;display:inline-flex;align-items:center}
.locale-select{width:auto;min-width:68px;height:44px;border-radius:14px;background:var(--surface);box-shadow:var(--shadow);font-weight:700;text-align:center;padding:0 34px 0 14px}
.topbar-logout{width:44px;height:44px;border-radius:14px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);display:inline-flex;align-items:center;justify-content:center;color:var(--text)}
.topbar-logout svg{width:20px;height:20px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Status backgrounds across CRM */
.status-row td{transition:background .2s ease}
.status-row-open td{background:rgba(5,150,105,.055)}
.status-row-closed td{background:rgba(225,29,72,.045)}
.status-row-open:hover td{background:rgba(5,150,105,.09)}
.status-row-closed:hover td{background:rgba(225,29,72,.075)}
.badge-active{background:rgba(5,150,105,.12);color:#047857;border:1px solid rgba(5,150,105,.18)}
.badge-danger{background:rgba(225,29,72,.10);color:#be123c;border:1px solid rgba(225,29,72,.16)}

/* Smart check in page */
.checkin-workspace{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:18px;align-items:stretch;margin-bottom:20px}
.smart-check-card{display:flex;flex-direction:column;gap:16px}
.check-action-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:6px}
.timer-pill{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:rgba(5,150,105,.10);color:#047857;border:1px solid rgba(5,150,105,.16)}
.timer-pill span{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.timer-pill strong{font-size:18px;font-variant-numeric:tabular-nums}
.active-session-box{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;padding:14px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border)}
.active-session-box span{color:var(--text-soft);font-size:13px}
.map-canvas-checkin{height:260px}
.compact-map-card{height:100%}
@media (max-width: 1180px){.checkin-workspace{grid-template-columns:1fr}.map-canvas-checkin{height:280px}}

/* Safari and general form normalization */
input,select,textarea,button{-webkit-font-smoothing:antialiased}
input:not([type="checkbox"]):not([type="radio"]),select,textarea{min-height:46px;line-height:1.25;font-size:14px}
select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-soft) 50%),linear-gradient(135deg, var(--text-soft) 50%, transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:38px}
input[type="date"],input[type="time"]{-webkit-appearance:none;appearance:none;min-height:46px}
input[type="file"]{min-height:46px;padding:9px 12px}
.filter-grid .form-group select,.filter-grid .form-group input{min-height:48px}

/* Cleaner settings page */
.settings-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:22px}
.settings-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.setting-module-card{padding:18px}
.setting-module-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(148,163,184,.18)}
.setting-module-head h3{margin:0;font-size:17px;line-height:1.25}
.setting-module-head p{margin:6px 0 0;color:var(--text-soft);font-size:13px;line-height:1.45}
.setting-module-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;align-items:center}
.setting-toggle{display:flex;align-items:center;gap:10px;min-height:36px;font-size:14px;font-style:normal}
.setting-toggle em,.setting-toggle strong{font-style:normal;font-weight:600;line-height:1.35;color:var(--text)}
.setting-toggle input{width:auto;min-height:auto;accent-color:var(--accent)}
.setting-toggle span{display:none}
.setting-input-wrap{display:flex;align-items:center;gap:8px}
.setting-suffix{font-size:12px;color:var(--text-soft)}
.settings-summary-list{display:grid;gap:10px}
.settings-summary-list div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(148,163,184,.16)}
.settings-summary-list span{font-weight:600;color:var(--text)}
.settings-summary-list strong{font-size:12px;color:#047857;background:rgba(5,150,105,.10);border:1px solid rgba(5,150,105,.16);padding:4px 8px;border-radius:999px}
.settings-bottom-save{width:100%;margin-top:2px}
@media (max-width: 1280px){.settings-feature-grid{grid-template-columns:1fr}.setting-module-fields{grid-template-columns:1fr}}
@media (max-width: 1180px){.settings-layout{grid-template-columns:1fr}.settings-side{position:static}}


/* Settings refinement and real module control UI */
.settings-feature-grid{display:grid !important;grid-template-columns:1fr !important;gap:18px !important;}
.setting-module-card{padding:22px !important;}
.setting-module-fields{display:grid !important;grid-template-columns:1fr !important;gap:14px !important;}
.setting-toggle{display:grid;grid-template-columns:22px 1fr;align-items:start;gap:12px;font-style:normal !important;line-height:1.35;}
.setting-toggle strong{font-style:normal !important;font-weight:700;}
.setting-module-head h3,.setting-module-head p,.settings-summary-list span,.settings-summary-list strong{font-style:normal !important;}
.settings-summary-list strong.is-disabled{background:#f1f5f9;color:#64748b;border-color:#e2e8f0;}
.settings-summary-list strong.is-enabled{background:rgba(16,185,129,.12);color:#047857;border-color:rgba(16,185,129,.22);}
body.theme-dark .settings-summary-list strong.is-disabled{background:#111827;color:#94a3b8;border-color:#334155;}
.settings-side{position:sticky;top:24px;}
.settings-bottom-save{width:100%;}
.module-disabled-note{padding:14px 16px;border:1px dashed var(--border);border-radius:14px;background:var(--surface-2);color:var(--text-soft);}
.report-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end;}
.salary-stat .stat-number{font-size:28px;}
@media (min-width:1181px){.settings-layout{grid-template-columns:minmax(0,1fr) 360px !important;}.setting-module-card{max-width:760px;}}
@media (max-width:1180px){.setting-module-card{max-width:none}.settings-side{position:static}}

/* Refined status rows and badges */
.status-row-open td{background:rgba(16,185,129,.095)!important;}
.status-row-closed td{background:rgba(244,63,94,.085)!important;}
.status-row-open:hover td{background:rgba(16,185,129,.135)!important;}
.status-row-closed:hover td{background:rgba(244,63,94,.12)!important;}
.badge{min-width:78px;justify-content:center;text-align:center;padding:8px 14px;border-radius:999px;line-height:1;font-size:12px;font-weight:800;white-space:nowrap;}
.badge-active{background:rgba(16,185,129,.18)!important;color:#047857!important;border:1px solid rgba(16,185,129,.35)!important;}
.badge-danger{background:rgba(244,63,94,.16)!important;color:#be123c!important;border:1px solid rgba(244,63,94,.30)!important;}

/* Modern language selector */
.language-menu{position:relative;display:inline-flex;align-items:center;z-index:90;}
.language-trigger{height:44px;min-width:96px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;cursor:pointer;font-weight:800;transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;}
.language-trigger:hover{transform:translateY(-1px);border-color:rgba(197,155,93,.55);box-shadow:0 16px 34px rgba(15,23,42,.12);}
.language-trigger-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent);transition:transform .28s ease;}
.language-trigger-icon svg,.language-chevron svg{width:100%;height:100%;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.language-code{letter-spacing:.02em;}
.language-chevron{width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-soft);transition:transform .28s ease;}
.language-menu.is-open .language-trigger-icon{transform:rotate(-8deg) scale(1.08);}
.language-menu.is-open .language-chevron{transform:rotate(180deg);}
.language-dropdown{position:absolute;right:0;top:calc(100% + 10px);width:190px;padding:8px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 24px 50px rgba(15,23,42,.18);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transform-origin:top right;transition:opacity .22s ease, transform .22s ease, visibility .22s ease;z-index:120;}
.language-menu.is-open .language-dropdown{opacity:1;visibility:visible;transform:translateY(0) scale(1);}
.language-option{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;color:var(--text);transition:background .18s ease, transform .18s ease;}
.language-option:hover{background:var(--surface-2);transform:translateX(2px);}
.language-option.is-active{background:rgba(197,155,93,.14);}
.language-option-code{width:38px;height:30px;border-radius:10px;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;}
.language-option.is-active .language-option-code{background:var(--accent);color:#111827;}
.language-option-name{font-size:13px;font-weight:700;color:var(--text);}
body.theme-dark .language-dropdown{box-shadow:0 24px 50px rgba(2,6,23,.55);}

.admin-check-card{margin-bottom:20px;}
.admin-check-grid{align-items:end;}
.admin-check-grid .filter-actions{align-self:end;}

@media (max-width: 760px){
  .language-trigger{min-width:78px;padding:0 10px;}
  .language-trigger-icon{display:none;}
  .language-dropdown{right:-8px;width:178px;}
  .badge{min-width:72px;}
}


/* Unified status visuals across CRM */
.table-wrap table tbody tr.status-row-open td{
    background:rgba(16,185,129,.105)!important;
}
.table-wrap table tbody tr.status-row-closed td{
    background:rgba(244,63,94,.09)!important;
}
.table-wrap table tbody tr.status-row-neutral td{
    background:rgba(217,119,6,.075)!important;
}
.table-wrap table tbody tr.status-row-open:hover td{
    background:rgba(16,185,129,.145)!important;
}
.table-wrap table tbody tr.status-row-closed:hover td{
    background:rgba(244,63,94,.125)!important;
}
.table-wrap table tbody tr.status-row-neutral:hover td{
    background:rgba(217,119,6,.105)!important;
}
.badge{
    min-width:86px!important;
    height:30px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    padding:0 14px!important;
    border-radius:999px!important;
    line-height:1!important;
    font-size:12px!important;
    font-weight:600!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
}
.badge-active{
    background:rgba(16,185,129,.18)!important;
    color:#047857!important;
    border:1px solid rgba(16,185,129,.38)!important;
}
.badge-danger{
    background:rgba(244,63,94,.16)!important;
    color:#be123c!important;
    border:1px solid rgba(244,63,94,.34)!important;
}
.badge-warning{
    background:rgba(217,119,6,.14)!important;
    color:#92400e!important;
    border:1px solid rgba(217,119,6,.28)!important;
}
@media (max-width: 640px){
    .badge{min-width:78px!important;height:28px!important;font-size:11px!important;}
}


/* Language switcher refinement */
.language-trigger{min-width:76px;font-weight:500!important;gap:7px!important;}
.language-trigger-icon{display:none!important;}
.language-code{font-weight:600!important;letter-spacing:.01em!important;}
.language-option{font-weight:400!important;}
.language-option-code{font-weight:600!important;}
.language-option-name{font-weight:400!important;}
.language-option.is-active .language-option-name{font-weight:500!important;}
.language-dropdown{width:184px;}


/* Mobile header refinement */
@media (max-width: 760px){
    .topbar{
        display:grid !important;
        grid-template-columns:1fr !important;
        align-items:start !important;
        gap:14px !important;
        margin-bottom:18px !important;
    }

    .topbar-actions{
        order:1 !important;
        width:100% !important;
        display:flex !important;
        justify-content:flex-end !important;
        align-items:center !important;
        gap:8px !important;
        flex-wrap:nowrap !important;
        margin-left:0 !important;
    }

    .topbar-left{
        order:2 !important;
        width:100% !important;
        min-width:0 !important;
        display:block !important;
    }

    .page-title{
        font-size:24px !important;
        line-height:1.08 !important;
        letter-spacing:-0.02em !important;
        margin:0 !important;
        max-width:100% !important;
    }

    .page-subtitle{
        margin-top:8px !important;
        font-size:14px !important;
    }

    .theme-toggle-track{
        width:66px !important;
        height:38px !important;
        padding:0 10px !important;
        box-shadow:0 10px 22px rgba(15,23,42,.08) !important;
    }

    .theme-toggle-thumb{
        width:28px !important;
        height:28px !important;
    }

    .theme-toggle.is-dark .theme-toggle-thumb{
        transform:translateX(28px) !important;
    }

    .theme-icon,
    .theme-icon svg{
        width:14px !important;
        height:14px !important;
    }

    .language-trigger,
    .topbar-logout,
    .mobile-menu-toggle{
        height:40px !important;
        border-radius:14px !important;
    }

    .language-trigger{
        min-width:78px !important;
        padding:0 12px !important;
    }

    .topbar-logout,
    .mobile-menu-toggle{
        width:40px !important;
        min-width:40px !important;
        flex:0 0 40px !important;
    }

    .mobile-menu-toggle span:nth-child(1){top:13px !important;}
    .mobile-menu-toggle span:nth-child(2){top:19px !important;}
    .mobile-menu-toggle span:nth-child(3){top:25px !important;}
    .mobile-menu-toggle.is-active span:nth-child(1),
    .mobile-menu-toggle.is-active span:nth-child(3){top:19px !important;}

    .topbar-logout svg{
        width:18px !important;
        height:18px !important;
    }

    .main{
        padding:18px 16px 22px 16px !important;
    }
}

@media (max-width: 480px){
    .topbar-actions{
        gap:7px !important;
    }

    .page-title{
        font-size:22px !important;
    }

    .page-subtitle{
        font-size:13px !important;
    }

    .language-trigger{
        min-width:72px !important;
        padding:0 10px !important;
    }

    .language-code{
        font-size:15px !important;
    }

    .theme-toggle-track{
        width:62px !important;
        height:36px !important;
    }

    .theme-toggle-thumb{
        width:26px !important;
        height:26px !important;
        top:4px !important;
        left:4px !important;
    }

    .theme-toggle.is-dark .theme-toggle-thumb{
        transform:translateX(24px) !important;
    }
}

/* Premium mobile polish for cards, tables, filters, forms and sidebar */
@media (max-width: 760px){
    body{
        background:
            radial-gradient(circle at 8% 0%, rgba(197,155,93,.10), transparent 32%),
            linear-gradient(180deg, rgba(255,255,255,.55), rgba(246,248,251,.94)),
            var(--bg) !important;
    }

    .main{
        padding:18px 16px 28px 16px !important;
    }

    .grid,
    .cards-4,
    .stat-grid-3,
    .dashboard-grid,
    .two-col,
    .checkin-workspace{
        gap:14px !important;
    }

    .card,
    .stat-card{
        border-radius:24px !important;
        padding:18px !important;
        box-shadow:0 18px 44px rgba(15,23,42,.075) !important;
        border-color:rgba(148,163,184,.24) !important;
    }

    .card-title,
    .stat-label{
        font-size:14px !important;
        line-height:1.35 !important;
    }

    .card-value,
    .stat-number{
        font-size:34px !important;
        line-height:1.05 !important;
        margin-top:14px !important;
        letter-spacing:-0.035em !important;
    }

    .section-title,
    .card h2,
    .card h3{
        font-size:19px !important;
        line-height:1.2 !important;
        margin-bottom:14px !important;
    }

    .info-note,
    .flash{
        border-radius:18px !important;
        padding:13px 15px !important;
        font-size:14px !important;
        line-height:1.45 !important;
    }

    .filter-grid,
    .form-grid,
    .admin-check-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:12px !important;
    }

    .form-group{
        gap:7px !important;
    }

    label{
        font-size:13px !important;
        line-height:1.3 !important;
    }

    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea{
        min-height:50px !important;
        border-radius:16px !important;
        padding:13px 15px !important;
        font-size:15px !important;
        background:rgba(241,245,249,.88) !important;
        border-color:rgba(148,163,184,.26) !important;
    }

    input:focus,
    select:focus,
    textarea:focus{
        outline:none !important;
        border-color:rgba(197,155,93,.55) !important;
        box-shadow:0 0 0 4px rgba(197,155,93,.12) !important;
        background:#fff !important;
    }

    .filter-actions,
    .actions,
    .report-actions,
    .check-action-row{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:10px !important;
        width:100% !important;
    }

    .btn,
    .filter-actions .btn,
    .actions .btn,
    .report-actions .btn{
        width:100% !important;
        min-height:48px !important;
        border-radius:15px !important;
        padding:12px 14px !important;
        font-size:14px !important;
    }

    .report-actions{
        justify-content:stretch !important;
        margin-top:8px !important;
    }

    .card-toolbar{
        display:grid !important;
        grid-template-columns:1fr !important;
        align-items:start !important;
        gap:12px !important;
    }

    .table-wrap{
        margin-left:-8px !important;
        margin-right:-8px !important;
        padding:0 8px 4px 8px !important;
        overflow-x:auto !important;
        -webkit-overflow-scrolling:touch !important;
        scrollbar-width:thin !important;
    }

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

    th,
    td{
        padding:13px 10px !important;
        font-size:13px !important;
        white-space:nowrap !important;
    }

    th{
        font-size:12px !important;
        letter-spacing:.01em !important;
    }

    .badge{
        min-width:76px !important;
        height:28px !important;
        font-size:11px !important;
        padding:0 12px !important;
    }

    .map-canvas,
    .map-canvas-sm,
    .map-canvas-checkin{
        height:260px !important;
        border-radius:22px !important;
    }

    .sidebar{
        width:min(300px, 82vw) !important;
        padding:22px 18px 74px 18px !important;
        border-radius:0 26px 26px 0 !important;
    }

    .brand{
        padding-bottom:18px !important;
    }

    .brand-logo{
        max-width:154px !important;
        max-height:68px !important;
    }

    .nav{
        gap:10px !important;
        padding:22px 0 !important;
    }

    .nav a{
        min-height:50px !important;
        display:flex !important;
        align-items:center !important;
        padding:13px 16px !important;
        border-radius:16px !important;
        font-size:15px !important;
        background:rgba(255,255,255,.055) !important;
    }

    .nav a:hover{
        transform:none !important;
        background:rgba(255,255,255,.10) !important;
    }

    .sidebar-footer{
        font-size:13px !important;
        padding-top:0 !important;
    }

    .sidebar-powered-by{
        left:18px !important;
        bottom:18px !important;
    }

    .language-dropdown{
        right:0 !important;
        top:calc(100% + 9px) !important;
        border-radius:18px !important;
        box-shadow:0 22px 55px rgba(15,23,42,.18) !important;
    }

    .mobile-nav-overlay{
        backdrop-filter:blur(3px) !important;
        -webkit-backdrop-filter:blur(3px) !important;
        background:rgba(2,6,23,.42) !important;
    }
}

@media (max-width: 480px){
    .main{
        padding-left:14px !important;
        padding-right:14px !important;
    }

    .card,
    .stat-card{
        padding:17px !important;
        border-radius:22px !important;
    }

    .card-value,
    .stat-number{
        font-size:32px !important;
    }

    .filter-actions,
    .actions,
    .report-actions,
    .check-action-row{
        grid-template-columns:1fr !important;
    }

    .table-wrap table{
        min-width:660px !important;
    }

    .sidebar{
        width:min(292px, 84vw) !important;
    }
}


/* Premium mobile horizontal scroll cue */
@media (max-width: 760px){
    .card.has-scroll-cue{
        position:relative !important;
    }

    .card.has-scroll-cue > .section-title{
        padding-right:108px !important;
    }

    .card.has-scroll-cue .scroll-cue{
        position:absolute;
        top:22px;
        right:18px;
        display:inline-flex;
        align-items:center;
        gap:9px;
        pointer-events:none;
        user-select:none;
        z-index:4;
    }

    .scroll-cue-arrow{
        width:8px;
        height:8px;
        display:block;
        border-top:2px solid rgba(100,116,139,.78);
        border-right:2px solid rgba(100,116,139,.78);
        flex:0 0 auto;
    }

    .scroll-cue-arrow.is-left{
        transform:rotate(-135deg);
    }

    .scroll-cue-arrow.is-right{
        transform:rotate(45deg);
    }

    .scroll-cue-track{
        position:relative;
        width:54px;
        height:4px;
        display:block;
        border-radius:999px;
        overflow:hidden;
        background:linear-gradient(90deg, rgba(203,213,225,.34), rgba(148,163,184,.52), rgba(203,213,225,.34));
        box-shadow:inset 0 0 0 1px rgba(148,163,184,.14), 0 4px 10px rgba(15,23,42,.04);
    }

    .scroll-cue-track::after{
        content:'';
        position:absolute;
        top:-2px;
        left:-18px;
        width:20px;
        height:8px;
        border-radius:999px;
        background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.18), rgba(255,255,255,.92), rgba(255,255,255,.18), rgba(255,255,255,0));
        box-shadow:0 0 10px rgba(255,255,255,.28);
        animation:premiumScrollGlow 1.85s ease-in-out infinite;
    }

    body.theme-dark .scroll-cue-arrow{
        border-color:rgba(203,213,225,.76);
    }

    body.theme-dark .scroll-cue-track{
        background:linear-gradient(90deg, rgba(71,85,105,.36), rgba(100,116,139,.58), rgba(71,85,105,.36));
        box-shadow:inset 0 0 0 1px rgba(148,163,184,.18), 0 4px 12px rgba(2,6,23,.14);
    }

    @keyframes premiumScrollGlow{
        0%{transform:translateX(0); opacity:.20;}
        18%{opacity:1;}
        50%{transform:translateX(35px); opacity:.82;}
        82%{opacity:1;}
        100%{transform:translateX(70px); opacity:.18;}
    }
}

@media (max-width: 480px){
    .card.has-scroll-cue > .section-title{
        padding-right:96px !important;
    }

    .card.has-scroll-cue .scroll-cue{
        top:18px;
        right:16px;
        gap:8px;
    }

    .scroll-cue-track{
        width:46px;
    }
}


/* Mobile perfection and locale reliability refinements */
@media (max-width: 760px){
    html, body{
        max-width:100% !important;
        overflow-x:hidden !important;
    }

    .app-shell,
    .main,
    .topbar,
    .topbar-left,
    .topbar-actions,
    .grid,
    .cards-4,
    .dashboard-grid,
    .two-col,
    .checkin-workspace,
    .settings-layout,
    .settings-side,
    .card,
    .stat-card,
    .info-note,
    .flash{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }

    .main > *{
        max-width:100% !important;
    }

    .card,
    .stat-card{
        overflow:hidden;
    }

    .table-wrap{
        width:100% !important;
        max-width:100% !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        -webkit-overflow-scrolling:touch;
    }

    .table-wrap table{
        width:max-content !important;
        min-width:620px !important;
    }

    .table-wrap th,
    .table-wrap td{
        white-space:nowrap;
    }

    canvas,
    img,
    svg{
        max-width:100% !important;
    }

    .card canvas{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        height:auto !important;
    }

    .topbar{
        gap:12px !important;
    }

    .topbar-left{
        order:2 !important;
    }

    .topbar-actions{
        order:1 !important;
        align-self:flex-end !important;
    }
}

@media (max-width: 480px){
    .main{
        padding-left:12px !important;
        padding-right:12px !important;
    }

    .card,
    .stat-card{
        padding:16px !important;
        border-radius:20px !important;
    }

    .table-wrap table{
        min-width:580px !important;
    }

    .page-title{
        font-size:21px !important;
    }
}

/* Staff dashboard width balance */
.staff-dashboard-grid{
    grid-template-columns:minmax(280px,.95fr) minmax(520px,1.25fr);
}

/* Powered by FameMedia footer */
.sidebar-powered-by{
    opacity:1;
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:6px;
    width:auto;
    max-width:142px;
    margin:0;
    padding:3px 7px;
    border-radius:5px;
    position:absolute;
    left:24px;
    bottom:20px;
    z-index:5;
    overflow:hidden;
    background:rgba(255,255,255,.015);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04), inset 0 -8px 14px rgba(0,0,0,.24);
    -webkit-backdrop-filter:blur(0px) saturate(120%);
    backdrop-filter:blur(0px) saturate(120%);
}
.sidebar-powered-by::before{
    content:"";
    position:absolute;
    inset:0;
    padding:1px;
    border-radius:inherit;
    pointer-events:none;
    background:conic-gradient(from 0deg at 50% 50%, rgba(150,150,150,.42) 0deg, rgba(150,150,150,.10) 22.5deg, rgba(0,0,0,0) 45deg, rgba(150,150,150,.10) 67.5deg, rgba(150,150,150,.42) 90deg, rgba(150,150,150,.10) 112.5deg, rgba(0,0,0,0) 135deg, rgba(150,150,150,.10) 157.5deg, rgba(150,150,150,.42) 180deg, rgba(150,150,150,.10) 202.5deg, rgba(0,0,0,0) 225deg, rgba(150,150,150,.10) 247.5deg, rgba(150,150,150,.42) 270deg, rgba(150,150,150,.10) 292.5deg, rgba(0,0,0,0) 315deg, rgba(150,150,150,.10) 337.5deg, rgba(150,150,150,.42) 360deg);
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    filter:blur(.2px);
}
.sidebar-powered-by::after{
    content:"";
    position:absolute;
    top:0;
    left:-60%;
    width:25%;
    height:100%;
    pointer-events:none;
    border-radius:inherit;
    background:linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(140,140,140,.45) 50%, rgba(255,255,255,0) 100%);
    transform:skewX(-20deg);
    animation:fm-auto-shine 3s ease-in-out infinite;
    will-change:left, opacity, transform;
}
.sidebar-powered-by .powered-label{
    font-size:9px;
    line-height:1;
    color:rgba(255,255,255,.82);
    text-transform:none;
    letter-spacing:0;
    white-space:nowrap;
    position:relative;
    z-index:1;
}
.powered-logo{
    position:relative;
    z-index:1;
    display:inline-flex;
    align-items:center;
    padding:0 !important;
    border:0 !important;
    background:none !important;
    box-shadow:none !important;
    line-height:0;
    text-decoration:none;
    width:74px;
    max-width:74px;
}
@keyframes fm-auto-shine{
    0%{left:-60%;opacity:0}
    8%{opacity:1}
    30%{left:160%;opacity:1}
    40%{opacity:0}
    100%{left:160%;opacity:0}
}
.powered-logo img{
    display:block;
    width:74px !important;
    height:auto !important;
    max-width:74px !important;
    vertical-align:middle;
    -webkit-mask-image:linear-gradient(to right, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 58%, rgba(0,0,0,.88) 78%, rgba(0,0,0,.70) 100%);
    mask-image:linear-gradient(to right, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 58%, rgba(0,0,0,.88) 78%, rgba(0,0,0,.70) 100%);
}
@media (prefers-reduced-motion:reduce){
    .sidebar-powered-by::after{animation:none}
}

/* FINAL FIX: sidebar powered by placement and sidebar overflow */
.sidebar{
    position:sticky !important;
    top:0 !important;
    height:100vh !important;
    overflow:hidden !important;
    padding:24px 24px 92px 24px !important;
}

.sidebar .nav,
.nav{
    flex:1 1 auto !important;
    min-height:0 !important;
    max-width:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:24px 0 12px 0 !important;
    margin:0 !important;
    scrollbar-width:none !important;
}

.sidebar .nav::-webkit-scrollbar,
.nav::-webkit-scrollbar{
    width:0 !important;
    height:0 !important;
}

.sidebar .nav a,
.nav a{
    max-width:100% !important;
}

.sidebar-footer.sidebar-powered-by,
.sidebar-powered-by{
    position:absolute !important;
    left:24px !important;
    right:auto !important;
    bottom:22px !important;
    z-index:20 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:7px !important;
    width:auto !important;
    max-width:178px !important;
    min-width:0 !important;
    margin:0 !important;
    padding:6px 12px !important;
    border-radius:6px !important;
    overflow:hidden !important;
    white-space:nowrap !important;
    opacity:1 !important;
    flex:0 0 auto !important;
    transform:none !important;
}

.sidebar-powered-by .powered-label{
    font-size:9.5px !important;
    line-height:1 !important;
    flex:0 0 auto !important;
}

.sidebar-powered-by .powered-logo,
.powered-logo{
    width:92px !important;
    max-width:92px !important;
    min-width:92px !important;
    flex:0 0 92px !important;
    line-height:0 !important;
}

.sidebar-powered-by .powered-logo img,
.powered-logo img{
    display:block !important;
    width:92px !important;
    max-width:92px !important;
    height:auto !important;
}

@media (max-width:980px){
    .sidebar{
        position:fixed !important;
        width:min(300px,82vw) !important;
        height:100vh !important;
        overflow:hidden !important;
        padding:22px 18px 90px 18px !important;
    }

    .sidebar-footer.sidebar-powered-by,
    .sidebar-powered-by{
        left:18px !important;
        bottom:18px !important;
        max-width:178px !important;
        padding:6px 12px !important;
    }
}


/* 2026 CRM refinement fixes */
.form-group{gap:11px !important;}
.form-group label{margin-bottom:2px;}
.card .form-group + .form-group{margin-top:4px;}

.sidebar{overflow:hidden !important;}
.sidebar .nav{overflow-y:auto !important;overflow-x:hidden !important;padding-bottom:18px !important;}
.sidebar-powered-by{padding:8px 14px !important;max-width:none !important;border-radius:7px !important;gap:8px !important;}
.sidebar-powered-by .powered-label{font-size:9.5px !important;}
.sidebar-powered-by .powered-logo{width:var(--powered-logo-width,112px) !important;max-width:var(--powered-logo-width,112px) !important;min-width:var(--powered-logo-width,112px) !important;flex:0 0 var(--powered-logo-width,112px) !important;}
.sidebar-powered-by .powered-logo img{width:var(--powered-logo-width,112px) !important;max-width:var(--powered-logo-width,112px) !important;}

.topbar-notification{position:relative;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);}
.topbar-notification svg{width:20px;height:20px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.notification-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;line-height:1;border:2px solid var(--surface);}

.leave-layout{grid-template-columns:360px 1fr;}
.admin-leave-layout{grid-template-columns:1fr !important;}
.leave-decision-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;align-items:center;}
.leave-decision-form input{min-height:44px;}
.leave-decision-actions{display:flex;gap:8px;flex-wrap:wrap;}
.admin-comment{margin-top:6px;}

.checkbox-line{display:inline-flex !important;align-items:center !important;gap:10px !important;margin:18px 0 12px 0 !important;line-height:1.2 !important;}
.checkbox-line input[type="checkbox"]{width:16px !important;height:16px !important;margin:0 !important;flex:0 0 auto !important;}
.checkbox-line span{display:inline-block !important;}
.active-account-line{clear:both;}

.map-toolbar-radius-only{display:block !important;}
.map-toolbar-radius-only .form-group{max-width:100% !important;}
.lost-password-link{display:inline-flex;justify-content:center;margin-top:12px;font-size:14px;color:var(--text-soft);text-decoration:none;}
.lost-password-link:hover{color:var(--text);}
.forgot-title{font-size:22px;margin:0 0 14px;text-align:center;color:var(--text);}

@media (max-width:980px){.leave-layout{grid-template-columns:1fr !important}.leave-decision-form{grid-template-columns:1fr}.topbar-notification{width:42px;height:42px}}


/* CRM logo width setting */
.brand-logo{
    width:var(--crm-logo-width,156px) !important;
    max-width:100% !important;
    max-height:76px !important;
    object-fit:contain !important;
}


/* 2026-05-02 final sidebar footer repair */
.sidebar{
    position:sticky !important;
    top:0 !important;
    height:100vh !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
    padding:24px !important;
}
.sidebar .brand{
    flex:0 0 auto !important;
}
.sidebar .nav{
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:24px 0 18px 0 !important;
    margin:0 !important;
    scrollbar-width:none !important;
}
.sidebar .nav::-webkit-scrollbar{
    width:0 !important;
    height:0 !important;
}
.sidebar-footer.sidebar-powered-by,
.sidebar-powered-by{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    margin:12px 0 0 0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:max-content !important;
    max-width:214px !important;
    min-width:0 !important;
    padding:9px 13px !important;
    gap:8px !important;
    border-radius:7px !important;
    overflow:hidden !important;
    flex:0 0 auto !important;
    white-space:nowrap !important;
    opacity:1 !important;
    transform:none !important;
}
.sidebar-powered-by .powered-label{
    font-size:9.5px !important;
    line-height:1 !important;
    color:rgba(255,255,255,.88) !important;
    flex:0 0 auto !important;
}
.sidebar-powered-by .powered-logo,
.powered-logo{
    width:108px !important;
    max-width:108px !important;
    min-width:108px !important;
    flex:0 0 108px !important;
    line-height:0 !important;
}
.sidebar-powered-by .powered-logo img,
.powered-logo img{
    display:block !important;
    width:108px !important;
    max-width:108px !important;
    height:auto !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
}
@media (max-width:980px){
    .sidebar{
        position:fixed !important;
        width:min(300px,82vw) !important;
        height:100vh !important;
        padding:22px 18px !important;
    }
    .sidebar-footer.sidebar-powered-by,
    .sidebar-powered-by{
        margin-top:12px !important;
        max-width:214px !important;
        padding:9px 13px !important;
    }
}


/* 2026-05-02 compact FameMedia footer and mobile scroll lock */
.sidebar-footer.sidebar-powered-by,
.sidebar-powered-by{
    max-width:184px !important;
    padding:7px 11px !important;
    gap:7px !important;
}

.sidebar-powered-by .powered-label{
    font-size:9px !important;
}

.sidebar-powered-by .powered-logo,
.powered-logo{
    width:88px !important;
    max-width:88px !important;
    min-width:88px !important;
    flex:0 0 88px !important;
}

.sidebar-powered-by .powered-logo img,
.powered-logo img{
    width:88px !important;
    max-width:88px !important;
    height:auto !important;
}

/* Mobile menu open: disable page scroll completely */
html.menu-open,
body.menu-open{
    overflow:hidden !important;
    height:100vh !important;
    overscroll-behavior:none !important;
    touch-action:none !important;
}

body.menu-open .sidebar{
    touch-action:auto !important;
}

body.menu-open .sidebar .nav{
    touch-action:auto !important;
    -webkit-overflow-scrolling:touch !important;
}

@media (max-width:980px){
    .sidebar-footer.sidebar-powered-by,
    .sidebar-powered-by{
        max-width:184px !important;
        padding:7px 11px !important;
    }

    .sidebar-powered-by .powered-logo,
    .powered-logo{
        width:88px !important;
        max-width:88px !important;
        min-width:88px !important;
        flex:0 0 88px !important;
    }

    .sidebar-powered-by .powered-logo img,
    .powered-logo img{
        width:88px !important;
        max-width:88px !important;
    }
}

/* Project form label spacing and detailed address fields */
.project-form .form-group{
    gap:8px !important;
}
.project-form .form-group label{
    display:block !important;
    margin:10px 0 0 0 !important;
    line-height:1.35 !important;
}
.project-form .card > .form-group:first-of-type label{
    margin-top:6px !important;
}
.project-form input:not([type="checkbox"]):not([type="radio"]),
.project-form select,
.project-form textarea{
    margin-top:0 !important;
}
.project-form .two-col{
    gap:18px !important;
}
@media (max-width:980px){
    .project-form{
        grid-template-columns:1fr !important;
    }
}


/* Project address alignment final fix */
.project-form .project-address-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:18px !important;
    row-gap:0 !important;
    align-items:start !important;
    margin:0 0 14px 0 !important;
}
.project-form .project-address-grid .form-group{
    margin:0 !important;
    min-width:0 !important;
}
.project-form .project-address-grid .form-group label{
    margin-top:10px !important;
    min-height:18px !important;
    display:flex !important;
    align-items:flex-end !important;
}
.project-form .project-address-grid input{
    width:100% !important;
}
.project-form .project-address-search{
    margin-top:14px !important;
}
.project-form .project-address-search .btn{
    width:100% !important;
}
@media (max-width:640px){
    .project-form .project-address-grid{
        grid-template-columns:1fr !important;
        gap:12px !important;
        margin-bottom:14px !important;
    }
    .project-form .project-address-search{
        margin-top:10px !important;
    }
}

/* 2026-05-02 final form alignment repair */
.project-form .card,
form.card{
    overflow:visible !important;
}

.project-form .two-col,
form.card > .grid.two-col{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:18px !important;
    row-gap:22px !important;
    align-items:start !important;
}

.project-form .form-group,
form.card .form-group{
    gap:10px !important;
    margin:0 !important;
    min-width:0 !important;
}

.project-form .form-group label,
form.card .form-group label{
    display:block !important;
    margin:0 !important;
    padding-top:8px !important;
    line-height:1.35 !important;
    min-height:27px !important;
}

.project-form .card > .form-group:first-of-type label,
form.card > .grid.two-col:first-of-type .form-group:nth-child(-n+2) label{
    padding-top:0 !important;
}

.project-form input:not([type="checkbox"]):not([type="radio"]),
.project-form select,
.project-form textarea,
form.card input:not([type="checkbox"]):not([type="radio"]),
form.card select,
form.card textarea{
    margin:0 !important;
}

.project-form .project-address-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:18px !important;
    row-gap:0 !important;
    align-items:start !important;
    margin:0 0 16px 0 !important;
}

.project-form .project-address-grid .form-group{
    margin:0 !important;
}

.project-form .project-address-grid .form-group label{
    padding-top:8px !important;
    margin:0 !important;
    min-height:27px !important;
    display:block !important;
}

.project-form .project-address-search{
    margin-top:12px !important;
}

.project-form .project-address-search .btn{
    width:100% !important;
    min-height:46px !important;
}

.checkbox-line,
.active-account-line{
    display:flex !important;
    width:100% !important;
    align-items:center !important;
    gap:10px !important;
    margin:22px 0 16px 0 !important;
    line-height:1.25 !important;
    clear:both !important;
}

.checkbox-line input[type="checkbox"],
.active-account-line input[type="checkbox"]{
    width:16px !important;
    height:16px !important;
    min-height:16px !important;
    margin:0 !important;
    flex:0 0 16px !important;
}

.checkbox-line span,
.active-account-line span{
    display:block !important;
    line-height:1.25 !important;
}

.active-account-line + .btn,
form.card > .btn-primary:last-child{
    margin-top:0 !important;
}

@media (max-width:980px){
    .project-form,
    .project-form .two-col,
    form.card > .grid.two-col{
        grid-template-columns:1fr !important;
    }
}

/* 2026-05 final interaction and spacing refinements */
.card .btn,
.form-group + .btn,
.form-group .btn,
.project-address-search,
.project-form .map-card > .btn,
.staff-form .btn,
.no-enter-submit .btn{
    margin-top:14px;
}

.project-form input[type="file"]{
    margin-bottom:12px;
}

.project-form .map-card > .btn,
.staff-form .btn[type="submit"],
.no-enter-submit > .btn[type="submit"]{
    margin-top:18px;
}

.project-address-grid{
    align-items:start !important;
    gap:18px !important;
}

.project-address-search{
    margin-top:16px !important;
}

.address-suggestions{
    display:none;
    margin-top:12px;
    margin-bottom:2px;
    border:1px solid var(--border);
    border-radius:16px;
    overflow:hidden;
    background:var(--surface);
    box-shadow:0 18px 42px rgba(15,23,42,.12);
}

.address-suggestions.is-visible{
    display:grid;
}

.address-suggestion-item{
    appearance:none;
    border:0;
    border-bottom:1px solid var(--border);
    background:var(--surface);
    color:var(--text);
    width:100%;
    text-align:left;
    padding:12px 14px;
    font-size:13px;
    line-height:1.35;
    cursor:pointer;
}

.address-suggestion-item:last-child{
    border-bottom:0;
}

.address-suggestion-item:hover,
.address-suggestion-item:focus{
    outline:none;
    background:var(--surface-2);
}

.card-timer-value{
    font-variant-numeric:tabular-nums;
    font-size:30px !important;
}

.active-dashboard-card{
    border-color:rgba(16,185,129,.25) !important;
    background:linear-gradient(180deg, rgba(16,185,129,.055), var(--surface)) !important;
}

/* Keep translated buttons on one line across the CRM */
.btn,
.actions .btn,
.filter-actions .btn,
.report-actions .btn,
td .btn,
.card-toolbar .btn{
    white-space:nowrap !important;
    word-break:normal !important;
    min-width:max-content;
}

td .actions,
td .filter-actions,
.leave-decision-actions{
    flex-wrap:nowrap !important;
}

@media (max-width:760px){
    .btn,
    .actions .btn,
    .filter-actions .btn,
    .report-actions .btn{
        min-width:0;
    }
}

/* Login mobile: fixed view, no accidental zoom, no page scroll */
@media (max-width:760px){
    html:has(body.login-cover-body){
        height:100%;
        overflow:hidden !important;
    }

    body.login-cover-body{
        position:fixed !important;
        inset:0 !important;
        width:100% !important;
        height:100dvh !important;
        min-height:100dvh !important;
        overflow:hidden !important;
        overscroll-behavior:none !important;
        touch-action:manipulation !important;
    }

    .login-cover-shell{
        min-height:100dvh !important;
        height:100dvh !important;
        padding:18px 16px !important;
        align-items:center !important;
        overflow:hidden !important;
    }

    .login-cover-card{
        max-height:calc(100dvh - 36px) !important;
        overflow:hidden !important;
        padding:22px !important;
        border-radius:24px !important;
    }

    .login-cover-logo{
        max-width:172px !important;
        max-height:62px !important;
    }

    .login-cover-header{
        margin-bottom:18px !important;
    }

    .login-cover-form{
        gap:14px !important;
    }

    .login-cover-form input{
        font-size:16px !important;
        min-height:52px !important;
        height:52px !important;
    }

    .login-cover-submit{
        height:52px !important;
        min-height:52px !important;
        font-size:16px !important;
    }

    .lost-password-link,
    .login-cover-footer{
        -webkit-user-select:none !important;
        user-select:none !important;
        -webkit-touch-callout:none !important;
    }

    .login-cover-footer{
        margin-top:14px !important;
        padding-top:12px !important;
        font-size:12px !important;
        line-height:1.35 !important;
    }
}

/* Stronger mobile menu scroll lock */
html.menu-open,
body.menu-open{
    overflow:hidden !important;
    overscroll-behavior:none !important;
}

body.menu-open .main,
body.menu-open .topbar,
body.menu-open .mobile-nav-overlay{
    touch-action:none !important;
}

body.menu-open .sidebar,
body.menu-open .sidebar .nav{
    touch-action:pan-y !important;
    -webkit-overflow-scrolling:touch !important;
}

/* 2026-05 final project address suggestion placement and date cleanup */
.project-form .project-address-street{
    position:relative !important;
    margin-bottom:0 !important;
}

.project-form .project-address-street .address-suggestions{
    margin-top:8px !important;
    margin-bottom:12px !important;
}

.project-form .project-address-grid{
    margin-top:0 !important;
}

.project-form .project-address-search{
    margin-top:18px !important;
}

.project-form .project-address-search .btn{
    margin-top:0 !important;
}

@media (max-width:640px){
    .project-form .project-address-street .address-suggestions{
        margin-top:8px !important;
        margin-bottom:12px !important;
    }
}

/* 2026-05 button spacing refinement */
form.card > button.btn,
form.card > .btn,
.card > form > button.btn,
.project-form > button.btn,
.project-form .form-group + button.btn,
.project-form .file-list + button.btn{
    margin-top:18px !important;
}

.project-form input[type="file"]{
    margin-bottom:8px !important;
}

.project-form .form-group:has(input[type="file"]){
    margin-bottom:8px !important;
}

@media (max-width:760px){
    form.card > button.btn,
    form.card > .btn,
    .card > form > button.btn,
    .project-form > button.btn,
    .project-form .form-group + button.btn,
    .project-form .file-list + button.btn{
        margin-top:20px !important;
    }
}


/* 2026-05 definitive form submit spacing fix */
form.card > .form-group:last-of-type{
    margin-bottom:24px !important;
}

form.card > .form-group:last-of-type:has(textarea),
form.card > .form-group.form-group-full:last-of-type{
    margin-bottom:28px !important;
}

form.card > button.btn:last-child,
form.card > .btn:last-child{
    margin-top:0 !important;
    align-self:flex-start !important;
}

.project-form > button.btn:last-child,
.staff-form > button.btn:last-child,
.card form > button.btn:last-child{
    margin-top:24px !important;
}

textarea + .btn,
input[type="file"] + .btn{
    margin-top:22px !important;
}

@media (max-width:760px){
    form.card > .form-group:last-of-type{
        margin-bottom:26px !important;
    }

    form.card > .form-group:last-of-type:has(textarea),
    form.card > .form-group.form-group-full:last-of-type{
        margin-bottom:30px !important;
    }
}

/* 2026-05 remember me and mobile login background fix */
.login-remember-row{
    display:inline-flex !important;
    align-items:center !important;
    gap:10px !important;
    margin:0 !important;
    color:#0f172a !important;
    font-size:14px !important;
    font-weight:600 !important;
    line-height:1.2 !important;
    user-select:none !important;
    -webkit-user-select:none !important;
}
.login-remember-row input[type="checkbox"]{
    width:16px !important;
    height:16px !important;
    min-height:16px !important;
    margin:0 !important;
    accent-color:var(--primary) !important;
    flex:0 0 auto !important;
}
.login-remember-row span{
    display:inline-block !important;
}

@media (max-width:760px){
    body.login-cover-body{
        background-size:cover !important;
        background-position:center center !important;
        background-repeat:no-repeat !important;
        background-attachment:scroll !important;
    }

    .login-cover-card,
    .login-cover-form,
    .login-cover-form input,
    .login-cover-submit,
    .login-remember-row,
    .lost-password-link,
    .login-cover-footer{
        -webkit-user-select:none !important;
        user-select:none !important;
        -webkit-touch-callout:none !important;
    }

    .login-cover-form input{
        -webkit-user-select:text !important;
        user-select:text !important;
    }

    .login-remember-row{
        font-size:13px !important;
    }
}


/* PWA install button and modal */
.topbar-install-app{
    width:44px;
    height:44px;
    border-radius:14px;
    border:1px solid var(--border);
    background:var(--surface);
    box-shadow:var(--shadow);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:var(--text);
    cursor:pointer;
    transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.topbar-install-app:hover{
    transform:translateY(-1px);
    border-color:rgba(197,155,93,.55);
    box-shadow:0 16px 34px rgba(15,23,42,.12);
}
.topbar-install-app svg{
    width:21px;
    height:21px;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.topbar-install-app svg rect{
    fill:none;
}
.pwa-install-modal{
    position:fixed;
    inset:0;
    z-index:30000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:22px;
    background:rgba(2,6,23,.52);
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
}
.pwa-install-card{
    width:min(420px,100%);
    background:var(--surface);
    color:var(--text);
    border:1px solid var(--border);
    border-radius:24px;
    box-shadow:0 30px 80px rgba(2,6,23,.28);
    padding:24px;
}
.pwa-install-icon{width:48px;height:48px;border-radius:16px;background:rgba(197,155,93,.14);display:flex;align-items:center;justify-content:center;margin-bottom:14px;color:var(--text);}
.pwa-install-icon svg{width:26px;height:26px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.pwa-install-icon svg rect{fill:none;}
.pwa-install-card h3{margin:0 0 10px 0;font-size:22px;line-height:1.2;}
.pwa-install-card p{margin:0 0 18px 0;color:var(--text-soft);line-height:1.55;}
@media (max-width:760px){
    .topbar-install-app{width:40px!important;height:40px!important;border-radius:14px!important;flex:0 0 40px!important;}
    .topbar-install-app svg{width:18px!important;height:18px!important;}
}

/* Remember me row alignment */
.login-remember-row{
    display:flex;
    align-items:center;
    gap:10px;
    color:#0f172a;
    font-weight:600;
    line-height:1.2;
    margin-top:-2px;
}
.login-remember-row input{width:16px!important;height:16px!important;min-height:auto!important;margin:0!important;accent-color:var(--primary,#0f172a);}


/* Direct PWA install icon refinement */
.topbar-install-app{
    position:relative;
}
.topbar-install-app svg{
    width:23px !important;
    height:23px !important;
}
.topbar-install-app .install-phone{
    fill:none !important;
}
.topbar-install-app .install-plus-circle{
    fill:var(--surface) !important;
    stroke:currentColor !important;
}
.topbar-install-app .install-plus{
    stroke:currentColor !important;
}
.pwa-install-icon svg circle{
    fill:var(--surface);
}
@media (max-width:760px){
    .topbar-install-app svg{width:20px!important;height:20px!important;}
}


/* 2026 final: iOS login no scroll and stable PWA modal */
html.login-no-scroll,
html.login-no-scroll body.login-cover-body{
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    overflow:hidden !important;
    overscroll-behavior:none !important;
}
body.login-cover-body{
    overflow:hidden !important;
    overscroll-behavior:none !important;
}
@media (max-width:760px){
    html.login-no-scroll{
        position:fixed !important;
        inset:0 !important;
    }
    body.login-cover-body{
        position:fixed !important;
        inset:0 !important;
        width:100vw !important;
        height:100svh !important;
        min-height:100svh !important;
        max-height:100svh !important;
        overflow:hidden !important;
        touch-action:none !important;
        -webkit-overflow-scrolling:auto !important;
        background-size:cover !important;
        background-position:center center !important;
    }
    .login-cover-shell{
        width:100vw !important;
        height:100svh !important;
        min-height:100svh !important;
        max-height:100svh !important;
        overflow:hidden !important;
        padding:calc(14px + env(safe-area-inset-top)) 16px calc(14px + env(safe-area-inset-bottom)) 16px !important;
    }
    .login-cover-card{
        max-height:calc(100svh - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
        overflow:hidden !important;
    }
    .login-cover-form input,
    .login-cover-submit,
    .login-remember-row,
    .lost-password-link{
        font-size:16px !important;
    }
}
@media (max-height:680px) and (max-width:760px){
    .login-cover-card{padding:18px !important;}
    .login-cover-logo{max-height:52px !important;max-width:156px !important;}
    .login-cover-header{margin-bottom:12px !important;}
    .login-cover-form{gap:10px !important;}
    .login-cover-form input,.login-cover-submit{height:48px !important;min-height:48px !important;}
    .login-cover-footer{display:none !important;}
}
.pwa-install-modal{
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
}
.pwa-install-card p{
    line-height:1.5;
}

/* 2026-05 refinement: stronger install icon and cleaner active timer card */
.topbar-install-app{
    width:48px !important;
    height:48px !important;
    flex:0 0 48px !important;
    border-radius:16px !important;
}
.topbar-install-app svg{
    width:27px !important;
    height:27px !important;
    stroke-width:2.35 !important;
}
.topbar-install-app .install-plus-circle{
    fill:#ff6b22 !important;
    stroke:#ff6b22 !important;
}
.topbar-install-app .install-plus{
    stroke:#ffffff !important;
    stroke-width:2.4 !important;
}
@media (max-width:760px){
    .topbar-install-app{
        width:46px !important;
        height:46px !important;
        flex:0 0 46px !important;
        border-radius:16px !important;
    }
    .topbar-install-app svg{
        width:28px !important;
        height:28px !important;
        stroke-width:2.5 !important;
    }
}
.pwa-install-icon{
    width:64px !important;
    height:64px !important;
    border-radius:20px !important;
    background:linear-gradient(135deg, rgba(255,107,34,.18), rgba(15,23,42,.08)) !important;
}
.pwa-install-icon svg{
    width:38px !important;
    height:38px !important;
    stroke-width:2.35 !important;
}
.pwa-install-icon svg circle{
    fill:#ff6b22 !important;
    stroke:#ff6b22 !important;
}
.pwa-install-icon svg path:nth-of-type(2),
.pwa-install-icon svg path:nth-of-type(3){
    stroke:#ffffff !important;
}

.active-dashboard-card{
    position:relative !important;
    overflow:hidden !important;
    border-color:rgba(255,107,34,.24) !important;
    background:linear-gradient(135deg, #ffffff 0%, #fff7f2 45%, #f8fafc 100%) !important;
    box-shadow:0 18px 50px rgba(15,23,42,.08) !important;
}
.active-dashboard-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:5px;
    background:linear-gradient(180deg, #ff6b22, #0f172a);
}
.active-dashboard-card .card-title{
    color:#475569 !important;
}
.active-dashboard-card .card-timer-value{
    color:#0f172a !important;
    letter-spacing:-.03em;
}
.active-dashboard-card .small{
    color:#64748b !important;
    font-weight:600;
}
.theme-dark .active-dashboard-card{
    border-color:rgba(255,107,34,.32) !important;
    background:linear-gradient(135deg, rgba(255,107,34,.16), rgba(15,23,42,.92)) !important;
    box-shadow:0 18px 50px rgba(0,0,0,.24) !important;
}
.theme-dark .active-dashboard-card .card-title,
.theme-dark .active-dashboard-card .small{
    color:rgba(255,255,255,.72) !important;
}
.theme-dark .active-dashboard-card .card-timer-value{
    color:#ffffff !important;
}

/* 2026-05 mobile dark mode active timer card fix */
@media (max-width:760px){
    .theme-dark .active-dashboard-card{
        border-color:rgba(255,255,255,.08) !important;
        background:linear-gradient(180deg, #111827 0%, #0f172a 100%) !important;
        box-shadow:0 18px 42px rgba(0,0,0,.28) !important;
    }

    .theme-dark .active-dashboard-card::before{
        width:0 !important;
        background:none !important;
    }

    .theme-dark .active-dashboard-card::after{
        content:none !important;
        display:none !important;
    }

    .theme-dark .active-dashboard-card .card-title,
    .theme-dark .active-dashboard-card .small{
        color:rgba(255,255,255,.72) !important;
    }

    .theme-dark .active-dashboard-card .card-timer-value{
        color:#ffffff !important;
        text-shadow:none !important;
    }
}

/* 2026-05 Apple final fixes: login background, install icon size, iOS keyboard behaviour */
.login-fixed-bg{
    position:fixed !important;
    inset:0 !important;
    z-index:0 !important;
    pointer-events:none !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    transform:translateZ(0) scale(1.01) !important;
    -webkit-transform:translateZ(0) scale(1.01) !important;
}
.login-cover-overlay{z-index:0 !important;}
.login-cover-shell{z-index:1 !important;}
@supports (-webkit-touch-callout:none){
    body.login-cover-body{
        background-color:#0f172a !important;
    }
    .login-fixed-bg{
        height:100dvh !important;
        min-height:100dvh !important;
    }
}
.topbar-install-app{
    min-width:52px !important;
    width:52px !important;
    height:52px !important;
    flex:0 0 52px !important;
    border-radius:17px !important;
}
.topbar-install-app svg{
    width:34px !important;
    height:34px !important;
    stroke-width:2.75 !important;
    overflow:visible !important;
}
.topbar-install-app .install-plus-circle{
    r:4.8px;
}
@media (max-width:760px){
    .topbar-install-app{
        min-width:54px !important;
        width:54px !important;
        height:54px !important;
        flex:0 0 54px !important;
        border-radius:18px !important;
    }
    .topbar-install-app svg{
        width:36px !important;
        height:36px !important;
        stroke-width:2.85 !important;
    }
}
@supports (-webkit-touch-callout:none){
    .topbar-install-app{
        min-width:56px !important;
        width:56px !important;
        height:56px !important;
        flex-basis:56px !important;
    }
    .topbar-install-app svg{
        width:39px !important;
        height:39px !important;
    }
}
.pwa-install-icon{
    width:78px !important;
    height:78px !important;
    border-radius:24px !important;
    margin-bottom:20px !important;
}
.pwa-install-icon svg{
    width:52px !important;
    height:52px !important;
    stroke-width:2.7 !important;
    overflow:visible !important;
}
.pwa-install-card h3{
    font-size:25px !important;
    line-height:1.16 !important;
}
@media (max-width:760px){
    .pwa-install-card{
        padding:28px !important;
        border-radius:28px !important;
    }
    .pwa-install-icon{
        width:82px !important;
        height:82px !important;
        border-radius:25px !important;
    }
    .pwa-install-icon svg{
        width:56px !important;
        height:56px !important;
    }
}

/* 2026-05 final correction: keep topbar action boxes equal on desktop, Android and Apple */
.topbar-install-app,
.topbar-notification,
.topbar-logout{
    width:44px !important;
    min-width:44px !important;
    height:44px !important;
    flex:0 0 44px !important;
    border-radius:14px !important;
}
.topbar-install-app svg,
.topbar-notification svg,
.topbar-logout svg{
    width:22px !important;
    height:22px !important;
    stroke-width:2.25 !important;
}
.topbar-install-app .install-plus-circle{
    fill:#ff6b22 !important;
    stroke:#ff6b22 !important;
}
.topbar-install-app .install-plus{
    stroke:#ffffff !important;
    stroke-width:2.4 !important;
}
@media (max-width:760px){
    .topbar-install-app,
    .topbar-notification,
    .topbar-logout,
    .mobile-menu-toggle{
        width:40px !important;
        min-width:40px !important;
        height:40px !important;
        flex:0 0 40px !important;
        border-radius:14px !important;
    }
    .topbar-install-app svg,
    .topbar-notification svg,
    .topbar-logout svg{
        width:20px !important;
        height:20px !important;
        stroke-width:2.25 !important;
    }
}
@media (max-width:480px){
    .topbar-actions{gap:7px !important;}
    .topbar-install-app,
    .topbar-notification,
    .topbar-logout,
    .mobile-menu-toggle{
        width:40px !important;
        min-width:40px !important;
        height:40px !important;
        flex:0 0 40px !important;
    }
    .topbar-install-app svg,
    .topbar-notification svg,
    .topbar-logout svg{
        width:20px !important;
        height:20px !important;
    }
}

/* 2026-05 iPhone login keyboard lock and Apple-only install icon refinement */
@supports (-webkit-touch-callout:none){
    html.login-no-scroll,
    html.login-no-scroll body.login-cover-body{
        position:fixed !important;
        inset:0 !important;
        width:100vw !important;
        height:100lvh !important;
        min-height:100lvh !important;
        max-height:100lvh !important;
        overflow:hidden !important;
        overscroll-behavior:none !important;
        -webkit-overflow-scrolling:auto !important;
        touch-action:manipulation !important;
    }

    body.login-cover-body{
        background-attachment:scroll !important;
        transform:none !important;
    }

    body.login-cover-body.ios-keyboard-lock,
    body.login-cover-body.ios-keyboard-lock .login-cover-shell,
    body.login-cover-body.ios-keyboard-lock .login-cover-card{
        transform:translate3d(0,0,0) !important;
    }

    .login-fixed-bg{
        position:fixed !important;
        inset:0 !important;
        width:100vw !important;
        height:100lvh !important;
        min-height:100lvh !important;
        background-size:cover !important;
        background-position:center center !important;
        background-repeat:no-repeat !important;
        transform:translate3d(0,0,0) scale(1.02) !important;
        -webkit-transform:translate3d(0,0,0) scale(1.02) !important;
    }

    .login-cover-shell{
        position:fixed !important;
        inset:0 !important;
        width:100vw !important;
        height:100lvh !important;
        min-height:100lvh !important;
        max-height:100lvh !important;
        overflow:hidden !important;
        transform:translate3d(0,0,0) !important;
        -webkit-transform:translate3d(0,0,0) !important;
        will-change:transform;
    }

    .login-cover-card{
        transform:translate3d(0,0,0) !important;
        -webkit-transform:translate3d(0,0,0) !important;
        max-height:calc(100lvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
        overflow:hidden !important;
    }

    .login-cover-form input{
        font-size:16px !important;
        line-height:1.2 !important;
        -webkit-user-select:text !important;
        user-select:text !important;
    }
}

@media (max-width:760px){
    @supports (-webkit-touch-callout:none){
        .topbar-install-app svg{
            width:27px !important;
            height:27px !important;
            stroke-width:2.55 !important;
            overflow:visible !important;
        }
        .topbar-install-app .install-plus-circle{
            fill:#ff6b22 !important;
            stroke:#ff6b22 !important;
        }
        .topbar-install-app .install-plus{
            stroke:#ffffff !important;
            stroke-width:2.65 !important;
        }
    }
}


/* 2026-05 iOS hard login lock: prevent Safari keyboard panning */
@supports (-webkit-touch-callout:none){
    html.login-no-scroll,
    html.login-no-scroll body.login-cover-body{
        position:fixed !important;
        left:0 !important;
        right:0 !important;
        top:0 !important;
        bottom:0 !important;
        width:100vw !important;
        height:var(--login-layout-height, 100lvh) !important;
        min-height:var(--login-layout-height, 100lvh) !important;
        max-height:var(--login-layout-height, 100lvh) !important;
        overflow:hidden !important;
        overscroll-behavior:none !important;
        -webkit-overflow-scrolling:auto !important;
        touch-action:none !important;
    }

    body.login-cover-body{
        background-image:none !important;
        background-color:#0f172a !important;
    }

    .login-fixed-bg{
        position:fixed !important;
        left:0 !important;
        top:0 !important;
        width:100vw !important;
        height:var(--login-layout-height, 100lvh) !important;
        min-height:var(--login-layout-height, 100lvh) !important;
        z-index:0 !important;
        background-size:cover !important;
        background-position:center center !important;
        background-repeat:no-repeat !important;
        transform:none !important;
        -webkit-transform:none !important;
    }

    .login-cover-overlay{
        position:fixed !important;
        inset:0 !important;
        z-index:1 !important;
    }

    .login-cover-shell{
        position:fixed !important;
        left:0 !important;
        right:0 !important;
        top:var(--login-vvo, 0px) !important;
        width:100vw !important;
        height:var(--login-vvh, 100lvh) !important;
        min-height:var(--login-vvh, 100lvh) !important;
        max-height:var(--login-vvh, 100lvh) !important;
        z-index:2 !important;
        overflow:hidden !important;
        display:flex !important;
        align-items:flex-start !important;
        justify-content:center !important;
        padding:calc(14px + env(safe-area-inset-top)) 16px calc(14px + env(safe-area-inset-bottom)) 16px !important;
        transform:none !important;
        -webkit-transform:none !important;
        box-sizing:border-box !important;
        touch-action:none !important;
    }

    .login-cover-card{
        width:min(430px, calc(100vw - 32px)) !important;
        max-height:calc(var(--login-vvh, 100lvh) - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
        overflow:hidden !important;
        padding:22px !important;
        border-radius:24px !important;
        transform:none !important;
        -webkit-transform:none !important;
        box-sizing:border-box !important;
    }

    .login-cover-logo{
        max-width:176px !important;
        max-height:58px !important;
    }

    .login-cover-header{
        margin-bottom:14px !important;
    }

    .login-cover-form{
        gap:11px !important;
    }

    .login-cover-form input,
    .login-cover-submit{
        height:48px !important;
        min-height:48px !important;
        font-size:16px !important;
        line-height:1.2 !important;
    }

    .login-remember-row,
    .lost-password-link{
        font-size:14px !important;
    }

    .login-cover-footer{
        display:none !important;
    }

    body.login-cover-body.ios-keyboard-lock .login-cover-shell{
        top:var(--login-vvo, 0px) !important;
        height:var(--login-vvh, 100lvh) !important;
        min-height:var(--login-vvh, 100lvh) !important;
        max-height:var(--login-vvh, 100lvh) !important;
        padding-top:calc(8px + env(safe-area-inset-top)) !important;
    }

    body.login-cover-body.ios-keyboard-lock .login-cover-card{
        padding:16px !important;
        border-radius:22px !important;
        max-height:calc(var(--login-vvh, 100lvh) - 16px - env(safe-area-inset-top)) !important;
    }

    body.login-cover-body.ios-keyboard-lock .login-cover-logo{
        max-width:136px !important;
        max-height:42px !important;
    }

    body.login-cover-body.ios-keyboard-lock .login-cover-header{
        margin-bottom:8px !important;
    }

    body.login-cover-body.ios-keyboard-lock .login-cover-form{
        gap:8px !important;
    }

    body.login-cover-body.ios-keyboard-lock .login-cover-form input,
    body.login-cover-body.ios-keyboard-lock .login-cover-submit{
        height:44px !important;
        min-height:44px !important;
    }
}

/* Larger iPhone only install icon inside the same topbar button box */
@media (max-width:760px){
    @supports (-webkit-touch-callout:none){
        .topbar-install-app svg{
            width:31px !important;
            height:31px !important;
            transform:scale(1.22) !important;
            -webkit-transform:scale(1.22) !important;
            transform-origin:center center !important;
            overflow:visible !important;
        }
        .topbar-install-app .install-phone,
        .topbar-install-app .install-speaker,
        .topbar-install-app .install-plus-circle,
        .topbar-install-app .install-plus{
            vector-effect:non-scaling-stroke;
        }
    }
}

/* Final iPhone login lock: keep card centered in the original screen, do not move with keyboard */
@media (max-width:760px){
    @supports (-webkit-touch-callout:none){
        html.login-no-scroll,
        html.login-no-scroll body.login-cover-body{
            position:fixed !important;
            left:0 !important;
            top:0 !important;
            right:0 !important;
            bottom:0 !important;
            width:100vw !important;
            height:var(--login-layout-height, 100lvh) !important;
            min-height:var(--login-layout-height, 100lvh) !important;
            max-height:var(--login-layout-height, 100lvh) !important;
            overflow:hidden !important;
            overscroll-behavior:none !important;
            -webkit-overflow-scrolling:auto !important;
            touch-action:none !important;
        }

        body.login-cover-body .login-fixed-bg,
        body.login-cover-body .login-cover-overlay{
            position:fixed !important;
            left:0 !important;
            top:0 !important;
            width:100vw !important;
            height:var(--login-layout-height, 100lvh) !important;
            min-height:var(--login-layout-height, 100lvh) !important;
            max-height:var(--login-layout-height, 100lvh) !important;
        }

        body.login-cover-body .login-cover-shell,
        body.login-cover-body.ios-keyboard-lock .login-cover-shell{
            position:fixed !important;
            left:0 !important;
            top:0 !important;
            right:0 !important;
            bottom:auto !important;
            width:100vw !important;
            height:var(--login-layout-height, 100lvh) !important;
            min-height:var(--login-layout-height, 100lvh) !important;
            max-height:var(--login-layout-height, 100lvh) !important;
            display:flex !important;
            align-items:center !important;
            justify-content:center !important;
            padding:calc(18px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom)) 16px !important;
            overflow:hidden !important;
            transform:none !important;
            -webkit-transform:none !important;
            touch-action:none !important;
        }

        body.login-cover-body .login-cover-card,
        body.login-cover-body.ios-keyboard-lock .login-cover-card{
            position:relative !important;
            top:auto !important;
            left:auto !important;
            margin:auto !important;
            width:min(430px, calc(100vw - 32px)) !important;
            max-height:calc(var(--login-layout-height, 100lvh) - 36px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
            overflow:hidden !important;
            padding:22px !important;
            border-radius:24px !important;
            transform:none !important;
            -webkit-transform:none !important;
        }

        body.login-cover-body.ios-keyboard-lock .login-cover-logo{
            max-width:176px !important;
            max-height:58px !important;
        }

        body.login-cover-body.ios-keyboard-lock .login-cover-header{
            margin-bottom:14px !important;
        }

        body.login-cover-body.ios-keyboard-lock .login-cover-form{
            gap:11px !important;
        }

        body.login-cover-body.ios-keyboard-lock .login-cover-form input,
        body.login-cover-body.ios-keyboard-lock .login-cover-submit{
            height:48px !important;
            min-height:48px !important;
        }

        body.login-cover-body.ios-keyboard-lock .login-cover-footer{
            display:none !important;
        }
    }
}

/* 2026-05 iPhone Safari visible-viewport center fix */
@media (max-width:760px){
    @supports (-webkit-touch-callout:none){
        body.login-cover-body .login-cover-shell,
        body.login-cover-body.ios-keyboard-lock .login-cover-shell{
            height:var(--login-layout-height, 100dvh) !important;
            min-height:var(--login-layout-height, 100dvh) !important;
            max-height:var(--login-layout-height, 100dvh) !important;
            align-items:center !important;
            justify-content:center !important;
            padding:calc(14px + env(safe-area-inset-top)) 16px calc(14px + env(safe-area-inset-bottom)) 16px !important;
            box-sizing:border-box !important;
        }
        body.login-cover-body .login-cover-card,
        body.login-cover-body.ios-keyboard-lock .login-cover-card{
            margin:0 auto !important;
            max-height:calc(var(--login-layout-height, 100dvh) - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
        }
    }
}


/* 2026-05 final restore: iPhone login true center after staff import */
@media (max-width:760px){
    @supports (-webkit-touch-callout:none){
        html.login-no-scroll{
            position:fixed !important;
            inset:0 !important;
            width:100vw !important;
            height:var(--login-layout-height, 100dvh) !important;
            min-height:var(--login-layout-height, 100dvh) !important;
            max-height:var(--login-layout-height, 100dvh) !important;
            overflow:hidden !important;
            overscroll-behavior:none !important;
            -webkit-overflow-scrolling:auto !important;
            touch-action:none !important;
        }

        html.login-no-scroll body.login-cover-body{
            position:fixed !important;
            inset:0 !important;
            width:100vw !important;
            height:var(--login-layout-height, 100dvh) !important;
            min-height:var(--login-layout-height, 100dvh) !important;
            max-height:var(--login-layout-height, 100dvh) !important;
            overflow:hidden !important;
            margin:0 !important;
            padding:0 !important;
            overscroll-behavior:none !important;
            touch-action:none !important;
        }

        body.login-cover-body .login-fixed-bg,
        body.login-cover-body .login-cover-overlay{
            position:fixed !important;
            inset:0 !important;
            width:100vw !important;
            height:var(--login-layout-height, 100dvh) !important;
            min-height:var(--login-layout-height, 100dvh) !important;
            max-height:var(--login-layout-height, 100dvh) !important;
            pointer-events:none !important;
        }

        body.login-cover-body .login-cover-shell,
        body.login-cover-body.ios-keyboard-lock .login-cover-shell{
            position:fixed !important;
            inset:0 !important;
            width:100vw !important;
            height:var(--login-layout-height, 100dvh) !important;
            min-height:var(--login-layout-height, 100dvh) !important;
            max-height:var(--login-layout-height, 100dvh) !important;
            display:flex !important;
            align-items:center !important;
            justify-content:center !important;
            overflow:hidden !important;
            padding:calc(14px + env(safe-area-inset-top)) 16px calc(14px + env(safe-area-inset-bottom)) 16px !important;
            box-sizing:border-box !important;
            transform:none !important;
            -webkit-transform:none !important;
            touch-action:none !important;
        }

        body.login-cover-body .login-cover-card,
        body.login-cover-body.ios-keyboard-lock .login-cover-card{
            position:relative !important;
            top:auto !important;
            left:auto !important;
            right:auto !important;
            bottom:auto !important;
            margin:auto !important;
            width:min(430px, calc(100vw - 32px)) !important;
            max-height:calc(var(--login-layout-height, 100dvh) - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
            overflow:hidden !important;
            transform:none !important;
            -webkit-transform:none !important;
        }

        body.login-cover-body.ios-keyboard-lock .login-cover-logo{
            max-width:176px !important;
            max-height:58px !important;
        }

        body.login-cover-body.ios-keyboard-lock .login-cover-form{
            gap:11px !important;
        }

        body.login-cover-body.ios-keyboard-lock .login-cover-form input,
        body.login-cover-body.ios-keyboard-lock .login-cover-submit{
            height:48px !important;
            min-height:48px !important;
        }
    }
}

/* 2026-05 iPhone keyboard final freeze: do not let Safari push login card upward */
@media (max-width:760px){
    @supports (-webkit-touch-callout:none){
        body.login-cover-body.ios-keyboard-lock .login-cover-shell{
            display:block !important;
            align-items:initial !important;
            justify-content:initial !important;
            padding:0 !important;
            overflow:hidden !important;
        }

        body.login-cover-body.ios-keyboard-lock .login-cover-card{
            position:fixed !important;
            top:var(--login-card-top, 150px) !important;
            left:50% !important;
            right:auto !important;
            bottom:auto !important;
            width:min(430px, calc(100vw - 32px)) !important;
            max-height:min(
                calc(var(--login-card-height, 420px) - 70px),
                calc(var(--login-current-vvh, 430px) - var(--login-card-top, 150px) - 14px)
            ) !important;
            margin:0 !important;
            overflow:hidden !important;
            transform:translate3d(-50%, 0, 0) !important;
            -webkit-transform:translate3d(-50%, 0, 0) !important;
            will-change:transform !important;
            padding:16px 16px 14px 16px !important;
            border-radius:22px !important;
        }

        body.login-cover-body.ios-keyboard-lock .login-cover-logo{
            max-width:150px !important;
            max-height:46px !important;
        }

        body.login-cover-body.ios-keyboard-lock .login-cover-header{
            margin-bottom:8px !important;
        }

        body.login-cover-body.ios-keyboard-lock .login-cover-form{
            gap:8px !important;
        }

        body.login-cover-body.ios-keyboard-lock .login-cover-form label{
            font-size:13px !important;
            margin-bottom:0 !important;
        }

        body.login-cover-body.ios-keyboard-lock .login-cover-form input,
        body.login-cover-body.ios-keyboard-lock .login-cover-submit{
            height:42px !important;
            min-height:42px !important;
            font-size:16px !important;
        }

        body.login-cover-body.ios-keyboard-lock .login-remember-row{
            min-height:28px !important;
            margin:0 !important;
            gap:9px !important;
        }

        body.login-cover-body.ios-keyboard-lock .lost-password-link,
        body.login-cover-body.ios-keyboard-lock .login-cover-footer{
            display:none !important;
        }
    }
}

/* 2026-05 absolute final: iPhone login card stays at original screen center, even under keyboard */
@media (max-width:760px){
    @supports (-webkit-touch-callout:none){
        html.ios-login-fixed-center,
        html.ios-login-fixed-center body.login-cover-body{
            position:fixed !important;
            inset:0 !important;
            width:100vw !important;
            height:var(--login-layout-height, 100dvh) !important;
            min-height:var(--login-layout-height, 100dvh) !important;
            max-height:var(--login-layout-height, 100dvh) !important;
            overflow:hidden !important;
            overscroll-behavior:none !important;
            touch-action:none !important;
            -webkit-overflow-scrolling:auto !important;
        }

        body.login-cover-body.ios-login-fixed-center .login-cover-shell,
        body.login-cover-body.ios-login-fixed-center.ios-keyboard-lock .login-cover-shell{
            position:fixed !important;
            inset:0 !important;
            width:100vw !important;
            height:var(--login-layout-height, 100dvh) !important;
            min-height:var(--login-layout-height, 100dvh) !important;
            max-height:var(--login-layout-height, 100dvh) !important;
            display:block !important;
            padding:0 !important;
            margin:0 !important;
            overflow:hidden !important;
            transform:none !important;
            -webkit-transform:none !important;
        }

        body.login-cover-body.ios-login-fixed-center .login-cover-card,
        body.login-cover-body.ios-login-fixed-center.ios-keyboard-lock .login-cover-card{
            position:fixed !important;
            top:var(--login-card-top, calc((var(--login-layout-height, 100dvh) - var(--login-card-height, 520px)) / 2)) !important;
            left:50% !important;
            right:auto !important;
            bottom:auto !important;
            width:min(430px, calc(100vw - 32px)) !important;
            max-height:none !important;
            height:auto !important;
            margin:0 !important;
            overflow:visible !important;
            transform:translate3d(-50%, 0, 0) !important;
            -webkit-transform:translate3d(-50%, 0, 0) !important;
            padding:22px !important;
            border-radius:24px !important;
            will-change:auto !important;
        }

        body.login-cover-body.ios-login-fixed-center.ios-keyboard-lock .login-cover-logo,
        body.login-cover-body.ios-login-fixed-center .login-cover-logo{
            max-width:176px !important;
            max-height:58px !important;
        }

        body.login-cover-body.ios-login-fixed-center.ios-keyboard-lock .login-cover-header,
        body.login-cover-body.ios-login-fixed-center .login-cover-header{
            margin-bottom:14px !important;
        }

        body.login-cover-body.ios-login-fixed-center.ios-keyboard-lock .login-cover-form,
        body.login-cover-body.ios-login-fixed-center .login-cover-form{
            gap:12px !important;
        }

        body.login-cover-body.ios-login-fixed-center.ios-keyboard-lock .login-cover-form label,
        body.login-cover-body.ios-login-fixed-center .login-cover-form label{
            font-size:inherit !important;
            margin-bottom:0 !important;
        }

        body.login-cover-body.ios-login-fixed-center.ios-keyboard-lock .login-cover-form input,
        body.login-cover-body.ios-login-fixed-center.ios-keyboard-lock .login-cover-submit,
        body.login-cover-body.ios-login-fixed-center .login-cover-form input,
        body.login-cover-body.ios-login-fixed-center .login-cover-submit{
            height:54px !important;
            min-height:54px !important;
            font-size:16px !important;
        }

        body.login-cover-body.ios-login-fixed-center.ios-keyboard-lock .login-remember-row,
        body.login-cover-body.ios-login-fixed-center .login-remember-row{
            min-height:42px !important;
            margin:0 !important;
            gap:12px !important;
        }

        body.login-cover-body.ios-login-fixed-center.ios-keyboard-lock .lost-password-link,
        body.login-cover-body.ios-login-fixed-center.ios-keyboard-lock .login-cover-footer{
            display:block !important;
        }
    }
}

/* 2026-05 iPhone login lost password alignment hard fix */
@media (max-width:760px){
    @supports (-webkit-touch-callout:none){
        body.login-cover-body.ios-login-fixed-center .login-cover-form,
        body.login-cover-body.ios-login-fixed-center.ios-keyboard-lock .login-cover-form{
            align-items:stretch !important;
            justify-content:flex-start !important;
            width:100% !important;
        }

        body.login-cover-body.ios-login-fixed-center .lost-password-link,
        body.login-cover-body.ios-login-fixed-center.ios-keyboard-lock .lost-password-link{
            display:flex !important;
            width:100% !important;
            min-width:100% !important;
            max-width:100% !important;
            align-self:stretch !important;
            justify-content:center !important;
            align-items:center !important;
            text-align:center !important;
            margin:12px auto 0 auto !important;
            padding:0 !important;
            left:auto !important;
            right:auto !important;
            top:auto !important;
            bottom:auto !important;
            transform:none !important;
            -webkit-transform:none !important;
            position:relative !important;
            float:none !important;
            clear:both !important;
            line-height:1.25 !important;
        }
    }
}

/* 2026-05 clean compact iPhone login, stable under keyboard */
@supports (-webkit-touch-callout: none) {
    html.ios-compact-login,
    html.ios-compact-login body.login-cover-body{
        width:100% !important;
        min-width:100% !important;
        height:var(--login-stable-height, 100vh) !important;
        min-height:var(--login-stable-height, 100vh) !important;
        max-height:var(--login-stable-height, 100vh) !important;
        overflow:hidden !important;
        position:fixed !important;
        inset:0 !important;
        overscroll-behavior:none !important;
        -webkit-overflow-scrolling:auto !important;
        touch-action:manipulation !important;
        background-color:#071827 !important;
    }

    body.login-cover-body.ios-compact-login .login-fixed-bg,
    body.login-cover-body.ios-compact-login .login-cover-overlay{
        position:fixed !important;
        inset:0 !important;
        width:100vw !important;
        height:var(--login-stable-height, 100vh) !important;
        min-height:var(--login-stable-height, 100vh) !important;
        transform:none !important;
        z-index:0 !important;
    }

    body.login-cover-body.ios-compact-login .login-cover-shell{
        position:fixed !important;
        left:0 !important;
        right:0 !important;
        top:0 !important;
        width:100vw !important;
        height:var(--login-stable-height, 100vh) !important;
        min-height:var(--login-stable-height, 100vh) !important;
        max-height:var(--login-stable-height, 100vh) !important;
        padding:0 18px !important;
        margin:0 !important;
        display:block !important;
        overflow:hidden !important;
        transform:none !important;
        z-index:2 !important;
    }

    body.login-cover-body.ios-compact-login .login-cover-card{
        position:absolute !important;
        left:50% !important;
        top:var(--login-compact-top, 112px) !important;
        transform:translate3d(-50%,0,0) !important;
        width:calc(100vw - 36px) !important;
        max-width:420px !important;
        min-height:0 !important;
        max-height:none !important;
        padding:20px 20px 18px !important;
        margin:0 !important;
        border-radius:24px !important;
        overflow:visible !important;
        will-change:auto !important;
        transition:none !important;
    }

    body.login-cover-body.ios-compact-login .login-cover-header{
        margin:0 0 14px !important;
        padding:0 !important;
        text-align:center !important;
        display:flex !important;
        justify-content:center !important;
        align-items:center !important;
    }

    body.login-cover-body.ios-compact-login .login-cover-logo{
        width:auto !important;
        max-width:210px !important;
        max-height:58px !important;
        height:auto !important;
        display:block !important;
    }

    body.login-cover-body.ios-compact-login .login-cover-form{
        display:flex !important;
        flex-direction:column !important;
        gap:10px !important;
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
    }

    body.login-cover-body.ios-compact-login .login-cover-form .form-group{
        margin:0 !important;
        padding:0 !important;
        width:100% !important;
    }

    body.login-cover-body.ios-compact-login .login-cover-form label{
        display:block !important;
        margin:0 0 6px !important;
        padding:0 !important;
        font-size:14px !important;
        line-height:1.2 !important;
        font-weight:700 !important;
        color:#101827 !important;
    }

    body.login-cover-body.ios-compact-login .login-cover-form input[type="email"],
    body.login-cover-body.ios-compact-login .login-cover-form input[type="password"]{
        width:100% !important;
        height:44px !important;
        min-height:44px !important;
        max-height:44px !important;
        padding:0 14px !important;
        border-radius:15px !important;
        font-size:16px !important;
        line-height:44px !important;
        transform:none !important;
        transition:none !important;
    }

    body.login-cover-body.ios-compact-login .login-remember-row{
        width:100% !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
        gap:10px !important;
        margin:2px 0 0 !important;
        padding:0 !important;
        transform:none !important;
    }

    body.login-cover-body.ios-compact-login .login-remember-row input[type="checkbox"]{
        width:26px !important;
        height:26px !important;
        min-width:26px !important;
        margin:0 !important;
        flex:0 0 auto !important;
    }

    body.login-cover-body.ios-compact-login .login-remember-row span{
        font-size:15px !important;
        line-height:1.2 !important;
        font-weight:700 !important;
    }

    body.login-cover-body.ios-compact-login .login-cover-submit{
        width:100% !important;
        height:48px !important;
        min-height:48px !important;
        max-height:48px !important;
        margin:4px 0 0 !important;
        padding:0 18px !important;
        border-radius:16px !important;
        font-size:16px !important;
        line-height:48px !important;
        transform:none !important;
        transition:none !important;
    }

    body.login-cover-body.ios-compact-login .lost-password-link{
        width:100% !important;
        display:flex !important;
        justify-content:center !important;
        align-items:center !important;
        text-align:center !important;
        margin:2px 0 0 !important;
        padding:0 !important;
        min-height:28px !important;
        line-height:28px !important;
        font-size:14px !important;
        transform:none !important;
        transition:none !important;
    }

    body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-cover-shell,
    body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-cover-card,
    body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-cover-form,
    body.login-cover-body.ios-compact-login.ios-login-keyboard-open .lost-password-link{
        transform:inherit !important;
        transition:none !important;
    }

    body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-cover-card{
        left:50% !important;
        top:var(--login-compact-top, 112px) !important;
        transform:translate3d(-50%,0,0) !important;
    }
}

/* 2026-05 true final: iPhone keyboard open clean compact card, no horizontal pan */
@media (max-width:760px){
    @supports (-webkit-touch-callout:none){
        html.ios-compact-login,
        html.ios-compact-login body.login-cover-body{
            position:fixed !important;
            inset:0 !important;
            width:100vw !important;
            max-width:100vw !important;
            overflow:hidden !important;
            touch-action:none !important;
            overscroll-behavior:none !important;
            -webkit-overflow-scrolling:auto !important;
        }

        body.login-cover-body.ios-compact-login .login-cover-shell,
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-cover-shell,
        body.login-cover-body.ios-compact-login.ios-keyboard-lock .login-cover-shell{
            position:fixed !important;
            inset:0 !important;
            width:100vw !important;
            max-width:100vw !important;
            height:var(--login-stable-height, 100vh) !important;
            min-height:var(--login-stable-height, 100vh) !important;
            max-height:var(--login-stable-height, 100vh) !important;
            display:block !important;
            padding:0 !important;
            margin:0 !important;
            overflow:hidden !important;
            transform:none !important;
            -webkit-transform:none !important;
            box-sizing:border-box !important;
        }

        body.login-cover-body.ios-compact-login .login-cover-card,
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-cover-card,
        body.login-cover-body.ios-compact-login.ios-keyboard-lock .login-cover-card{
            position:fixed !important;
            top:var(--login-compact-top, 112px) !important;
            left:18px !important;
            right:18px !important;
            bottom:auto !important;
            width:auto !important;
            min-width:0 !important;
            max-width:none !important;
            height:auto !important;
            max-height:none !important;
            margin:0 !important;
            padding:18px 18px 16px !important;
            border-radius:24px !important;
            overflow:hidden !important;
            transform:none !important;
            -webkit-transform:none !important;
            box-sizing:border-box !important;
            will-change:auto !important;
            transition:none !important;
        }

        body.login-cover-body.ios-compact-login .login-cover-header,
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-cover-header{
            margin:0 0 12px !important;
            padding:0 !important;
            display:flex !important;
            justify-content:center !important;
            align-items:center !important;
        }

        body.login-cover-body.ios-compact-login .login-cover-logo,
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-cover-logo{
            max-width:200px !important;
            max-height:56px !important;
            width:auto !important;
            height:auto !important;
        }

        body.login-cover-body.ios-compact-login .login-cover-form,
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-cover-form{
            width:100% !important;
            max-width:100% !important;
            min-width:0 !important;
            display:flex !important;
            flex-direction:column !important;
            align-items:stretch !important;
            gap:9px !important;
            margin:0 !important;
            padding:0 !important;
            overflow:hidden !important;
            transform:none !important;
            -webkit-transform:none !important;
            box-sizing:border-box !important;
        }

        body.login-cover-body.ios-compact-login .login-cover-form .form-group,
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-cover-form .form-group{
            width:100% !important;
            max-width:100% !important;
            min-width:0 !important;
            margin:0 !important;
            padding:0 !important;
            overflow:hidden !important;
            box-sizing:border-box !important;
        }

        body.login-cover-body.ios-compact-login .login-cover-form label,
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-cover-form label{
            display:block !important;
            width:100% !important;
            margin:0 0 5px !important;
            padding:0 !important;
            font-size:13px !important;
            line-height:1.2 !important;
            font-weight:700 !important;
            color:#101827 !important;
            box-sizing:border-box !important;
            transform:none !important;
        }

        body.login-cover-body.ios-compact-login .login-cover-form input[type="email"],
        body.login-cover-body.ios-compact-login .login-cover-form input[type="password"],
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-cover-form input[type="email"],
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-cover-form input[type="password"]{
            display:block !important;
            width:100% !important;
            max-width:100% !important;
            min-width:0 !important;
            height:42px !important;
            min-height:42px !important;
            max-height:42px !important;
            padding:0 13px !important;
            margin:0 !important;
            border-radius:15px !important;
            font-size:16px !important;
            line-height:42px !important;
            box-sizing:border-box !important;
            transform:none !important;
            -webkit-transform:none !important;
        }

        body.login-cover-body.ios-compact-login .login-remember-row,
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-remember-row{
            width:100% !important;
            max-width:100% !important;
            min-width:0 !important;
            display:flex !important;
            align-items:center !important;
            justify-content:flex-start !important;
            gap:10px !important;
            margin:0 !important;
            padding:0 !important;
            min-height:30px !important;
            overflow:hidden !important;
            box-sizing:border-box !important;
            transform:none !important;
        }

        body.login-cover-body.ios-compact-login .login-remember-row input[type="checkbox"],
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-remember-row input[type="checkbox"]{
            width:24px !important;
            height:24px !important;
            min-width:24px !important;
            min-height:24px !important;
            max-width:24px !important;
            max-height:24px !important;
            margin:0 !important;
            padding:0 !important;
            flex:0 0 24px !important;
        }

        body.login-cover-body.ios-compact-login .login-remember-row span,
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-remember-row span{
            font-size:14px !important;
            line-height:1.2 !important;
            font-weight:700 !important;
            min-width:0 !important;
        }

        body.login-cover-body.ios-compact-login .login-cover-submit,
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-cover-submit{
            display:flex !important;
            width:100% !important;
            max-width:100% !important;
            min-width:0 !important;
            height:46px !important;
            min-height:46px !important;
            max-height:46px !important;
            margin:3px 0 0 !important;
            padding:0 16px !important;
            border-radius:16px !important;
            font-size:16px !important;
            line-height:46px !important;
            align-items:center !important;
            justify-content:center !important;
            white-space:nowrap !important;
            box-sizing:border-box !important;
            transform:none !important;
            -webkit-transform:none !important;
        }

        body.login-cover-body.ios-compact-login .lost-password-link,
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .lost-password-link{
            display:flex !important;
            width:100% !important;
            max-width:100% !important;
            min-width:0 !important;
            justify-content:center !important;
            align-items:center !important;
            text-align:center !important;
            margin:2px 0 0 !important;
            padding:0 !important;
            min-height:26px !important;
            line-height:26px !important;
            font-size:13px !important;
            position:relative !important;
            left:auto !important;
            right:auto !important;
            top:auto !important;
            bottom:auto !important;
            float:none !important;
            transform:none !important;
            -webkit-transform:none !important;
            box-sizing:border-box !important;
        }
    }
}

/* 2026-05 iPhone password focus no-pan hotfix */
@media (max-width:760px){
    @supports (-webkit-touch-callout:none){
        body.login-cover-body.ios-compact-login .login-cover-card,
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-cover-card,
        body.login-cover-body.ios-compact-login.ios-keyboard-lock .login-cover-card{
            top:var(--login-compact-top, 96px) !important;
            left:18px !important;
            right:18px !important;
            transform:translate3d(0,0,0) !important;
            -webkit-transform:translate3d(0,0,0) !important;
            contain:layout paint style !important;
            touch-action:manipulation !important;
        }

        body.login-cover-body.ios-compact-login .login-cover-form input[type="email"],
        body.login-cover-body.ios-compact-login .login-cover-form input[type="password"]{
            position:relative !important;
            scroll-margin:0 !important;
            scroll-margin-top:0 !important;
            scroll-margin-bottom:0 !important;
            -webkit-user-select:text !important;
            user-select:text !important;
        }

        body.login-cover-body.ios-compact-login.ios-login-keyboard-open,
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-cover-shell{
            overflow:hidden !important;
            position:fixed !important;
            inset:0 !important;
            transform:translate3d(0,0,0) !important;
            -webkit-transform:translate3d(0,0,0) !important;
        }
    }
}

/* 2026-05 final iPhone login alignment and install icon correction */
@media (max-width:760px){
    @supports (-webkit-touch-callout:none){
        body.login-cover-body.ios-compact-login .login-cover-card,
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-cover-card,
        body.login-cover-body.ios-compact-login.ios-keyboard-lock .login-cover-card{
            top:var(--login-compact-top, 132px) !important;
            left:18px !important;
            right:18px !important;
            width:auto !important;
            transform:translate3d(0,0,0) !important;
            -webkit-transform:translate3d(0,0,0) !important;
            margin:0 !important;
        }

        body.login-cover-body.ios-compact-login .login-remember-row,
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-remember-row{
            display:flex !important;
            flex-direction:row !important;
            align-items:center !important;
            justify-content:flex-start !important;
            gap:10px !important;
            margin:0 !important;
            padding:0 !important;
            min-height:34px !important;
            line-height:34px !important;
        }

        body.login-cover-body.ios-compact-login .login-remember-row input[type="checkbox"],
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-remember-row input[type="checkbox"]{
            width:28px !important;
            height:28px !important;
            min-width:28px !important;
            flex:0 0 28px !important;
            margin:0 !important;
            padding:0 !important;
            align-self:center !important;
            position:relative !important;
            top:0 !important;
            transform:translate3d(0,0,0) !important;
            -webkit-transform:translate3d(0,0,0) !important;
        }

        body.login-cover-body.ios-compact-login .login-remember-row span,
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-remember-row span{
            display:flex !important;
            align-items:center !important;
            height:28px !important;
            line-height:28px !important;
            margin:0 !important;
            padding:0 !important;
            font-size:15px !important;
            font-weight:700 !important;
            position:relative !important;
            top:0 !important;
            transform:translate3d(0,-1px,0) !important;
            -webkit-transform:translate3d(0,-1px,0) !important;
        }
    }
}

/* Keep Add to Home Screen button glyph visually equal to the other topbar icons on iPhone */
@media (max-width:760px){
    @supports (-webkit-touch-callout:none){
        .topbar-install-app{
            width:48px !important;
            height:48px !important;
            min-width:48px !important;
            flex:0 0 48px !important;
            display:inline-flex !important;
            align-items:center !important;
            justify-content:center !important;
            padding:0 !important;
        }
        .topbar-install-app svg{
            width:30px !important;
            height:30px !important;
            min-width:30px !important;
            min-height:30px !important;
            display:block !important;
            overflow:visible !important;
            transform:none !important;
            -webkit-transform:none !important;
        }
        .topbar-install-app .install-phone{
            stroke-width:2.15 !important;
        }
        .topbar-install-app .install-plus-circle{
            transform-origin:center !important;
            transform:scale(1.18) !important;
            -webkit-transform:scale(1.18) !important;
        }
        .topbar-install-app .install-plus{
            stroke-width:2.6 !important;
        }
    }
}

/* 2026-05 iPhone final polish: remember row, centered login card, equal topbar install button */
@media (max-width:760px){
    @supports (-webkit-touch-callout:none){
        body.login-cover-body.ios-compact-login .login-cover-card,
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-cover-card,
        body.login-cover-body.ios-compact-login.ios-keyboard-lock .login-cover-card{
            top:var(--login-compact-top, calc((var(--login-stable-height, 100vh) - 520px) / 2)) !important;
            left:18px !important;
            right:18px !important;
            width:auto !important;
            max-width:none !important;
            transform:none !important;
            -webkit-transform:none !important;
            margin:0 !important;
            box-sizing:border-box !important;
        }

        body.login-cover-body.ios-compact-login .login-cover-form label.login-remember-row,
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-cover-form label.login-remember-row,
        body.login-cover-body.ios-compact-login.ios-keyboard-lock .login-cover-form label.login-remember-row{
            display:flex !important;
            flex-direction:row !important;
            flex-wrap:nowrap !important;
            align-items:center !important;
            justify-content:flex-start !important;
            gap:10px !important;
            width:100% !important;
            max-width:100% !important;
            min-height:34px !important;
            height:34px !important;
            line-height:34px !important;
            margin:0 !important;
            padding:0 !important;
            color:#101827 !important;
            box-sizing:border-box !important;
            overflow:visible !important;
            white-space:nowrap !important;
            transform:none !important;
            -webkit-transform:none !important;
        }

        body.login-cover-body.ios-compact-login .login-cover-form label.login-remember-row input[type="checkbox"],
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-cover-form label.login-remember-row input[type="checkbox"],
        body.login-cover-body.ios-compact-login.ios-keyboard-lock .login-cover-form label.login-remember-row input[type="checkbox"]{
            display:block !important;
            width:28px !important;
            height:28px !important;
            min-width:28px !important;
            min-height:28px !important;
            max-width:28px !important;
            max-height:28px !important;
            flex:0 0 28px !important;
            margin:0 !important;
            padding:0 !important;
            align-self:center !important;
            box-sizing:border-box !important;
            position:relative !important;
            top:0 !important;
            left:0 !important;
            right:auto !important;
            bottom:auto !important;
            transform:none !important;
            -webkit-transform:none !important;
        }

        body.login-cover-body.ios-compact-login .login-cover-form label.login-remember-row span,
        body.login-cover-body.ios-compact-login.ios-login-keyboard-open .login-cover-form label.login-remember-row span,
        body.login-cover-body.ios-compact-login.ios-keyboard-lock .login-cover-form label.login-remember-row span{
            display:inline-flex !important;
            align-items:center !important;
            justify-content:flex-start !important;
            height:28px !important;
            line-height:28px !important;
            margin:0 !important;
            padding:0 !important;
            flex:0 1 auto !important;
            min-width:0 !important;
            max-width:calc(100% - 40px) !important;
            white-space:nowrap !important;
            font-size:15px !important;
            font-weight:700 !important;
            color:#101827 !important;
            position:relative !important;
            top:0 !important;
            transform:none !important;
            -webkit-transform:none !important;
        }

        .topbar-install-app,
        .topbar-notification,
        .topbar-logout,
        .mobile-menu-toggle{
            width:40px !important;
            min-width:40px !important;
            height:40px !important;
            min-height:40px !important;
            flex:0 0 40px !important;
            border-radius:14px !important;
            padding:0 !important;
            box-sizing:border-box !important;
        }

        .topbar-install-app svg,
        .topbar-notification svg,
        .topbar-logout svg{
            width:22px !important;
            height:22px !important;
            min-width:22px !important;
            min-height:22px !important;
            stroke-width:2.35 !important;
            transform:none !important;
            -webkit-transform:none !important;
            overflow:visible !important;
        }

        .topbar-install-app .install-phone{
            stroke-width:2.35 !important;
        }
        .topbar-install-app .install-plus-circle{
            transform:none !important;
            -webkit-transform:none !important;
        }
        .topbar-install-app .install-plus{
            stroke-width:2.55 !important;
        }
    }
}

/* Final batch updates: approval alignment and compact admin forms. Does not touch iPhone login fixes. */
.time-entries-table th,
.time-entries-table td{
    vertical-align:top;
}
.approval-form{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    min-width:180px;
}
.approval-form input[name="approval_comment"]{
    width:100%;
    min-width:160px;
    height:42px;
}
.approval-actions{
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
}
.approval-actions .btn{
    min-width:78px;
    justify-content:center;
}
@media (max-width: 768px){
    .approval-form{min-width:170px;}
    .approval-actions .btn{min-width:74px;}
}
