/* Finance Service Lab 9.6.0 — UI detail pass.
   This layer owns micro-layout, control ergonomics, language switching,
   interaction states and consistent component finish across every view. */
:root{
  --detail-canvas:#f6f7fa;
  --detail-panel:#ffffff;
  --detail-panel-soft:#fafbfc;
  --detail-ink:#171821;
  --detail-muted:#686b78;
  --detail-faint:#9296a3;
  --detail-line:#e2e5ec;
  --detail-line-strong:#d3d7e1;
  --detail-accent:#5b4dfc;
  --detail-accent-hover:#4d40eb;
  --detail-accent-soft:#efedff;
  --detail-focus:rgba(91,77,252,.20);
  --detail-danger:#c83f58;
  --detail-success:#15885a;
  --detail-warning:#a66b08;
  --detail-radius-xs:7px;
  --detail-radius-sm:10px;
  --detail-radius-md:14px;
  --detail-radius-lg:18px;
  --detail-control:42px;
  --detail-control-sm:34px;
  --detail-shadow-card:0 1px 2px rgba(23,24,33,.025),0 10px 28px rgba(23,24,33,.045);
  --detail-shadow-float:0 26px 80px rgba(17,19,32,.20);
  --detail-ease:cubic-bezier(.2,.72,.22,1);
}
html{scroll-behavior:smooth;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body{background:var(--detail-canvas);color:var(--detail-ink)}
::selection{background:rgba(91,77,252,.18)}
*{scrollbar-width:thin;scrollbar-color:#c6c9d2 transparent}
*::-webkit-scrollbar{width:9px;height:9px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:#c8cbd4;border:3px solid transparent;border-radius:999px;background-clip:padding-box}
*::-webkit-scrollbar-thumb:hover{background:#aeb2bd;border:2px solid transparent;background-clip:padding-box}

/* Accessible focus is consistent and never changes geometry. */
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:0!important;
  box-shadow:0 0 0 3px var(--detail-focus),0 0 0 1px var(--detail-accent)!important;
}
:where(button,a,input,select,textarea,summary){-webkit-tap-highlight-color:transparent}

/* Application shell */
.shell{background:var(--detail-canvas)}
.sidebar{
  border-right:1px solid rgba(255,255,255,.055);
  box-shadow:8px 0 30px rgba(13,14,23,.055);
}
.brand{min-height:56px}
.brand>div{line-height:1.15}
.brand strong{font-size:14px;letter-spacing:-.01em}
.brand small{font-size:11px;margin-top:3px}
.sidebar-scan-action{
  justify-content:flex-start;gap:10px;margin:0 2px 10px;
  border:1px solid rgba(160,149,255,.25)!important;
  background:linear-gradient(135deg,rgba(91,77,252,.20),rgba(133,114,255,.12))!important;
  color:#f5f3ff!important;
}
.sidebar-scan-action:hover{background:linear-gradient(135deg,rgba(91,77,252,.30),rgba(133,114,255,.18))!important}
.sidebar nav{padding:2px 0 10px;overflow:auto}
.sidebar nav button{
  display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;
  color:#aeb1bf;padding-inline:11px 12px;border:1px solid transparent;
  transition:background .16s var(--detail-ease),color .16s var(--detail-ease),border-color .16s var(--detail-ease),transform .16s var(--detail-ease);
}
.sidebar nav button::after{
  content:"";width:17px;height:17px;grid-column:1;grid-row:1;
  background:currentColor;opacity:.86;
  -webkit-mask:var(--nav-icon) center/17px 17px no-repeat;
  mask:var(--nav-icon) center/17px 17px no-repeat;
}
.sidebar nav button{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16v16H4z'/%3E%3C/svg%3E")}
.sidebar nav button[data-view="dashboard"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 3h8v8H3V3Zm10 0h8v5h-8V3ZM3 13h8v8H3v-8Zm10-3h8v11h-8V10Z'/%3E%3C/svg%3E")}
.sidebar nav button[data-view="transactions"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5h18v4H3V5Zm0 6h18v8H3v-8Zm3 2v2h5v-2H6Z'/%3E%3C/svg%3E")}
.sidebar nav button[data-view="analytics"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 19h16v2H2V3h2v16Zm3-2V9h3v8H7Zm5 0V5h3v12h-3Zm5 0v-6h3v6h-3Z'/%3E%3C/svg%3E")}
.sidebar nav button[data-view="budgets"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5h18v14H3V5Zm2 2v10h14V7H5Zm7 2a3 3 0 1 1 0 6 3 3 0 0 1 0-6Z'/%3E%3C/svg%3E")}
.sidebar nav button[data-view="planning"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 2 7l10 5 8-4v7h2V7L12 2Zm-6 9v6l6 3 6-3v-6l-6 3-6-3Z'/%3E%3C/svg%3E")}
.sidebar nav button[data-view="reports"],.sidebar nav button[data-view="system"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 2h10l4 4v16H5V2Zm2 2v16h10V8h-4V4H7Zm2 7h6v2H9v-2Zm0 4h6v2H9v-2Z'/%3E%3C/svg%3E")}
.sidebar nav button[data-view="calendar"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 2h2v2h10V2h2v2h3v18H2V4h3V2Zm15 8H4v10h16V10ZM4 6v2h16V6H4Z'/%3E%3C/svg%3E")}
.sidebar nav button[data-view="providers"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 3h16v18H4V3Zm3 3v3h3V6H7Zm0 5v3h3v-3H7Zm0 5v2h3v-2H7Zm5-10v3h5V6h-5Zm0 5v3h5v-3h-5Zm0 5v2h5v-2h-5Z'/%3E%3C/svg%3E")}
.sidebar nav button[data-view="debts"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm1 4v2.1c1.7.3 3 1.3 3 2.9h-2c0-.7-.7-1.2-2-1.2s-2 .4-2 1.1c0 .6.6.9 2.4 1.3 2.5.6 3.8 1.4 3.8 3.4 0 1.7-1.3 2.8-3.2 3.2V21h-2v-2.1c-2-.3-3.4-1.5-3.4-3.2h2c0 .9.9 1.4 2.4 1.4 1.4 0 2.2-.5 2.2-1.3 0-.7-.6-1-2.5-1.5-2.4-.5-3.6-1.4-3.6-3.2 0-1.6 1.2-2.7 2.9-3V6h2Z'/%3E%3C/svg%3E")}
.sidebar nav button[data-view="support"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 21s-8-4.4-8-11a4.5 4.5 0 0 1 8-2.8A4.5 4.5 0 0 1 20 10c0 6.6-8 11-8 11Z'/%3E%3C/svg%3E")}
.sidebar nav button[data-view="promotions"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m21 12-9 9-9-9V3h9l9 9ZM7.5 6A1.5 1.5 0 1 0 7.5 9 1.5 1.5 0 0 0 7.5 6Z'/%3E%3C/svg%3E")}
.sidebar nav button[data-view="shopping"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 4V2h2v2h6V2h2v2h4l-2 18H5L3 4h4Zm0 4v10h2V8H7Zm4 0v10h2V8h-2Zm4 0v10h2V8h-2Z'/%3E%3C/svg%3E")}
.sidebar nav button[data-view="ai"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 2h6v3h4v4h3v6h-3v4h-4v3H9v-3H5v-4H2V9h3V5h4V2Zm-2 5v10h10V7H7Zm2 2h2v2H9V9Zm4 0h2v2h-2V9Zm-4 5h6v2H9v-2Z'/%3E%3C/svg%3E")}
.sidebar nav button[data-view="rooms"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 10 12 3l9 7v11h-6v-7H9v7H3V10Z'/%3E%3C/svg%3E")}
.sidebar nav button:hover{transform:translateX(2px);background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.045)}
.sidebar nav button.active{color:#fff;background:linear-gradient(135deg,rgba(91,77,252,.34),rgba(91,77,252,.18));border-color:rgba(169,159,255,.24);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.sidebar nav button.active::before{left:-12px;top:10px;bottom:10px;width:3px}
.sidebar-foot{background:linear-gradient(180deg,transparent,rgba(0,0,0,.07));padding-bottom:2px}
.profile-trigger{border:1px solid transparent!important;border-radius:10px!important;transition:.16s var(--detail-ease)}
.profile-trigger:hover{background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.06)!important}

/* Top bar */
.workspace{background:var(--detail-canvas)}
.topbar{border-bottom:1px solid rgba(211,215,225,.85);box-shadow:0 1px 0 rgba(255,255,255,.75);backdrop-filter:blur(18px) saturate(1.2)}
.topbar-main{position:relative}
.topbar-title h1{font-size:25px;font-weight:720;letter-spacing:-.035em;color:var(--detail-ink)}
.topbar-title p{color:var(--detail-muted);font-size:13px}
.menu-btn,.notification-btn{display:grid;place-items:center;padding:0!important}
.notification-btn{transition:background .16s,border-color .16s,transform .16s}
.notification-btn:hover{background:var(--detail-accent-soft);border-color:#d1caff;transform:translateY(-1px)}
.scan-quick-action{gap:8px;border:1px solid #d2ccff!important;background:linear-gradient(180deg,#faf9ff,#f1efff)!important;color:#4d40e8!important;box-shadow:0 1px 2px rgba(91,77,252,.05)}
.scan-quick-action:hover{border-color:#b8afff!important;background:#efedff!important;transform:translateY(-1px)}
.ai-mode-badge{height:34px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border-radius:999px;background:#fff;border:1px solid var(--detail-line);font-size:12px;font-weight:700;color:var(--detail-muted);white-space:nowrap}
.ai-mode-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--detail-accent);box-shadow:0 0 0 3px var(--detail-accent-soft)}

/* Global language switch */
.analysis-toolbar>label:has(#languageSelect){display:none!important}
.analysis-toolbar{grid-template-columns:160px 154px 154px 130px minmax(220px,1fr)!important}
.ui-language-switch{height:34px;display:inline-grid;grid-template-columns:1fr 1fr;align-items:center;padding:3px;border:1px solid var(--detail-line);border-radius:999px;background:#eceef3;box-shadow:inset 0 1px 2px rgba(24,26,38,.04)}
.ui-language-switch button{min-width:42px;height:26px;min-height:26px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--detail-muted);font-size:11px;font-weight:800;letter-spacing:.045em;transition:background .16s,color .16s,box-shadow .16s}
.ui-language-switch button:hover{color:var(--detail-ink)}
.ui-language-switch button.is-active{background:#fff;color:var(--detail-accent);box-shadow:0 1px 4px rgba(20,22,34,.12)}
.ui-language-switch[data-context="login"]{height:38px}
.ui-language-switch[data-context="login"] button{height:30px;min-height:30px;min-width:54px}
.ui-native-language-select{position:absolute!important;inline-size:1px!important;block-size:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;clip-path:inset(50%)!important}

/* Filter bar */
.analysis-toolbar{border-top:1px solid rgba(226,229,236,.7)}
.analysis-toolbar>label,.source-picker-field{gap:3px!important}
.analysis-toolbar>label>span,.source-picker-field>span{font-size:10px!important;letter-spacing:.08em!important;font-weight:780!important;color:#777b89!important}
.analysis-toolbar input,.analysis-toolbar select,.source-picker>summary{
  border:1px solid var(--detail-line)!important;background:#fff!important;
  box-shadow:0 1px 1px rgba(24,26,38,.02);transition:border-color .15s,box-shadow .15s,background .15s;
}
.analysis-toolbar input:hover,.analysis-toolbar select:hover,.source-picker>summary:hover{border-color:var(--detail-line-strong)!important;background:#fcfcfd!important}
.source-picker{position:relative}
.source-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;cursor:pointer;user-select:none}
.source-picker>summary::-webkit-details-marker{display:none}
.source-picker>summary::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .18s var(--detail-ease);opacity:.55}
.source-picker[open]>summary{border-color:var(--detail-accent)!important;box-shadow:0 0 0 3px var(--detail-focus)!important}
.source-picker[open]>summary::after{transform:rotate(225deg) translate(-1px,-1px)}
.source-menu{
  position:absolute!important;z-index:300;right:0;top:calc(100% + 8px);width:min(340px,calc(100vw - 28px));
  padding:8px!important;border:1px solid var(--detail-line)!important;border-radius:14px!important;background:#fff!important;
  box-shadow:var(--detail-shadow-float)!important;display:grid!important;grid-template-columns:1fr 1fr;gap:4px!important;
  transform-origin:top right;animation:ui-pop .14s var(--detail-ease);
}
.source-menu label{min-height:36px;display:flex!important;align-items:center;gap:9px;padding:7px 8px;border-radius:8px;font-size:12px;color:var(--detail-ink);cursor:pointer}
.source-menu label:hover{background:var(--detail-panel-soft)}
#sourceCount{min-width:24px;height:24px;display:inline-grid;place-items:center;padding:0 6px;border-radius:999px;background:var(--detail-accent-soft);color:var(--detail-accent);font-size:11px}
@keyframes ui-pop{from{opacity:0;transform:translateY(-4px) scale(.985)}to{opacity:1;transform:none}}

/* Panels, cards and information hierarchy */
.view{animation:none!important}
.view.active{animation:ui-view-in .18s var(--detail-ease)!important}
@keyframes ui-view-in{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:none}}
.card,.metric,.metric-card,.decision-card,.page-task-bar,.provider-command-hero,.affordability-card{
  border-color:var(--detail-line)!important;box-shadow:var(--detail-shadow-card)!important;
}
.card{border-radius:var(--detail-radius-md)!important;padding:18px!important;overflow:visible!important}
.card-head{min-height:36px;margin-bottom:14px!important}
.card-head>div{min-width:0}
.card-head h2,.card h2{font-size:17px!important;line-height:23px!important;font-weight:720!important;letter-spacing:-.025em!important;color:var(--detail-ink)}
.card h3{font-size:14px!important;font-weight:720!important;letter-spacing:-.012em}
.card p,.hint{color:var(--detail-muted);line-height:1.5}
.section-rule{border:0;border-top:1px solid var(--detail-line);margin:18px 0}
.metric,.metric-card,.decision-card{position:relative;overflow:hidden;transition:transform .16s var(--detail-ease),box-shadow .16s,border-color .16s}
.metric-link:hover,.metric-button:hover,.metric-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(28,31,50,.09)!important;border-color:#cbc6ff!important}
.metric span,.metric-card span,.decision-card span{color:var(--detail-muted)!important;text-transform:none;letter-spacing:0}
.metric strong,.metric-card strong,.decision-card strong{font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.decision-hero{border-radius:20px!important;padding:22px 24px!important;box-shadow:0 18px 48px rgba(58,47,166,.21)!important}
.page-task-bar{padding:11px 12px!important;border-radius:12px!important;background:rgba(255,255,255,.82)!important}
.page-task-bar-copy strong{font-size:13px!important}
.page-task-bar-copy small{font-size:11px!important}

/* Buttons */
:where(.primary,.secondary,.ghost,.button-link,.menu-btn,.scan-quick-action,.sidebar-scan-action,.scanner-choice,.icon-btn,.mini-link,.link-btn){
  display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;
  transition:transform .14s var(--detail-ease),background .14s,border-color .14s,color .14s,box-shadow .14s,opacity .14s;
}
.primary,.secondary,.ghost,.button-link{height:var(--detail-control);min-height:var(--detail-control);border-radius:9px!important;padding:0 14px!important;font-size:12.5px!important;font-weight:730!important;line-height:1!important;white-space:nowrap}
.primary{background:linear-gradient(180deg,#6558ff,#5547f1)!important;color:#fff!important;border:1px solid #4e42df!important;box-shadow:0 3px 8px rgba(91,77,252,.18),inset 0 1px rgba(255,255,255,.17)!important}
.primary:hover{background:linear-gradient(180deg,#5d50f6,#4c3fe4)!important;box-shadow:0 6px 14px rgba(91,77,252,.25)!important;transform:translateY(-1px)}
.primary:active{transform:translateY(0);box-shadow:0 2px 5px rgba(91,77,252,.18)!important}
.secondary{background:#f0f1f5!important;color:var(--detail-ink)!important;border:1px solid #e3e5eb!important;box-shadow:inset 0 1px rgba(255,255,255,.8)}
.secondary:hover{background:#e8eaf0!important;border-color:#d8dbe4!important;transform:translateY(-1px)}
.ghost,.button-link.ghost{background:#fff!important;color:var(--detail-ink)!important;border:1px solid var(--detail-line)!important}
.ghost:hover{background:#f8f8fb!important;border-color:#d3d6df!important;transform:translateY(-1px)}
.compact,.button-link.compact{height:var(--detail-control-sm)!important;min-height:var(--detail-control-sm)!important;padding:0 11px!important;font-size:11.5px!important}
.link-btn,.mini-link{border:0!important;background:transparent!important;color:var(--detail-accent)!important;padding:5px 7px!important;border-radius:7px;text-decoration:none!important;font-size:12px!important;font-weight:720!important}
.link-btn:hover,.mini-link:hover{background:var(--detail-accent-soft)!important}
.icon-btn,.ui-task-close,.scanner-modal-close{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;border:1px solid var(--detail-line)!important;border-radius:9px!important;background:#fff!important;color:var(--detail-muted)!important;padding:0!important}
.icon-btn:hover,.ui-task-close:hover,.scanner-modal-close:hover{background:#f3f4f7!important;color:var(--detail-ink)!important;border-color:var(--detail-line-strong)!important}
button:disabled,.button-link[aria-disabled="true"],.disabled{opacity:.46!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}
.ui-button-busy{position:relative;color:transparent!important;pointer-events:none}
.ui-button-busy::after{content:"";position:absolute;width:15px;height:15px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:ui-spin .7s linear infinite;color:#fff}
@keyframes ui-spin{to{transform:rotate(360deg)}}

/* Forms and fields */
form{min-width:0}
.ui-field{display:grid;gap:5px;min-width:0;align-content:start}
.ui-field-caption,.ui-field>span:first-child{font-size:11px;line-height:14px;font-weight:720;color:var(--detail-muted);letter-spacing:.01em}
.ui-field-required::after{content:" *";color:var(--detail-danger)}
input,select,textarea{
  border:1px solid var(--detail-line)!important;border-radius:9px!important;background:#fff!important;color:var(--detail-ink)!important;
  box-shadow:inset 0 1px 1px rgba(17,19,29,.015);transition:border-color .14s,box-shadow .14s,background .14s;
}
input,select{height:var(--detail-control)!important;min-height:var(--detail-control)!important;padding:0 12px!important}
textarea{min-height:94px!important;padding:10px 12px!important;line-height:1.45!important}
input:hover,select:hover,textarea:hover{border-color:var(--detail-line-strong)!important}
input:focus,select:focus,textarea:focus{outline:0!important;border-color:var(--detail-accent)!important;box-shadow:0 0 0 3px var(--detail-focus)!important;background:#fff!important}
input::placeholder,textarea::placeholder{color:#9b9eaa;opacity:1}
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--detail-danger)!important;box-shadow:0 0 0 3px rgba(200,63,88,.12)!important}
select{
  appearance:none;background-image:linear-gradient(45deg,transparent 50%,#737684 50%),linear-gradient(135deg,#737684 50%,transparent 50%)!important;
  background-position:calc(100% - 17px) 18px,calc(100% - 12px) 18px!important;background-size:5px 5px,5px 5px!important;background-repeat:no-repeat!important;padding-right:34px!important;
}
select[multiple]{background-image:none!important;height:auto!important;padding:8px!important}
input[type="date"],input[type="month"]{font-variant-numeric:tabular-nums}
.inline-form,.stack-form,.goal-form{
  border:1px solid var(--detail-line)!important;border-radius:12px!important;background:var(--detail-panel-soft)!important;
  padding:14px!important;gap:11px!important;box-shadow:none!important;
}
.inline-form{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;align-items:end!important}
.inline-form>button,.inline-form>.primary,.inline-form>.secondary{align-self:end}
.form-pair{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
.form-triple{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.ui-task-body .stack-form,.ui-task-body .inline-form,.profile-dialog .stack-form{padding:0!important;border:0!important;background:transparent!important}
.ui-task-body form{gap:14px!important}
.ui-task-body .ui-field{gap:6px}

/* Custom compact checks and radios */
input[type="checkbox"],input[type="radio"]{
  appearance:none!important;-webkit-appearance:none!important;margin:0!important;padding:0!important;
  width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important;max-width:17px!important;max-height:17px!important;
  border:1px solid #b9bdc9!important;background:#fff!important;display:inline-grid!important;place-content:center!important;box-shadow:none!important;cursor:pointer;
}
input[type="checkbox"]{border-radius:5px!important}
input[type="radio"]{border-radius:50%!important}
input[type="checkbox"]::before{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(0);margin-top:-2px;transition:transform .12s var(--detail-ease)}
input[type="radio"]::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;transform:scale(0);transition:transform .12s var(--detail-ease)}
input[type="checkbox"]:checked,input[type="radio"]:checked{background:var(--detail-accent)!important;border-color:var(--detail-accent)!important}
input[type="checkbox"]:checked::before,input[type="radio"]:checked::before{transform:rotate(-45deg) scale(1)}
input[type="radio"]:checked::before{transform:scale(1)}
.check{display:flex!important;align-items:center!important;gap:9px!important;min-height:36px!important;padding:7px 9px!important;border:1px solid transparent;border-radius:9px!important;cursor:pointer}
.check:hover{background:#f3f4f7!important;border-color:#eaebf0}
.check span{font-size:12.5px;color:var(--detail-ink)}

/* File control, replacing native "Choose file" chrome. */
.ui-file-control{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:var(--detail-control);padding:5px;border:1px solid var(--detail-line);border-radius:10px;background:#fff;overflow:hidden}
.ui-file-control:hover{border-color:var(--detail-line-strong)}
.ui-file-control button{height:32px;min-height:32px;padding:0 11px;border:0;border-radius:7px;background:var(--detail-accent-soft);color:#4c40d3;font-size:11.5px;font-weight:760}
.ui-file-control button:hover{background:#e4e0ff}
.ui-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--detail-muted);font-size:12px;padding-right:6px}
.ui-native-file{position:absolute!important;inline-size:1px!important;block-size:1px!important;opacity:0!important;pointer-events:none!important}

/* Details, tabs, dropdowns */
details>summary{list-style:none}
details>summary::-webkit-details-marker{display:none}
.rules-panel>summary,.match-details>summary,.recovery-login>summary{
  min-height:38px;display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:9px;cursor:pointer;color:var(--detail-ink)!important;font-size:12px;font-weight:720!important;
}
.rules-panel>summary::before,.match-details>summary::before,.recovery-login>summary::before{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .16s}
details[open]>summary::before{transform:rotate(45deg) translate(-1px,-1px)}
.rules-panel>summary:hover,.match-details>summary:hover,.recovery-login>summary:hover{background:#f2f3f6}
.tabs,.live-report-tabs{display:flex!important;gap:3px!important;padding:3px!important;border-radius:10px!important;background:#eceef3!important;width:max-content;max-width:100%;overflow:auto}
.tabs button,.live-report-tabs button{height:32px!important;min-height:32px!important;padding:0 11px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--detail-muted)!important;font-size:11.5px!important;font-weight:720!important;white-space:nowrap}
.tabs button.active,.live-report-tabs button.active,[data-live-tab].active{background:#fff!important;color:var(--detail-accent)!important;box-shadow:0 1px 4px rgba(22,24,38,.11)!important}

/* Tables and lists */
.table-wrap{border:1px solid var(--detail-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important}
table{border-spacing:0}
th{position:sticky;top:0;background:#f7f8fa!important;color:#6c6f7d!important;font-size:10.5px!important;font-weight:780!important;letter-spacing:.055em;text-transform:uppercase;border-bottom:1px solid var(--detail-line)!important;white-space:nowrap}
td{border-bottom:1px solid #eef0f4!important;color:var(--detail-ink);vertical-align:middle}
tbody tr{transition:background .12s}
tbody tr:hover{background:#fafaff}
tbody tr:last-child td{border-bottom:0!important}
th,td{padding:10px 12px!important}
.list{gap:7px!important}
.list-row,.room-card,.provider-card{
  min-height:56px;padding:10px 12px!important;border:1px solid var(--detail-line)!important;border-radius:10px!important;background:#fff!important;
  transition:border-color .14s,background .14s,transform .14s var(--detail-ease);
}
.list-row:hover,.room-card:hover,.provider-card:hover{border-color:#d3cff7!important;background:#fdfcff!important;transform:translateY(-1px)}
.list-row .meta{min-width:0}
.list-row .meta strong{font-size:13px}
.list-row small{font-size:11.5px}
.status,.badge,.pill{min-height:22px;display:inline-flex;align-items:center;padding:0 8px!important;border-radius:999px!important;font-size:10.5px!important;font-weight:760!important;line-height:1!important}
.empty-state,.lab-empty{min-height:130px!important;border-color:#dfe2e9!important;background:linear-gradient(180deg,#fcfcfd,#f8f9fb)!important}
.empty-state::before,.lab-empty::before{content:"";width:32px;height:32px;margin:0 auto 4px;border-radius:10px;background:var(--detail-accent-soft);box-shadow:inset 0 0 0 1px #e0dcff}

/* Notification popover */
.notification-panel{top:46px!important;padding:14px!important;border-radius:14px!important;animation:ui-pop .14s var(--detail-ease)}
.notification-panel .card-head{padding:3px 0 10px!important;margin:0 0 8px!important}
.notification-item{border-color:var(--detail-line)!important;background:#fff!important;border-radius:10px!important}
.notification-item:hover{background:#fafaff!important}

/* Drawers and dialogs */
.ui-task-backdrop,.profile-backdrop{background:rgba(16,18,29,.42)!important;backdrop-filter:blur(6px)!important}
.ui-task-panel{width:min(620px,94vw)!important;padding:0!important;gap:0!important;grid-template-rows:auto 1fr!important}
.ui-task-head,.drawer-head{min-height:68px;padding:16px 18px!important;border-bottom:1px solid var(--detail-line)!important;background:#fff}
.ui-task-head h2,.drawer-head h2{font-size:19px!important;font-weight:740!important;letter-spacing:-.025em}
.ui-task-body{padding:18px!important;background:#fff}
.profile-dialog{width:min(600px,calc(100vw - 32px))!important;max-height:calc(100vh - 32px)!important;border:1px solid rgba(255,255,255,.5)!important;border-radius:18px!important;box-shadow:var(--detail-shadow-float)!important;overflow:auto!important}
.profile-modal:not(.hidden){display:grid!important;place-items:center!important;padding:16px!important}
.profile-email-row{border:1px solid var(--detail-line)!important;border-radius:10px!important;padding:10px 12px!important;background:#fff!important}

/* Scanner workspace */
.scanner-modal-shell{background:rgba(16,18,29,.46)!important;backdrop-filter:blur(7px)!important}
.scanner-modal-shell .receipt-scanner-card{border-radius:18px!important;border:1px solid rgba(255,255,255,.55)!important;box-shadow:var(--detail-shadow-float)!important;padding:20px!important}
.scanner-choice-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.scanner-choice{
  min-height:92px!important;display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;grid-template-rows:auto auto!important;
  align-content:center!important;text-align:left!important;column-gap:10px!important;padding:12px!important;border:1px solid var(--detail-line)!important;background:#fff!important;
}
.scanner-choice:hover{border-color:#c7c0ff!important;background:#faf9ff!important;transform:translateY(-1px)}
.scanner-choice .scanner-icon,.scanner-choice>span:first-child{grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--detail-accent-soft);color:var(--detail-accent)}
.selected-file-strip{border:1px solid var(--detail-line)!important;background:#f8f9fb!important;color:var(--detail-muted)!important}
.scan-preview{background:linear-gradient(180deg,#fcfcfd,#f8f9fb)!important;border:1px dashed #d9dce5!important}

/* Calendar */
.calendar-shell{gap:10px!important}
.calendar-toolbar{padding:2px 0 6px}
.calendar-month-label{font-size:16px!important;font-weight:740!important;letter-spacing:-.02em;text-transform:capitalize}
.calendar-weekdays span{font-size:10px!important;color:#858997!important}
.calendar-cell{border-color:var(--detail-line)!important;border-radius:9px!important;background:#fff!important;transition:border-color .13s,box-shadow .13s,transform .13s}
.calendar-cell:hover{border-color:#c5bfff!important;box-shadow:0 5px 16px rgba(42,38,96,.08)!important;transform:translateY(-1px)}
.calendar-cell.is-outside{background:#f7f8fa!important;opacity:.55!important}
.calendar-cell.is-today{box-shadow:inset 0 0 0 1px var(--detail-accent)!important;background:#fbfaff!important}
.calendar-date{width:24px;height:24px;display:grid;place-items:center;border-radius:7px}
.calendar-cell.is-today .calendar-date{background:var(--detail-accent);color:#fff}
.calendar-event-pill{border-radius:5px!important;padding:3px 6px!important}

/* Report downloads and provider centre */
.report-download-grid{gap:10px!important}
.report-download-grid .button-link{min-height:54px!important;height:auto!important;justify-content:flex-start!important;text-align:left!important;padding:9px 12px!important;white-space:normal!important;line-height:1.25!important;background:#fff!important;border:1px solid var(--detail-line)!important}
.report-download-grid .button-link:hover{background:#faf9ff!important;border-color:#c9c3ff!important;transform:translateY(-1px)}
.provider-summary-card,.provider-card{border-radius:12px!important}
.provider-logo{border-radius:10px!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.045)}
.provider-monitor-grid{gap:16px!important}

/* Login and public-facing polish */
.login-screen{background:radial-gradient(circle at 18% 18%,#4b43ba 0,#22203d 38%,#0e0f18 100%)!important}
.login-card{border:1px solid rgba(255,255,255,.7);border-radius:24px!important;box-shadow:0 36px 100px rgba(7,8,16,.42)!important;padding:34px!important;gap:15px!important}
.login-card h1{font-size:31px;line-height:1.1;letter-spacing:-.045em}
.login-card>p{font-size:14px;line-height:1.5}
.login-foot{align-items:center!important}
.login-foot>small{font-variant-numeric:tabular-nums;color:var(--detail-muted)}
.recovery-login{border-top:1px solid var(--detail-line);padding-top:8px}
.recovery-login-fields{display:grid;gap:10px;padding-top:8px}
.public-card{border:1px solid var(--detail-line);box-shadow:var(--detail-shadow-float)!important}

/* Tooltips generated from aria-label/title. */
[data-ui-tooltip]{position:relative}
[data-ui-tooltip]::after{
  content:attr(data-ui-tooltip);position:absolute;z-index:1800;left:50%;bottom:calc(100% + 8px);transform:translate(-50%,4px);
  max-width:260px;padding:6px 8px;border-radius:7px;background:#171821;color:#fff;font-size:10.5px;font-weight:600;line-height:1.35;
  opacity:0;pointer-events:none;white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.18);transition:opacity .13s,transform .13s;
}
[data-ui-tooltip]:hover::after,[data-ui-tooltip]:focus-visible::after{opacity:1;transform:translate(-50%,0)}

/* Compact responsive contract */
@media(max-width:1180px){
  .analysis-toolbar{grid-template-columns:150px 144px 144px 122px minmax(210px,1fr)!important}
  .ui-language-switch{margin-left:auto}
  .scanner-choice-grid{grid-template-columns:1fr!important}
}
@media(max-width:900px){
  .topbar-main{grid-template-columns:auto minmax(0,1fr) auto auto!important}
  .ui-language-switch{grid-column:auto}
  .analysis-toolbar{display:flex!important;overflow-x:auto!important;gap:8px!important;padding-bottom:9px!important}
  .analysis-toolbar>label,.source-picker-field{flex:0 0 145px!important}
  .source-picker-field{flex-basis:210px!important}
  .card{padding:15px!important}
  .ui-task-panel{width:min(560px,96vw)!important}
}
@media(max-width:640px){
  .ui-language-switch{position:absolute;right:92px;top:15px}
  .scan-quick-action span:last-child{display:none}
  .scan-quick-action{width:40px!important;padding:0!important}
  .ai-mode-badge{display:none!important}
  .topbar-title h1{max-width:calc(100vw - 188px)}
  .page-task-actions{grid-template-columns:1fr!important}
  .metric-grid{gap:8px!important}
  .scanner-modal-shell .receipt-scanner-card{padding:14px!important}
  .form-pair,.form-triple{grid-template-columns:1fr!important}
  .source-menu{grid-template-columns:1fr}
  [data-ui-tooltip]::after{display:none}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}
@media(prefers-color-scheme:dark){
  :root{
    --detail-canvas:#101116;--detail-panel:#18191f;--detail-panel-soft:#1c1d24;--detail-ink:#f1f2f6;--detail-muted:#9a9eaa;--detail-faint:#767a87;
    --detail-line:#2c2e37;--detail-line-strong:#3a3d48;--detail-accent-soft:#29264e;--detail-focus:rgba(124,111,255,.24);
  }
  .analysis-toolbar input,.analysis-toolbar select,.source-picker>summary,.source-menu,.card,.ui-task-panel,.ui-task-head,.drawer-head,.ui-task-body,.ui-file-control,.ghost,.button-link.ghost,.icon-btn,.ui-task-close,.scanner-modal-close,.list-row,.room-card,.provider-card,.report-download-grid .button-link{background:var(--panel)!important}
  .source-menu label:hover,.secondary,.check:hover,.rules-panel>summary:hover,.match-details>summary:hover,.recovery-login>summary:hover{background:var(--soft)!important}
  .ui-language-switch{background:#24262e}
  .ui-language-switch button.is-active{background:#343642;color:#aaa2ff}
  .empty-state,.lab-empty,.scan-preview{background:var(--panel-alt)!important}
  input,select,textarea{background:var(--panel)!important;color:var(--ink)!important}
  th{background:var(--panel-alt)!important}
  tbody tr:hover{background:#1d1e27}
}

/* Detail-pass corrections verified against the rendered desktop shell. */
.topbar-main{display:flex!important;grid-template-columns:none!important}
.topbar-title{flex:1 1 auto!important}
.ui-language-switch[data-context="app"]{flex:0 0 92px;width:92px}
.receipt-scan-form .scanner-choice-grid{grid-template-columns:1fr!important}
.receipt-scan-form .scanner-choice{min-height:68px!important;grid-template-columns:38px minmax(0,1fr)!important;grid-template-rows:auto!important}
.receipt-scan-form .scanner-choice>span:last-child{display:grid;gap:2px;min-width:0}
.receipt-scan-form .scanner-choice strong{font-size:12.5px;line-height:1.25}
.receipt-scan-form .scanner-choice small{font-size:11px;line-height:1.35;color:var(--detail-muted)}
@media(max-width:640px){.topbar-main{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto auto!important}.ui-language-switch[data-context="app"]{position:static;grid-column:auto;width:82px;flex-basis:82px}.notification-wrap{grid-column:auto}}
