:root{--bg:#fff4f6;--surface:#fffdfb;--input-bg:#fff8f8;--text:#6d5360;--text-strong:#2d1821;--muted:#8f7380;--border:#f3ccd5;--accent:#d94f73;--accent-soft:#ffe6ec;--focus:#d94f7352;--shadow:0 14px 32px #6c30441a;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100svh;margin:0}button,input,select,textarea{letter-spacing:0}h1,h2,p{overflow-wrap:anywhere}h1{color:var(--text-strong);letter-spacing:0;margin:0;font-size:clamp(32px,5vw,56px);line-height:1.04}h2{color:var(--text-strong);letter-spacing:0;font-size:20px;line-height:1.2}.app-shell{box-sizing:border-box;width:min(1120px,100%);margin:0 auto;padding:36px 24px 48px}.topbar{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.eyebrow{letter-spacing:0;color:var(--muted);text-transform:uppercase;margin:0 0 8px;font-size:13px;font-weight:700}.score-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.score-card{border:1px solid var(--border);background:linear-gradient(145deg, #ffffffeb, #ffeff3c7), var(--surface);min-height:170px;box-shadow:var(--shadow);box-sizing:border-box;border-radius:8px;padding:24px}.score-card-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.score-card h2,.section-heading h2{margin:0}.score-card strong{color:var(--text-strong);margin-top:22px;font-size:56px;line-height:1;display:block}.score-card span:not(.status-dot){color:var(--muted);margin-top:10px;font-size:15px;display:block}.status-dot{background:#f0628d;border-radius:999px;width:12px;height:12px;box-shadow:0 0 0 4px #f0628d26}.skeleton{background:linear-gradient(90deg, transparent, #ffffff80, transparent), var(--surface);background-size:220% 100%;animation:1.2s infinite shimmer}.workspace{grid-template-columns:minmax(300px,420px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.action-panel,.history-panel{border:1px solid var(--border);background:linear-gradient(180deg, #ffffffe6, #fff6f8d6), var(--surface);box-shadow:var(--shadow);border-radius:8px}.action-panel{gap:18px;padding:22px;display:grid}.history-panel{padding:22px}.section-heading{gap:6px;display:grid}.section-heading p,.empty-state,.transaction-row p,.action-card p{color:var(--muted);margin:0;font-size:14px}.quick-actions{gap:12px;display:grid}.action-card{border:1px solid var(--border);background:linear-gradient(145deg, #ffffffe6, #ffeef39e), var(--input-bg);border-radius:8px;gap:16px;padding:16px;display:grid}.action-card h3{color:var(--text-strong);margin:0 0 4px;font-size:22px;line-height:1.15}.button-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.action-card:first-child .button-row{grid-template-columns:repeat(2,minmax(0,1fr))}.action-button,.ghost-button{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:6px;font-weight:800}.action-button{min-height:54px;color:var(--text-strong);background:var(--surface);border-color:var(--border);font-size:18px}.action-button.add{color:#7a3d16;background:#fff0df;border-color:#f1c690}.action-button.deduct{color:#9f254b;background:#ffe9ef;border-color:#f3b8c8}.ghost-button{color:#8c2f4f;border-color:var(--border);background:#fff8fa;min-height:40px;padding:0 14px}button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.6}.notice{text-align:left;border:1px solid;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:12px 14px;font-size:14px;display:flex}.notice.success{color:#7a3d16;background:#fff4e8;border-color:#f1c690}.notice.danger{color:#9f254b;background:#ffe9ef;border-color:#f3b8c8}.notice.identity{color:#7f3150;background:#fff0f4;border-color:#f4c4d0}.notice.identity button{color:#8c2f4f;min-height:32px;font:inherit;cursor:pointer;background:#fff;border:1px solid #efb2c2;border-radius:6px;font-size:13px;font-weight:800}.identity-gate{border:1px solid var(--border);background:linear-gradient(135deg, #ffffffeb, #ffe9efc7), var(--surface);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(240px,360px);align-items:center;gap:24px;margin-bottom:18px;padding:24px;display:grid}.identity-gate h2{margin:0 0 8px}.identity-gate p:not(.eyebrow){color:var(--muted);margin:0}.identity-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.identity-button{color:#fff;min-height:56px;font:inherit;cursor:pointer;background:linear-gradient(135deg,#e45a81,#c83a63);border:1px solid #c53e64;border-radius:8px;font-weight:900}.history-list{gap:10px;margin-top:18px;display:grid}.transaction-row{border:1px solid var(--border);background:linear-gradient(145deg, #ffffffe6, #fff2f5bd), var(--input-bg);border-radius:8px;justify-content:space-between;gap:16px;padding:14px;display:flex}.transaction-title{color:var(--text-strong);flex-wrap:wrap;gap:6px;font-weight:800;display:flex}.transaction-meta{white-space:nowrap;justify-items:end;gap:4px;display:grid}.transaction-meta strong{font-size:22px;line-height:1}.transaction-meta time{color:var(--muted);font-size:13px}.positive{color:#9a5a18}.negative{color:#b52a56}.empty-state{text-align:center;padding:28px 0}@keyframes shimmer{0%{background-position:220% 0}to{background-position:-220% 0}}@media (width<=760px){.app-shell{padding:24px 16px 32px}.topbar,.transaction-row{flex-direction:column}.score-grid,.identity-gate,.workspace,.identity-actions{grid-template-columns:1fr}.score-card{min-height:148px}.score-card strong{font-size:46px}.transaction-meta{justify-items:start}}
