:root{--bg: #0b0f19;--bg-elevated: #111827;--bg-card: rgba(17, 24, 39, .88);--bg-input: rgba(15, 23, 42, .85);--border: rgba(148, 163, 184, .16);--border-strong: rgba(148, 163, 184, .28);--text: #f1f5f9;--text-muted: #94a3b8;--text-soft: #64748b;--cyan: #22d3ee;--violet: #a78bfa;--emerald: #34d399;--amber: #fbbf24;--rose: #fb7185;--sky: #60a5fa;--faste: #60a5fa;--flytende: #22d3ee;--sparing: #34d399;--freewill: #a78bfa;--radius-lg: 18px;--radius-md: 12px;--radius-sm: 8px;--shadow: 0 20px 50px -24px rgba(0, 0, 0, .75)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%;background:radial-gradient(950px 520px at 10% -10%,rgba(34,211,238,.12),transparent 60%),radial-gradient(900px 500px at 90% -5%,rgba(167,139,250,.12),transparent 60%),var(--bg);color:var(--text);font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}.mono,.num{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,monospace;font-variant-numeric:tabular-nums}h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.02em}button,input,select{font:inherit;color:inherit}button{cursor:pointer}input,select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.48rem .68rem;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px #22d3ee24}input[type=number]{font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.app-shell{max-width:1200px;margin:0 auto;padding:1rem 1rem 4rem}@media(min-width:768px){.app-shell{padding:1.5rem 1.75rem 5rem}}.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.85rem;padding:.9rem 1.1rem;background:var(--bg-card);backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:1.15rem;box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:.75rem}.brand-mark{width:38px;height:38px;border-radius:10px;flex-shrink:0}.brand-title{font-family:Fraunces,Georgia,serif;font-size:1.28rem;font-weight:650;line-height:1.1}.brand-sub{font-size:.78rem;color:var(--text-muted)}.topbar-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.card{background:var(--bg-card);backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.15rem 1.25rem;box-shadow:var(--shadow);margin-bottom:1.15rem}.card-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.card-title-group{display:flex;align-items:center;gap:.6rem}.section-badge{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;font-size:.76rem;font-weight:700;background:#22d3ee24;color:var(--cyan);border:1px solid rgba(34,211,238,.3)}.card-subtitle{font-size:.84rem;color:var(--text-muted);margin-top:.15rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;padding:.5rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:#1e293bbf;color:var(--text);font-size:.86rem;font-weight:600;transition:transform .08s ease,background .15s ease,border-color .15s ease}.btn:hover:not(:disabled){background:#334155d9;border-color:#94a3b873}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#06b6d4,#6366f1);border-color:transparent;color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#22d3ee,#818cf8)}.btn-success{background:#10b9812e;border-color:#34d39973;color:#6ee7b7}.btn-success:hover:not(:disabled){background:#10b9814d}.btn-danger{background:#f43f5e24;border-color:#fb718561;color:#fda4af}.btn-danger:hover:not(:disabled){background:#f43f5e40}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:#94a3b81f;color:var(--text)}.btn-sm{padding:.34rem .65rem;font-size:.78rem}.pill-row{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.pill{display:inline-flex;align-items:center;gap:.38rem;padding:.35rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600;border:1px solid var(--border);background:#0f172ab3;color:var(--text-muted);transition:all .15s ease}.pill.active{background:#22d3ee29;border-color:#22d3ee80;color:var(--text)}.cat-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.02em}.cat-Faste{background:#60a5fa29;color:#93c5fd;border:1px solid rgba(96,165,250,.32)}.cat-Flytende{background:#22d3ee26;color:#67e8f9;border:1px solid rgba(34,211,238,.32)}.cat-Sparing{background:#34d39926;color:#6ee7b7;border:1px solid rgba(52,211,153,.32)}.grid-2{display:grid;grid-template-columns:1fr;gap:1rem}.grid-3{display:grid;grid-template-columns:1fr;gap:.9rem}@media(min-width:768px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.member-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.9rem}.sub-panel{background:#0f172aa6;border:1px solid var(--border);border-radius:var(--radius-md);padding:.95rem 1rem}.bar-track{height:16px;width:100%;background:#0f172ae6;border-radius:999px;overflow:hidden;display:flex;border:1px solid var(--border)}.bar-segment{height:100%;transition:width .35s ease}.legend-row{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:.55rem;font-size:.8rem;color:var(--text-muted)}.legend-item{display:inline-flex;align-items:center;gap:.4rem}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:#0f172a73}table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{padding:.62rem .75rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}th{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:#0f172abf}tr:last-child td{border-bottom:none}td.right,th.right{text-align:right}.modal-backdrop{position:fixed;inset:0;z-index:60;background:#020617c2;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1rem}.modal-card{width:100%;max-width:680px;max-height:90vh;overflow-y:auto;background:#111827;border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:1.35rem;box-shadow:0 28px 80px #000c}.alert{padding:.72rem .9rem;border-radius:var(--radius-sm);font-size:.86rem;margin-bottom:.9rem}.alert-error{background:#f43f5e24;border:1px solid rgba(251,113,133,.35);color:#fecdd3}.alert-info{background:#22d3ee1f;border:1px solid rgba(34,211,238,.3);color:#cffafe}.alert-warn{background:#fbbf241f;border:1px solid rgba(251,191,36,.35);color:#fde68a}.status-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .56rem;border-radius:999px;font-size:.74rem;font-weight:600}.status-confirmed{background:#34d39929;color:#6ee7b7;border:1px solid rgba(52,211,153,.35)}.status-estimated{background:#fbbf2424;color:#fcd34d;border:1px solid rgba(251,191,36,.35)}.save-toast{position:fixed;bottom:1.25rem;right:1.25rem;z-index:70;padding:.6rem .95rem;border-radius:999px;background:#0f172af0;border:1px solid var(--border-strong);font-size:.82rem;box-shadow:var(--shadow)}.field-label{display:block;font-size:.76rem;font-weight:600;color:var(--text-muted);margin-bottom:.3rem}.inline-input{width:100%;min-width:0}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.25rem}.auth-card{width:100%;max-width:470px}.google-btn-host{display:flex;justify-content:center;margin-bottom:.9rem}.btn-google{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.68rem 1rem;border-radius:var(--radius-sm);border:1px solid #e5e7eb;background:#fff;color:#1f2937;font-size:.94rem;font-weight:600;box-shadow:0 2px 6px #00000038;transition:background .15s ease,transform .08s ease,box-shadow .15s ease}.btn-google:hover:not(:disabled){background:#f8fafc;box-shadow:0 4px 12px #00000047}.btn-google:active:not(:disabled){transform:translateY(1px)}.btn-google:disabled{opacity:.6;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:.95rem 0;color:var(--text-soft);font-size:.78rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}
