:root{--brand-black:#000;--brand-red:#d1111b}
.navbar-brand .brand-img{height:32px;width:32px;object-fit:contain}
.navbar-brand .brand-logo{width:32px;height:32px;border-radius:50%;display:inline-block;background:radial-gradient(circle at 30% 30%, var(--brand-red), var(--brand-black));}
.bg-logo{display:inline-block;background-image:url('logo.png');background-size:contain;background-position:center;background-repeat:no-repeat}
.btn-danger{background-color:var(--brand-red);border-color:var(--brand-red)}
.card-header.bg-dark{background-color:#111!important}
body{background:
  linear-gradient(180deg,rgba(255,255,255,.9),rgba(247,247,247,.9)),
  url('app-bg.jpg') center/cover fixed no-repeat;
}
.app-layout{display:flex;min-height:calc(100vh - 56px)}
.sidebar{width:220px;padding:12px;color:#fff}
.sidebar{overflow-y:auto}
.sidebar.collapsed{width:0;padding:0;overflow:hidden}
.sidebar .sidebar-section{margin-top:12px;margin-bottom:6px;font-size:.85rem;color:#bbb;text-transform:uppercase}
.sidebar-sublist.collapsed{display:none}
.sidebar-link{display:block;padding:8px 10px;color:#ddd;text-decoration:none;border-radius:6px}
.icon-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0}
.icon-btn .icon{font-size:16px;line-height:1}

/* Responsive layout */
@media (max-width: 992px){
  .app-layout{min-height:calc(100vh - 56px)}
  .sidebar{position:fixed;top:56px;left:0;height:calc(100vh - 56px);z-index:1040;background:#0f0f0f;box-shadow:0 10px 25px rgba(0,0,0,.3);transform:translateX(-240px);transition:transform .2s ease}
  .sidebar.collapsed{transform:translateX(-240px)}
  .sidebar:not(.collapsed){transform:translateX(0)}
  .content-area{padding:12px}
}

.sidebar-overlay{display:none}
@media (max-width: 992px){
  .sidebar-overlay{position:fixed;top:56px;left:0;right:0;bottom:0;background:rgba(0,0,0,.35);z-index:1030}
  .sidebar:not(.collapsed) + .sidebar-overlay{display:block}
}

/* Tables: horizontal scroll on small screens */
@media (max-width: 768px){
  .card table, .content-area table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
.sidebar-link:hover{background:#1a1a1a;color:#fff}
.sidebar-link.active{background:var(--brand-red);color:#fff}
.content-area{flex:1;padding:16px}

/* --- Glassmorphism Login Styles --- */
.login-hero {
  min-height: calc(100vh - 56px);
  background: linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.35)), url('login-bg.jpg') center/cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.glass-card {
  width: 380px;
  max-width: 90vw;
  padding: 40px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 20px;
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
  color: #fff;
}
.glass-card h2 {
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.glass-card .form-label {
  font-size: 0.9rem;
  margin-bottom: 0.4rem;
  font-weight: 500;
  color: rgba(255,255,255,0.9);
}
.glass-card .form-control {
  background: rgba(255, 255, 255, 0.9);
  border: none;
  border-radius: 8px;
  padding: 10px 15px;
  height: auto;
  font-size: 0.95rem;
  color: #333;
}
.glass-card .form-control:focus {
  box-shadow: 0 0 0 4px rgba(255,255,255,0.2);
  background: #fff;
}
.glass-card .btn-signin {
  background: #0f172a;
  color: white;
  border: none;
  padding: 12px;
  border-radius: 8px;
  font-weight: 600;
  letter-spacing: 0.5px;
  transition: all 0.2s;
}
.glass-card .btn-signin:hover {
  background: #000;
  transform: translateY(-1px);
}
.glass-card a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  transition: color 0.2s;
}
.glass-card a:hover {
  color: #fff;
}
.glass-card .form-check-input {
  background-color: rgba(255,255,255,0.8);
  border: none;
}
.glass-card .form-check-input:checked {
  background-color: #0f172a;
  border-color: #0f172a;
}

/* Application interface system */
:root{--brand-black:#101828;--brand-red:#c91624;--brand-red-dark:#a40f1a;--ink:#17202f;--muted:#667085;--surface:#fff;--canvas:#f4f6f8;--line:#e4e7ec;--success:#15803d;--shadow:0 8px 24px rgba(16,24,40,.07)}
body{background:var(--canvas);color:var(--ink);font-size:.94rem}
.navbar{min-height:64px;background:linear-gradient(110deg,var(--theme-sidebar-dark,#0b1220),var(--theme-sidebar,#1d2939))!important;box-shadow:0 2px 12px rgba(16,24,40,.16);position:sticky;top:0;z-index:1050}
.navbar-brand{font-weight:700;letter-spacing:-.02em}
.sidebar{width:264px;padding:14px 12px 12px;background:var(--theme-sidebar,#101828)!important;transition:width .22s ease,padding .22s ease;border-right:1px solid rgba(255,255,255,.06);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}
.sidebar::-webkit-scrollbar{width:5px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:999px}.sidebar>ul{padding:2px 0 12px!important}
.sidebar .sidebar-section{min-height:24px;margin:15px 9px 6px;display:flex;align-items:center;gap:8px;font-size:.65rem;line-height:1;font-weight:750;letter-spacing:.095em;color:var(--theme-sidebar-text,#fff);opacity:.6;text-transform:uppercase}.sidebar .sidebar-section.mt-3{margin-top:15px!important}.sidebar .sidebar-section>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-sublist{list-style:none;margin:0 0 3px 11px;padding:2px 0 2px 7px;border-left:1px solid rgba(255,255,255,.09)}.sidebar-sublist .sidebar-link{font-size:.82rem;padding-left:9px}
.sidebar-sublist:not(.collapsed){animation:sidebarReveal .16s ease-out}@keyframes sidebarReveal{from{opacity:.25;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
.sidebar-section-toggle{width:23px;height:23px;margin-left:auto;display:grid;place-items:center;flex:none;border:0;background:rgba(255,255,255,.04);color:inherit;padding:0;line-height:1;border-radius:6px;transition:background .15s ease,color .15s ease}.sidebar-section-toggle i{font-size:.68rem}.sidebar-section-toggle:hover{background:rgba(255,255,255,.13);color:var(--theme-sidebar-text,#fff)}
.sidebar-link{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;column-gap:10px;min-height:38px;padding:8px 10px;color:var(--theme-sidebar-text,#fff);text-decoration:none;border-radius:8px;margin:2px 0;font-size:.86rem;line-height:1.25;font-weight:500;opacity:.8;transition:background .15s ease,color .15s ease,opacity .15s ease,transform .15s ease}
.sidebar-link>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.sidebar-link i{width:20px;text-align:center;font-size:.96rem;line-height:1;color:inherit}
.sidebar-link:hover{background:var(--theme-sidebar-soft,#1d2939);color:var(--theme-sidebar-text,#fff)}
.sidebar-link:hover i,.sidebar-link.active i{color:inherit}
.sidebar-link:hover,.sidebar-link.active{opacity:1}.sidebar-link:hover{transform:translateX(2px)}.sidebar-link.active{background:linear-gradient(110deg,var(--brand-red),var(--theme-primary-soft));color:var(--theme-primary-text,#fff);box-shadow:0 5px 14px rgba(16,24,40,.2)}
.sidebar-user-card{display:flex;align-items:center;gap:9px;padding:9px 10px;margin-top:auto;border:1px solid rgba(127,127,127,.18);background:rgba(127,127,127,.08);border-radius:10px;text-decoration:none;box-shadow:0 -8px 20px rgba(0,0,0,.04)}.sidebar-user-card:hover,.sidebar-user-card.active{background:rgba(127,127,127,.15);border-color:rgba(127,127,127,.3)}
.sidebar-avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--brand-red);color:var(--theme-primary-text,#fff);font-size:.72rem;font-weight:800;flex:none}
.sidebar-user-copy{display:flex;flex-direction:column;min-width:0;flex:1}.sidebar-user-copy strong{font-size:.78rem;color:var(--theme-sidebar-text,#fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-copy small{font-size:.67rem;color:var(--theme-sidebar-text,#fff);opacity:.62}
.sidebar-user-action{color:var(--theme-sidebar-text,#fff);opacity:.62;padding:6px;border-radius:7px}.sidebar-user-action:hover{color:var(--theme-sidebar-text,#fff);opacity:1;background:rgba(127,127,127,.12)}
.account-menu-trigger{display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#fff;border-radius:10px;padding:5px 8px 5px 6px}.account-menu-trigger:hover,.account-menu-trigger[aria-expanded=true]{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25)}
.topbar-avatar{width:32px;height:32px;border-radius:9px;background:var(--brand-red);color:var(--theme-primary-text,#fff);display:grid;place-items:center;font-size:.7rem;font-weight:800}.account-menu-name{flex-direction:column;align-items:flex-start;line-height:1.1}.account-menu-name strong{font-size:.76rem;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-menu-name small{font-size:.64rem;opacity:.65;margin-top:3px}
.account-dropdown{width:230px;padding:7px;border:1px solid var(--line);border-radius:11px;box-shadow:0 14px 35px rgba(16,24,40,.16)}.account-dropdown-heading{display:flex;flex-direction:column;padding:7px 9px 10px}.account-dropdown-heading strong{font-size:.82rem}.account-dropdown-heading small{font-size:.7rem;color:var(--muted)}.account-dropdown .dropdown-item{display:flex;align-items:center;gap:9px;border-radius:7px;padding:8px 9px;font-size:.82rem}.account-dropdown .dropdown-item i{width:17px;text-align:center}
.profile-identity{display:flex;align-items:center;gap:12px;padding:12px;background:var(--canvas);border:1px solid var(--line);border-radius:10px;margin-bottom:20px}.profile-avatar{width:46px;height:46px;border-radius:12px;background:var(--brand-red);color:var(--theme-primary-text,#fff);display:grid;place-items:center;font-weight:800}.profile-identity>div{display:flex;flex-direction:column}.profile-identity strong{font-size:.95rem}.profile-identity small{font-size:.74rem;color:var(--muted)}.section-heading{font-size:.9rem;font-weight:700;color:#344054;margin-bottom:14px}
.content-area{flex:1;padding:24px;min-width:0}
.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}
.page-heading h1{font-size:1.55rem;font-weight:750;letter-spacing:-.025em;margin:0}
.page-heading .page-meta{font-size:.78rem;color:var(--muted);white-space:nowrap}
.card{border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}
.card-header{border-bottom:1px solid var(--line);font-weight:650;padding:.85rem 1rem}
.card-header.bg-dark{background:var(--theme-sidebar,#182230)!important;color:var(--theme-sidebar-text,#fff)!important}
.form-control,.form-select{border-color:#d0d5dd;border-radius:8px;min-height:40px}
.form-control:focus,.form-select:focus{border-color:var(--brand-red);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--brand-red) 14%,transparent)}
.btn{border-radius:8px;font-weight:600}
.btn-danger{background:var(--brand-red);border-color:var(--brand-red);color:var(--theme-primary-text,#fff)}
.btn-primary{background:var(--brand-red);border-color:var(--brand-red);color:var(--theme-primary-text,#fff)}.btn-primary:hover{background:var(--brand-red-dark);border-color:var(--brand-red-dark)}
.btn-danger:hover{background:var(--brand-red-dark);border-color:var(--brand-red-dark)}
.table{--bs-table-striped-bg:#f8fafc;margin-bottom:0}
.table thead th{background:#f2f4f7;color:#475467;font-size:.76rem;text-transform:uppercase;letter-spacing:.035em;border-bottom:1px solid var(--line);white-space:nowrap;position:sticky;top:0;z-index:2}
.table td{vertical-align:middle;border-color:#eef0f3}
.table td:not(:first-child),.money{text-align:right;font-variant-numeric:tabular-nums}
.table th:not(:first-child){text-align:right}
.table th a{color:inherit;text-decoration:none}
.report-filter{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:var(--shadow)}
.date-presets{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.date-presets .btn{font-size:.76rem;padding:.3rem .55rem}
.report-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.metric-card{position:relative;min-height:132px}
.metric-card .card-body{padding:1rem 1.1rem}
.metric-label{font-size:.76rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.045em}
.metric-value{font-size:1.55rem;font-weight:750;letter-spacing:-.025em;margin:.35rem 0 .2rem;font-variant-numeric:tabular-nums}
.metric-note{font-size:.78rem;color:var(--muted)}
.metric-icon{position:absolute;right:14px;top:14px;width:36px;height:36px;border-radius:10px;background:#fef2f2;background:color-mix(in srgb,var(--brand-red) 10%,white);color:var(--brand-red);display:flex;align-items:center;justify-content:center;font-size:1.05rem}
.health-strip{display:flex;gap:8px;flex-wrap:wrap}
.health-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.78rem;font-weight:600}
.health-pill .dot{width:8px;height:8px;border-radius:50%;background:var(--success)}
.health-pill.warning .dot{background:#f59e0b}
.workflow-stepper{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:18px}
.workflow-step{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.78rem;font-weight:650}
.workflow-step .step-no{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#eef2f6;color:#475467;flex:none}
.workflow-step.active{border-color:var(--brand-red);background:color-mix(in srgb,var(--brand-red) 6%,white);color:var(--brand-red)}
.workflow-step.complete{border-color:#bbf7d0;background:#f0fdf4;color:#166534}
.workflow-step.complete .step-no{background:#16a34a;color:#fff}
.action-panel{border-left:4px solid var(--brand-red)}
.status-badge{display:inline-flex;align-items:center;padding:.3rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700}
.status-paid,.status-reconciled{background:#dcfce7;color:#166534}.status-scheduled,.status-generated{background:#dbeafe;color:#1d4ed8}.status-draft{background:#f2f4f7;color:#475467}.status-reversed{background:#fee2e2;color:#991b1b}
.quick-actions{display:flex;gap:8px;flex-wrap:wrap}
.quick-actions .btn i{margin-right:5px}
.empty-state{text-align:center;padding:32px;color:var(--muted)}
.empty-state i{display:block;font-size:2rem;margin-bottom:8px;color:#98a2b3}
.theme-preset{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 10px;font-size:.76rem;font-weight:650;color:#344054}.theme-preset:hover{border-color:var(--brand-red);color:var(--brand-red)}.theme-preset span{width:13px;height:13px;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 2px #fff,0 0 0 3px #d0d5dd}
.color-control{display:flex;align-items:center;gap:10px;border:1px solid #d0d5dd;border-radius:9px;padding:7px 10px;background:#fff}.color-control input[type=color]{width:42px;height:32px;padding:0;border:0;background:transparent;cursor:pointer}.color-control code{color:#475467;font-size:.78rem}
.theme-preview-shell{height:235px;border:1px solid var(--line);border-radius:13px;overflow:hidden;display:flex;background:var(--canvas);box-shadow:var(--shadow)}
.theme-preview-sidebar{width:92px;background:var(--theme-sidebar);padding:15px 10px;display:flex;flex-direction:column;gap:12px}.theme-preview-logo{width:27px;height:27px;border-radius:8px;background:linear-gradient(135deg,var(--brand-red),var(--theme-accent));margin-bottom:8px}.theme-preview-line{height:9px;border-radius:4px;background:rgba(255,255,255,.24);width:100%}.theme-preview-line.short{width:68%}.theme-preview-line.active{height:23px;background:var(--brand-red)}
.theme-preview-content{padding:17px;flex:1}.theme-preview-top{height:13px;width:70%;border-radius:5px;background:#cbd5e1;margin-bottom:24px}.theme-preview-card{display:block;flex:1;height:72px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 4px 10px rgba(16,24,40,.05)}
.pagination{--bs-pagination-active-bg:var(--brand-red);--bs-pagination-active-border-color:var(--brand-red)}
.form-check-input:checked{background-color:var(--brand-red);border-color:var(--brand-red)}
.btn-outline-danger{--bs-btn-color:var(--brand-red);--bs-btn-border-color:var(--brand-red);--bs-btn-hover-bg:var(--brand-red);--bs-btn-hover-border-color:var(--brand-red)}
@media (min-width:993px){
  .sidebar.collapsed{width:72px;padding:14px 8px;overflow-y:auto}
  .sidebar.collapsed .sidebar-section,.sidebar.collapsed .sidebar-sublist,.sidebar.collapsed .sidebar-user-copy,.sidebar.collapsed .sidebar-user-action{display:none!important}
  .sidebar.collapsed .sidebar-link{display:flex;justify-content:center;font-size:0;padding:10px;margin:4px 0;transform:none}
  .sidebar.collapsed .sidebar-link i{font-size:1.08rem;width:auto}
  .sidebar.collapsed .sidebar-user-card{justify-content:center;padding-left:0;padding-right:0}
}
@media (max-width:768px){.content-area{padding:14px}.page-heading{align-items:flex-start;flex-direction:column;gap:4px}.workflow-stepper{grid-template-columns:1fr 1fr}.workflow-step:last-child{grid-column:1/-1}.metric-value{font-size:1.3rem}}
@media (max-width:640px){.navbar-brand>span:last-child{display:none}.navbar .dropdown.me-3{margin-right:.5rem!important}.account-menu-trigger{padding-right:6px}.content-area{padding-top:16px}}

/* Customer feedback experience */
.feedback-public-card{width:min(680px,calc(100% - 24px));border:0}.feedback-public-icon{width:54px;height:54px;border-radius:16px;display:inline-grid;place-items:center;background:color-mix(in srgb,var(--brand-red) 10%,white);color:var(--brand-red);font-size:1.45rem}.feedback-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.feedback-rating .btn{min-height:42px;display:flex;align-items:center;justify-content:center;gap:3px}.feedback-link-card{border-left:4px solid var(--brand-red)}.feedback-link-icon{width:44px;height:44px;flex:none;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand-red) 10%,white);color:var(--brand-red);font-size:1.25rem}.min-width-0{min-width:0}.feedback-table th,.feedback-table td{text-align:left!important}.feedback-message-cell{min-width:240px;max-width:390px;white-space:normal}.feedback-manage{min-width:190px}.feedback-manage summary{cursor:pointer;color:var(--brand-red);font-size:.78rem;font-weight:700;list-style:none}.feedback-manage summary::-webkit-details-marker{display:none}.feedback-manage summary:after{content:' +';}.feedback-manage[open] summary:after{content:' −'}.feedback-status-new{background:#dbeafe;color:#1d4ed8}.feedback-status-reviewed{background:#fef3c7;color:#92400e}.feedback-status-resolved{background:#dcfce7;color:#166534}.feedback-status-archived{background:#f2f4f7;color:#475467}
@media(max-width:768px){.feedback-public-card .card-body{padding:1.25rem!important}.feedback-table{min-width:980px}}
