:root { --bg: #f4efe6; --panel: rgba(255, 255, 255, 0.82); --panel-strong: #ffffff; --text: #1d2a33; --muted: #62727d; --line: rgba(29, 42, 51, 0.08); --primary: #146a63; --primary-strong: #0f544e; --accent: #f2b35d; --danger: #a93b4e; --shadow: 0 18px 50px rgba(28, 47, 54, 0.12); --radius: 24px; --button-soft: rgba(255, 255, 255, 0.6); --bg-gradient: radial-gradient(circle at top left, rgba(242, 179, 93, 0.25), transparent 26%), radial-gradient(circle at top right, rgba(20, 106, 99, 0.20), transparent 28%), linear-gradient(180deg, #fbf7ef 0%, var(--bg) 100%); } [data-theme="dark"] { --bg: #0e171d; --panel: rgba(21, 31, 38, 0.86); --panel-strong: #162229; --text: #eef4f6; --muted: #9fb1bb; --line: rgba(194, 220, 230, 0.12); --primary: #4ec5b4; --primary-strong: #2d9e90; --accent: #e5ab58; --danger: #dd6c7d; --shadow: 0 18px 50px rgba(2, 8, 11, 0.38); --button-soft: rgba(255, 255, 255, 0.06); --bg-gradient: radial-gradient(circle at top left, rgba(229, 171, 88, 0.12), transparent 24%), radial-gradient(circle at top right, rgba(78, 197, 180, 0.12), transparent 26%), linear-gradient(180deg, #111b22 0%, var(--bg) 100%); } * { box-sizing: border-box; } body { margin: 0; font-family: "Avenir Next", "Segoe UI", sans-serif; color: var(--text); background: var(--bg-gradient); min-height: 100vh; transition: background 180ms ease, color 180ms ease; } a { color: inherit; text-decoration: none; } button, input, select, textarea { font: inherit; } .app-shell { display: grid; grid-template-columns: 280px minmax(0, 1fr); min-height: 100vh; } .sidebar { padding: 24px; border-right: 1px solid var(--line); backdrop-filter: blur(16px); position: sticky; top: 0; height: 100vh; } .brand { display: flex; gap: 14px; align-items: center; margin-bottom: 32px; } .brand-mark { width: 46px; height: 46px; border-radius: 16px; display: grid; place-items: center; background: linear-gradient(135deg, var(--primary), var(--accent)); color: white; font-weight: 800; } .brand small, .muted, small { color: var(--muted); } .nav-group { display: grid; gap: 8px; } .nav-link, .ghost-button, .primary-button { border: 0; border-radius: 18px; padding: 12px 16px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; } .nav-link, .ghost-button { background: var(--button-soft); } .primary-button { background: var(--primary); color: white; } .content { padding: 28px 28px 110px; } .content-toolbar { display: flex; justify-content: flex-end; margin-bottom: 12px; } .page-hero, .cards-grid, .split-layout, .planning-grid, .chart-grid { margin-bottom: 24px; } .page-hero { display: flex; justify-content: space-between; align-items: end; gap: 20px; } .eyebrow { text-transform: uppercase; letter-spacing: 0.14em; color: var(--primary); font-size: 0.76rem; font-weight: 700; } h1, h2, h3, p { margin-top: 0; } h1 { font-size: clamp(2rem, 4vw, 3.5rem); margin-bottom: 8px; } h2 { font-size: 1.2rem; margin-bottom: 0; } .panel, .metric-card, .login-card { background: var(--panel); border: 1px solid rgba(255, 255, 255, 0.55); box-shadow: var(--shadow); border-radius: var(--radius); backdrop-filter: blur(18px); } .panel, .login-card { padding: 22px; } .cards-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; } .cards-grid-four { grid-template-columns: repeat(4, minmax(0, 1fr)); } .metric-card { padding: 20px; display: grid; gap: 8px; } .metric-card strong { font-size: 1.8rem; } .metric-card.highlight { background: linear-gradient(135deg, rgba(20, 106, 99, 0.95), rgba(15, 84, 78, 0.86)); color: white; } .metric-card.soft-accent { background: linear-gradient(135deg, rgba(242, 179, 93, 0.25), rgba(255, 255, 255, 0.8)); } .metric-card.highlight small, .metric-card.highlight span { color: rgba(255, 255, 255, 0.78); } .split-layout, .planning-grid, .chart-grid, .planning-top-grid, .admin-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } .planning-grid { align-items: start; } .planning-hero { display: flex; justify-content: space-between; gap: 18px; align-items: flex-end; margin-bottom: 24px; } .planning-title { max-width: 720px; } .glass-panel { background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.72)); } .vivid-panel { background: linear-gradient(160deg, rgba(255, 255, 255, 0.92), rgba(20, 106, 99, 0.12)); } .bright { background: rgba(255, 255, 255, 0.72); } .income-grid, .allocation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } .income-card, .allocation-card, .entry-admin-card, .category-card { border: 1px solid var(--line); border-radius: 22px; background: rgba(255, 255, 255, 0.72); } .income-card, .allocation-card { padding: 16px; display: grid; gap: 12px; } .account-board { display: grid; gap: 18px; margin-bottom: 24px; } .account-panel { overflow: hidden; } .account-head { padding-bottom: 8px; } .category-stack { display: grid; gap: 16px; } .category-card { padding: 16px; background: linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(250, 246, 239, 0.92)); } .category-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 10px; } .category-head h3 { margin-bottom: 4px; } .entry-list { display: grid; } .entry-line { display: grid; grid-template-columns: minmax(0, 1.4fr) 180px auto; gap: 12px; padding: 14px 0; border-top: 1px solid var(--line); align-items: center; } .entry-line:first-child { border-top: 0; padding-top: 0; } .entry-copy { display: grid; gap: 4px; } .entry-line input[type="number"] { width: 100%; padding: 12px 14px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255, 255, 255, 0.88); } .suggestion-row.deluxe { padding: 14px 0; } .admin-edit-form, .entry-create-grid, .entry-edit-grid, .share-rule-form { display: grid; gap: 10px; } .admin-edit-form { grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: center; padding: 12px 0; border-top: 1px solid var(--line); } .entry-create-grid { grid-template-columns: 1.1fr repeat(6, minmax(0, 1fr)) auto auto; margin-bottom: 20px; } .entry-edit-grid { grid-template-columns: 1.1fr repeat(6, minmax(0, 1fr)) auto auto; padding: 0 0 14px 0; } .entry-admin-card { padding: 16px; margin-bottom: 16px; } .share-rule-box { display: grid; gap: 12px; margin-top: 10px; padding-top: 12px; border-top: 1px solid var(--line); } .share-rule-row { display: flex; justify-content: space-between; gap: 12px; align-items: center; } .compact { padding: 10px 12px; } .admin-edit-form input, .admin-edit-form select, .entry-create-grid input, .entry-create-grid select, .entry-edit-grid input, .entry-edit-grid select, .share-rule-form input, .share-rule-form select { width: 100%; padding: 11px 13px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel-strong); } .panel-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; } .list-row, .month-row, .suggestion-row, .value-row, .allocation-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 0; border-top: 1px solid var(--line); } .list-row:first-of-type, .month-row:first-of-type, .suggestion-row:first-of-type, .value-row:first-of-type, .allocation-row:first-of-type { border-top: 0; padding-top: 0; } .clickable-list-row { width: 100%; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; } .clickable-list-row:hover { color: var(--primary); } .list-row-main { display: flex; align-items: center; gap: 12px; } .value-row label, .allocation-row div:first-child, .suggestion-row div:first-child { flex: 1; } .value-row input[type="number"], .allocation-row input[type="number"], .inline-form input, .stack-form input, .stack-form select { width: min(180px, 100%); padding: 12px 14px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel-strong); } .value-row label small { display: block; } .accordion-list { display: grid; gap: 10px; } .accordion-item { background: rgba(255, 255, 255, 0.55); border-radius: 18px; padding: 0 16px; } .accordion-item summary { list-style: none; padding: 18px 0; font-weight: 700; cursor: pointer; } .accordion-body { padding-bottom: 12px; } .hint-box, .empty-state, .note-card, .badge, .setup-card { border-radius: 18px; } .hint-box, .empty-state, .note-card, .setup-card { padding: 16px; background: rgba(20, 106, 99, 0.08); } .setup-card { margin-bottom: 16px; text-align: left; } .setup-card.subtle { background: rgba(242, 179, 93, 0.16); } .setup-card pre { margin: 12px 0; padding: 14px; overflow-x: auto; border-radius: 14px; background: rgba(29, 42, 51, 0.92); color: #f7f2ea; } .badge { display: inline-flex; padding: 8px 12px; background: rgba(242, 179, 93, 0.2); } .hero-actions, .row-actions, .inline-form, .suggestion-values { display: flex; gap: 10px; flex-wrap: wrap; } .flash-stack { display: grid; gap: 10px; margin-bottom: 18px; } .flash { padding: 13px 16px; border-radius: 16px; } .flash-success { background: rgba(20, 106, 99, 0.12); } .flash-danger { background: rgba(169, 59, 78, 0.12); } .flash-info { background: rgba(67, 108, 179, 0.12); } .avatar { display: inline-grid; place-items: center; overflow: hidden; border-radius: 999px; background: linear-gradient(135deg, rgba(20, 106, 99, 0.92), rgba(242, 179, 93, 0.82)); color: white; font-weight: 800; letter-spacing: 0.04em; flex-shrink: 0; } .avatar img { width: 100%; height: 100%; object-fit: cover; } .avatar-sm { width: 30px; height: 30px; font-size: 0.72rem; } .avatar-md { width: 42px; height: 42px; font-size: 0.88rem; } .avatar-lg { width: 56px; height: 56px; font-size: 1rem; } .sidebar-user { display: flex; align-items: center; gap: 12px; } .sidebar-footer { display: grid; gap: 12px; margin-top: 28px; } .theme-toggle { justify-content: flex-start; } .mobile-theme-toggle { display: none; } .theme-icon-light { display: none; } [data-theme="dark"] .theme-icon-light { display: inline-block; } [data-theme="dark"] .theme-icon-dark { display: none; } .nav-link img, .bottom-nav a img { flex-shrink: 0; } .nav-link { justify-content: flex-start; } .stack-form { display: grid; gap: 12px; } .stack-form label { display: grid; gap: 6px; } .check-label { display: inline-flex; gap: 8px; align-items: center; } .bottom-nav { display: none; } .login-body { min-height: 100vh; display: grid; place-items: center; padding: 24px; } .login-card { width: min(100%, 460px); } .chart { width: 100%; min-height: 280px; } @media (max-width: 1100px) { .cards-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .income-grid, .allocation-grid { grid-template-columns: 1fr; } .admin-edit-form, .entry-create-grid, .entry-edit-grid { grid-template-columns: 1fr 1fr; } } @media (max-width: 920px) { .app-shell { grid-template-columns: 1fr; } .sidebar { display: none; } .content { padding: 20px 18px 110px; } .page-hero, .split-layout, .planning-grid, .chart-grid, .planning-top-grid, .admin-grid, .cards-grid { grid-template-columns: 1fr; } .page-hero { align-items: start; flex-direction: column; } .bottom-nav { position: fixed; left: max(8px, env(safe-area-inset-left)); right: max(8px, env(safe-area-inset-right)); bottom: calc(8px + env(safe-area-inset-bottom)); display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; padding: 10px; max-width: 540px; margin: 0 auto; background: var(--panel); border: 1px solid var(--line); border-radius: 24px; backdrop-filter: blur(16px); box-shadow: var(--shadow); } .bottom-nav a { display: grid; justify-items: center; gap: 6px; min-width: 0; text-align: center; font-size: 0.76rem; line-height: 1.1; padding: 10px 6px; border-radius: 16px; overflow-wrap: anywhere; } .bottom-nav a span { display: inline-block; max-width: 100%; } .mobile-theme-toggle { display: inline-flex; } .planning-hero { flex-direction: column; align-items: stretch; } .value-row, .allocation-row, .suggestion-row, .month-row, .entry-line, .share-rule-row { align-items: start; flex-direction: column; } .value-row input[type="number"], .allocation-row input[type="number"], .entry-line input[type="number"], .inline-form input, .stack-form input, .stack-form select { width: 100%; } .admin-edit-form, .entry-create-grid, .entry-edit-grid, .share-rule-form { grid-template-columns: 1fr; } .summary-card-head, .summary-card-meta, .dialog-section-head, .dialog-action-row, .dialog-entry-row { align-items: flex-start; flex-wrap: wrap; } } @media (max-width: 560px) { .content { padding: 18px 14px 104px; } .bottom-nav { gap: 4px; padding: 6px; border-radius: 20px; } .bottom-nav a { gap: 4px; font-size: 0.56rem; line-height: 1.05; padding: 7px 2px; } .bottom-nav a span { display: block; max-width: 100%; min-height: 2.2em; text-wrap: balance; overflow-wrap: normal; word-break: break-word; hyphens: auto; } .bottom-nav a .ui-icon { width: 18px; height: 18px; } } .planning-hero-strong { padding-bottom: 6px; } .planning-dashboard-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 18px; margin-bottom: 24px; } .planning-hub-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-bottom: 24px; } .quick-action-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; } .compact-actions { grid-template-columns: repeat(3, minmax(0, 180px)); justify-content: start; } .quick-action-card, .participant-manage-card, .entry-card { border: 1px solid var(--line); border-radius: 24px; padding: 18px; background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(250, 246, 239, 0.92)); text-align: left; color: inherit; cursor: pointer; box-shadow: 0 10px 24px rgba(28, 47, 54, 0.06); transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease; } .quick-action-card { align-items: start; gap: 12px; min-height: 132px; } .compact-action-card { min-height: 92px; padding: 16px; } .quick-action-card:hover, .participant-manage-card:hover, .entry-card:hover { transform: translateY(-2px); box-shadow: 0 18px 36px rgba(28, 47, 54, 0.10); border-color: rgba(20, 106, 99, 0.25); } .participant-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; } .participant-manage-card { display: grid; gap: 6px; } .participant-manage-card span { display: inline-flex; margin-top: 8px; color: var(--primary); font-weight: 700; } .community-account-sheet { gap: 12px; } .community-account-sheet-changed { border-color: rgba(215, 123, 65, 0.28); box-shadow: 0 14px 32px rgba(215, 123, 65, 0.12); } .badge-warn { background: rgba(246, 226, 203, 0.95); color: #9a4f1f; } .badge-good { background: rgba(214, 240, 229, 0.95); color: #166650; } .icon-label { display: inline-flex; align-items: center; gap: 8px; } .category-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; } .category-summary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; } .summary-category-card { display: grid; gap: 14px; padding: 18px; border: 1px solid rgba(29, 42, 51, 0.08); border-radius: 22px; background: radial-gradient(circle at top right, rgba(20, 106, 99, 0.08), transparent 28%), linear-gradient(180deg, rgba(255,255,255,0.96), rgba(248,244,236,0.94)); text-align: left; cursor: pointer; box-shadow: 0 10px 24px rgba(28, 47, 54, 0.06); transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease; } .summary-static-card { cursor: default; } .summary-static-card:hover { transform: none; box-shadow: 0 10px 24px rgba(28, 47, 54, 0.06); border-color: rgba(29, 42, 51, 0.08); } .muted-label { color: var(--muted); font-weight: 600; } .community-account-card { min-height: 190px; align-content: start; } .budget-assignment-chip { justify-content: flex-start; min-height: 52px; border-radius: 18px; } .summary-category-card:hover { transform: translateY(-2px); box-shadow: 0 18px 36px rgba(28, 47, 54, 0.10); border-color: rgba(20, 106, 99, 0.18); } .range-status-good { border-color: rgba(20, 106, 99, 0.28); background: radial-gradient(circle at top right, rgba(20, 106, 99, 0.10), transparent 28%), linear-gradient(180deg, rgba(245,255,251,0.98), rgba(240,250,245,0.96)); } .range-status-bad { border-color: rgba(169, 59, 78, 0.24); background: radial-gradient(circle at top right, rgba(169, 59, 78, 0.08), transparent 28%), linear-gradient(180deg, rgba(255,248,249,0.98), rgba(253,241,242,0.96)); } .summary-card-head, .summary-card-meta, .dialog-section-head, .dialog-action-row { display: flex; justify-content: space-between; gap: 12px; align-items: center; } .summary-card-meta span { font-size: 1.2rem; font-weight: 700; } .utility-summary-card { min-height: 144px; align-content: space-between; } .card-inline-note { display: flex; justify-content: flex-start; } .entry-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; } .entry-card { display: grid; gap: 8px; } .clickable-entry-card { width: 100%; border: 1px solid rgba(20, 106, 99, 0.1); } .entry-card span { font-size: 1.3rem; font-weight: 700; } .entry-card-kicker { color: var(--primary); text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.74rem; } .ui-icon { width: 20px; height: 20px; opacity: 0.88; } .small-ui-icon { width: 16px; height: 16px; } .featured-entry-card { background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(242, 179, 93, 0.16)); } .entry-card-action { display: inline-flex; margin-top: 6px; color: var(--primary); font-weight: 700; font-size: 0.95rem; } .add-entry-card, .add-category-card { place-content: center; justify-items: start; min-height: 132px; border-style: solid; border-width: 1px; border-color: rgba(29, 42, 51, 0.08); background: linear-gradient(180deg, rgba(255,255,255,0.94), rgba(247,243,235,0.94)); } .add-category-card h3 { margin-bottom: 0; } .spotlight-grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); } .small-button { padding: 9px 12px; font-size: 0.92rem; } .wide-button { width: 100%; } .category-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; } .icon-button { gap: 6px; } .modern-category-card { padding: 18px; border: 1px solid rgba(20, 106, 99, 0.08); background: radial-gradient(circle at top right, rgba(20, 106, 99, 0.08), transparent 28%), linear-gradient(180deg, rgba(255,255,255,0.96), rgba(248,244,236,0.94)); } .premium-panel { background: linear-gradient(180deg, rgba(255,255,255,0.88), rgba(255,255,255,0.72)); } .featured-panel { margin-bottom: 24px; background: linear-gradient(140deg, rgba(255,255,255,0.92), rgba(20,106,99,0.08), rgba(242,179,93,0.14)); } .split-people-panel { margin-bottom: 24px; } .suggestion-card-stack { display: grid; gap: 14px; margin-top: 14px; } .suggestion-card { display: grid; gap: 10px; padding: 16px; border-radius: 20px; background: rgba(255, 255, 255, 0.74); border: 1px solid rgba(255,255,255,0.7); } .allocation-chip-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 16px; } .allocation-chip-card { display: grid; gap: 10px; padding: 14px; border-radius: 20px; background: rgba(255, 255, 255, 0.78); border: 1px solid rgba(29, 42, 51, 0.08); } .allocation-chip-card input[type="number"] { width: 100%; padding: 12px 14px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel-strong); } .income-card-modern, .allocation-card-modern { background: linear-gradient(180deg, rgba(255,255,255,0.92), rgba(248,244,236,0.9)); } .app-dialog { width: min(92vw, 640px); border: 0; border-radius: 28px; padding: 22px; background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(249,246,240,0.98)); box-shadow: 0 28px 80px rgba(20, 30, 36, 0.25); color: var(--text); } .app-dialog::backdrop { background: rgba(22, 28, 34, 0.44); backdrop-filter: blur(8px); } .dialog-close-row { display: flex; justify-content: flex-end; margin-bottom: 8px; } .dialog-close-button { width: 40px; height: 40px; border: 0; border-radius: 999px; background: rgba(29, 42, 51, 0.06); color: var(--text); font-size: 1.5rem; line-height: 1; cursor: pointer; } .participant-chip-grid { display: flex; gap: 10px; flex-wrap: wrap; } .participant-chip, .split-toggle { display: inline-flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 999px; background: rgba(20, 106, 99, 0.08); } .app-dialog input, .app-dialog select, .app-dialog textarea { width: 100%; padding: 12px 14px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel-strong); } .chart-shell { position: relative; height: 320px; width: 100%; } .chart-shell-tall { height: 420px; } .analytics-wide-panel { grid-column: 1 / -1; } .soft-form-section { padding: 14px; border-radius: 18px; background: rgba(20, 106, 99, 0.06); } .distribution-note-card, .sheet-card { display: grid; gap: 10px; padding: 16px; border-radius: 20px; border: 1px solid rgba(29, 42, 51, 0.08); background: rgba(255, 255, 255, 0.82); } .sheet-card-grid, .personal-split-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } .sheet-card span { font-size: 1.45rem; font-weight: 700; } .compact-sheet-card { min-height: 152px; } .dialog-entry-list { display: grid; gap: 10px; } .dialog-entry-row { display: flex; justify-content: space-between; gap: 14px; align-items: center; padding: 14px 16px; border: 1px solid rgba(29, 42, 51, 0.08); border-radius: 18px; background: rgba(255,255,255,0.84); text-align: left; } .entry-row-trailing { display: inline-flex; align-items: center; gap: 10px; margin-left: auto; } .stacked-avatars { display: inline-flex; align-items: center; } .stacked-avatar { margin-left: -8px; border: 2px solid var(--panel-strong); } .stacked-avatar:first-child { margin-left: 0; } .static-entry-row { cursor: default; } .split-picker { display: grid; gap: 12px; } .split-picker summary { list-style: none; width: fit-content; } .split-panel { padding-top: 8px; } .danger-button { color: var(--danger); } .danger-fill-button { background: var(--danger); color: white; } .dialog-action-spread { justify-content: space-between; align-items: center; } .confirm-dialog { width: min(92vw, 520px); } [data-theme="dark"] .sidebar { background: rgba(11, 18, 23, 0.44); } [data-theme="dark"] .nav-link, [data-theme="dark"] .ghost-button, [data-theme="dark"] .summary-category-card, [data-theme="dark"] .participant-manage-card, [data-theme="dark"] .entry-card, [data-theme="dark"] .category-card, [data-theme="dark"] .income-card, [data-theme="dark"] .allocation-card, [data-theme="dark"] .suggestion-card, [data-theme="dark"] .allocation-chip-card, [data-theme="dark"] .app-dialog, [data-theme="dark"] .quick-action-card, [data-theme="dark"] .sheet-card, [data-theme="dark"] .dialog-entry-row, [data-theme="dark"] .participant-chip { background: rgba(22, 34, 41, 0.92); border-color: var(--line); color: var(--text); } [data-theme="dark"] .premium-panel, [data-theme="dark"] .featured-panel, [data-theme="dark"] .modern-category-card, [data-theme="dark"] .panel, [data-theme="dark"] .metric-card, [data-theme="dark"] .login-card { background: var(--panel); border-color: var(--line); } [data-theme="dark"] .metric-card.soft-accent { background: linear-gradient(135deg, rgba(229, 171, 88, 0.18), rgba(22, 34, 41, 0.9)); } [data-theme="dark"] .ui-icon { filter: brightness(0) invert(0.96); opacity: 0.94; } [data-theme="dark"] .metric-card.highlight { background: linear-gradient(135deg, rgba(42, 145, 133, 0.96), rgba(19, 89, 82, 0.92)); } [data-theme="dark"] .hint-box, [data-theme="dark"] .empty-state, [data-theme="dark"] .note-card, [data-theme="dark"] .setup-card, [data-theme="dark"] .distribution-note-card { background: rgba(78, 197, 180, 0.08); border-color: var(--line); } [data-theme="dark"] .badge { background: rgba(229, 171, 88, 0.14); color: #f2d8b0; border: 1px solid rgba(229, 171, 88, 0.22); } [data-theme="dark"] .badge-warn { background: rgba(229, 171, 88, 0.16); color: #ffd8a6; border: 1px solid rgba(229, 171, 88, 0.24); } [data-theme="dark"] .badge-good { background: rgba(78, 197, 180, 0.16); color: #b8f0e7; border: 1px solid rgba(78, 197, 180, 0.22); } [data-theme="dark"] .budget-assignment-chip { background: rgba(22, 34, 41, 0.92); border-color: var(--line); } [data-theme="dark"] .stacked-avatar { border-color: rgba(14, 23, 29, 0.95); } [data-theme="dark"] input, [data-theme="dark"] select, [data-theme="dark"] textarea { background: var(--panel-strong); color: var(--text); border-color: var(--line); } @media (max-width: 920px) { .planning-hub-grid, .planning-dashboard-grid, .quick-action-grid, .participant-card-grid, .category-card-grid, .entry-card-grid, .spotlight-grid, .category-summary-grid, .allocation-chip-grid, .sheet-card-grid, .personal-split-grid { grid-template-columns: 1fr; } } @media (max-width: 620px) { .content { padding: 16px 14px 104px; } .app-dialog, .confirm-dialog { width: calc(100vw - 20px); padding: 18px 14px; } .panel, .login-card, .metric-card, .summary-category-card, .participant-manage-card, .entry-card, .sheet-card { padding: 16px; } .dialog-entry-row { flex-direction: column; } .entry-row-trailing { margin-left: 0; width: 100%; justify-content: space-between; } } .category-head { padding-bottom: 12px; margin-bottom: 14px; border-bottom: 1px solid rgba(20, 106, 99, 0.08); }