:root{--bg:#f7f8fa;--surface:#fff;--border:#e1e4e8;--text:#1a1d21;--text-muted:#5f6570;--accent:#3454d1;--danger-bg:#fdecec;--danger-text:#b3261e;--chart-cost:#3454d1;--chart-clicks:#12b886;--chart-cv:#f76707;--chart-cpa:#ae3ec9}@media (prefers-color-scheme:dark){:root{--bg:#14161a;--surface:#1d2025;--border:#2d3138;--text:#eceef1;--text-muted:#9aa1ab;--accent:#7d93f0;--danger-bg:#3a1f1f;--danger-text:#ff8a80;--chart-cost:#7d93f0;--chart-clicks:#63e6be;--chart-cv:#ffa94d;--chart-cpa:#e599f7}}*{box-sizing:border-box}body,html{padding:0;margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Yu Gothic,Segoe UI,sans-serif}a{color:var(--accent)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--border)}.app-title{font-weight:700;font-size:16px}.app-user{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text-muted)}.main-nav{display:flex;gap:4px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--border);overflow-x:auto}.nav-link{padding:10px 14px;text-decoration:none;color:var(--text-muted);font-size:14px;border-bottom:2px solid transparent;white-space:nowrap}.nav-link.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.app-main{flex:1 1;padding:20px;max-width:1100px;width:100%;margin:0 auto}.page-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.page-header h1{font-size:20px;margin:0}.page-note{color:var(--text-muted);font-size:13px;margin:4px 0 16px}.waste-note{color:var(--danger-text)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px}.kpi-label{font-size:13px;color:var(--text-muted)}.kpi-value{font-size:24px;font-weight:700;margin-top:6px}.kpi-sublabel{font-size:12px;color:var(--text-muted);margin-top:6px}.filter-form,.period-selector,.tenant-selector{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;font-size:13px}.filter-form label,.period-selector label,.tenant-selector label{display:flex;flex-direction:column;gap:4px;color:var(--text-muted)}button,input,select{font:inherit}input,select{padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.button-link,button{padding:7px 14px;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;text-decoration:none;display:inline-block;font-size:13px}.toolbar{display:flex;align-items:center;gap:12px;margin:12px 0}.toolbar-note{font-size:12px;color:var(--text-muted)}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;background:var(--surface);font-size:13px}.data-table td,.data-table th{border-bottom:1px solid var(--border);padding:8px 10px;text-align:left;white-space:nowrap}.data-table th{color:var(--text-muted);font-weight:600}.row-waste td{background:var(--danger-bg);color:var(--danger-text)}.section{margin-top:28px}.empty-state{padding:24px;text-align:center;color:var(--text-muted);background:var(--surface);border:1px dashed var(--border);border-radius:10px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:40px;text-align:center;max-width:360px}.login-card h1{margin-top:0;font-size:20px}.login-card p{color:var(--text-muted);font-size:14px;margin-bottom:24px}.google-signin-btn{padding:10px 20px;font-size:14px}.proposal-list{display:flex;flex-direction:column;gap:16px}.proposal-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px}.proposal-head{display:flex;gap:10px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.proposal-week{font-weight:600}.proposal-plan{background:var(--bg);border-radius:6px;padding:2px 8px;font-size:12px}.proposal-axis{font-size:12px;color:var(--text-muted)}.proposal-status{margin-left:auto;font-size:12px;padding:3px 10px;border-radius:12px;background:var(--bg)}.proposal-rationale{color:var(--text-muted);font-size:13px}.proposal-meta{font-size:12px;color:var(--text-muted)}.approval-trail{margin-top:12px;border-top:1px dashed var(--border);padding-top:10px}.approval-trail h4{margin:0 0 6px;font-size:13px}.approval-trail ul{margin:0;padding-left:18px;font-size:12px;color:var(--text-muted)}.chart-grid{stroke:var(--border)}