:root{--primary: #0f3460;--bg: #fafafa;--surface: #ffffff;--text: #1a1a1a;--muted: #737373;--border: #e5e5e5;--success: #16a34a;--danger: #dc2626;--trophy-bg: #fef3c7;--trophy-text: #92400e;--radius: 4px;--max-w: 640px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.5;color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:14px;cursor:pointer;border:none;border-radius:var(--radius)}input,textarea,select{font-family:inherit;font-size:14px}h1{font-size:20px;font-weight:700}h2{font-size:16px;font-weight:600}h3{font-size:14px;font-weight:600}.navbar{position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:1px solid var(--border);height:48px;display:flex;align-items:center}.navbar-inner{max-width:var(--max-w);margin:0 auto;width:100%;padding:0 16px;display:flex;align-items:center;justify-content:space-between}.navbar-brand{font-size:18px;font-weight:700;color:var(--primary);text-decoration:none!important}.navbar-links{display:flex;align-items:center;gap:16px}.navbar-links a{color:var(--text);font-size:14px}.navbar-links a:hover{color:var(--primary)}.page{max-width:var(--max-w);margin:0 auto;padding:24px 16px}.page-title{margin-bottom:20px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card+.card{margin-top:8px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:7px 14px;border-radius:var(--radius);font-weight:500;line-height:1;transition:opacity .1s}.btn:hover{opacity:.85}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-secondary{background:transparent;color:var(--primary);border:1px solid var(--primary)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.btn-sm{padding:4px 10px;font-size:13px}.btn-block{width:100%}.form-group{margin-bottom:14px}.form-group label{display:block;font-weight:500;margin-bottom:4px}.input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);outline:none}.input:focus{border-color:var(--primary)}textarea.input{resize:vertical;min-height:80px}select.input{height:36px}.badge{display:inline-block;padding:2px 8px;border-radius:var(--radius);font-size:12px;font-weight:500}.badge-pending{background:#fef9c3;color:#854d0e}.badge-active{background:#dcfce7;color:#166534}.badge-settle{background:#ffedd5;color:#9a3412}.badge-settled{background:#f3f4f6;color:#374151}.badge-declined{background:#fee2e2;color:#991b1b}.badge-expired{background:#f3f4f6;color:#6b7280}.activity-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:var(--primary);color:#fff;border-radius:9px;font-size:11px;font-weight:700}.tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:16px}.tab{padding:10px 16px;font-weight:500;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--primary);color:#fff;font-weight:600;flex-shrink:0}.avatar-sm{width:32px;height:32px;font-size:13px}.avatar-md{width:40px;height:40px;font-size:16px}.avatar-lg{width:64px;height:64px;font-size:24px}.avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.friend-row{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-decoration:none!important}.friend-row+.friend-row{margin-top:6px}.friend-row:hover{background:#f5f7ff}.friend-row-info{flex:1;min-width:0}.friend-row-name{font-weight:600}.friend-row-sub{font-size:12px;color:var(--muted)}.bet-row{display:flex;align-items:flex-start;gap:10px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-decoration:none!important;color:var(--text)}.bet-row+.bet-row{margin-top:6px}.bet-row:hover{background:#f9f9f9}.bet-row-body{flex:1;min-width:0}.bet-row-prop{font-weight:500;line-height:1.4}.bet-row-meta{font-size:12px;color:var(--muted);margin-top:2px}.space-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.space-header-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}.space-header-name{font-size:18px;font-weight:700}.space-header-stats{display:flex;gap:16px;font-size:13px;color:var(--muted);flex-wrap:wrap}.space-header-stats strong{color:var(--text)}.trophy-chip{display:inline-flex;align-items:center;gap:4px;background:var(--trophy-bg);color:var(--trophy-text);padding:2px 8px;border-radius:var(--radius);font-size:12px;font-weight:500}.iou-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius);font-size:13px}.iou-row+.iou-row{margin-top:6px}.iou-redeemed{opacity:.5;text-decoration:line-through}.chat-messages{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;min-height:200px}.chat-msg{max-width:80%}.chat-msg.mine{align-self:flex-end}.chat-msg.theirs{align-self:flex-start}.chat-bubble{padding:8px 12px;border-radius:12px;line-height:1.4;font-size:14px}.chat-msg.mine .chat-bubble{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.chat-msg.theirs .chat-bubble{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:4px}.chat-time{font-size:11px;color:var(--muted);margin-top:2px;padding:0 4px}.chat-msg.mine .chat-time{text-align:right}.chat-input-row{display:flex;gap:8px}.chat-input-row .input{flex:1}.bet-detail-prop{font-size:18px;font-weight:600;line-height:1.4;margin-bottom:12px}.bet-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.bet-detail-cell{font-size:13px}.bet-detail-cell .label{color:var(--muted);font-size:12px;margin-bottom:2px}.bet-detail-cell .value{font-weight:500}.action-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:12px}.action-card h3{margin-bottom:10px}.action-card p{color:var(--muted);font-size:13px;margin-bottom:12px}.ai-ruling{background:#f0f9ff;border:1px solid #bae6fd;border-radius:var(--radius);padding:14px}.ai-ruling .label{font-size:12px;color:#0369a1;font-weight:600;margin-bottom:4px}.claims-log{margin-top:16px}.claims-log h3{margin-bottom:8px;color:var(--muted)}.claim-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.claim-yes{color:var(--success);font-weight:600}.claim-no{color:var(--danger);font-weight:600}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--bg)}.auth-box{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px 28px}.auth-box h1{font-size:24px;margin-bottom:4px}.auth-box .auth-sub{color:var(--muted);margin-bottom:24px;font-size:13px}.search-row{display:flex;gap:8px;margin-bottom:16px}.search-row .input{flex:1}.request-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.request-row+.request-row{margin-top:6px}.request-row-actions{display:flex;gap:8px}.notif-row{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.notif-row.unread{background:#f0f4ff;border-color:#c7d2fe}.notif-row+.notif-row{margin-top:6px}.notif-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);flex-shrink:0;margin-top:5px}.notif-dot.read{background:transparent}.notif-title{font-weight:600;font-size:13px}.notif-body{font-size:13px;color:var(--muted);margin-top:1px}.notif-time{font-size:11px;color:var(--muted);margin-top:3px}.profile-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px}.stat-cell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;text-align:center}.stat-cell .stat-val{font-size:22px;font-weight:700;color:var(--primary)}.stat-cell .stat-lbl{font-size:11px;color:var(--muted);margin-top:2px}.section-title{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.empty{color:var(--muted);font-size:13px;padding:16px 0}.error-banner{max-width:var(--max-w);margin:12px auto 0;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fef2f2;border:1px solid #fca5a5;border-radius:var(--radius);color:#991b1b;font-size:13px}.form-error{color:var(--danger);font-size:13px;margin-bottom:12px}.divider{border:none;border-top:1px solid var(--border);margin:16px 0}.text-muted{color:var(--muted)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-gap-8{display:flex;align-items:center;gap:8px}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.invite-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;font-family:monospace;font-size:13px;word-break:break-all;color:var(--muted)}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.toggle-row:last-child{border-bottom:none}.toggle{position:relative;width:40px;height:22px;background:var(--border);border-radius:11px;cursor:pointer;transition:background .2s;flex-shrink:0}.toggle.on{background:var(--primary)}.toggle:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;left:3px;transition:left .2s}.toggle.on:after{left:21px}
