:root{--background:#eef4fb;--surface:#fff;--surface-tinted:#f8fbff;--surface-strong:#13233a;--border:#cdd8e7;--text:#172033;--muted:#64748b;--accent:#2563eb;--accent-soft:#dbeafe;--accent-strong:#1d4ed8;--accent-warm:#f59e0b;--warning:#b45309;--danger:#dc2626;--success:#059669;--shadow:0 14px 36px #0f172a14}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--text);background:radial-gradient(circle at 0 0,#2563eb24,#0000 34rem),linear-gradient(135deg,#eef4fb 0%,#f9fbfd 42%,#edfdf8 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{color:#e5edf7;background:linear-gradient(#13233a 0%,#173150 100%);border-right:1px solid #ffffff1f;padding:20px}.brand{align-items:center;gap:10px;margin-bottom:28px;font-size:18px;font-weight:750;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent), #14b8a6);color:#fff;border-radius:8px;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.nav-list{gap:6px;display:grid}.nav-item{color:#b8c7da;border-radius:8px;padding:10px 12px;display:flex}.nav-item.active,.nav-item:hover{color:#fff;background:#ffffff1f}.nav-item.active{box-shadow:inset 3px 0 #38bdf8}.main{min-width:0;padding:24px}.topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.session-strip{color:#52627a;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:14px;font-size:13px;display:flex}.page-title{color:#102039;margin:0;font-size:28px;line-height:1.18}.page-subtitle{color:var(--muted);margin:5px 0 0}.filter-row{flex-wrap:wrap;gap:8px;display:flex}.history-filter-form{grid-template-columns:minmax(260px,1fr) minmax(130px,160px) auto auto auto;align-items:end;gap:10px;margin:12px 0 14px;display:grid}.search-control{border:1px solid var(--border);background:#fff;border-radius:8px;align-items:center;gap:8px;min-height:42px;padding:0 10px;display:flex}.search-control input{border:0;flex:1;min-width:0;min-height:38px;padding:0}.search-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb29}.search-control input:focus{box-shadow:none}.history-filter-button,.history-clear-button{justify-content:center;align-items:center;gap:7px;min-width:96px;text-decoration:none;display:inline-flex}.history-result-count{color:var(--muted);white-space:nowrap;padding:0 0 12px;font-size:13px}.control{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:8px;min-height:40px;padding:8px 12px}.control:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px #2563eb29}.grid{gap:14px;display:grid}.balance-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}.split-grid{grid-template-columns:1.1fr .9fr;margin-top:14px}.card{background:linear-gradient(180deg, #fff 0%, var(--surface-tinted) 100%);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;padding:16px}.card-label{color:var(--muted);margin:0 0 10px;font-size:13px}.card-value{color:#0f2f57;margin:0;font-size:24px;font-weight:760;line-height:1.2}.section-title{color:#13233a;margin:0 0 14px;font-size:17px}.status-list{gap:10px;display:grid}.status-row{border-top:1px solid #e1e8f2;grid-template-columns:1fr auto;align-items:center;gap:10px;padding-top:10px;display:grid}.status-row:first-child{border-top:0;padding-top:0}.company-currency-grid{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.currency-chip{color:#475569;background:#f8fafc;border:1px solid #dbe5ef;border-radius:8px;align-items:baseline;gap:6px;padding:5px 8px;display:inline-flex}.currency-chip strong{color:#102f54}.currency-chip-strong{color:#0e7490;background:#ecfeff;border-color:#67e8f9}.balance-cell-strong{color:#0f2f57;font-weight:800}.dashboard-balance-table{min-width:720px}.inline-section{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.transaction-list{gap:10px;display:grid}.transaction-row{border:1px solid var(--border);background:#fff;border-radius:8px;gap:8px;padding:10px;display:grid}.transaction-main,.transaction-meta{justify-content:space-between;align-items:start;gap:8px;display:flex}.transaction-main span,.transaction-meta span{min-width:0}.transaction-main span{color:var(--muted);text-align:right;font-size:13px}.transaction-meta{color:var(--muted);font-size:13px}.message-body{white-space:pre-wrap;margin:0}.message-reply{border:1px solid var(--border);background:#eff6ff;border-radius:8px;gap:6px;padding:10px;display:grid}.message-reply p{white-space:pre-wrap;margin:0}.empty-state{color:var(--muted);background:#fff9;border:1px dashed #9db2ca;border-radius:8px;padding:14px}.company-edit-list{gap:12px;display:grid}.action-panel-list,.wallet-action-list{gap:10px;display:grid}.action-panel,.nested-action-panel,.table-action-panel{border:1px solid var(--border);background:#fff;border-radius:8px;gap:10px;padding:10px;display:grid}.action-summary,.compact-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;list-style:none;display:flex}.action-summary::-webkit-details-marker{display:none}.compact-summary::-webkit-details-marker{display:none}.table-action-panel summary::-webkit-details-marker{display:none}.wallet-group-header::-webkit-details-marker{display:none}.action-summary span,.compact-summary span{align-items:center;gap:8px;min-width:0;display:flex}.action-panel[open] .action-summary,.nested-action-panel[open] .compact-summary,.table-action-panel[open] summary{border-bottom:1px solid var(--border);margin-bottom:10px;padding-bottom:10px}.table-action-panel summary{color:var(--accent-strong);cursor:pointer;font-weight:700;list-style:none}.audit-detail{color:var(--muted);overflow-wrap:anywhere;max-width:380px}.business-wallet-list,.wallet-edit-list{gap:12px;display:grid}.business-wallet-group{border:1px solid var(--border);background:#fff;border-radius:8px;gap:12px;padding:12px;display:grid}.wallet-group-header{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;list-style:none;display:flex}.wallet-group-header>span:first-child{gap:2px;display:grid}.business-wallet-group[open] .wallet-group-header{border-bottom:1px solid var(--border);padding-bottom:12px}.company-edit-row{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;display:grid}.wallet-edit-row{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px;display:grid}.check-field{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.check-field input{min-height:auto}.muted{color:var(--muted)}.pill{color:#0e7490;white-space:nowrap;background:#ecfeff;border:1px solid #a5f3fc;border-radius:999px;padding:4px 8px;font-size:12px}.status-pending{color:#92400e;background:#fffbeb;border-color:#fde68a}.status-approved{color:#047857;background:#ecfdf5;border-color:#86efac}.status-refunded{color:#be123c;background:#fff1f2;border-color:#fecdd3}.chart-placeholder{background:linear-gradient(#dbeafeb3,#fff0);border:1px solid #dbe7f6;border-radius:8px;grid-template-columns:repeat(6,1fr);align-items:end;gap:8px;height:220px;padding:14px;display:grid}.bar{background:linear-gradient(180deg, var(--accent), #14b8a6);border-radius:6px 6px 0 0;min-height:24px}.login-page{background:radial-gradient(circle at 20% 15%,#14b8a633,#0000 28rem),linear-gradient(135deg,#eaf2ff,#f8fbff 48%,#eefdf8);align-items:center;min-height:100vh;padding:20px;display:grid}.login-card{border:1px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(#fff 0%,#f8fbff 100%);border-radius:8px;width:100%;max-width:420px;margin:0 auto;padding:24px}.form-stack{gap:12px;display:grid}.field{gap:6px;display:grid}.field label{color:var(--muted);font-size:13px}.field input{border:1px solid var(--border);border-radius:8px;min-height:42px;padding:8px 10px}.field select,.field textarea{border:1px solid var(--border);resize:vertical;border-radius:8px;min-height:42px;padding:8px 10px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-wide{grid-column:1/-1}.primary-button{background:linear-gradient(135deg, var(--accent), #0ea5e9);color:#fff;cursor:pointer;border:0;border-radius:8px;min-height:42px;padding:10px 14px;font-weight:700}.primary-button:hover{background:linear-gradient(135deg, var(--accent-strong), #0284c7)}.ghost-button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:8px;min-height:42px;padding:10px 14px;font-weight:700}.ghost-button:hover{background:#f8fafc}.danger-button{color:var(--danger)}.link-button{color:var(--accent-strong);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.error-text{color:var(--danger);background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;margin:0;padding:10px 12px}.success-text{color:var(--success);background:#ecfdf5;border:1px solid #86efac;border-radius:8px;margin:0 0 14px;padding:10px 12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:980px}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px}th{color:#475569;text-transform:uppercase;background:#f1f5f9;font-size:12px;font-weight:700}tbody tr:hover{background:#f8fbff}@media (max-width:1100px){.balance-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-grid{grid-template-columns:1fr}}@media (max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #ffffff1f;border-right:0;padding:14px}.brand{margin-bottom:12px}.nav-list{padding-bottom:4px;display:flex;overflow-x:auto}.nav-item{white-space:nowrap}.main{padding:16px}.topbar{align-items:stretch;display:grid}.history-filter-form{grid-template-columns:1fr}.history-result-count{padding:0}.balance-grid,.metric-grid{grid-template-columns:1fr}.page-title{font-size:24px}.form-grid,.company-edit-row,.wallet-edit-row{grid-template-columns:1fr}.session-strip{justify-content:flex-start}}
