:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#13243a;background:#f4f7fb}*{box-sizing:border-box}body{margin:0}a{color:#145c97;text-decoration:none}.top{background:#fff;border-bottom:1px solid #e0e8f1;padding:18px max(20px,calc((100vw - 1160px)/2));display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.25rem;font-weight:800;color:#14283e}.user{display:flex;align-items:center;gap:18px}main{max-width:1160px;padding:36px 20px;margin:0 auto}.eyebrow{color:#537291;letter-spacing:.15em;font-size:.75rem;font-weight:800}h1{font-size:2.1rem;letter-spacing:-.04em;margin:.2rem 0}h2{font-size:1.15rem;margin:0 0 16px}.subheading{margin-top:28px}.muted{color:#667992}.heading{margin-bottom:26px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.card{background:#fff;border:1px solid #e3eaf3;border-radius:16px;padding:24px;box-shadow:0 5px 16px rgba(25,55,95,.035)}.stat{display:flex;flex-direction:column;gap:13px}.stat small{color:#64768b}.stat strong{font-size:1.55rem;letter-spacing:-.035em}.columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.item{border-top:1px solid #e8edf4;padding:15px 0;display:flex;justify-content:space-between;gap:12px;align-items:center}.item:first-of-type{border-top:0}.item p{margin:4px 0 0}.warning{background:#fff4e8;border-left:3px solid #d98822;padding:14px;margin:12px 0;border-radius:7px}.warning p{margin:6px 0 0;color:#72532e}.message{background:#f0f4f8;margin:14px 0;padding:14px;border-radius:12px;white-space:normal}.message.sent{background:#e6f1fa;margin-left:35px}.message small{color:#54718b}.message p{line-height:1.5}.back{display:inline-block;margin-bottom:20px}.login{max-width:420px;margin:8vh auto}.login form{display:flex;flex-direction:column;gap:12px}.login input{padding:13px;border:1px solid #bfcedc;border-radius:8px;font:inherit}.login label{font-weight:650}.primary{background:#17689e;color:#fff;border:0;border-radius:8px;padding:13px;font:inherit;font-weight:700;cursor:pointer}.ghost{background:none;border:0;color:#17689e;cursor:pointer;font:inherit}.alert{background:#ffe6e6;padding:12px;border-radius:8px}@media(max-width:800px){.stats{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:1fr}}@media(max-width:450px){.stats{grid-template-columns:1fr 1fr}.stat strong{font-size:1.25rem}.card{padding:17px}main{padding:22px 12px}}

.notice{background:#e5f4eb;border:1px solid #a9dbc0;padding:12px 16px;border-radius:10px;margin:0 0 18px}
.tabs{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
.tabs a{padding:9px 14px;background:#fff;border:1px solid #dce7f0;border-radius:10px}
.tabs a.current{background:#17689e;color:#fff}
.field{display:flex;flex-direction:column;gap:7px;margin:0 0 18px}
.field label{font-weight:650}
.field select{padding:11px;border-radius:8px;border:1px solid #bfcddc;background:#fff}
.email-body{background:#f5f7fa;border-radius:10px;padding:16px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}
.inbox-preview{color:#65758a;overflow-wrap:anywhere;font-size:.92rem}

/* 2026 refresh: light blue professional finance portal */
:root{--blue:#2753a5;--deep:#173d82;--pale:#eaf1ff;--line:#dce5f6;--ink:#142440;--muted:#62769b}
body{background:#edf3ff;color:var(--ink);min-height:100vh}
a{color:var(--blue)}
.top{padding:0 20px;background:#fff;border-bottom:1px solid #d9e4f5;box-shadow:0 2px 8px rgba(24,59,120,.04)}
.top-inner{max-width:1240px;width:100%;margin:0 auto;display:flex;align-items:center;gap:28px;min-height:76px}
.logo{white-space:nowrap;color:#18396d;font-size:1.24rem}.brand-symbol{color:#4678df;font-weight:900;font-size:1.1em}
.main-nav{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-left:auto}
.main-nav a{padding:10px 13px;border-radius:10px;font-size:.94rem;font-weight:650}
.main-nav a:hover{background:#eaf1ff}
.top .user{gap:12px;white-space:nowrap}
.user-name{font-size:.92rem;font-weight:700;color:#3e5480}
.top .ghost{padding:9px 12px;border:1px solid #cfdef8;border-radius:10px}
main{max-width:1240px;padding:36px 20px 52px}
h1{font-size:clamp(1.7rem,3vw,2.5rem);color:#162d58}
h2{font-size:1.17rem;color:#183b76}
h3{font-size:.98rem;color:#224b97;margin:25px 0 12px}
.muted{color:var(--muted);line-height:1.5}
.heading-row{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.eyebrow{color:#4273c7;letter-spacing:.12em}
.card{border-radius:18px;border:1px solid #e2eafd;box-shadow:0 8px 26px rgba(39,75,149,.045);padding:24px}
.stat{min-height:142px;border:0;background:#fff}
.stat small{font-size:.85rem;font-weight:650;color:#60769e}
.stat strong{font-size:clamp(1.35rem,2vw,1.8rem);color:#153877}
.stat span{font-size:.78rem;color:#7184a7}
.stat-highlight{background:#abc8ff}
.stat-highlight small,.stat-highlight strong,.stat-highlight span{color:#163d85}
.columns{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px}
.card-title{display:flex;justify-content:space-between;align-items:center;gap:12px}
.card-title h2{margin:0}.tag{border-radius:20px;background:#eaf1ff;color:#365ba5;padding:5px 10px;font-size:.72rem;font-weight:700}
.company-item{padding:17px 0;color:#203a65}
.company-item:hover{color:#356bc9}
.info-strip{padding:17px 18px;border-radius:14px;background:#e8f0ff;border:1px solid #d9e7ff;margin:14px 0;color:#1c447e}
.info-strip p{margin:5px 0 0;font-size:.9rem;line-height:1.55}
.empty-state{padding:22px;border-radius:12px;background:#f6f9ff;color:#60769e}
.primary,.action-link{background:#2859ac;color:#fff;border-radius:11px}
.action-link{display:inline-block;padding:14px 18px;font-weight:700}
.action-link:hover,.primary:hover{background:#194788;color:#fff}
.outline-link{border:1px solid #b9ccef;background:white;border-radius:11px;padding:11px 15px;font-weight:650}
.warning{border-color:#eba74e;background:#fff4e7}
.notice{background:#deebff;border:1px solid #bacff7;color:#214b8f}
.footer{max-width:1240px;margin:20px auto;padding:8px 20px 28px;font-size:.75rem;color:#7586a5}
.auth-card{max-width:480px;margin:7vh auto;padding:36px}
.auth-card form{display:flex;flex-direction:column;gap:11px}
.auth-card input,.auth-card select{max-width:100%;padding:12px 13px;border:1px solid #c0cfe6;border-radius:9px;font:inherit}
.auth-card button{border:0;background:#2859ac;color:#fff;padding:12px 18px;border-radius:10px;cursor:pointer}
.auth-card .button{color:#2753a5}
.budget-form{display:flex;flex-direction:column}
.money-field{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:49px;border-bottom:1px solid #e8eef9;font-size:.93rem}
.money-field>span:last-child{white-space:nowrap;display:flex;align-items:center;gap:8px}
.money-field input{width:120px;padding:9px 10px;border-radius:9px;border:1px solid #c2d1eb;font:inherit;text-align:right;color:#1b467e;background:#f9fbff}
.money-field input:focus{outline:2px solid #6c98e5}
.budget-form .primary{margin-top:16px}
.target-panel{margin-top:24px;padding:17px;background:#eaf2ff;border-radius:14px}
.target-panel h3{margin-top:0}
.target-panel small{color:#6177a0;display:block;margin-top:10px}
.plan-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.plan-summary>div{background:#eaf2ff;border-radius:12px;padding:17px;display:flex;flex-direction:column;gap:9px}
.plan-summary small{font-size:.76rem;color:#6279a7}
.plan-summary strong{color:#17468d;font-size:1.27rem}
.table-scroll{overflow-x:auto}
.plan-table{border-collapse:collapse;width:100%;font-size:.84rem}
.plan-table th{background:#f1f5ff;text-align:right;color:#416298;padding:13px 9px;border-bottom:1px solid #dde6f8}
.plan-table th:first-child{text-align:left}
.plan-table td{padding:13px 9px;text-align:right;border-bottom:1px solid #edf1fa;white-space:nowrap}
.plan-table td:first-child{text-align:left}
.plan-table tbody tr:nth-child(even){background:#f8faff}
.wave{color:#4478d5}
@media(max-width:940px){.top-inner{gap:12px;flex-wrap:wrap;padding:14px 0}.main-nav{order:3;width:100%;margin:0}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.columns{grid-template-columns:1fr}.top-inner{align-items:flex-start}.top .user{margin-left:auto}.main-nav{overflow-x:auto;flex-wrap:nowrap}.main-nav a{white-space:nowrap;padding:8px 10px}.heading-row{align-items:flex-start}.stats{gap:10px}.stat{padding:17px}.stat strong{font-size:1.3rem}.auth-card{margin:20px auto;padding:23px}.money-field input{width:105px}.plan-table{font-size:.78rem}}

.stat-link{text-decoration:none;transition:transform .14s ease,box-shadow .14s;cursor:pointer}.stat-link:hover{transform:translateY(-3px);box-shadow:0 9px 26px rgba(40,74,135,.13)}.stat-link:focus-visible{outline:3px solid #376dba}
.attention-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}
.alert-item{display:flex;flex-direction:column;gap:5px;background:#fff0f1;border:1px solid #ffc5c9;padding:12px 15px;margin:9px 0;border-radius:11px;color:#9c2334}
.status-overdue{color:#b32636;font-weight:700}.late{border:1px solid #f2a8b1!important;background:#fff0f1!important;color:#9c2334!important;border-radius:10px;padding:12px}
.payment-item{align-items:start}.payment-item>div:last-child{text-align:right}
.form-card form{display:flex;flex-direction:column;gap:14px;max-width:540px}.form-card label{display:flex;flex-direction:column;gap:7px;font-weight:650}
.form-card input,.form-card textarea,.form-card select{width:100%;border:1px solid #c5d3e5;border-radius:10px;padding:12px;font:inherit}
.form-card button{align-self:flex-start;border:0;cursor:pointer}
@media(max-width:740px){.attention-grid{grid-template-columns:1fr}.payment-item{flex-direction:column}.payment-item>div:last-child{text-align:left}}

.message-overview{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 18px}
.message-counter{display:flex;align-items:center;gap:12px;background:white;border:1px solid #d8e3f8;border-radius:12px;padding:11px 16px;font-size:.85rem;font-weight:650}
.message-counter strong{font-size:1.05rem}
.mail-shell{display:grid;grid-template-columns:minmax(180px,.68fr) minmax(240px,.95fr) minmax(300px,1.48fr);gap:12px;min-height:530px}
.mail-sidebar,.mail-list,.mail-detail{background:#fff;border-radius:16px;border:1px solid #dce6f8;padding:18px;min-width:0}
.mail-sidebar h2,.mail-list h2{font-size:.93rem;color:#5471a5;margin:0 0 15px}
.folder-link{padding:12px;border-radius:9px;display:flex;justify-content:space-between;gap:10px;font-size:.87rem;color:#35537f}
.folder-link:hover{background:#ebf2ff}
.mail-row{display:block;padding:15px 13px;border-bottom:1px solid #e8eef8;color:#223d66;line-height:1.35}
.mail-row:last-child{border-bottom:0}.mail-row:hover,.mail-selected{background:#eaf1ff}
.mail-meta{display:flex;justify-content:space-between;gap:8px;font-size:.83rem}
.mail-meta small{color:#7690b0}.mail-subject{display:block;margin:7px 0 4px;font-size:.9rem}
.mail-row p{font-size:.78rem;margin:5px 0}
.mail-search{display:flex;gap:8px;margin-bottom:12px}.mail-search input{min-width:0;width:100%;border:1px solid #d3deed;padding:10px;border-radius:9px}
.mail-search button{border:1px solid #c9d9f4;background:#fff;cursor:pointer}
.mail-detail h2{margin:0 0 10px;line-height:1.3}.mail-detail>p{margin:5px 0}
.mail-content{background:#f8faff;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere;padding:18px;line-height:1.55;margin:18px 0;max-height:500px;overflow-y:auto}
.mail-actions{display:flex;flex-wrap:wrap;gap:10px}.mail-actions button{cursor:pointer}
@media(max-width:1060px){.mail-shell{grid-template-columns:200px 1fr}.mail-detail{grid-column:1/-1}}
@media(max-width:640px){.mail-shell{grid-template-columns:1fr}.mail-detail{grid-column:auto}.mail-sidebar{max-height:190px;overflow:auto}}

.allocation-row{border:1px solid #e0e9f6;padding:11px;border-radius:12px;background:#f9fbff;display:flex;align-items:center;justify-content:space-between;gap:20px}
.allocation-row label{font-weight:500}.allocation-row input[type=checkbox]{width:auto}.allocation-row input[type=number]{max-width:150px}
@media(max-width:640px){.allocation-row{flex-direction:column;align-items:stretch}}

.notification-bell{position:relative;flex-shrink:0}.notification-bell>summary{cursor:pointer;list-style:none;font-size:1.15rem;border:1px solid #dbe5f5;border-radius:12px;padding:8px 10px;display:flex;align-items:center;gap:5px}
.notification-bell>summary::-webkit-details-marker{display:none}.bell-count{background:#b72638;color:white;border-radius:100px;padding:2px 6px;min-width:19px;font-size:.72rem;font-weight:750;text-align:center}
.bell-popover{position:absolute;right:0;top:100%;margin-top:10px;width:min(360px,calc(100vw - 25px));background:white;box-shadow:0 18px 42px rgba(31,54,92,.19);border:1px solid #dce6f6;border-radius:14px;padding:15px;z-index:100;max-height:65vh;overflow:auto}
.bell-popover>strong{color:#204c93}.bell-popover>p{font-size:.76rem}.bell-alert{display:block;padding:11px;margin:6px 0;border-radius:9px;border:1px solid #e2e9f5;color:#24406d;text-decoration:none}
.bell-alert strong,.bell-alert small{display:block}.bell-alert small{margin-top:4px;color:#61779b}.bell-all{display:block;margin-top:15px;font-size:.84rem}

.chat-reply{display:flex;flex-direction:column;gap:10px;border-top:1px solid #dce5f5;padding:16px 0}.chat-reply label{font-size:.86rem;font-weight:650}.chat-reply textarea{resize:vertical;border:1px solid #cad6ec;border-radius:13px;padding:13px;font:inherit;min-height:95px}.chat-reply label input{width:auto}.chat-reply button{align-self:flex-start;cursor:pointer}

.messages-layout{display:grid;grid-template-columns:minmax(220px,330px) 1fr;gap:15px;min-height:560px}
.chat-peers,.chat-panel{background:white;border:1px solid #dfe7f6;border-radius:17px;overflow:hidden}
.chat-peers h2{font-size:.9rem;margin:18px 17px;color:#5e759a}.chat-peer{display:flex;gap:10px;align-items:center;padding:15px 13px;border-bottom:1px solid #edf2fa;color:#1f3e6a}
.chat-peer.selected,.chat-peer:hover{background:#e7efff}.chat-avatar{display:grid;place-items:center;background:#76a0ee;color:#fff;border-radius:100%;width:39px;height:39px;flex-shrink:0;font-weight:800}
.chat-peer-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.chat-peer-info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-peer-info small{font-size:.73rem;color:#6680aa}
.chat-unread{border-radius:100px;background:#245cb9;color:white;font-size:.7rem;min-width:23px;text-align:center;padding:4px}
.chat-panel{display:flex;flex-direction:column;min-height:540px}.chat-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #dde6f3}.chat-header h2{margin:0}.chat-header a{font-size:.79rem}
.chat-history{padding:20px;flex:1;max-height:560px;overflow:auto;background:linear-gradient(#f8fbff,#edf3ff)}
.chat-bubble-row{display:flex;margin:10px 0}.chat-bubble-row.outbound{justify-content:flex-end}.chat-bubble{border-radius:17px 17px 17px 5px;background:white;padding:13px 16px;max-width:82%;box-shadow:0 2px 8px rgba(36,70,120,.06)}
.chat-bubble-row.outbound .chat-bubble{background:#c7dcff;border-radius:17px 17px 5px 17px}
.chat-bubble-label{font-size:.71rem;color:#61779f;margin-bottom:7px}.chat-bubble strong{font-size:.87rem}.chat-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;margin:7px 0;font-size:.92rem}
.chat-composer{padding:17px;border-top:1px solid #dce7f5}.chat-composer form{display:flex;flex-direction:column;gap:10px}.chat-composer textarea{width:100%;font:inherit;border:1px solid #cbd8e9;border-radius:13px;padding:12px}
.chat-composer label{font-size:.78rem;color:#556d98}.chat-composer-actions{display:flex;gap:12px;flex-wrap:wrap}.chat-composer button{cursor:pointer}
@media(max-width:740px){.messages-layout{grid-template-columns:1fr}.chat-peers{max-height:250px;overflow:auto}.chat-history{max-height:480px}.chat-bubble{max-width:92%}}

.budget-pulse{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin:16px 0}.budget-pulse>div{display:flex;flex-direction:column;gap:5px}.budget-pulse small{font-size:.78rem;color:#67799c}.budget-pulse strong{font-size:1.17rem;color:#254d95}.budget-pulse>a{margin-left:auto;font-size:.85rem;font-weight:700}

/* Focused navigation and urgent-first home */
.main-nav{flex-wrap:nowrap;gap:3px}
.main-nav>a,.more-navigation>summary{font-size:.87rem;white-space:nowrap;padding:10px 12px;border-radius:10px;font-weight:700;color:#244a86}
.more-navigation{position:relative}.more-navigation>summary{cursor:pointer;list-style:none;display:block}
.more-navigation>summary::-webkit-details-marker{display:none}
.more-navigation[open]>summary,.more-navigation>summary:hover{background:#e8effd}
.more-menu{position:absolute;z-index:95;top:100%;right:0;width:245px;padding:8px;background:white;border:1px solid #dbe4f4;border-radius:14px;box-shadow:0 14px 38px rgba(25,65,132,.15);max-height:70vh;overflow:auto}
.more-menu a{display:block;padding:11px 12px;border-radius:9px;font-size:.84rem;font-weight:600}
.more-menu a:hover{background:#edf3ff}
.priority-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0}
.priority-summary h2{margin:5px 0}.priority-buttons{display:flex;flex-wrap:wrap;gap:10px}
.priority-pill{display:flex;gap:8px;align-items:center;border:1px solid #dbe5f6;border-radius:12px;padding:13px;background:#f2f6fd;color:#264b89;font-weight:650;text-decoration:none}
.priority-pill strong{font-size:1.17rem}.priority-pill.urgent{background:#fff0f0;color:#a72b3b;border-color:#f2c4cc}
@media(max-width:940px){.main-nav{order:3;width:100%;margin:0}.more-navigation{margin-left:auto}}
@media(max-width:680px){.priority-summary{align-items:stretch;flex-direction:column}.priority-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.priority-pill{flex-direction:column;gap:4px;text-align:center;font-size:.78rem}.main-nav a,.more-navigation>summary{padding:9px 7px;font-size:.79rem}.top .user-name{display:none}}

/* Desktop remains wide; improvements apply only to handheld viewports. */
.recovery-code-input{font-size:1.35rem!important;letter-spacing:.25rem;text-align:center;font-variant-numeric:tabular-nums;max-width:230px!important}
:focus-visible{outline:3px solid #4384df;outline-offset:3px}
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:clip}
  .top-inner{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px 0}
  .logo{grid-column:1;grid-row:1;white-space:nowrap;min-width:0;font-size:1rem}
  .notification-bell{grid-column:2;grid-row:1}
  .top .user{grid-column:3;grid-row:1;margin:0}
  .top .user button{min-height:42px;white-space:nowrap}
  .main-nav{grid-column:1/-1;grid-row:2;order:initial;width:100%;display:flex;gap:2px;overflow-x:auto;overflow-y:visible;scrollbar-width:thin;padding-bottom:5px}
  .main-nav>a,.more-navigation>summary{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap;padding:9px 11px}
  .more-navigation{position:static;margin-left:auto}
  .more-menu{position:absolute;top:auto;right:12px;left:auto;width:min(290px,calc(100vw - 24px));z-index:120}
  .bell-popover{right:0;width:min(350px,calc(100vw - 20px))}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats>*{min-width:0}.stat{padding:14px}.stat strong{font-size:clamp(1rem,4.6vw,1.3rem);overflow-wrap:anywhere}
  .priority-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}
  .heading-row,.dashboard-actions,.chat-composer-actions{flex-wrap:wrap}
  .messages-layout,.mail-shell{grid-template-columns:minmax(0,1fr)}
  .mail-detail{grid-column:auto}.mail-sidebar{max-height:145px;overflow-y:auto}
  .chat-peers{max-height:210px;overflow-y:auto}.chat-history{padding:12px;max-height:50vh}
  .chat-bubble{max-width:94%}
  .card,.chat-panel,.chat-peers{max-width:100%;min-width:0}
  .auth-card{width:calc(100% - 24px);margin:16px auto;padding:20px}
  .form-card form{max-width:100%}
  .form-card input,.form-card select,.form-card textarea{min-height:44px}
  .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .recovery-code-input{font-size:22px!important;width:100%;max-width:250px!important}
}
@media(max-width:390px){
  .logo{font-size:.9rem}.brand-symbol{display:none}
  .main-nav>a,.more-navigation>summary{font-size:.76rem;padding:9px 7px}
  .top .user form button{font-size:.74rem;padding:9px 6px}
  .stat{padding:10px}.stat strong{font-size:1.05rem}
  .priority-pill{padding:10px 4px;font-size:.72rem;white-space:normal;text-align:center}
}

/* Mobile-first login refresh. This sheet is also usable on large desktop. */
body:has(.login-wizard-form){background:radial-gradient(circle at 48% 0%,#e2edff 0%,#f4f7fc 47%,#f6f8fb 100%)}
body:has(.login-wizard-form) .top{border-bottom:0;background:transparent}
body:has(.login-wizard-form) .auth-card{max-width:450px;margin:clamp(18px,6vh,80px) auto;padding:clamp(24px,4vw,42px);border:1px solid #dfe8f5;border-radius:22px;box-shadow:0 22px 52px rgba(32,62,110,.10)}
body:has(.login-wizard-form) .eyebrow{display:none}
.login-brand-row{display:flex;align-items:center;gap:9px;font-weight:800;color:#234778;letter-spacing:-.03em;font-size:1.1rem;margin-bottom:30px}
.login-brand-mark{display:grid;place-items:center;background:linear-gradient(135deg,#2e6acc,#234587);color:white;width:36px;height:36px;border-radius:11px;font-size:1.2rem}
.login-security{font-size:.7rem;letter-spacing:.11em;font-weight:800;color:#2867af;display:flex;align-items:center;gap:8px;margin-bottom:12px}
.login-security span{color:#3ca77e}
.login-title{font-size:clamp(1.6rem,4.7vw,2rem);line-height:1.17;letter-spacing:-.045em;margin:0 0 10px}
.login-description{font-size:.92rem;line-height:1.6;color:#60738f;margin:0 0 28px}
.login-wizard-form{display:flex;flex-direction:column;gap:18px}
.login-form-field{display:flex;flex-direction:column;gap:7px}
.login-form-field>label{color:#2c456a;font-weight:700;font-size:.86rem}
.login-form-field input,.login-form-field select{border:1px solid #cbd9ed;border-radius:12px;padding:13px 15px;font:inherit;font-size:1rem;min-height:50px;width:100%;background:#fff;outline-offset:3px}
.login-form-field input:focus{border-color:#3974c8;box-shadow:0 0 0 3px #3974c82a}
.login-help{font-size:.75rem;line-height:1.5;color:#7385a1}
.login-error,.login-error-inline{color:#ac273a;font-size:.83rem}
.login-error{background:#fff0f2;border:1px solid #f4c4cb;border-radius:12px;padding:13px;margin-bottom:12px}
.login-links{display:flex;justify-content:flex-end;margin-top:-5px;font-size:.84rem;font-weight:700}
.login-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:#285cb4;border:0;color:#fff;border-radius:12px;min-height:52px;font-size:.97rem;font-weight:750;cursor:pointer;margin-top:4px}
.login-submit:hover{background:#1f4d9e}.login-back{align-self:center;background:transparent!important;border:0!important;color:#3566a5!important;font-size:.84rem;padding:8px!important}
.login-footer-note{margin-top:27px;border-top:1px solid #e8eef7;padding-top:17px;text-align:center;color:#7b8ba3;font-size:.75rem;line-height:1.5}
@media(max-width:760px){
body:has(.login-wizard-form) .top{display:none}
body:has(.login-wizard-form) main{padding:18px 12px 16px;min-height:calc(100dvh - 45px);display:flex;align-items:center;justify-content:center}
body:has(.login-wizard-form) .auth-card{width:100%;max-width:460px;margin:0 auto;padding:28px 22px;box-shadow:0 12px 38px rgba(32,62,110,.09)}
body:has(.login-wizard-form) .footer{margin:0;text-align:center;padding:8px 12px 20px}
.login-brand-row{margin-bottom:23px}
.login-description{margin-bottom:24px}
}

/* 2026 login refresh – scoped to authentication, preserving desktop finance views. */
body:has(.modern-auth-form){background:radial-gradient(circle at 15% 0%,#d6e6ff 0%,transparent 34%),linear-gradient(150deg,#eef4ff,#f7faff 64%,#e3edff);min-height:100svh}
body:has(.modern-auth-form) main{display:grid;place-items:center;min-height:calc(100svh - 150px);padding:22px 16px}
body:has(.modern-auth-form) .auth-card{width:min(100%,460px);margin:8px auto;padding:clamp(22px,4vw,38px);border:1px solid #dce7fa;border-radius:24px;box-shadow:0 22px 55px rgba(25,61,122,.12);background:#fff}
body:has(.modern-auth-form) .auth-card h1{font-size:clamp(1.9rem,5vw,2.35rem);line-height:1.14;margin:8px 0}
body:has(.modern-auth-form) .auth-card>.eyebrow{display:none}
.login-brand-mark{width:52px;height:52px;border-radius:16px;background:#e5efff;color:#285ab3;display:grid;place-items:center;font-size:1.8rem;margin-bottom:18px}
.modern-auth-form{display:flex;flex-direction:column;gap:16px;margin-top:26px}
.modern-auth-form .auth-field{display:flex;flex-direction:column;gap:7px}
.modern-auth-form label{font-size:.88rem;font-weight:750;color:#29436a}
.modern-auth-form input:not([type=checkbox]):not([type=hidden]){width:100%;font:inherit;font-size:16px;border:1px solid #b8cce9;background:#f9fbff;border-radius:13px;padding:15px 14px;min-height:50px;color:#142f5a}
.modern-auth-form input:focus{border-color:#477ddd;box-shadow:0 0 0 3px #dceaff;outline:none}
.modern-auth-form .auth-help{font-size:.76rem;color:#697d9e;line-height:1.4}
.modern-auth-form .auth-error{font-size:.83rem;color:#a42535}
.modern-auth-form .auth-actions{display:flex;gap:12px;flex-wrap:wrap}
.modern-auth-form .auth-actions .primary{flex:1;min-height:52px;font-weight:750;font-size:1rem}
.modern-auth-form .auth-actions .outline-link{min-height:52px;display:grid;place-items:center}
.auth-secondary{margin:18px 0 0;text-align:center;font-weight:650;font-size:.88rem}
.auth-security-note{display:flex;align-items:center;justify-content:center;gap:8px;padding-top:21px;margin-top:19px;border-top:1px solid #edf1f8;color:#7285a5;font-size:.76rem}
@media(max-width:600px){
 body:has(.modern-auth-form) main{padding:16px 12px;min-height:calc(100svh - 126px);align-items:start}
 body:has(.modern-auth-form) .auth-card{padding:25px 21px;border-radius:20px;margin:10px auto}
 body:has(.modern-auth-form) .top{padding:0 16px}
 body:has(.modern-auth-form) .top-inner{min-height:60px}
 body:has(.modern-auth-form) .footer{padding:0 18px 24px;text-align:center}
 .modern-auth-form .auth-actions{flex-direction:column-reverse}
 .modern-auth-form .auth-actions .primary,.modern-auth-form .auth-actions .outline-link{width:100%}
}

/* Control center: readable actions and predictable six-item navigation. */
.main-nav>a[aria-current=page]{background:#dce9ff;color:#174b9b}
.control-stats{margin-top:16px}
.control-progress{margin:16px 0}
.control-progress progress{width:100%;height:12px;accent-color:#258465;display:block;margin:15px 0}
.control-progress .card-title strong{font-size:1.2rem;color:#264b89}
.action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}
.action-tile{display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:86px;padding:14px;border:1px solid #dce6f5;border-radius:12px;background:#f7faff;color:#244a86;overflow-wrap:anywhere}
.action-tile:hover{background:#e9f1ff}.action-tile strong{font-size:1.5rem;line-height:1}
.action-tile span{font-size:.84rem;font-weight:650}.action-urgent{background:#fff1f2;color:#ab2636;border-color:#f3c6cd}
@media(max-width:900px){.action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.main-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:4px}.main-nav>a{min-width:0;justify-content:center;text-align:center;font-size:.82rem;padding:8px 4px}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-tile{padding:12px;min-height:79px}.action-tile span{font-size:.78rem}}

/* Accessible case tabs and secondary action contrast. */
.outline-link,.outline-link.action-link{background:#fff;color:#214c91;border:1px solid #a9bfe4}.outline-link:hover,.outline-link.action-link:hover{background:#eaf1ff;color:#163e7a}.case-tabs{display:flex;flex-wrap:wrap;gap:8px}.case-tabs a{display:inline-block;padding:12px 16px;border-radius:10px;font-weight:650}.case-tabs a[aria-current=page]{background:#2859ac;color:#fff}.case-tabs a:not([aria-current]){background:#fff;color:#214c91;border:1px solid #a9bfe4}.case-tabs a:focus-visible{outline:3px solid #2859ac;outline-offset:3px}

/* Import preview confirmation */
.import-confirm {
  margin-top: 1.5rem;
  padding: clamp(1rem, 2.5vw, 1.5rem);
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f6f9ff;
  display: grid;
  justify-items: start;
  gap: 1rem;
}
.import-confirm h3 { margin: 0; color: var(--ink); }
.import-confirm-date { display: grid; gap: .4rem; }
.import-confirm-date label { margin: 0; font-weight: 650; }
.import-confirm-date input { margin: 0; min-height: 44px; font: inherit; }
.import-confirm .import-confirm-check {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-height: 44px;
  margin: 0;
  cursor: pointer;
}
.import-confirm .import-confirm-check input[type="checkbox"] {
  flex: 0 0 auto;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  accent-color: var(--blue);
}
.import-confirm .primary { margin: 0; }
@media (max-width: 480px) {
  .import-confirm-date, .import-confirm .primary { width: 100%; }
}


/* Separate outgoing and incoming correspondence in the inbox and case history. */
.mail-direction-sent { --mail-accent: #28569d; --mail-tint: #edf4ff; --mail-ink: #173d78; }
.mail-direction-received { --mail-accent: #368075; --mail-tint: #edf8f4; --mail-ink: #194e45; }
.mail-list .mail-row {
  margin-block: .65rem;
  border: 1px solid #dce5f0;
  border-inline-start: 4px solid var(--mail-accent);
  border-radius: 10px;
  background: var(--mail-tint);
}
.mail-list .mail-row:hover, .mail-list .mail-selected { border-color: var(--mail-accent); }
.mail-list .mail-selected { box-shadow: inset 0 0 0 1px var(--mail-accent); }
.mail-direction-label { color: var(--mail-ink); font-size: .78rem; font-weight: 750; }
.mail-party { display: block; margin-top: .35rem; overflow-wrap: anywhere; }
.mail-detail .mail-message-text {
  background: var(--mail-tint);
  border-inline-start: 4px solid var(--mail-accent);
  border-radius: 10px;
  padding: 1rem;
}
.mail-quoted-history { margin-block: .85rem; }
.mail-quoted-history summary { cursor: pointer; color: var(--mail-ink); }
.chat-bubble-row.inbound .chat-bubble { background: #edf8f4; border-inline-start: 3px solid #368075; }
.chat-bubble-row.outbound .chat-bubble { background: #edf4ff; border-inline-end: 3px solid #28569d; }


/* Direction remains clear through both position and color. */
.mail-list .mail-row { margin-block: .85rem; border-radius: 12px; padding: .85rem; }
.mail-list .mail-direction-sent {
  margin-inline-start: clamp(.65rem, 6%, 1.5rem);
  border-inline-start-width: 1px;
  border-inline-end: 4px solid var(--mail-accent);
}
.mail-list .mail-direction-received { margin-inline-end: clamp(.65rem, 6%, 1.5rem); }
.mail-direction-sent { --mail-accent: #2655a5; --mail-tint: #e6efff; --mail-ink: #163d7d; }
.mail-direction-received { --mail-accent: #94500d; --mail-tint: #fff2df; --mail-ink: #783b08; }
.mail-direction-label {
  display: inline-block;
  padding: .23rem .5rem;
  border-radius: 5px;
  color: #fff;
  background: var(--mail-ink);
  letter-spacing: .025em;
}
.chat-history .chat-bubble-row { margin-block: 1rem; }
.chat-history .chat-bubble-row.inbound .chat-bubble { background: #fff2df; border-color: #94500d; }
.chat-history .chat-bubble-row.outbound .chat-bubble { background: #e6efff; border-color: #2655a5; }


.quoted-card {
  margin-block: 1rem;
  padding: .85rem 1rem;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #f5f7fa;
}
.quoted-card summary { cursor: pointer; font-weight: 700; }
.quoted-card-own {
  margin-inline-start: clamp(.65rem, 5%, 1.5rem);
  background: #e6efff;
  border-inline-end: 4px solid #2655a5;
  color: #163d7d;
}
.quoted-card-own summary { color: #163d7d; }


.inbox-tools { margin-block: .5rem 1rem; }
.inbox-tools summary { cursor: pointer; color: var(--blue); font-weight: 650; }
.inbox-tools a { display: inline-block; margin: .5rem .85rem .15rem 0; }
.mail-sidebar [aria-current="page"] { background: #eaf1ff; font-weight: 750; }
.inbox-timeline { display: grid; gap: 1rem; }
.inbox-thread-card {
  min-width: 0;
  max-width: min(92%, 55rem);
  justify-self: start;
  border: 1px solid #dce5f0;
  border-inline-start: 4px solid var(--mail-accent);
  border-radius: 14px;
  padding: clamp(.85rem, 2vw, 1.25rem);
  background: var(--mail-tint);
}
.inbox-thread-card.mail-direction-sent {
  justify-self: end;
  border-inline-start-width: 1px;
  border-inline-end: 4px solid var(--mail-accent);
}
.inbox-thread-card h3 { font-size: 1rem; margin: .65rem 0 0; overflow-wrap: anywhere; }
.inbox-thread-card .mail-content { background: transparent; padding-inline: 0; overflow-wrap: anywhere; }
.inbox-thread-card > a { display: inline-block; margin-top: .5rem; }
@media (min-width: 741px) {
  .mail-shell.inbox-conversation { grid-template-columns: minmax(175px, 1fr) minmax(0, 4fr); }
}


.inbox-thread-card { width: min(92%, 55rem); scroll-margin-block: 1rem; }
.inbox-thread-card:target { outline: 2px solid var(--mail-accent); }
.inbox-card-actions, .inbox-case-links { display: flex; flex-wrap: wrap; gap: .5rem; margin-block: .65rem; align-items: start; }
.inbox-case-picker summary { display: inline-block; cursor: pointer; }
.inbox-case-picker form { margin-top: .6rem; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: .75rem; }
.inbox-case-picker fieldset { margin: 0 0 .6rem; padding: 0; border: 0; max-height: 12rem; overflow-y: auto; }
.inbox-case-picker .inbox-case-option { display: flex; align-items: center; gap: .65rem; padding: .35rem 0; cursor: pointer; }
.inbox-case-picker .inbox-case-option input { width: 1.15rem; height: 1.15rem; margin: 0; flex-shrink: 0; }
.inbox-case-links a { background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: .2rem .5rem; font-size: .85rem; }
@media (max-width: 640px) { .inbox-thread-card { width: 96%; max-width: 96%; } }


.inbox-inline-reply summary { display: inline-block; cursor: pointer; }
.inbox-inline-reply form { margin-top: .6rem; padding: .75rem; background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.inbox-inline-reply textarea { width: 100%; min-width: 0; }
.inbox-inline-reply .inbox-case-option { display: flex; align-items: center; gap: .6rem; }
.inbox-inline-reply .inbox-case-option input { width: 1.15rem; height: 1.15rem; margin: 0; flex-shrink: 0; }


.inbox-queues { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.inbox-queues a { display: inline-flex; align-items: center; gap: .45rem; min-height: 44px; padding: .45rem .85rem; background: #fff; border: 1px solid var(--line); border-radius: 9px; }
.inbox-queues a[aria-current="page"] { background: var(--blue); border-color: var(--blue); color: #fff; font-weight: 700; }
.inbox-queues span { font-size: .8rem; font-weight: 750; }


.inbox-outlook { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem .9rem; }
.inbox-outlook form, .inbox-outlook button, .inbox-outlook .inbox-tools { margin: 0; }
.inbox-sync-status { font-size: .85rem; color: var(--muted); }
.inbox-mobile-back { display: none; }
@media (max-width: 640px) {
  .inbox-has-selection:has(.mail-selected:focus) .mail-detail { scroll-margin-top: .75rem; }
  .inbox-mobile-back { display: inline-block; margin-bottom: .8rem; }
}

.mail-sidebar .creditor-inbox-row { display: grid; gap: .2rem; }
.creditor-inbox-row small { overflow-wrap: anywhere; }


.creditor-summary { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: .85rem 0; border-bottom: 1px solid var(--line); }
.creditor-summary:hover strong { text-decoration: underline; }
.creditor-summary small { display: block; color: var(--muted); margin-top: .25rem; overflow-wrap: anywhere; }
.creditor-summary > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.creditor-summary-status { text-align: right; flex-shrink: 0; }

.offer-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1.25rem;align-items:start;margin-top:1rem}
.offer-form,.offer-source{min-width:0}
.offer-form label{display:block;margin-bottom:.85rem;font-weight:600}
.offer-form input:not([type=checkbox]):not([type=hidden]),.offer-form select,.offer-form textarea,#sender-filter input[type=email]{display:block;box-sizing:border-box;width:100%;min-height:2.75rem;margin-top:.35rem;padding:.6rem .75rem;border:1px solid #9bafcc;border-radius:.55rem;background:#fff;color:inherit;font:inherit}
.offer-form input[type=checkbox]{width:1.15rem;height:1.15rem;vertical-align:middle;margin-right:.35rem}
.offer-form textarea{resize:vertical}
.offer-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem}
.offer-details>.info-strip,.offer-details>.warning,.offer-details>label:has(input[type=checkbox]){grid-column:1/-1}
.offer-form [hidden]{display:none!important}
.offer-form fieldset{border:1px solid #d4e0f1;border-radius:.6rem;padding:.65rem;margin:1rem 0}
.offer-form .item label{margin:0}
.offer-source .mail-content{max-height:70vh;overflow:auto;overflow-wrap:anywhere;padding:.75rem;background:#f5f8fc;border-radius:.6rem}
@media(max-width:850px){.offer-layout,.offer-details{grid-template-columns:minmax(0,1fr)}.offer-source{grid-row:1}.offer-source .mail-content{max-height:45vh}}
