:root{--bg-page: #faf8f5;--bg-card: #ffffff;--bg-header: #f5f0ea;--bg-row-alt: #faf8f5;--bg-input: #ffffff;--bg-hover: #f5f0ea;--text-primary: #2c2825;--text-secondary: #7a7470;--text-muted: #a8a29e;--color-positive: #3a7d44;--color-negative: #c44536;--color-accent: #b8860b;--color-warning-bg: #fef9e7;--color-warning-border: #e6c200;--color-danger: #a00;--border-light: #e8e4df;--border-card: #e0dbd5;--radius-sm: 4px;--radius-md: 8px;--shadow-card: 0 1px 3px rgba(44, 40, 37, .06), 0 0 0 1px var(--border-card);--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--font-sans: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Menlo", monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 18px;--leading-tight: 1.3;--leading-normal: 1.6}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tabular-nums{font-variant-numeric:tabular-nums}.positive{color:var(--color-positive)}.negative{color:var(--color-negative)}table.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}table.data-table th{text-align:left;font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);padding:var(--space-sm) var(--space-md);border-bottom:2px solid var(--border-light)}table.data-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-light)}table.data-table tbody tr:nth-child(2n){background:var(--bg-row-alt)}table.data-table td.numeric,table.data-table th.numeric{text-align:right;font-variant-numeric:tabular-nums}table.data-table tfoot td{font-weight:700;border-top:2px solid var(--border-light);border-bottom:none}.btn{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;font-size:var(--text-sm);font-weight:500;border:1px solid var(--border-card);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:all .15s ease;line-height:1;font-family:inherit}.btn:hover{background:var(--bg-hover);border-color:#ccc7c0}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--text-primary);color:var(--bg-card);border-color:var(--text-primary)}.btn-primary:hover{background:#3d3834;border-color:#3d3834}.btn-danger{color:var(--color-danger);border-color:#e0b0b0}.btn-danger:hover{background:#fdf2f2}.btn-sm{padding:4px 10px;font-size:var(--text-xs)}.input,.select,table.data-table input,table.data-table select{padding:5px 8px;font-size:var(--text-sm);font-family:inherit;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);outline:none;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,table.data-table input:focus,table.data-table select:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px #b8860b1f}.card{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-lg) var(--space-xl)}.card-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-light)}.card-subtitle{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);margin:var(--space-lg) 0 var(--space-sm)}.text-right{text-align:right}.text-muted{color:var(--text-secondary)}.text-small{font-size:var(--text-xs)}.flex-row{display:flex;align-items:center;gap:var(--space-sm)}.flex-col{display:flex;flex-direction:column;gap:var(--space-md)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.warnings-bar{margin:var(--space-sm) var(--space-lg);padding:var(--space-sm) var(--space-md);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:#5a4e00}.topbar{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-xl);background:var(--bg-header);border-bottom:2px solid var(--border-light)}.topbar-brand{font-size:var(--text-xl);font-weight:700;color:var(--text-primary);white-space:nowrap}.topbar-day{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.topbar-metrics{display:flex;gap:var(--space-xl);flex:1;justify-content:center}.topbar-metric{display:flex;flex-direction:column;align-items:flex-start}.topbar-metric-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.topbar-metric-value{font-size:var(--text-lg);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary)}.topbar-actions{display:flex;gap:var(--space-sm);align-items:center}.dashboard{max-width:1440px;margin:0 auto;padding:0 var(--space-lg)}.tab-nav{display:flex;gap:var(--space-xs);padding:var(--space-md) 0;border-bottom:1px solid var(--border-light);margin-bottom:var(--space-lg)}.tab-item{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;font-size:var(--text-sm);font-weight:500;font-family:inherit;color:var(--text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;cursor:pointer;transition:all .15s ease;margin-bottom:-1px}.tab-item:hover{color:var(--text-primary);background:var(--bg-hover)}.tab-active{color:var(--text-primary);font-weight:600;border-bottom-color:var(--text-primary)}.tab-icon{font-size:var(--text-base)}.dashboard-grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);align-items:start}.page-single{max-width:800px;padding:0 0 var(--space-xl)}.dashboard-col{display:flex;flex-direction:column;gap:var(--space-lg)}.badge{display:inline-block;padding:2px 6px;font-size:var(--text-xs);font-weight:500;border-radius:3px;background:#fef3cd;color:#6b5900}.spot-price{font-size:var(--text-xl);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary)}.spot-unit{font-size:var(--text-xs);color:var(--text-muted);font-weight:400}.empty-state{color:var(--text-muted);font-size:var(--text-sm);text-align:center;padding:var(--space-lg) 0}.sub-card{background:var(--bg-row-alt);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-sm)}.sub-card-header{font-weight:600;margin-bottom:var(--space-sm)}.sub-card-muted{font-size:var(--text-sm);color:var(--text-secondary)}.progress-bar{height:4px;background:var(--border-light);border-radius:2px;overflow:hidden;margin-top:var(--space-xs)}.progress-bar-fill{height:100%;background:var(--color-accent);border-radius:2px;transition:width .3s ease}.report-section{margin-top:var(--space-xl)}.report-section:first-of-type{margin-top:0}.balance-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.total-row td{font-weight:700;border-top:2px solid var(--border-light)}.guide-page h1{font-size:1.6rem;font-weight:700;margin-bottom:var(--space-lg);border-bottom:2px solid var(--border-light);padding-bottom:var(--space-md)}.guide-page h2{font-size:1.2rem;font-weight:600;margin-top:var(--space-xl);margin-bottom:var(--space-md);color:var(--color-accent)}.guide-page p,.guide-page li{line-height:1.7;color:var(--text-primary)}.guide-page blockquote{border-left:3px solid var(--color-accent);padding:var(--space-sm) var(--space-md);margin:var(--space-md) 0;background:var(--bg-header);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary)}.guide-page blockquote strong{color:var(--text-primary)}.guide-page table{width:100%;border-collapse:collapse;margin:var(--space-md) 0}.guide-page th,.guide-page td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--border-light)}.guide-page th{font-weight:600;background:var(--bg-header)}.guide-page hr{border:none;border-top:1px solid var(--border-light);margin:var(--space-xl) 0}.guide-page ol,.guide-page ul{padding-left:1.5em;margin:var(--space-sm) 0}.guide-page li{margin-bottom:var(--space-xs)}
