:root{--ink:#201833;--purple:#5b2d91;--deep:#170d2f;--pink:#ed3e8c;--gold:#ffcc55;--paper:#f7f5fb;--white:#fff;--line:#e8e2f0;--muted:#756d82;--green:#14866d;--shadow:0 18px 50px rgba(42,25,72,.1)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.topbar{height:76px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:var(--deep);color:#fff}.brand{display:flex;align-items:center;gap:12px}.brand b{display:block;font-size:1.05rem}.brand small{display:block;color:#bdb2d0;font-size:.78rem}.mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--pink),#9a4ed1);color:#fff}.icon-btn,.mini{border:1px solid #ffffff2b;background:#ffffff12;color:inherit;border-radius:10px;padding:8px 12px;cursor:pointer}.icon-btn{font-size:1.3rem}main{max-width:1180px;margin:auto;padding:36px 24px 64px}.welcome{display:flex;justify-content:space-between;align-items:center;padding:10px 4px 30px}.eyebrow{display:block;color:var(--pink);font-size:.76rem;font-weight:800;letter-spacing:.12em}.welcome h1{font-size:clamp(2rem,5vw,3.7rem);margin:.08em 0;letter-spacing:-.045em;line-height:1}.welcome p,.muted{color:var(--muted);margin:.6rem 0}.ring,.donut{width:112px;height:112px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle 43px,var(--paper) 98%,transparent 100%),conic-gradient(var(--pink) 0 68%,#ddd5e8 68%)}.ring span,.donut span{font-size:1.45rem;font-weight:850}.ring small,.donut small{font-size:.68rem;color:var(--muted)}.tabs{display:flex;gap:6px;margin-bottom:20px;padding:5px;background:#e9e4f0;border-radius:14px;width:max-content;max-width:100%;overflow:auto}.tab{border:0;background:transparent;padding:10px 18px;border-radius:10px;font-weight:700;color:#6b6079;cursor:pointer}.tab.active{background:#fff;color:var(--deep);box-shadow:0 3px 12px #39255218}.view{display:none}.view.active{display:block}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.stat,.panel,.budget-hero{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 8px 24px rgba(42,25,72,.035)}.stat span{display:block;color:var(--muted);font-size:.82rem}.stat strong{display:block;font-size:1.65rem;margin:5px 0}.stat small{color:var(--purple)}.columns{display:grid;grid-template-columns:1.45fr .75fr;gap:16px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.panel h2,.budget-hero h2,#packing h2{margin:.15rem 0;font-size:1.45rem}.mini{border-color:var(--line);color:var(--purple);background:#f6f1fb}.tasks{display:grid;gap:4px}.task{display:flex;align-items:center;gap:12px;padding:13px 4px;border-top:1px solid #eeeaf3}.task:first-child{border-top:0}.task input{width:20px;height:20px;accent-color:var(--pink)}.task label{flex:1}.task.done label{text-decoration:line-through;color:#9b94a4}.task small{color:var(--muted)}.accent-panel{background:linear-gradient(155deg,#2c1552,#170d2f);color:#fff;border:0;box-shadow:var(--shadow)}.accent-panel .date{font-weight:850;color:var(--gold);letter-spacing:.1em}.route{display:flex;align-items:center;gap:8px;margin:23px 0}.route i{height:1px;background:#ffffff44;flex:1}.checkline{display:flex;justify-content:space-between;border-top:1px solid #ffffff1c;padding:11px 0}.checkline b{color:#9ff0cc;font-size:.82rem}.primary{border:0;border-radius:11px;background:var(--pink);color:#fff;padding:11px 16px;font-weight:800;cursor:pointer}.accent-panel .primary{width:100%;margin-top:14px}.timeline-panel{margin-top:16px}.pill{background:#f4eef9;color:var(--purple);padding:6px 10px;border-radius:999px;font-size:.76rem;font-weight:750}.timeline{display:grid;grid-template-columns:repeat(5,1fr);position:relative;padding-top:18px}.timeline:before{content:"";position:absolute;top:26px;left:8%;right:8%;height:3px;background:#e5deec}.stop{position:relative;text-align:center;padding-top:24px}.stop:before{content:"";position:absolute;top:0;left:50%;translate:-50%;width:17px;height:17px;border:4px solid #ddd5e6;background:#fff;border-radius:50%;z-index:1}.stop.done:before{border-color:var(--green);background:var(--green)}.stop.next:before{border-color:var(--pink);box-shadow:0 0 0 5px #ed3e8c1c}.stop b,.stop small{display:block}.stop small{color:var(--muted);font-size:.75rem}.agenda>div{display:flex;gap:18px;padding:16px 0;border-top:1px solid var(--line)}.agenda time{width:48px;text-align:center;color:var(--muted);font-size:.68rem;font-weight:800}.agenda time b{font-size:1.4rem;color:var(--ink)}.event{padding-left:14px;border-left:4px solid var(--purple)}.event b,.event small{display:block}.event small{color:var(--muted)}.event.lesson{border-color:var(--gold)}.event.team{border-color:var(--pink)}.packing-layout,.budget-hero{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.progress{min-width:220px}.progress>span{font-weight:850}.progress>div{height:9px;background:#ded7e7;border-radius:10px;margin-top:7px;overflow:hidden}.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--purple),var(--pink));transition:.3s}.pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pack-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.pack-card h3{margin:0 0 10px}.pack-card label{display:flex;align-items:center;gap:10px;padding:9px 0;color:#4c4458}.pack-card input{width:18px;height:18px;accent-color:var(--pink)}.budget-hero{background:linear-gradient(110deg,#fff,#f0e5fb)}.budget-hero .donut{background:radial-gradient(circle 38px,#f7f0fc 98%,transparent 100%),conic-gradient(var(--purple) 0 65%,#dcd4e6 65%);width:100px;height:100px}.ledger>div{display:grid;grid-template-columns:1fr 100px 100px;gap:15px;padding:16px 4px;border-top:1px solid var(--line)}.ledger>div:first-child{border-top:0}.ledger em{font-style:normal;color:var(--muted);font-size:.8rem}.ledger em.paid{color:var(--green);font-weight:800}dialog{border:0;border-radius:18px;padding:0;box-shadow:0 30px 80px #140c2544;width:min(440px,calc(100% - 32px))}dialog::backdrop{background:#170d2fa8}dialog form{padding:26px}dialog h2{margin-top:0}dialog label{display:grid;gap:8px;font-weight:700}dialog input{font:inherit;padding:12px;border:1px solid var(--line);border-radius:10px}dialog form>div{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}dialog button{border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:#fff;font-weight:750}@media(max-width:760px){.topbar{padding:0 18px}main{padding:25px 16px 48px}.welcome{align-items:flex-start}.welcome .ring{width:88px;height:88px;flex:0 0 88px}.welcome p{max-width:240px}.stat-grid{grid-template-columns:1fr 1fr}.stat-grid .stat:last-child{grid-column:1/-1}.columns{grid-template-columns:1fr}.timeline{overflow-x:auto;grid-template-columns:repeat(5,125px);padding-bottom:8px}.pack-grid{grid-template-columns:1fr}.packing-layout{align-items:flex-start;gap:20px}.progress{min-width:125px}.ledger>div{grid-template-columns:1fr auto}.ledger em{grid-column:1/-1}.tabs{width:100%}.tab{flex:1;padding:10px 13px}.welcome h1{font-size:2.35rem}}
