:root{--bg: #0b0b10;--panel: #12121a;--panel-2: #141421;--text: #eee9f7;--muted: #bdb3d6;--line: #222235;--accent: #7b2cbf;--accent-2: #9d4edd;--accent-3: #5a189a;--accent-rgb: 123, 44, 191;--shadow: 0 10px 30px rgba(0, 0, 0, .45), 0 0 0 1px rgba(157, 78, 221, .05);--radius: 14px;--radius-sm: 10px;--page-pad: 16px;--page-pad-lg: 22px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100vh;margin:0}body{color:var(--text);background:radial-gradient(800px 500px at 10% -10%,rgba(var(--accent-rgb),.16),transparent 60%),radial-gradient(900px 700px at 110% 10%,rgba(157,78,221,.14),transparent 65%),linear-gradient(180deg,#0b0b10,#0b0b10);background-attachment:fixed,fixed,fixed;font-size:clamp(14px,1.1vw,16px)}button,input,select,textarea{font:inherit}.screen{min-height:100vh;width:100%}.app-shell{display:grid;gap:16px;width:calc(100vw - 2 * var(--page-pad));margin:24px auto}.auth-screen{display:grid;place-items:center;padding:24px}.toolbar,.panel,.auth-card{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);box-shadow:var(--shadow)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;border-radius:var(--radius)}.nav-tabs{display:flex;flex-wrap:wrap;gap:8px}.nav-btn.active{color:var(--accent-2);border-color:var(--accent-2);box-shadow:0 0 0 3px #9d4edd1f}.auth-card{width:min(520px,100%);padding:28px;border-radius:var(--radius)}.workspace-grid,.content-grid,.manage-layout,.travel-layout,.charts-layout,.settings-layout{display:grid;gap:16px}.manage-layout{grid-template-columns:minmax(300px,380px) minmax(0,1fr)}.workspace-grid{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.content-grid{grid-template-columns:minmax(280px,320px) minmax(320px,380px) minmax(0,1fr);align-items:start}.panel{padding:18px;border-radius:var(--radius)}.wide{min-width:0}.stack{display:grid;gap:16px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.section-label,.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.22em;font-size:12px;color:var(--accent-2)}h1,h2{margin:0;color:var(--text)}h1{font-size:clamp(2rem,4vw,3rem);line-height:1}h2{font-size:clamp(1.15rem,1.8vw,1.5rem)}.subtitle,.muted,.expense-card p,.selection-card span,.trip-card span,.trip-card small,.summary-chip span,.expense-meta,.category-header span{margin:0;color:var(--muted)}.compact{font-size:.95rem}.form,.list,.trip-grid,.category-list,.expense-list{display:grid;gap:12px}.action-row,.card-actions{display:flex;flex-wrap:wrap;gap:8px}.form-row{display:grid;gap:12px}.form-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}.field-label{display:block;margin-bottom:8px;color:var(--muted);font-size:.9rem}input,select,textarea{width:100%;padding:10px 12px;border-radius:var(--radius-sm);background:#0f0f16;border:1px solid #202033;color:var(--text);outline:none;transition:box-shadow .2s,border-color .2s,transform .02s}.color-picker{min-height:42px;padding:6px;cursor:pointer}.icon-picker-field{display:grid;gap:8px}.icon-picker-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid #2a2a3d;background:#0f0f16;color:var(--text)}.icon-picker-toggle:hover{border-color:var(--accent-2);box-shadow:0 0 0 3px #9d4edd1f}.icon-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px}.icon-choice{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0;border-radius:12px;border:1px solid #2a2a3d;background:#0f0f16;color:var(--text);font-size:1.3rem}.icon-choice:hover{border-color:var(--accent-2);box-shadow:0 0 0 3px #9d4edd1f}.icon-choice.active{border-color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 18%,#0f0f16);box-shadow:0 0 0 3px #9d4edd29}input:focus,select:focus,textarea:focus{border-color:var(--accent-2);box-shadow:0 0 0 3px #9d4edd26}textarea{resize:vertical}button{border:0;cursor:pointer;transition:transform .06s ease,box-shadow .2s ease,border-color .2s ease}button:hover{transform:translateY(-1px)}.primary,.ghost,.danger,.selection-card,.trip-card{border-radius:12px}.primary,.ghost,.danger{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;font-weight:600;border:1px solid #2a2a3d}.primary{color:var(--text);border-color:transparent;background:linear-gradient(180deg,var(--accent-2),var(--accent-3));box-shadow:0 6px 20px rgba(var(--accent-rgb),.35)}.primary:hover{box-shadow:0 8px 26px rgba(var(--accent-rgb),.45)}.ghost{background:transparent;color:var(--muted)}.ghost:hover{color:var(--accent-2);border-color:var(--accent-2);box-shadow:0 0 0 3px #9d4edd1f}.danger{background:#eb575714;border-color:#eb575759;color:#f5a3a3}.small{padding:8px 12px;font-size:.9rem}.tiny{padding:6px 10px;font-size:.8rem}.selection-card,.trip-card,.category-card,.member-card,.expense-card,.summary-chip{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line)}.selection-card,.trip-card{display:grid;gap:12px;padding:16px;color:var(--text)}.card-main{width:100%;display:grid;gap:6px;padding:0;text-align:left;background:transparent;color:inherit}.selection-card.active,.trip-card.active{border-color:#9d4edd73;box-shadow:0 0 0 3px #9d4edd1f}.trip-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.category-card,.member-card,.expense-card{border-radius:var(--radius);padding:16px}.member-card{display:grid;gap:4px}.category-header,.expense-card,.expense-meta{display:flex;justify-content:space-between;gap:16px}.expense-card{align-items:flex-start}.expense-meta{flex-direction:column;align-items:flex-end;text-align:right}.expense-tags{display:grid;gap:4px;margin-top:8px}.tone{--category-accent: var(--accent-2);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--category-accent) 22%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--category-accent) 10%,var(--panel)) 0%,var(--panel-2) 100%)}.tag-chip{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:4px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--category-accent) 35%,var(--line));background:color-mix(in srgb,var(--category-accent) 14%,transparent)}.status-paid{border-color:#3ac77359;background:#3ac7731f;color:#9cf6c4}.status-pending{border-color:#eb575759;background:#eb575714;color:#f5a3a3}.with-icon,.subcategory-pill{display:inline-flex;align-items:center;gap:8px}.category-icon{display:inline-flex;align-items:center;justify-content:center;min-width:1.2rem}.subcategory-list{display:grid;gap:8px;margin-top:12px}.subcategory-item{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.subcategory-pill,.summary-chip{border-radius:999px;padding:4px 8px}.subcategory-pill{border:1px solid #2a2a3f;background:#9d4edd26;color:var(--accent-2)}.summary-chip{display:grid;gap:2px;min-width:140px;border:1px solid rgba(157,78,221,.35);background:#9d4edd1a}.conversion-preview{display:grid;gap:4px;padding:12px 14px;border-radius:12px;border:1px solid rgba(157,78,221,.25);background:#9d4edd14}.checkbox-row{display:inline-flex;align-items:center;gap:10px;width:fit-content;padding:10px 12px;border-radius:12px;border:1px solid #2a2a3d;background:#0f0f16;color:var(--text)}.checkbox-row input{width:auto;margin:0}.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-filters,.report-summary-grid,.report-grid{display:grid;gap:12px}.report-filters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.field-block{display:grid;gap:8px}.segmented{display:flex;gap:8px;flex-wrap:wrap}.active-chip{color:var(--accent-2);border-color:var(--accent-2);background:#9d4edd1f}.report-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.report-stat{display:grid;gap:6px;padding:16px;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(180deg,var(--panel),var(--panel-2))}.report-stat span{color:var(--muted)}.report-stat strong{font-size:1.1rem}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-card,.day-group{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:var(--radius);padding:16px}.chart-card{display:grid;gap:10px}.chart-card-wide{grid-column:span 2}.chart-card h3{margin:0;font-size:1rem}.settings-panel{display:grid;gap:24px;width:min(720px,100%)}.settings-brand{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center}.settings-logo{width:88px;aspect-ratio:1;display:grid;place-items:center;border-radius:28px;border:1px solid rgba(157,78,221,.35);background:radial-gradient(circle at top,rgba(157,78,221,.42),transparent 60%),linear-gradient(180deg,#9d4edd38,#1e1e30f2);box-shadow:0 18px 50px rgba(var(--accent-rgb),.2)}.settings-logo span{font-size:1.5rem;font-weight:800;letter-spacing:.16em;color:var(--text)}.settings-actions{display:flex;flex-wrap:wrap;gap:12px}.settings-footnote{margin:0;color:var(--muted);font-size:.95rem}.chart-card-header{display:flex;justify-content:space-between;gap:12px}.chart-row{display:grid;gap:6px}.chart-stack{display:grid;gap:12px}.chart-label,.day-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.chart-bar{height:10px;border-radius:999px;background:#0f0f16;border:1px solid #202033;overflow:hidden}.chart-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent-2),var(--accent-3))}.chart-bar-fill-paid{background:linear-gradient(90deg,#2a9d8f,#55d6be)}.chart-bar-fill-pending{background:linear-gradient(90deg,#e76f51,#f4a261)}.donut-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:20px;align-items:center}.donut-card{display:grid;place-items:center}.donut-ring{width:min(240px,100%);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #ffffff0f}.donut-core{width:58%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;gap:2px;background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);text-align:center}.chart-legend{display:grid;gap:10px}.legend-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#ffffff05}.legend-dot{width:10px;height:10px;border-radius:999px}.legend-copy,.legend-values{display:grid;gap:2px}.legend-copy span,.legend-values span{color:var(--muted);font-size:.9rem}.legend-values{text-align:right}.daily-bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(36px,1fr));gap:10px;align-items:end;min-height:280px}.daily-bar-column{display:grid;gap:8px;align-items:end;justify-items:center;min-width:0}.daily-bar-track{width:100%;height:180px;display:flex;align-items:end;padding:6px;border-radius:12px;background:#0f0f16;border:1px solid #202033}.daily-bar-fill{width:100%;border-radius:10px 10px 6px 6px;background:linear-gradient(180deg,var(--accent-2),var(--accent-3))}.daily-bar-value,.daily-bar-label,.inline-note{color:var(--muted);font-size:.85rem}.inline-note{margin-left:8px}.day-group{display:grid;gap:12px}.tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}.tabs button{padding:10px 14px;border-radius:12px;background:#161626;border:1px solid #2a2a3d;color:var(--text)}.tabs button.active{border-color:transparent;background:linear-gradient(180deg,var(--accent-2),var(--accent-3));box-shadow:0 6px 20px rgba(var(--accent-rgb),.35)}.status,.error{margin:0;font-weight:600}.status{color:var(--accent-2)}.error{color:#f5a3a3}.banner{padding:0 6px 16px}.modal{position:fixed;inset:0;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:50}.modal[aria-hidden=false]{pointer-events:auto;opacity:1}.modal__overlay{position:absolute;inset:0;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal__content{position:relative;width:min(680px,calc(100vw - 32px));z-index:1}@media(min-width:1280px){.primary,.ghost,.danger{padding:12px 16px}}@media(max-width:1100px){.workspace-grid,.content-grid,.manage-layout{grid-template-columns:1fr}.toolbar{flex-direction:column;align-items:flex-start}}@media(max-width:720px){.app-shell,.auth-screen{width:calc(100vw - 2 * var(--page-pad));padding:0}.toolbar,.panel,.auth-card{padding:16px}.form-row-2{grid-template-columns:1fr}.expense-card,.category-header,.settings-brand{flex-direction:column}.settings-brand,.chart-grid,.report-grid,.chart-card-wide,.donut-layout{grid-template-columns:1fr}.chart-card-wide{grid-column:span 1}.expense-meta{align-items:flex-start;text-align:left}}
