:root{--navy:#071d3f;--blue:#0958c6;--blue2:#004aac;--ink:#132845;--muted:#54667d;--bg:#f2f6fc;--surface:#fff;--line:#dce6f3;--soft:#eaf2fe;--green:#067c61;--danger:#ad273f;--shadow:0 12px 32px rgba(11,39,82,.06)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}button,input{font:inherit}button{cursor:pointer}a{color:var(--blue2)}a:hover{text-decoration-thickness:2px}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #f0a43c;outline-offset:3px}
.shell{width:min(1180px,calc(100% - 36px));margin-inline:auto}
.site-header{background:#040033;color:white;box-shadow:0 3px 12px rgba(4,0,51,.12)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0}.brand img{display:block;width:185px;height:auto}.header-links{display:flex;gap:18px;font-size:.91rem}.header-links a{color:#e9f0ff;text-decoration:none}
.hero{padding:38px 0 24px}.crumb{font-size:.85rem;color:var(--muted);margin-bottom:22px}.crumb a{color:var(--muted)}.eyebrow{display:inline-flex;padding:5px 11px;border-radius:100px;background:#dfebff;color:#064baf;font-size:.78rem;letter-spacing:.04em;font-weight:800;text-transform:uppercase}h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.12;max-width:830px;margin:14px 0;letter-spacing:-.04em;color:var(--navy)}h1 span{color:var(--blue)}.hero p{max-width:770px;color:#49617c;font-size:1.07rem;margin-bottom:17px}.pill-row{display:flex;flex-wrap:wrap;gap:8px}.pill{padding:6px 12px;background:white;border:1px solid var(--line);border-radius:100px;font-size:.8rem;color:#46607d}
.layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,1fr);gap:22px;align-items:start}.column{min-width:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:clamp(16px,2.5vw,28px);box-shadow:var(--shadow);margin-bottom:20px}.card h2{margin:0 0 7px;font-size:1.3rem;line-height:1.3;letter-spacing:-.02em}.card h3{margin:0 0 8px;font-size:1rem}.subtext{font-size:.88rem;color:var(--muted);margin:4px 0 14px}.row-head{display:flex;justify-content:space-between;align-items:start;gap:12px;flex-wrap:wrap;margin-bottom:15px}.small{font-size:.8rem;color:var(--muted)}.btn{border:none;border-radius:11px;background:var(--blue);color:#fff;padding:11px 16px;font-weight:750;line-height:1.2;min-height:43px}.btn:hover{background:#003f99}.btn-light{background:#e9f2ff;color:#06499d}.btn-light:hover{background:#d6e6ff}.btn-ghost{background:#fff;color:#264362;border:1px solid #cbd9eb}.btn-ghost:hover{background:#f4f8fd}.btn-danger{color:var(--danger);background:#fff0f2;padding:9px 12px}.btn-danger:hover{background:#ffe0e7}button:disabled{opacity:.45;cursor:not-allowed}
.guests{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.guest-card{display:flex;align-items:end;gap:8px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#f9fbff}.guest-card .field{flex:1;min-width:0}.guest-card .btn{flex:0 0 auto}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field label,.field-label{font-size:.8rem;font-weight:750;color:#314963}.field input,.field select,.tip-input{width:100%;min-width:0;padding:10px 11px;background:#fff;border:1px solid #b9c9dd;border-radius:10px;color:var(--navy);min-height:43px}.field input::placeholder{color:#76879b}
.entry{border:1px solid #dae5f3;background:#fafcff;padding:13px;border-radius:13px;margin:11px 0}.entry-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.type-tag{font-size:.72rem;font-weight:800;letter-spacing:.04em;color:#06689a;text-transform:uppercase}.entry-fields{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(110px,.8fr);gap:10px;margin-top:10px}.entry-bottom{margin-top:10px}.participants{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:8px}.participant{display:inline-flex;align-items:center;gap:5px;font-size:.85rem;cursor:pointer}.participant input{width:17px;height:17px;accent-color:var(--blue)}.owner-select{width:100%}.empty-list{border:1px dashed #b2c8e5;padding:18px;text-align:center;border-radius:12px;font-size:.86rem;color:var(--muted)}.entry-actions,.action-row{display:flex;gap:9px;flex-wrap:wrap}.entry-actions{margin-top:14px}
.tip-row{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.tip-row .field{max-width:220px}.tip-hint{font-size:.83rem;color:var(--muted);flex:1;min-width:150px}.discreet{background:#f2f7ff;border-radius:11px;padding:11px 13px;border-left:3px solid #4386d6}.error{background:#fff1f3;color:#8e2338;border:1px solid #f1b8c4;padding:12px 14px;border-radius:12px;font-size:.9rem;margin:12px 0}.hidden{display:none!important}
.results-card{position:sticky;top:16px;border-color:#cee0f5}.results-header{display:flex;justify-content:space-between;gap:12px;align-items:start}.result-chip{font-size:.73rem;font-weight:800;color:#067b63;background:#e0f8ef;padding:5px 9px;border-radius:100px}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:18px 0}.metric{padding:13px 12px;background:#f3f7fd;border:1px solid #e4edf7;border-radius:13px}.metric.full{grid-column:1/-1;background:#eaf2ff;border-color:#c8dcf8}.metric .meta{display:block;font-size:.72rem;color:#506985;line-height:1.3;margin-bottom:5px}.metric strong{display:block;font-size:clamp(1.08rem,2.7vw,1.45rem);color:#073c89;letter-spacing:-.03em;overflow-wrap:anywhere}.metric.full strong{font-size:clamp(1.75rem,3.2vw,2.25rem)}
.results-list{display:grid;gap:9px}.result-person{border:1px solid #dbe7f5;border-radius:12px;overflow:hidden}.result-person-head{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#f6faff;padding:11px 12px}.result-person-head strong{overflow-wrap:anywhere}.result-person-head .amount{font-size:1.1rem;color:#0346a0;font-weight:850;font-variant-numeric:tabular-nums;white-space:nowrap}.result-person dl{display:grid;grid-template-columns:1fr auto;gap:4px;padding:10px 13px;margin:0;font-size:.83rem}.result-person dt{color:#597087}.result-person dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.result-person dt:last-of-type,.result-person dd:last-of-type{font-weight:700;color:#203b62}.results-note{font-size:.78rem;color:var(--muted);margin:10px 0}.action-row{margin-top:17px}.action-row button{flex:1}.result-placeholder{margin:16px 0;padding:28px 12px;text-align:center;background:#f2f7fe;border-radius:13px;color:var(--muted)}
.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:4px 0 20px}.content-grid h2,.guide h2{font-size:1.25rem}.content-grid p,.guide p,.guide li{font-size:.94rem;line-height:1.7;color:#486079}.guide{margin-bottom:35px}.guide h2{margin-top:14px}.guide ol{padding-left:22px}.guide li{margin-bottom:9px}.guide details{border-top:1px solid var(--line);padding:13px 0}.guide summary{cursor:pointer;font-weight:750}.guide details p{margin:6px 0}
.referral{background:linear-gradient(125deg,#09244c,#074aa3);color:white;box-shadow:0 12px 28px rgba(10,47,111,.18)}.referral p{color:#d9e8ff}.referral a.btn{display:inline-block;background:#fff;color:#003c89;text-decoration:none;margin-top:8px}.referral a.btn:hover{background:#dbeaff}.referral .disclosure{font-size:.78rem;color:#cbdcf5}.related{margin-bottom:30px;font-size:.89rem}.related a{margin-right:14px}
@media(max-width:900px){.layout{grid-template-columns:1fr}.results-card{position:static}.content-grid{grid-template-columns:1fr}.shell{width:min(720px,calc(100% - 30px))}}
@media(max-width:450px){.header-links{display:none}.brand img{width:160px}.hero{padding:26px 0 12px}.guests{grid-template-columns:1fr}.entry-fields{grid-template-columns:1fr}.card{border-radius:16px;padding:17px}.shell{width:calc(100% - 24px)}.action-row button{flex-basis:100%}.results-header{flex-wrap:wrap}}
@media print{.site-header,.hero,.editor-column,.action-row,.content-grid,.guide,.referral,.related,footer,.results-note{display:none!important}body{background:white;color:black}.shell{width:100%}.layout{display:block}.results-card{border:0;box-shadow:none}.results-list,.metric,.result-person{break-inside:avoid}a{color:black}}
