@import"https://fonts.googleapis.com/css2?family=Archivo+Black&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{color:#2b211c;background:#f5eee6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 52% 12%,rgba(198,90,22,.12),transparent 24rem),linear-gradient(180deg,#fbf7f1 0%,#eef2f1 52%,#f7efe7 100%)}button,input,select,textarea{font:inherit}button{border:0;border-radius:8px;background:#c65a16;color:#fff;cursor:pointer;font-weight:700;padding:.75rem 1rem}button:disabled{background:#ad9b8d;cursor:not-allowed}.login-page{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,440px);gap:clamp(1.2rem,4vw,3rem);align-items:center;min-height:100vh;padding:clamp(1.2rem,5vw,5rem)}.hero-panel{display:grid;gap:1rem;max-width:760px}.hero-panel h1{max-width:11ch;margin:0;font-size:clamp(3.8rem,8vw,7.6rem);line-height:.92}.hero-panel p:not(.eyebrow){max-width:600px;margin:0;color:#735d50;font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.6}.login-card{display:grid;gap:1rem;border:1px solid #e4c5a9;border-radius:8px;background:rgba(255,255,255,.92);padding:clamp(1.3rem,3vw,2rem);box-shadow:0 24px 80px #51270c24}.login-card h2,.sidebar h1,.section-header h2{margin:0}.form-number{width:3rem;height:3rem;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#3b1b0d;color:#fff5ec;font-weight:900}.muted-copy{margin:0;color:#735d50}.form-error{margin:0;border-radius:8px;background:#ffe0d1;color:#8a2e10;padding:.9rem 1rem}.hint,.eyebrow,.kicker{color:#b35a1b;font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.kicker{color:#9bb4c0;letter-spacing:.15em;font-size:.72rem}.topbar .kicker{margin:0}.hint{display:block;margin-top:1rem;text-transform:none}.login-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.2rem}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:1.3rem;display:flex;flex-direction:column;gap:1.4rem;background:linear-gradient(180deg,#3b1b0d 0%,#26130c 100%);color:#fff5ec;font-family:Space Grotesk,Trebuchet MS,sans-serif;z-index:20}.sidebar-scroll{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;gap:1.4rem;overflow-y:auto;overscroll-behavior:contain;padding-right:.2rem;padding-bottom:1rem;scrollbar-width:none}.sidebar-scroll::-webkit-scrollbar{display:none}.brand-mark{display:flex;align-items:center;gap:.9rem;padding:.8rem}.brand-mark>div{min-width:0}.brand-logo-image{display:block;width:min(100%,182px);height:auto;border-radius:18px}.brand-mark small{color:#fff5ec;font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.nav-stack,.nav-group{display:grid;gap:.6rem}.nav-divider{display:flex;align-items:center;gap:.7rem;margin:.35rem 0 .15rem;color:#ee9a4b;font-size:.7rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.nav-divider:before,.nav-divider:after{content:"";flex:1 1 auto;height:1px;background:rgba(255,220,189,.18)}.nav-item,.session-box button,.chip{background:transparent;color:#fff5ec;text-align:left}.nav-item.active,.chip.active{background:#fff4e8;color:#3b1b0d}.nav-item{border:1px solid rgba(255,220,189,.13);border-radius:22px;background:rgba(255,244,231,.055);font-weight:800;padding:1rem;transition:transform .18s ease,background .18s ease}.nav-item span{display:block;margin-bottom:.25rem;color:#ee9a4b;font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.nav-item:hover,.nav-item.active{transform:translate(4px)}.nav-item.active span{color:#9d5420}.nav-desktop-only{display:block}.session-box{display:grid;gap:.4rem;margin-top:auto;border-top:1px solid rgba(255,220,189,.22);padding-top:1rem}.session-box span{color:#d9b99b;font-size:.82rem;overflow:hidden;text-overflow:ellipsis}.session-box strong{color:#fff5ec;font-size:.95rem}.main-stage{padding:clamp(1rem,3vw,2rem)}.topbar{min-height:130px;display:flex;align-items:flex-start;font-family:Space Grotesk,Trebuchet MS,sans-serif}.topbar-heading{display:grid;gap:.45rem;min-width:0}.topbar-controls{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.title-row{display:flex;align-items:flex-start;min-width:0}.title-link{border:0;padding:0;background:transparent;color:inherit;text-align:left}.topbar h1{margin:0;color:#22323b;font-family:Archivo Black,Impact,sans-serif;font-size:clamp(3rem,7vw,6rem);line-height:.9;text-transform:uppercase;min-width:0}.menu-toggle,.icon-button{width:3.2rem;height:3.2rem;flex:0 0 3.2rem;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(85,43,18,.14);border-radius:999px;background:rgba(255,255,255,.72);color:#2b211c;box-shadow:0 18px 48px #552b1214}.menu-toggle svg,.icon-button svg{width:1.15rem;height:1.15rem}.topbar-mobile-only,.app-footbar{display:none}.footbar-button{width:3.3rem;height:3.3rem;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(34,50,59,.12);border-radius:999px;background:rgba(248,251,252,.9);color:#2b211c;box-shadow:0 18px 48px #22323b1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.footbar-button:disabled{opacity:.65;cursor:wait}.footbar-button svg{width:1.15rem;height:1.15rem}.sidebar-backdrop{display:none}.status-note{margin:0;color:#735d50;font-size:.9rem}.error-banner{margin-bottom:1rem;border-radius:8px;background:#ffe0d1;color:#8a2e10;padding:1rem}.content-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:1.05rem;align-items:start}.section-header{margin-bottom:1rem}.row-header{display:flex;align-items:flex-start;gap:1rem;justify-content:space-between}.row-header select{min-width:260px}.list{display:grid;gap:.55rem}.people-block{display:grid;gap:.65rem}.people-block+.people-block{margin-top:1.2rem}.people-block-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.people-block-header h3{margin:0}.people-block-header span{color:#735d50;font-size:.9rem}.card,.panel,.surface{border:1px solid #e4c5a9;border-radius:28px;background:rgba(255,255,255,.88);padding:1.2rem;box-shadow:0 20px 50px #552b1214}.card{display:grid;grid-template-columns:minmax(180px,1fr) minmax(320px,auto) auto;gap:1rem;align-items:center;min-height:86px;border-radius:22px;box-shadow:none}.card h3,.card p,.panel h2,.panel h3{margin:0}.card p{color:#735d50}.card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0;min-width:min(520px,50vw)}dt{color:#9d5420;font-size:.78rem;font-weight:800;text-transform:uppercase}dd{margin:.2rem 0 0}.compact{gap:.25rem;grid-template-columns:minmax(180px,1fr) auto}.panel{display:grid;gap:1rem}.round-action{width:2.4rem;height:2.4rem;display:grid;place-items:center;flex:0 0 auto;border:1px solid #e4c5a9;border-radius:999px;background:#fff9f2;color:#3b1b0d;box-shadow:0 12px 28px #552b1214;padding:0}.round-action.subtle{width:2rem;height:2rem;background:rgba(255,244,231,.76)}.ghost-button{border:1px solid #e4c5a9;background:#fff4e7;color:#3b1b0d;border-radius:999px;padding:.55rem .85rem}.card-actions{display:flex;justify-content:flex-end}.event-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.35fr);gap:.75rem;align-items:end;margin-bottom:1rem}.status-pill{display:inline-flex;align-items:center;min-height:1.8rem;width:fit-content;border:1px solid #e4c5a9;border-radius:999px;background:#fff4e7;color:#7f2b10;font-size:.78rem;font-weight:900;padding:.35rem .7rem;text-transform:uppercase}.status-open{color:#7f2b10}.status-paying{border-color:#d7b96c;background:#fff8d8;color:#7a5a00}.status-done{border-color:#b9cabb;background:#eef6ee;color:#2f6b3d}.table-action{justify-self:end;padding:.4rem .7rem}.form-panel{grid-template-columns:minmax(180px,.85fr) repeat(5,minmax(120px,1fr)) auto;align-items:end;padding:.95rem}.form-heading{align-self:center}.form-heading h2{margin:.1rem 0 0}.compact-form{grid-template-columns:minmax(180px,.7fr) minmax(180px,1fr) minmax(220px,1fr) auto}label{display:grid;gap:.35rem;color:#5f4738;font-size:.9rem;font-weight:700}input,select,textarea{width:100%;border:1px solid #d9b48f;border-radius:8px;background:white;color:#2b211c;padding:.72rem .8rem}textarea{min-height:44px;resize:vertical}select[multiple]{min-height:44px}.multi-select-field{display:grid;gap:.35rem;min-width:0}.multi-select-field.disabled{opacity:.52}.multi-select-label{color:#5f4738;font-size:.9rem;font-weight:700}.multi-select{position:relative;min-width:min(100%,18rem)}.multi-select summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:44px;border:1px solid #d9b48f;border-radius:8px;background:white;color:#2b211c;cursor:pointer;list-style:none;padding:.72rem .8rem}.multi-select summary::-webkit-details-marker{display:none}.multi-select summary:after{content:"";width:.48rem;height:.48rem;flex:0 0 auto;border-right:2px solid #9d5420;border-bottom:2px solid #9d5420;transform:rotate(45deg) translateY(-2px)}.multi-select[open] summary{border-color:#c65a16;box-shadow:0 0 0 3px #c65a161f}.multi-select[open] summary:after{transform:rotate(225deg) translate(-2px,-1px)}.multi-select-count{margin-left:auto;border-radius:999px;background:#fff4e7;color:#9d5420;font-size:.78rem;font-weight:900;line-height:1;padding:.28rem .5rem}.multi-select-menu{position:absolute;top:calc(100% + .35rem);left:0;right:0;z-index:80;display:grid;gap:.25rem;max-height:15rem;overflow:auto;border:1px solid #e4c5a9;border-radius:12px;background:#fffdfa;box-shadow:0 18px 42px #552b122e;padding:.35rem}.multi-select-option{display:flex;align-items:center;gap:.6rem;min-height:2.55rem;border-radius:8px;color:#2b211c;cursor:pointer;font-size:.92rem;padding:.5rem .6rem}.multi-select-option:hover,.multi-select-option.active{background:#fff4e7}.multi-select-option input{width:auto;accent-color:#d90c9c}.multi-select-option input:disabled{cursor:not-allowed}.multi-select-empty{color:#735d50;padding:.75rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.table{overflow:auto;border:1px solid #e4c5a9;border-radius:12px;background:rgba(255,255,255,.92)}.table-row{display:grid;grid-template-columns:1fr 2fr 1fr 1fr;gap:1rem;min-width:720px;border-top:1px solid #f1dfce;padding:.85rem 1rem}.expense-table-row{grid-template-columns:1fr 2fr 1fr 1fr 1fr auto}.settlement-table .table-row{grid-template-columns:1fr 1fr 1fr}.table-row:first-child{border-top:0}.table-head{background:#fff4e7;color:#9d5420;font-size:.78rem;font-weight:800;text-transform:uppercase}.analysis-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:.72rem}.analysis-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.panel-title-row .ghost-button{flex:0 0 auto;padding:.5rem .85rem}.analysis-controls{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;min-width:min(100%,18rem)}.analysis-controls select{min-width:min(100%,260px)}.locked-banner{margin:0;border:1px solid #d7b96c;border-radius:8px;background:#fff8d8;color:#6f4a00;font-weight:700;padding:.85rem 1rem}.wide{grid-column:auto}.analysis-list{display:grid;gap:.75rem}.analysis-expense{display:grid;gap:.75rem;border:1px solid #f1dfce;border-radius:8px;padding:.85rem}.analysis-expense-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.analysis-expense-header>div{display:grid;gap:.25rem}.analysis-expense-header span{color:#735d50}.include-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:120px;border:1px solid #e4c5a9;border-radius:999px;background:#fff4e7;color:#3b1b0d;padding:.55rem .8rem}.include-toggle input{width:auto}.participant-picker{display:grid;gap:.5rem;min-width:0;margin:0;border:0;padding:0}.participant-picker:disabled{opacity:.48}.participant-picker legend{color:#9d5420;font-size:.78rem;font-weight:900;text-transform:uppercase}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{display:inline-flex;align-items:center;gap:.45rem;border:1px solid #e4c5a9;color:#2b211c;padding:.45rem .65rem}.chip input{width:auto}.metric-row{display:flex;justify-content:space-between;border-top:1px solid #f1dfce;padding:.75rem 0}.positive{color:#b24a14}.negative{color:#7f2b10}.empty{border:1px dashed #d9b48f;border-radius:8px;color:#735d50;padding:2rem}.empty-card{display:grid;gap:.45rem;min-height:12rem;align-content:center;border:1px dashed #d9b48f;border-radius:12px;background:rgba(255,250,245,.74);color:#735d50;padding:2rem}.empty-card h3,.empty-card p{margin:0}.empty-card h3{color:#2b211c;font-size:1.25rem}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.expense-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-field{display:grid;gap:.3rem;min-height:84px;align-content:center;border-radius:12px;background:#fff4e7;padding:1rem}.profile-field span{color:#9d5420;font-size:.78rem;font-weight:800;text-transform:uppercase}.profile-field strong{font-size:1.15rem}.payment-subheader{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0 .75rem}.payment-subheader.first{margin-top:0}.payment-subheader h3{margin:0}.year-filter{display:inline-grid;gap:.35rem;justify-self:end;width:min(100%,10rem)}.year-filter span{color:#9d5420;font-size:.78rem;font-weight:900;text-transform:uppercase}.year-filter input{min-width:0;border-radius:999px;background:#fff4e7;font-weight:800;padding:.58rem .85rem}.payment-list{display:grid;gap:.6rem}.payment-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid #f1dfce;border-radius:8px;background:rgba(255,250,245,.88);padding:.85rem 1rem}.payment-row>div{display:grid;gap:.15rem}.payment-row span{color:#735d50;font-size:.92rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;align-items:start;justify-items:center;padding:1rem;overflow-y:auto;background:rgba(43,28,20,.42);z-index:50}.dialog-panel{width:min(100%,42rem);margin-top:min(8vh,4rem);border:1px solid #e4c5a9;border-radius:24px;background:rgba(255,252,248,.98);box-shadow:0 28px 90px #2b1c1447;padding:1.2rem}.stack-form{display:grid;gap:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem}.modal-actions button{border-radius:999px}.confirm-stack{display:grid;gap:.8rem}.confirm-stack p{margin:0}@media (max-width: 900px){.login-page{grid-template-columns:1fr;align-content:center}.hero-panel h1{max-width:12ch}.app-shell,.content-stack,.analysis-layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid #5b2a14}.wide{grid-column:auto}.row-header{display:grid}.form-panel,.compact-form,.event-filters{grid-template-columns:1fr}.analysis-controls{justify-content:stretch;flex-wrap:wrap}.brand-mark{width:128px}}@media (max-width: 720px){.login-page,.main-stage{padding:.75rem}.main-stage{padding-bottom:calc(5.6rem + env(safe-area-inset-bottom,0px))}.app-shell{display:block}.sidebar{position:fixed;inset:0 auto 0 0;width:min(84vw,320px);height:100dvh;overflow:hidden;transform:translate(-104%);transition:transform .22s ease;box-shadow:0 24px 80px #51270c33;border:0;z-index:35}.sidebar.mobile-open{transform:translate(0)}.sidebar-scroll{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(2rem + env(safe-area-inset-bottom,0px))}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;border:0;padding:0;background:rgba(23,36,43,.34);z-index:15}.nav-desktop-only,.topbar-controls{display:none}.topbar-mobile-only{display:inline-flex}.topbar{min-height:auto;margin-bottom:.5rem}.topbar h1{font-size:clamp(2.5rem,15vw,4.5rem)}.app-footbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:.75rem .9rem calc(.75rem + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,rgba(239,244,246,0),rgba(239,244,246,.9) 45%,rgba(239,244,246,.98) 100%)}}@media (max-width: 1200px){.form-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.form-heading,.form-panel button{grid-column:span 2}.card{grid-template-columns:1fr}.card dl{min-width:0}.detail-grid{grid-template-columns:1fr}}
