:root{--ink-900: #1b2430;--ink-800: #232f3d;--ink-700: #2f3e50;--paper-100: #f7f3ea;--paper-200: #efe8d8;--rule: #d8cdb2;--brass-500: #b8923f;--brass-600: #9c7830;--brass-100: #f1e3c4;--ok-600: #3f7d52;--warn-600: #b8923f;--danger-600: #a23b32;--font-display: "Source Serif 4", Georgia, serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "IBM Plex Mono", "Courier New", monospace;--radius: 6px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper-100);color:var(--ink-900);font-family:var(--font-body);font-size:15px}h1,h2,h3{font-family:var(--font-display);margin:0}.topbar{background:var(--ink-900);color:var(--paper-100);display:flex;align-items:center;justify-content:space-between;padding:14px 28px}.topbar .brand{font-family:var(--font-display);font-size:18px}.topbar .shop-name{font-size:12.5px;color:#f7f3eaa6;margin-top:2px}.topbar .powered-by{font-size:11.5px;color:#f7f3ea80}.sync-pill{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:6px 12px;border-radius:999px;background:#f7f3ea14}.sync-dot{width:8px;height:8px;border-radius:50%}.sync-dot.idle{background:var(--ok-600)}.sync-dot.syncing{background:var(--warn-600);animation:pulse 1s infinite}.sync-dot.offline{background:var(--danger-600)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.main{max-width:920px;margin:0 auto;padding:28px 24px 60px}.card{background:#fffdf8;border:1px solid var(--rule);border-radius:var(--radius);box-shadow:0 1px 2px #1b24300f,0 4px 14px #1b24300f}.card-pad{padding:24px 28px}.tabs{display:flex;gap:4px;margin-bottom:18px;border-bottom:1px solid var(--rule)}.tab{padding:10px 18px;font-size:14px;font-weight:500;color:var(--ink-700);border-bottom:2px solid transparent;cursor:pointer;background:none;border-top:none;border-left:none;border-right:none}.tab.active{color:var(--ink-900);border-bottom-color:var(--brass-500)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:13px;font-weight:600;color:var(--ink-700)}.field input,.field select,.field textarea{border:1px solid var(--rule);border-radius:var(--radius);padding:12px 14px;font-size:16px;background:#fff;color:var(--ink-900)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--brass-500);outline-offset:1px;border-color:var(--brass-500)}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ink-900);background:var(--ink-900);color:var(--paper-100);padding:12px 20px;border-radius:var(--radius);font-size:15px;font-weight:500}.btn:disabled{opacity:.5}.btn-brass{background:var(--brass-500);border-color:var(--brass-500);color:var(--ink-900)}.btn-ghost{background:transparent;color:var(--ink-900)}.customer-result{padding:10px 14px;border:1px solid var(--rule);border-radius:var(--radius);margin-bottom:8px;cursor:pointer;background:#fff}.customer-result:hover{background:var(--paper-200)}.customer-result.selected{border-color:var(--brass-500);background:var(--brass-100)}table.ledger{width:100%;border-collapse:collapse;font-size:14px}table.ledger th{text-align:left;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-700);padding:10px 14px;border-bottom:2px solid var(--ink-900);background:var(--paper-200)}table.ledger td{padding:10px 14px;border-bottom:1px solid var(--rule)}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600}.badge-online{background:#e3f1e6;color:var(--ok-600)}.badge-offline{background:#f2e3e1;color:var(--danger-600)}.badge-pending{background:var(--brass-100);color:var(--brass-600)}.mono{font-family:var(--font-mono)}.error-text{color:var(--danger-600);font-size:13px;margin-top:4px}.success-banner{background:#e3f1e6;color:var(--ok-600);border-radius:var(--radius);padding:14px 18px;margin-bottom:18px;font-size:14.5px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ink-900)}.login-card{width:380px;background:var(--paper-100);border-radius:var(--radius);padding:36px 32px;box-shadow:0 20px 60px #0006}.login-card .mark{font-family:var(--font-display);font-size:24px}.login-card .sub{font-size:12.5px;color:var(--ink-700);margin:4px 0 24px}.login-card .powered-by{font-size:11.5px;color:var(--ink-700);opacity:.7}
