:root{--bg: #f7f7fb;--text: #111827;--muted: #6b7280;--primary: #2563eb;--card: #ffffff;--border: #e5e7eb;--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}}html[data-theme=dark]{--bg: #0b1220;--text: #e6eef8;--muted: #94a3b8;--primary: #60a5fa;--card: #071022;--border: #12263a}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Helvetica Neue,Arial;background:var(--bg);color:var(--text);transition:background .2s,color .2s}a{color:var(--primary);text-decoration:none}.app-root{max-width:960px;margin:24px auto;padding:18px;background:transparent}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:12px}@media(max-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{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:18px;font-size:large}body{line-height:1.25rem}table{border-collapse:collapse;margin:0 auto;padding:0;width:100%}table tbody tr:hover{background-color:#4241a8}table th,table td{border-bottom:1px solid #eee;padding:4px}table thead th{font-size:12px;padding:6px}table thead tr{background-color:#5c55b2}label{display:block;margin-bottom:4px;font-weight:500}input,select,textarea{width:100%;padding:8px;border:1px solid var(--border);border-radius:4px;background:var(--card);color:var(--text);transition:border-color .2s;font-size:large}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none}.site-banner{position:fixed;top:12px;left:50%;transform:translate(-50%);background:#000000d9;color:#fff;padding:10px 16px;border-radius:8px;z-index:1001;max-width:95%;box-shadow:0 6px 18px #00000040;text-align:center}nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:18px;font-size:large;flex-wrap:wrap;gap:8px}table{border-collapse:collapse;margin:0 auto;padding:0;width:100%;display:block;overflow-x:auto}button{min-height:44px;min-width:44px;padding:10px 12px}.transaction-form-fieldset{display:flex;flex-direction:column;gap:12px}.transaction-form-fieldset input,.transaction-form-fieldset select,.transaction-form-fieldset textarea{font-size:16px}.transfer-row{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.transfer-row select{flex:1 1 140px}.form-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.section-card,section.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:18px}.dashboard-controls{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}.dashboard-controls input,.dashboard-controls select{min-width:0}@media(max-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;border:none;padding:calc(var(--space-2)) var(--space-3);border-radius:8px;cursor:pointer}.btn:disabled{opacity:.6;cursor:not-allowed}:focus-visible{outline:var(--focus-width) solid var(--primary);outline-offset:var(--focus-offset)}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(min-width:640px){body{font-size:var(--fs-md)}}@media(min-width:1024px){body{font-size:var(--fs-lg)}}.modal-overlay{position:fixed;inset:0;background:#00000059;z-index:1100;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal-box{background:var(--card);color:var(--text);padding:var(--space-4);border-radius:12px;width:95%;max-width:720px;box-shadow:0 8px 24px #0003;border:1px solid var(--border)}.modal-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-3)}.btn--secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.ui-locked{position:fixed;inset:0;background:#00000040;z-index:1000}.flex{display:flex}.flex-center{display:flex;align-items:center}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-column{display:flex;flex-direction:column}.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{font-size:12px;color:var(--muted)}.linkish{color:var(--primary);cursor:pointer}.table-full{width:100%;margin-top:16px;border-collapse:collapse}.table-full td,.table-full th{padding:6px;border-bottom:1px solid var(--border)}.color-square{display:inline-block;width:16px;height:16px;border-radius:4px;margin-right:8px;vertical-align:middle}.min-w-220{min-width:220px}.label-sm{font-size:.9rem;margin-bottom:4px;display:block}.ml-2{margin-left:8px}.ml-3{margin-left:12px}.flex-1{flex:1 1 0%}.text-danger{color:#dc143c}.hr-narrow{width:90%}.btn--outline{background:transparent;color:var(--text);border:1px solid var(--border);padding:8px 12px;border-radius:6px}.btn--active{background:var(--primary);color:#fff;padding:8px 12px;border-radius:6px;border:1px solid var(--primary)}
