:root{--bg:#f7f7fb;--text:#111827;--muted:#6b7280;--primary:#2563eb;--primary-surface:#2563eb1f;--card:#fff;--border:#e5e7eb;--table-header-bg:#eef4ff;--table-header-text:#1d4ed8;--table-row-hover-bg:#f8faff;--table-border:#dbe4ff;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--font-family-base:Inter, ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", Arial;--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:18px;--fs-xl:20px;--focus-width:2px;--focus-offset:3px;--bp-sm:640px;--bp-md:1024px}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--text:#e6eef8;--muted:#94a3b8;--primary:#60a5fa;--card:#071022;--border:#12263a;--table-header-bg:#14233b;--table-header-text:#e6eef8;--table-row-hover-bg:#60a5fa1f;--table-border:#23415c}}html[data-theme=light]{--bg:#fcfcff;--text:#111827;--muted:#6b7280;--primary:#2563eb;--primary-surface:#2563eb24;--card:#fff;--border:#eef2ff;--table-header-bg:#eef4ff;--table-header-text:#1d4ed8;--table-row-hover-bg:#f8faff;--table-border:#dbe4ff}html[data-theme=dark]{--bg:#0b1220;--text:#e6eef8;--muted:#94a3b8;--primary:#60a5fa;--primary-surface:#60a5fa2e;--card:#071022;--border:#12263a;--table-header-bg:#14233b;--table-header-text:#e6eef8;--table-row-hover-bg:#60a5fa1f;--table-border:#23415c}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Helvetica Neue,Arial;transition:background .2s,color .2s}a{color:var(--primary);text-decoration:none}.app-root{max-width:980px;margin:24px auto;padding:0 18px 24px}.app-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px;padding-bottom:18px;display:flex}.header-brand{min-width:220px}.app-title{margin:0;font-size:1.6rem;line-height:1.1}.header-subtitle{color:var(--muted);margin:8px 0 0;font-size:.95rem}.navigation{width:100%}.navigation-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.nav-links{font-size:inherit;flex-wrap:wrap;justify-content:flex-start;align-items:stretch;gap:10px;margin:0;padding:0;display:flex}.nav-link{min-height:44px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:10px 14px;text-decoration:none;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.nav-link:hover,.nav-link:focus-visible{background:var(--primary-surface);border-color:var(--primary);outline:none}.nav-link--active{background:var(--primary);color:#fff;border-color:#0000}.nav-toggle{display:none}.theme-toggle{white-space:nowrap}.navigation-top .theme-toggle,.navigation-top .nav-toggle{min-height:44px}@media (width<=640px){.app-header{align-items:stretch}.navigation-top{justify-content:space-between;width:100%}.nav-toggle{display:inline-flex}.nav-links{flex-direction:column;width:100%;display:none}.nav-links.open{display:flex}.nav-link{justify-content:flex-start;width:100%}}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:12px}@media (width<=640px){.app-root{margin:12px;padding:12px}h1{font-size:1.25rem}h2{font-size:1rem}button{padding:10px 12px;font-size:15px}}nav{justify-content:space-between;align-items:center;margin-bottom:24px;padding:18px;font-size:large;display:flex}body{line-height:1.25rem}table{border-collapse:collapse;width:100%;margin:0 auto;padding:0}table tbody tr:hover{background-color:var(--table-row-hover-bg)}table th,table td{border-bottom:1px solid var(--table-border);text-align:left;padding:8px 10px}table thead th{background-color:var(--table-header-bg);color:var(--table-header-text);letter-spacing:.02em;padding:10px;font-size:12px;font-weight:700}table thead tr{background-color:var(--table-header-bg)}label{margin-bottom:4px;font-weight:500;display:block}input,select,textarea{border:1px solid var(--border);background:var(--card);width:100%;min-height:44px;color:var(--text);border-radius:8px;padding:10px 12px;font-size:16px;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb26}.site-banner{color:#fff;z-index:1001;text-align:center;background:#000000d9;border-radius:8px;max-width:95%;padding:10px 16px;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #00000040}nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:24px;padding:18px;font-size:large;display:flex}table{border-collapse:collapse;width:100%;margin:0 auto;padding:0;display:block;overflow-x:auto}button{min-width:44px;min-height:44px;padding:10px 12px}button.btn,button.btn--outline,button.btn--active,button.btn--secondary{min-height:44px}.transaction-form-fieldset{flex-direction:column;gap:12px;display:flex}.transaction-form-fieldset input,.transaction-form-fieldset select,.transaction-form-fieldset textarea{font-size:16px}.transfer-row{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.transfer-row select{flex:140px}.form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.section-card,section.card{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:18px;padding:18px}.dashboard-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.dashboard-controls input,.dashboard-controls select{min-width:0}@media (width<=640px){.transfer-row,.form-actions{flex-direction:column}.form-actions button{width:100%}.dashboard-controls{flex-direction:column}}body{font-family:var(--font-family-base);font-size:var(--fs-md)}.text-xs{font-size:var(--fs-xs)}.text-sm{font-size:var(--fs-sm)}.text-md{font-size:var(--fs-md)}.text-lg{font-size:var(--fs-lg)}.text-xl{font-size:var(--fs-xl)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.btn{background:var(--primary);color:#fff;padding:calc(var(--space-2)) var(--space-3);cursor:pointer;border:none;border-radius:8px}.btn:disabled{opacity:.6;cursor:not-allowed}:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:var(--focus-width) solid var(--primary);outline-offset:var(--focus-offset)}@media (width>=640px){body{font-size:var(--fs-md)}}@media (width>=1024px){body{font-size:var(--fs-lg)}}.modal-overlay{z-index:1100;padding:var(--space-4);background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:var(--card);color:var(--text);padding:var(--space-4);border:1px solid var(--border);border-radius:12px;width:95%;max-width:720px;box-shadow:0 8px 24px #0003}.modal-actions{gap:var(--space-2);margin-top:var(--space-3);justify-content:flex-end;display:flex}.btn--secondary{color:var(--text);border:1px solid var(--border);background:0 0}.ui-locked{z-index:1000;background:#00000040;position:fixed;inset:0}.flex{display:flex}.flex-center{align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-column{flex-direction:column;display:flex}.wrap{flex-wrap:wrap}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.ml-auto{margin-left:auto}.mr-2{margin-right:8px}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.text-right{text-align:right}.text-center{text-align:center}.font-bold{font-weight:700}.cursor-pointer{cursor:pointer}.muted{color:var(--muted)}.small-muted{color:var(--muted);font-size:12px}.linkish{color:var(--primary);cursor:pointer}.table-full{border-collapse:collapse;width:100%;margin-top:16px}.table-full td,.table-full th{border-bottom:1px solid var(--border);padding:6px}.color-square{vertical-align:middle;border-radius:4px;width:16px;height:16px;margin-right:8px;display:inline-block}.min-w-220{min-width:220px}.label-sm{margin-bottom:4px;font-size:.9rem;display:block}.ml-2{margin-left:8px}.ml-3{margin-left:12px}.flex-1{flex:1}.text-danger{color:#dc143c}.hr-narrow{width:90%}.btn--outline{color:var(--text);border:1px solid var(--border);background:0 0;border-radius:6px;padding:8px 12px}.btn--active{background:var(--primary);color:#fff;border:1px solid var(--primary);border-radius:6px;padding:8px 12px}
