:root{--bg-body: #f6f7f9;--bg-surface: #ffffff;--bg-subtle: #f2f4f7;--text-main: #0b1220;--text-muted: #667085;--text-faint: #98a2b3;--border-color: #d0d5dd;--border-subtle: #e4e7ec;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-light: #eff6ff;--success-bg: #ecfdf3;--success-text: #166534;--success-border: #bbf7d0;--settled-bg: #ecfdf3;--settled-text: #166534;--settled-border: #bbf7d0;--warning-bg: #fff7e6;--warning-text: #92500a;--warning-border: #f4d7a1;--danger-bg: #fef2f2;--danger-text: #991b1b;--danger-border: #fecaca;--danger-btn: #dc2626;--danger-btn-hover: #b91c1c;--radius: 12px;--radius-lg: 16px;--bottom-bar-height: 60px;--safe-bottom: env(safe-area-inset-bottom, 0px);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow-md: 0 8px 24px rgba(16, 24, 40, .08)}*,*:before,*:after{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.5;color:var(--text-main);background-color:var(--bg-body);-webkit-font-smoothing:antialiased;padding-bottom:calc(var(--bottom-bar-height) + var(--safe-bottom) + 28px)}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{position:sticky;top:0;z-index:40;background:#fffffff0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle)}.header-inner{max-width:960px;margin:0 auto;height:56px;padding:0 20px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:9px;color:var(--text-main);font-size:16px;font-weight:700;letter-spacing:-.01em;text-decoration:none}.brand:hover{text-decoration:none}.brand-mark{width:27px;height:27px;border-radius:8px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:800;flex-shrink:0}.brand-name{white-space:nowrap}.app-main{min-height:calc(100vh - 56px)}.container{width:100%;max-width:960px;margin:0 auto;padding:20px 20px 0}.container-narrow{width:100%;max-width:560px;margin:0 auto;padding:20px 20px 0}.page{padding-top:20px}.page-head{margin:2px 0 20px}.page-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-title{margin:0;font-size:25px;line-height:1.15;letter-spacing:-.025em;font-weight:800;color:var(--text-main)}.page-sub{margin:6px 0 0;color:var(--text-muted);font-size:13.5px}.primary-action{display:flex;align-items:center;gap:14px;padding:18px;background:var(--primary);color:#fff;border-radius:var(--radius-lg);text-decoration:none;box-shadow:0 8px 18px #2563eb2e;transition:background-color .15s ease,transform .15s ease}.primary-action:hover{background:var(--primary-hover);color:#fff;text-decoration:none;transform:translateY(-1px)}.primary-action-icon{width:40px;height:40px;border-radius:12px;background:#ffffff29;display:grid;place-items:center;flex-shrink:0}.primary-action-text{display:flex;flex-direction:column;min-width:0;flex:1}.primary-action-title{font-size:16px;font-weight:700;line-height:1.2}.primary-action-sub{margin-top:2px;font-size:12.5px;color:#ffffffc7}.primary-action-arrow{flex-shrink:0;opacity:.72}.section{margin-top:26px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section-title{margin:0;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.section-link{font-size:13px;font-weight:600;color:var(--primary)}.card,.form-card,.detail-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card{padding:18px;margin-bottom:14px}.form-card{padding:18px;margin-bottom:18px}.card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.card-title{margin:0;font-size:17px;font-weight:700}.list-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.empty-state{padding:26px 18px;text-align:center;font-size:13.5px;color:var(--text-muted)}.empty-state .btn{margin-top:12px}.empty-state-icon{width:40px;height:40px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.empty-state-title{margin-bottom:3px;color:var(--text-main);font-size:14px;font-weight:700}.approval-list{margin-bottom:8px}.approval-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--border-subtle);transition:background-color .12s ease}.approval-row:last-child{border-bottom:0}.approval-row:hover{background:#fafbfc}.approval-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border);font-size:12.5px;font-weight:800;flex-shrink:0}.approval-avatar-settle{background:var(--primary-light);color:#1d4ed8;border-color:#c7dbff}.approval-body{min-width:0}.approval-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.approval-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;color:var(--text-main)}.approval-amount{flex-shrink:0;font-size:14.5px;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap}.approval-meta{display:flex;align-items:center;gap:5px;margin-top:2px;overflow:hidden;white-space:nowrap;color:var(--text-muted);font-size:12.5px}.approval-meta>span{overflow:hidden;text-overflow:ellipsis}.approval-dot{flex-shrink:0;opacity:.6}.approval-bill{flex-shrink:0;margin-left:2px;font-weight:600;color:var(--primary)}.approval-bill.is-missing{color:var(--warning-text)}.approval-view{flex-shrink:0;min-height:32px;padding:5px 12px}.approval-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.approval-actions .approval-view{padding:5px 10px}.member-search{min-height:40px;margin-bottom:12px;padding:8px 12px;font-size:14px}.member-list{margin-bottom:8px}.member-row{border-bottom:1px solid var(--border-subtle)}.member-row:last-child{border-bottom:0}.member-main{display:grid;grid-template-columns:36px minmax(0,1fr) 16px;align-items:center;gap:10px;width:100%;padding:11px 14px;border:0;background:none;color:inherit;font-family:inherit;text-align:left;cursor:pointer;transition:background-color .12s ease}.member-main:hover{background:#fafbfc}.member-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border-subtle);font-size:13px;font-weight:800;flex-shrink:0}.member-avatar.is-admin{background:var(--primary-light);color:#1d4ed8;border-color:#c7dbff}.member-body{display:flex;flex-direction:column;min-width:0}.member-top{display:flex;align-items:center;gap:7px;min-width:0}.member-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;color:var(--text-main)}.member-role{flex-shrink:0;padding:1px 7px;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.member-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:12.5px}.member-meta{display:flex;align-items:center;gap:5px;margin-top:3px;color:var(--text-muted);font-size:11.5px;white-space:nowrap;overflow:hidden}.member-status{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;font-weight:600}.member-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.member-status.is-active{color:var(--success-text)}.member-status.is-pending{color:var(--warning-text)}.member-status.is-inactive{color:var(--danger-text)}.member-chevron{flex-shrink:0;color:var(--text-faint);transition:transform .15s ease}.member-row.is-open .member-chevron{transform:rotate(180deg)}.member-drawer{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 13px 60px}.member-drawer .btn{min-height:32px;padding:5px 12px;font-size:12.5px}.member-danger{color:var(--danger-btn)}.member-success{color:#16a34a}.claim-row{display:block;padding:14px 16px;color:inherit;text-decoration:none;border-bottom:1px solid var(--border-subtle);transition:background-color .12s ease}.claim-row:last-child{border-bottom:0}.claim-row:hover{background:#fafbfc;text-decoration:none}.claim-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.claim-row-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:650;color:var(--text-main)}.claim-row-amount{flex-shrink:0;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap}.claim-row-meta{display:flex;align-items:center;gap:6px;margin-top:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text-muted);font-size:12.5px}.claim-row-dot{opacity:.6}.claim-row-invoice{overflow:hidden;text-overflow:ellipsis}.claim-row-desc{margin-top:6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text-muted);font-size:13px}.claim-row-foot{display:flex;align-items:center;margin-top:9px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;border:1px solid transparent;font-size:11px;font-weight:650;line-height:1.4;letter-spacing:.02em;white-space:nowrap}.badge-dot{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.9}.badge-pending{background:var(--warning-bg);color:var(--warning-text);border-color:var(--warning-border)}.badge-approved{background:var(--primary-light);color:#1d4ed8;border-color:#c7dbff}.badge-settled{background:var(--settled-bg);color:var(--settled-text);border-color:var(--settled-border)}.badge-rejected{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger-border)}.badge-neutral{background:var(--bg-subtle);color:var(--text-muted);border-color:var(--border-color)}.filter-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;padding:2px 0 4px}.filter-tab{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;min-height:34px;padding:6px 9px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-muted);font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.filter-tab:hover{background:var(--bg-subtle)}.filter-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.filter-count{font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:999px;background:var(--bg-subtle);color:var(--text-muted)}.filter-tab.active .filter-count{background:#ffffff38;color:#fff}.form-group{margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.form-row .form-group{margin-bottom:0}.claim-form .form-group,.claim-form .form-row{margin-bottom:12px}.claim-form .form-row .form-group{margin-bottom:0}.claim-form textarea.form-control{min-height:60px}.claim-form .upload-box{padding:10px 12px}.claim-form .checkbox-field{margin-bottom:12px;padding:10px 12px}.claim-form .form-note{margin:2px 0 10px}.form-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:13px;font-weight:600;color:var(--text-main)}.form-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.form-label-row .form-label{margin-bottom:0}.link-button{padding:0;border:0;background:none;color:var(--primary);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.link-button:hover:not(:disabled){text-decoration:underline}.link-button:disabled{opacity:.6;cursor:not-allowed}.req{color:var(--danger-btn)}.label-optional{font-size:11.5px;font-weight:500;color:var(--text-faint)}.form-control{width:100%;min-height:46px;padding:11px 13px;color:var(--text-main);background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:10px;font-size:16px;line-height:1.35;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .12s ease,box-shadow .12s ease}.form-control::placeholder{color:var(--text-faint)}.form-control:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb24}.form-control.is-invalid{border-color:#f04438}.form-control.is-invalid:focus{box-shadow:0 0 0 3px #f0443824}textarea.form-control{min-height:76px;padding-top:11px;resize:vertical}select.form-control{padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.form-hint{display:block;margin-top:5px;font-size:12px;line-height:1.4;color:var(--text-muted)}.field-error{display:block;margin-top:6px;font-size:12.5px;font-weight:600;color:var(--danger-text)}.input-affix{position:relative}.input-prefix{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:15px;font-weight:600;pointer-events:none}.input-affix .input-prefix~.form-control{padding-left:34px}.input-affix .form-control.has-toggle{padding-right:44px}.input-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:8px;background:none;color:var(--text-muted);cursor:pointer}.input-toggle:hover{color:var(--text-main);background:var(--bg-subtle)}.form-note{display:flex;align-items:center;gap:6px;margin:4px 0 14px;color:var(--text-muted);font-size:12px}.upload-box{padding:14px;border:1px dashed var(--border-color);border-radius:12px;background:#fbfcfd}.upload-box.is-invalid{border-color:#f04438;background:snow}.upload-actions{display:flex;flex-wrap:wrap;gap:8px}.file-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.file-chip{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border-subtle);border-radius:9px;background:var(--bg-surface);font-size:12.5px}.file-chip-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.file-chip-size{color:var(--text-muted);font-size:11.5px}.file-remove{border:0;background:none;color:var(--text-muted);font-size:18px;line-height:1;padding:2px 4px;cursor:pointer}.file-remove:hover{color:var(--danger-text)}.checkbox-field{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-surface);cursor:pointer}.checkbox-field input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--primary);flex-shrink:0}.checkbox-text{font-size:13.5px;font-weight:600}.checkbox-hint{display:block;margin-top:2px;color:var(--text-muted);font-size:12px;font-weight:400}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 16px;border:1px solid transparent;border-radius:10px;font-family:inherit;font-size:14.5px;font-weight:650;cursor:pointer;text-decoration:none;transition:background-color .15s ease,border-color .15s ease}.btn:hover{text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--bg-surface);color:var(--text-main);border-color:var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-subtle)}.btn-danger{background:var(--danger-btn);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-btn-hover)}.btn-success{background:#16a34a;color:#fff}.btn-success:hover:not(:disabled){background:#15803d}.btn-sm{min-height:34px;padding:6px 12px;border-radius:9px;font-size:12.5px}.btn-block{width:100%}.alert{margin-bottom:14px;padding:11px 13px;border:1px solid transparent;border-radius:10px;font-size:13px;font-weight:500}.alert-success{background:var(--success-bg);color:var(--success-text);border-color:var(--success-border)}.alert-danger{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger-border)}.alert-warning{background:var(--warning-bg);color:var(--warning-text);border-color:var(--warning-border)}.notice{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:500}.notice-success{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.notice-close{border:0;background:none;color:inherit;font-size:18px;line-height:1;padding:2px 4px;cursor:pointer}.back-button{display:inline-flex;align-items:center;gap:6px;min-height:32px;margin-bottom:14px;padding:0;border:0;background:none;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer}.back-button:hover{color:var(--text-main)}.detail-card{padding:18px;margin-bottom:14px}.detail-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--border-subtle)}.detail-category{color:var(--text-muted);font-size:13px;font-weight:600}.detail-amount{margin-top:2px;font-size:26px;font-weight:800;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.detail-list{margin:0;padding:0}.detail-list>div{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--border-subtle)}.detail-list dt{margin:0;color:var(--text-muted);font-size:12.5px}.detail-list dd{margin:0;text-align:right;font-size:13px;font-weight:600;overflow-wrap:anywhere}.detail-muted{display:block;margin-top:2px;color:var(--text-muted);font-size:12px;font-weight:400}.detail-block{padding-top:14px}.detail-label{margin-bottom:6px;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.detail-text{margin:0;font-size:14px;line-height:1.5}.detail-warning{margin-top:14px;padding:12px;border:1px solid var(--warning-border);border-radius:10px;background:var(--warning-bg)}.detail-warning-label,.detail-warning .detail-text{color:var(--warning-text)}.detail-empty{margin:0;color:var(--text-muted);font-size:13px}.attachment-list{border-top:1px solid var(--border-subtle)}.attachment-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-subtle);font-size:13px}.attachment-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-link{flex-shrink:0;font-size:12.5px;font-weight:600}.audit-list{display:flex;flex-direction:column;gap:8px}.audit-item{padding:11px 12px;border-radius:10px;background:var(--bg-subtle)}.audit-title{font-size:12.5px;font-weight:700;text-transform:capitalize}.audit-meta{margin-top:2px;color:var(--text-muted);font-size:12px}.audit-note{margin-top:5px;font-size:12.5px;font-style:italic}.admin-panel{display:grid;grid-template-columns:1fr;gap:12px}.action-card{padding:14px;margin-bottom:12px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-surface)}.action-approve{background:#f6fef9;border-color:var(--success-border)}.action-reject{background:#fff5f5;border-color:var(--danger-border)}.action-settle{background:#f5f9ff;border-color:#c7dbff}.action-title{margin:0 0 10px;font-size:14px;font-weight:700}.action-copy{margin:-4px 0 10px;color:var(--text-muted);font-size:12.5px}.action-card .form-control{margin-bottom:10px}.auth-head{display:flex;flex-direction:column;align-items:center;margin:16px 0 24px;text-align:center}.auth-mark{width:40px;height:40px;border-radius:12px;font-size:17px;margin-bottom:12px}.auth-logo{width:180px;height:auto;max-width:100%;object-fit:contain;margin-bottom:4px;display:block}.auth-title{margin:0;font-size:24px;font-weight:800;letter-spacing:-.02em}.auth-sub{margin:5px 0 0;color:var(--text-muted);font-size:13.5px}.status-card{text-align:center;padding:28px 20px}.status-mark{width:46px;height:46px;margin:0 auto 14px;border-radius:14px;display:grid;place-items:center}.status-mark-pending{background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border)}.status-mark-rejected{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}.status-title{margin:0 0 8px;font-size:20px;font-weight:800;letter-spacing:-.02em}.status-copy{max-width:360px;margin:0 auto 20px;color:var(--text-muted);font-size:13.5px;line-height:1.6}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:100;background:#fffffff7;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--border-subtle);padding-bottom:var(--safe-bottom)}.bottom-nav-inner{display:flex;max-width:720px;margin:0 auto;height:var(--bottom-bar-height)}.bottom-nav-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 2px;border:0;background:none;color:#8a94a6;font-family:inherit;font-size:10.5px;font-weight:600;text-decoration:none;cursor:pointer;transition:color .12s ease}.bottom-nav-item:hover{color:var(--primary);text-decoration:none}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-icon-wrap{display:grid;place-items:center;width:38px;height:26px;border-radius:8px;transition:background-color .12s ease}.bottom-nav-item.active .bottom-nav-icon-wrap{background:var(--primary-light)}.bottom-nav-label{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a73;animation:fade-in .12s ease}.modal{width:100%;max-width:340px;padding:20px;border-radius:16px;background:var(--bg-surface);box-shadow:0 20px 40px #1018282e;animation:modal-in .14s ease}.modal-wide{max-width:420px;max-height:calc(100vh - 40px);overflow-y:auto}.modal-title{margin:0;font-size:17px;font-weight:750;letter-spacing:-.01em}.modal-message{margin:8px 0 0;color:var(--text-muted);font-size:13.5px;line-height:1.5}.modal-message strong{color:var(--text-main);font-weight:750}.modal-field{display:block;margin-top:14px}.modal-label{display:block;margin-bottom:6px;color:var(--text-muted);font-size:12.5px;font-weight:600}.modal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.modal-grid .modal-field{margin-top:12px}.modal-hint{margin:10px 0 0;color:var(--text-muted);font-size:12px}.modal-alert{margin-top:12px;margin-bottom:0}.modal-actions{display:flex;gap:8px;margin-top:20px}.modal-actions .btn{flex:1}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th,.data-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-subtle);vertical-align:top}.data-table th{background:var(--bg-subtle);color:var(--text-muted);font-size:12px;font-weight:700;text-transform:uppercase}@media (max-width: 640px){body{font-size:14px}.header-inner{padding:0 16px}.container,.container-narrow{padding:16px 16px 0}.page{padding-top:16px}.page-title{font-size:23px}.card,.form-card,.detail-card{padding:16px}.detail-amount{font-size:24px}.modal{padding:18px}}@media (max-width: 360px){.container,.container-narrow{padding-left:14px;padding-right:14px}.header-inner{padding:0 14px}.page-title{font-size:22px}.primary-action{padding:16px;gap:12px}.primary-action-icon{width:36px;height:36px}.claim-row{padding:13px 14px}.approval-row{grid-template-columns:30px minmax(0,1fr) auto;gap:8px;padding:10px 12px}.approval-avatar{width:30px;height:30px}.member-main{grid-template-columns:32px minmax(0,1fr) 16px;gap:8px;padding:10px 12px}.member-avatar{width:32px;height:32px}.member-drawer{padding:0 12px 12px}.detail-card,.form-card,.modal-backdrop{padding:14px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
