:root{
    --accent: 195, 31, 78;
    --primary-rgb: 195, 31, 78;
    --primary: #c31f4e;
    --primary-dark: #97163a;
    --primary-soft: #fff3f7;
    --primary-mute: #f8d9e3;

    --bg: #f7f8fa;
    --surface: #ffffff;
    --text: #1e293b;
    --text-secondary: #475569;
    --muted: #94a3b8;
    --border: #e4e9ef;

    --shadow: 0 1px 3px rgba(15,23,42,.05);
    --shadow-lg: 0 4px 16px rgba(15,23,42,.07);

    --danger: #dc4c4c;
    --warning: #b8833a;
    --success: #16835c;

    --primary-a08: rgba(var(--accent), .08);
    --primary-a12: rgba(var(--accent), .12);
    --primary-a18: rgba(var(--accent), .18);
    --primary-a40: rgba(var(--accent), .40);

    --sidebar: var(--surface);
    --header-height: 68px;
    --sidebar-width: 264px;

    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --fw-normal: 400;
    --fw-medium: 500;
    --fw-semibold: 600;
    --fw-bold: 700;

    /* Typography scale — unified across all modules */
    --fs-micro: 11px;
    --fs-caption: 12px;
    --fs-ui: 13px;
    --fs-body: 14px;
    --fs-subsection: 15px;
    --fs-section: 17px;
    --fs-page: 18px;
    --fs-metric: 22px;
    --fs-metric-lg: 26px;
    --lh-tight: 1.3;
    --table-cell-py: 7px;
    --table-cell-px: 10px;
    --table-line-height: 1.35;
    --lh-normal: 1.5;
    --lh-relaxed: 1.55;

    --control-h: 40px;
    --fs-input: 13px;
    --fs-label: 12px;
    --fs-small: 12px;
    --fs-dropdown: 13px;
    --fs-modal-title: 15px;
    --fs-modal-sub: 12px;
}

*{box-sizing:border-box;}
html,body{min-height:100vh;}
body{
    margin:0;
    font-family:"Roboto", Arial, sans-serif;
    font-weight:var(--fw-normal);
    background:var(--bg);
    color:var(--text);
    font-size:var(--fs-body);
    line-height:var(--lh-normal);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font-family:"Roboto", Arial, sans-serif;}

.master-wrapper{min-height:100vh;}
.sidebar-toggle{
    display:none;
    position:fixed;
    top:14px;
    left:14px;
    width:40px;
    height:40px;
    border:none;
    border-radius:var(--radius-sm);
    background:var(--primary);
    color:#fff;
    z-index:5000;
    cursor:pointer;
}
.sidebar-overlay{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.25);
    z-index:1999;
}
.sidebar-overlay.show{display:block;}
.sidebar{
    position:fixed;
    top:0;
    left:0;
    width:var(--sidebar-width);
    height:100vh;
    background:var(--sidebar);
    border-right:1px solid var(--border);
    z-index:2100;
    padding:20px 14px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    transition:left .25s ease;
}
.sidebar .brand{flex-shrink:0;}
.sidebar .menu{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;min-height:0;}
.sidebar .sidebar-logout-btn{flex-shrink:0;}

/* Themed scrollbar for sidebar menu */
.sidebar .menu{scrollbar-width:thin;scrollbar-color:var(--primary-a40) transparent;}
.sidebar .menu::-webkit-scrollbar{width:6px;}
.sidebar .menu::-webkit-scrollbar-track{background:transparent;border-radius:999px;}
.sidebar .menu::-webkit-scrollbar-thumb{background:var(--primary-a18);border-radius:999px;}
.sidebar .menu:hover::-webkit-scrollbar-thumb{background:var(--primary-a40);}
.brand{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:var(--app-footer-height,42px);
    padding:0 10px;
    border-radius:var(--radius-md);
    background:linear-gradient(135deg, var(--primary), var(--primary-dark));
    margin-bottom:18px;
    box-shadow:0 6px 16px rgba(var(--accent), .28);
    position:relative;
    overflow:hidden;
}
.brand::after{
    content:"";
    position:absolute;
    top:-40%;
    right:-20%;
    width:120px;
    height:120px;
    background:radial-gradient(circle, rgba(255,255,255,.18), transparent 70%);
    pointer-events:none;
}
.brand-link{
    text-decoration:none;
    color:inherit;
    transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.brand-link:hover{
    filter:brightness(1.05);
    box-shadow:0 8px 22px rgba(var(--accent), .38);
}
.brand-link:active{transform:scale(.985);}
.brand-icon{
    width:28px;
    height:28px;
    border-radius:var(--radius-sm);
    background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.28);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:var(--fs-body);
    flex-shrink:0;
    position:relative;
    z-index:1;
}
.brand > div:not(.brand-icon){position:relative;z-index:1;min-width:0;}
.brand h3{font-size:var(--fs-ui);font-weight:var(--fw-semibold);color:#fff;margin:0;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.brand span{color:rgba(255,255,255,.78);font-size:10px;line-height:1.2;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sidebar-section-title{
    color:var(--muted);
    font-size:var(--fs-micro);
    font-weight:var(--fw-medium);
    text-transform:uppercase;
    letter-spacing:.4px;
    padding:10px 12px 6px;
}
.menu{display:flex;flex-direction:column;gap:3px;}
.menu-item{
    width:100%;
    min-height:40px;
    padding:0 12px;
    border-radius:var(--radius-sm);
    display:flex;
    align-items:center;
    color:var(--text-secondary);
    font-size:var(--fs-ui);
    font-weight:var(--fw-normal);
    cursor:pointer;
    border:none;
    background:transparent;
    transition:background .15s ease, color .15s ease;
    text-align:left;
}
.menu-item:hover{background:var(--primary-soft);color:var(--text);}
.menu-item.active,.menu-item.open{
    background:var(--primary-mute);
    color:var(--primary-dark);
    font-weight:var(--fw-medium);
}
.menu-arrow{margin-left:auto;transition:.2s ease;color:var(--muted);font-size:var(--fs-caption);}
.menu-item.open .menu-arrow,.menu-item.active.open .menu-arrow{transform:rotate(180deg);color:var(--primary);}
.employee-submenu{
    display:none;
    padding:4px 0 4px 18px;
    flex-direction:column;
    gap:2px;
}
.employee-submenu.show{display:flex;}
.employee-submenu a{
    min-height:36px;
    padding:0 12px;
    border-radius:var(--radius-sm);
    color:var(--text-secondary);
    font-size:var(--fs-ui);
    display:flex;
    align-items:center;
    transition:background .15s ease, color .15s ease;
}
.employee-submenu a:hover,.employee-submenu a.active{
    background:var(--primary-soft);
    color:var(--primary-dark);
}
.sidebar-logout-btn{
    width:100%;
    margin-top:10px;
    min-height:var(--app-footer-height,42px);
    padding:0 10px;
    border-radius:var(--radius-sm);
    border:1px solid var(--primary-a18);
    background:var(--primary-soft);
    color:var(--primary-dark);
    display:flex;
    align-items:center;
    gap:7px;
    cursor:pointer;
    font-size:var(--fs-caption);
    font-weight:var(--fw-medium);
    font-family:inherit;
    transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.sidebar-logout-btn .menu-icon{margin:0;font-size:14px;color:var(--primary);}
.sidebar-logout-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff;}
.sidebar-logout-btn:hover .menu-icon{color:#fff;}

/* Short label shown only in compact sidebar mode */
.menu-text{display:inline;}
.menu-short{display:none;}
.menu-group{display:contents;}

div:where(.swal2-container) .swal2-actions.compact-confirm-actions{
  margin:0 !important;
  padding:12px 16px 16px !important;
  width:100% !important;
  display:grid !important;
  grid-template-columns:1fr 1fr;
  gap:8px !important;
  background:var(--surface) !important;
}
.compact-confirm-ok,
.compact-confirm-cancel{
  min-height:38px !important;
  border-radius:var(--radius-sm) !important;
  padding:8px 14px !important;
  font-size:var(--fs-ui) !important;
  font-weight:var(--fw-medium) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  margin:0 !important;
}
.compact-confirm-ok{border:none !important;color:#fff !important;background:var(--primary) !important;}
.compact-confirm-ok:hover{background:var(--primary-dark) !important;}
.compact-confirm-ok-danger{border:none !important;color:#fff !important;background:var(--danger) !important;}
.compact-confirm-ok-danger:hover{background:#c43c3c !important;}
.compact-confirm-cancel{color:var(--text-secondary) !important;background:var(--surface) !important;border:1px solid var(--border) !important;}
.compact-confirm-cancel:hover{background:var(--primary-soft) !important;}
.compact-confirm-ok-success{border:none !important;color:#fff !important;background:var(--success) !important;}
.compact-confirm-ok-success:hover{background:#1d7344 !important;}
.compact-confirm-ok-warning{border:none !important;color:#fff !important;background:var(--warning) !important;}
.compact-confirm-ok-warning:hover{background:#9a6f2f !important;}
div:where(.swal2-container) .swal2-actions.compact-confirm-actions-single{
  grid-template-columns:1fr !important;
  justify-items:stretch !important;
}
.compact-alert-popup .compact-confirm-head{border-bottom:none;}
.compact-confirm-popup.is-success .compact-confirm-head{background:rgba(34,139,84,.06);}
.compact-confirm-popup.is-warning .compact-confirm-head{background:rgba(184,131,58,.08);}
.compact-confirm-popup.is-danger .compact-confirm-head{background:rgba(220,76,76,.06);}
.compact-confirm-popup.is-info .compact-confirm-head{background:var(--primary-soft);}
.compact-confirm-card.is-success .compact-confirm-title{color:var(--success);}
.compact-confirm-card.is-warning .compact-confirm-title{color:var(--warning);}
.compact-confirm-card.is-danger .compact-confirm-title{color:var(--danger);}
.compact-confirm-popup.is-success .compact-confirm-note{background:rgba(34,139,84,.08);color:var(--success);border-color:rgba(34,139,84,.18);}
.compact-confirm-popup.is-warning .compact-confirm-note{background:rgba(184,131,58,.1);color:var(--warning);border-color:rgba(184,131,58,.18);}
.swal2-container{z-index:100001 !important;}

.fixed-header{
    position:fixed;
    top:0;
    left:var(--sidebar-width);
    right:0;
    height:var(--header-height);
    background:var(--surface);
    border-bottom:1px solid var(--border);
    z-index:2100;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:0 24px;
}
.header-left{min-width:0;display:flex;align-items:center;gap:12px;}
.header-title h1{font-size:var(--fs-page);font-weight:var(--fw-semibold);color:var(--text);margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:var(--lh-tight);}
.header-title p{color:var(--muted);font-size:var(--fs-caption);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;line-height:var(--lh-normal);}
.header-right{display:flex;align-items:center;gap:10px;position:relative;}
.branch-pill{
    min-height:36px;padding:0 12px;border-radius:var(--radius-sm);
    background:var(--primary-soft);color:var(--primary-dark);
    display:flex;align-items:center;gap:6px;font-size:var(--fs-caption);font-weight:var(--fw-medium);
    white-space:nowrap;border:1px solid var(--primary-a18);
}
.software-date-pill{
    min-height:36px;padding:0 12px;border-radius:var(--radius-sm);
    background:#ecfdf5;color:#047857;
    display:flex;align-items:center;gap:6px;font-size:var(--fs-caption);font-weight:var(--fw-semibold);
    white-space:nowrap;border:1px solid #a7f3d0;
}
.software-date-pill i{font-size:14px;}
.header-action{
    width:38px;height:38px;border-radius:var(--radius-sm);
    background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);
    cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;position:relative;
}
.header-action:hover{background:var(--primary-soft);color:var(--primary);}
.header-action .count{
    position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;border-radius:999px;
    background:var(--danger);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:var(--fw-medium);border:2px solid #fff;
}
.profile-wrap{position:relative;z-index:3000;}
.profile-btn{
    min-height:42px;border-radius:var(--radius-md);padding:4px 10px 4px 4px;
    background:var(--surface);border:1px solid var(--border);
    display:flex;align-items:center;gap:8px;cursor:pointer;
}
.profile-btn:hover{border-color:var(--primary-a40);}
.profile-btn img,.profile-initial{width:34px;height:34px;border-radius:var(--radius-sm);object-fit:cover;}
.profile-initial{display:flex;align-items:center;justify-content:center;background:var(--primary-soft);color:var(--primary);font-weight:var(--fw-medium);font-size:var(--fs-ui);}
.profile-initial.lg{width:46px;height:46px;}
.profile-info{text-align:left;min-width:0;max-width:160px;}
.profile-info b{display:block;font-size:var(--fs-ui);color:var(--text);font-weight:var(--fw-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.profile-info span{display:block;font-size:var(--fs-micro);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.profile-arrow{color:var(--muted);font-size:var(--fs-caption);transition:.2s ease;}
.profile-wrap.active .profile-arrow{transform:rotate(180deg);color:var(--primary);}
.profile-dropdown{
    position:absolute;top:calc(100% + 8px);right:0;width:300px;
    background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);
    box-shadow:var(--shadow-lg);padding:12px;
    opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s ease;z-index:99999;
}
.profile-wrap.active .profile-dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.profile-dropdown-head{padding:12px;border-radius:var(--radius-md);background:var(--primary-soft);display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.profile-dropdown-head img{width:44px;height:44px;border-radius:var(--radius-sm);object-fit:cover;}
.profile-dropdown-head h3{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text);margin:0 0 2px;}
.profile-dropdown-head p{color:var(--muted);font-size:var(--fs-caption);line-height:1.4;margin:0;}
.profile-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px;}
.profile-meta div{padding:8px 10px;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);}
.profile-meta small{display:block;color:var(--muted);font-size:var(--fs-micro);margin-bottom:2px;}
.profile-meta b{display:block;color:var(--text);font-size:var(--fs-caption);font-weight:var(--fw-medium);}
.dropdown-link{
    width:100%;min-height:38px;padding:0 10px;border-radius:var(--radius-sm);
    border:none;background:transparent;color:var(--text-secondary);
    display:flex;align-items:center;gap:8px;font-size:var(--fs-ui);cursor:pointer;
    transition:background .15s ease, color .15s ease;
}
.dropdown-link i{display:none;}
.dropdown-link:hover{background:var(--primary-soft);color:var(--primary-dark);}
.logout-link{color:var(--danger);}
.logout-link i{color:var(--danger);}
.main{margin-left:var(--sidebar-width);min-height:100vh;padding-top:var(--header-height);overflow-x:hidden;}
.content-shell{padding:24px;min-width:0;max-width:100%;overflow-x:hidden;transition:opacity .15s ease;}
.content-shell.is-spa-loading{opacity:.55;pointer-events:none;}

/* Fixed viewport — body/header/sidebar stay put; scroll inside page content */
html:has(body.page-no-body-scroll){
    height:100%;
    overflow:hidden;
}
body.page-no-body-scroll{
    height:100%;
    overflow:hidden;
}
body.page-no-body-scroll .master-wrapper{
    height:100%;
    overflow:hidden;
}
body.page-no-body-scroll .main{
    height:100vh;
    min-height:0;
    overflow:hidden;
}
body.page-no-body-scroll .content-shell{
    height:calc(100vh - var(--header-height));
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:16px 24px;
}
body.page-no-body-scroll:has(.app-page-footer) .content-shell{
    padding-bottom:16px;
}

.btn{
    min-height:38px;
    border-radius:var(--radius-sm);
    padding:0 16px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    font-size:var(--fs-ui);
    font-weight:var(--fw-medium);
    cursor:pointer;
    transition:background .15s ease, border-color .15s ease, color .15s ease;
    white-space:nowrap;
    text-decoration:none;
    border:1px solid transparent;
}
.btn-primary{background:var(--primary);color:#fff;}
.btn-primary:hover{background:var(--primary-dark);}
.btn-light{background:var(--surface);color:var(--primary);border-color:var(--primary-a40);}
.btn-light:hover{background:var(--primary-soft);}
.btn-danger{background:var(--surface);color:var(--danger);border-color:rgba(220,76,76,.3);}
.btn-danger:hover{background:#fef5f5;}
.btn-warning{background:var(--surface);color:var(--warning);border-color:rgba(184,131,58,.3);}
.btn-warning:hover{background:#fdfaf5;}

.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;margin-bottom:20px;}
.card-body{padding:20px;}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.section-title{display:flex;align-items:center;gap:0;}
.section-title h2{font-size:var(--fs-section);font-weight:var(--fw-semibold);margin:0 0 2px;color:var(--text);line-height:var(--lh-tight);}
.section-title p{color:var(--muted);font-size:var(--fs-ui);line-height:var(--lh-relaxed);margin:0;}
.tag{
    display:inline-flex;align-items:center;gap:5px;padding:4px 10px;
    border-radius:var(--radius-sm);background:var(--primary-soft);
    color:var(--primary-dark);font-size:var(--fs-caption);font-weight:var(--fw-medium);
    white-space:nowrap;border:1px solid var(--primary-a18);
}
.status{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--radius-sm);font-size:var(--fs-caption);font-weight:var(--fw-medium);white-space:nowrap;line-height:var(--lh-tight);}
.status.ok{background:var(--primary-a12);color:var(--success);}
.status.warn{background:rgba(184,131,58,.1);color:var(--warning);}
.status.bad{background:rgba(220,76,76,.08);color:var(--danger);}
.status.info{background:var(--primary-soft);color:var(--text-secondary);}

.app-toast-stack{position:fixed;right:20px;top:84px;z-index:1000001;display:grid;gap:8px;width:min(360px,calc(100vw - 32px));pointer-events:none;}
.app-toast{
    pointer-events:auto;background:var(--surface);border:1px solid var(--border);
    box-shadow:var(--shadow-lg);border-radius:var(--radius-md);padding:12px 12px 12px 14px;
    display:flex;gap:10px;align-items:flex-start;animation:toastIn .2s ease;position:relative;
}
.app-toast::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary);border-radius:3px 0 0 3px;}
.app-toast.success::before{background:var(--success);}
.app-toast.error::before{background:var(--danger);}
.app-toast.warning::before{background:var(--warning);}
.app-toast-icon{
    width:28px;height:28px;min-width:28px;border-radius:var(--radius-sm);
    display:inline-flex;align-items:center;justify-content:center;
    background:var(--primary-soft);color:var(--primary-dark);font-size:15px;
}
.app-toast.success .app-toast-icon{background:rgba(34,139,84,.12);color:var(--success);}
.app-toast.error .app-toast-icon{background:rgba(220,76,76,.1);color:var(--danger);}
.app-toast.warning .app-toast-icon{background:rgba(184,131,58,.12);color:var(--warning);}
.app-toast.info .app-toast-icon{background:var(--primary-soft);color:var(--primary-dark);}
.compact-confirm-icon{display:none !important;}
.theme-confirm-icon{display:none;}
.app-toast b{display:block;font-size:var(--fs-ui);color:var(--text);font-weight:var(--fw-medium);margin-bottom:2px;}
.app-toast span{display:block;font-size:var(--fs-caption);color:var(--muted);line-height:1.45;}
@keyframes toastIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}

.app-preloader-blocker{position:fixed;inset:0;z-index:999998;background:rgba(255,255,255,.5);display:none;cursor:wait;}
.app-preloader-blocker.show{display:block;}
.action-preloader{
    position:fixed;right:20px;bottom:20px;z-index:1000000;display:none;align-items:center;gap:10px;
    width:min(340px,calc(100vw - 32px));padding:12px 14px;border-radius:var(--radius-md);
    background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);
}
.action-preloader.show{display:flex;animation:toastIn .2s ease;}
.action-loader-ring{width:30px;height:30px;min-width:30px;position:relative;}
.action-loader-ring::before{
    content:"";width:22px;height:22px;border-radius:50%;
    border:2px solid var(--primary-a18);border-top-color:var(--primary);
    animation:spin .8s linear infinite;position:absolute;top:4px;left:4px;
}
.action-loader-ring i{display:none;}
.action-preloader b{display:block;font-size:var(--fs-ui);color:var(--text);font-weight:var(--fw-medium);margin-bottom:2px;}
.action-preloader span{font-size:var(--fs-caption);color:var(--muted);line-height:1.45;display:block;}
@keyframes spin{to{transform:rotate(360deg);}}

.compact-confirm-popup{
    width:380px !important;max-width:calc(100vw - 28px) !important;padding:0 !important;
    border-radius:var(--radius-lg) !important;background:var(--surface) !important;
    border:1px solid var(--border) !important;box-shadow:var(--shadow-lg) !important;
    overflow:hidden !important;font-family:"Roboto", Arial, sans-serif !important;
}
.compact-confirm-html{margin:0 !important;padding:0 !important;}
.compact-confirm-card{text-align:left;}
.compact-confirm-head{padding:16px;border-bottom:1px solid var(--border);}
.compact-confirm-title{margin:0;color:var(--text);font-size:var(--fs-modal-title);font-weight:var(--fw-semibold);line-height:1.3;}
.compact-confirm-sub{margin-top:2px;color:var(--muted);font-size:var(--fs-modal-sub);line-height:1.4;}
.compact-confirm-body{padding:14px 16px 4px;color:var(--text-secondary);font-size:var(--fs-ui);line-height:1.6;}
.compact-confirm-message{color:var(--text-secondary);}
.compact-confirm-note{
    margin-top:8px;padding:8px 10px;border-radius:var(--radius-sm);
    background:var(--primary-soft);color:var(--primary-dark);font-size:12px;
    display:flex;align-items:center;gap:6px;border:1px solid var(--primary-a18);
}
.compact-confirm-popup.is-danger .compact-confirm-note{
    background:rgba(220,76,76,.08);color:var(--danger);border-color:rgba(220,76,76,.18);
}

@media(max-width:768px){
    div:where(.swal2-container) .swal2-actions.compact-confirm-actions{grid-template-columns:1fr;}
}

/* Hide decorative icons — keep search, chevron, close */
.section-title > i,
.department-section-title > i,
.designation-section-title > i,
.branch-section-title > i,
.holiday-section-title > i,
.area-map-icon,
.stat-icon,
.card-title > i.bi,
.department-hero-badge i,
.btn-primary > i.bi,
.btn-light > i.bi,
.btn-danger > i.bi,
.btn-warning > i.bi{
    display:none !important;
}
.department-section-title,
.designation-section-title,
.branch-section-title,
.holiday-section-title{
    gap:0 !important;
}

@media(max-width:900px){.branch-pill{display:none;}.software-date-pill span{display:none;}.profile-info{display:none;}.profile-btn{min-width:unset;}}
@media(max-width:768px){
    :root{--header-height:58px;}
    .sidebar-toggle{display:flex;align-items:center;justify-content:center;}
    .sidebar{left:calc(var(--sidebar-width) * -1);}
    .sidebar.show{left:0;}
    .fixed-header{left:0;padding:0 14px 0 58px;}
    .header-title h1{font-size:var(--fs-body);}
    .header-title p{display:none;}
    .main{margin-left:0;}
    body.page-no-body-scroll .content-shell{
        height:calc(100vh - var(--header-height));
        padding:12px 16px;
    }
    .content-shell{padding:16px;}
    body.page-no-body-scroll .content-shell{padding:12px 16px;}
    .card-body{padding:16px;}
    .card-head{flex-direction:column;align-items:flex-start;}
    .profile-dropdown{width:min(300px,calc(100vw - 24px));right:0;}
}
