html{scroll-behavior:smooth}
.nav-icon{display:inline-grid;place-items:center;width:20px;flex:0 0 20px;font-weight:900}
.menu-button{display:none;border:0;background:var(--mint);color:var(--green);width:40px;height:40px;border-radius:11px;font-size:20px;cursor:pointer}
.menu-backdrop{display:none}
.active-company{display:flex;align-items:center;gap:10px;min-width:230px}
.active-country{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:10px;background:var(--mint);color:var(--green);font-size:10px;font-weight:900}
.button,input,select,.sidebar nav a,.company-pill{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}
.button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(27,155,128,.35);outline-offset:2px}
.metric,.panel{box-shadow:0 14px 38px rgba(18,52,46,.065)}
.panel{border-color:#d9e5e1}
.company-pill{white-space:nowrap}.company-pill:hover{background:#d8eee7}
.company-pill.selected:hover{background:var(--green2)}
.entry-guide{display:flex;align-items:center;justify-content:center;gap:16px;margin:-8px 0 20px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}
.entry-guide>div{display:grid;grid-template-columns:32px auto;column-gap:10px;align-items:center;min-width:170px}
.entry-guide>div>span{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--mint);color:var(--green);font-weight:900}
.entry-guide strong,.entry-guide small{display:block}.entry-guide small{color:var(--muted);font-size:10px;margin-top:2px}.entry-guide i{color:#8ba39e}
.help-tip{display:inline-grid;place-items:center;width:16px;height:16px;margin-left:4px;border-radius:50%;background:#dfeae7;color:var(--green);font-size:10px;cursor:help}
.assignment-note{margin-top:16px;padding:12px 14px;border-radius:10px;background:#eef5ff;color:#36527d;font-size:12px;line-height:1.55}
.owner-assurance{display:flex;gap:10px;align-items:center;margin-bottom:20px;padding:15px 18px;border-radius:12px;background:#e9f8f3;color:#075f4d}.owner-assurance span{color:#426c64}.owner-transaction-form label[hidden]{display:none}.owner-transaction-form .form-actions{flex-wrap:wrap}

@media(max-width:1000px) and (min-width:701px){
    .sidebar nav .nav-icon{font-size:16px}
}

.account-import-table { overflow-x: auto; }
.account-import-table table { min-width: 1200px; }
.account-import-table .table-input { min-width: 10rem; width: 100%; }
.account-import-table .code { min-width: 7rem; }
.account-import-table .import-error { background: #fff5f5; }
.account-import-table .field-error { color: #a51d2d; display: block; max-width: 14rem; }
@media(max-width:700px){
    .shell{display:block}
    .sidebar{position:fixed;z-index:30;left:0;top:0;width:min(310px,86vw);height:100dvh;padding:24px 18px;transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 50px rgba(0,0,0,.2)}
    .menu-open .sidebar{transform:translateX(0)}
    .brand>span:last-child,.sidebar nav span,.sidebar-footer,.nav-label{display:block}
    .sidebar nav a{justify-content:flex-start}
    .menu-button{display:grid;place-items:center;flex:0 0 auto}
    .menu-backdrop{display:block;position:fixed;z-index:25;inset:0;border:0;background:rgba(5,28,24,.48);backdrop-filter:blur(2px)}
    .topbar{gap:10px;align-items:center}
    .active-company{min-width:0;flex:1}
    .active-company strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48vw}
    .active-company small{display:none}
    .company-switch{display:none}
    .content{padding-top:24px}
    .entry-guide{justify-content:flex-start;overflow-x:auto}.entry-guide>div{min-width:155px}
}
@media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .button,input,select,.sidebar,.sidebar nav a,.company-pill{transition:none}
}
/* Production-pilot recovery states. Blazor controls the reconnect modal's
   display classes; it remains invisible during normal operation. */
.reconnect-modal { display: none; position: fixed; inset: 0; z-index: 10000; background: rgba(8, 31, 58, .62); place-items: center; padding: 1rem; }
.reconnect-modal.components-reconnect-show,
.reconnect-modal.components-reconnect-failed,
.reconnect-modal.components-reconnect-rejected { display: grid; }
.reconnect-card { width: min(30rem, 100%); padding: 1.5rem; border-radius: 1rem; background: #fff; color: #102d4c; box-shadow: 0 1.5rem 4rem rgba(0,0,0,.25); text-align: center; }
.reconnect-card strong { display: block; font-size: 1.25rem; margin-bottom: .5rem; }
.reconnect-card button { border: 0; border-radius: .65rem; padding: .75rem 1rem; background: #2468ad; color: #fff; font-weight: 700; cursor: pointer; }
.error-panel { max-width: 46rem; margin-inline: auto; }
.error-reference { display: inline-block; margin: .35rem 0 1.25rem; padding: .6rem .8rem; border-radius: .5rem; background: #edf4fb; color: #173b62; user-select: all; }
.button-row { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; }
