:root{--ink:#12364a;--muted:#5d7989;--cyan:#00b9c9;--blue:#008fc7;--pink:#ff9aaa}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at 7% 3%,rgba(255,154,170,.22),transparent 28%),radial-gradient(circle at 94% 20%,rgba(0,185,201,.17),transparent 30%),linear-gradient(145deg,#fff,#ecfbff 58%,#fff8ed)}.shell{width:min(1240px,calc(100% - 32px));margin:auto;padding:24px 0 64px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:10px 14px;border:1px solid rgba(0,143,199,.12);border-radius:999px;background:#ffffffc7;box-shadow:0 14px 34px #00739614;backdrop-filter:blur(18px)}.brand{display:inline-flex}.brand img{width:176px;max-width:44vw;border-radius:14px;display:block}.pill,button{border:0;border-radius:999px;padding:13px 20px;background:linear-gradient(135deg,var(--cyan),var(--blue));color:#fff;text-decoration:none;font:inherit;font-weight:900;cursor:pointer;box-shadow:0 12px 28px #008fc72e}button:hover,.pill:hover,.download-example:hover{transform:translateY(-1px)}.hero{text-align:center;padding:56px 12px 34px;max-width:900px;margin:auto}.eyebrow,.step-label{color:#0783aa;font-weight:950;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}h1{font-size:clamp(2.8rem,7vw,5.4rem);line-height:.93;letter-spacing:-.07em;margin:14px 0 18px}.hero p,.panel p{color:var(--muted);line-height:1.6}.hero p{font-size:1.08rem;max-width:700px;margin-inline:auto}.layout{display:grid;grid-template-columns:minmax(310px,.78fr) minmax(500px,1.35fr);gap:24px;align-items:start}.form-column{display:grid;gap:24px}.panel{background:#ffffffe6;border:1px solid rgba(0,143,199,.13);border-radius:30px;padding:clamp(22px,3vw,34px);box-shadow:0 22px 58px #0864961c;backdrop-filter:blur(18px)}.panel-heading{display:flex;align-items:center;gap:14px;margin-bottom:22px}.panel-heading.compact{margin-bottom:12px}.panel-heading h2,.calendar-heading h2{margin:3px 0 0;font-size:1.72rem;letter-spacing:-.04em}.panel-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;flex:0 0 52px;background:linear-gradient(145deg,#fff0f4,#e6fbff);font-size:1.45rem}.import-icon{color:#087da5;font-weight:950}.birthday-form{display:grid;gap:17px}.birthday-form>label,.file-label{display:grid;gap:7px;font-weight:850}input,select{width:100%;min-height:50px;border:1px solid rgba(18,54,74,.17);border-radius:15px;padding:12px 14px;font:inherit;color:var(--ink);background:#fff}input:focus,select:focus{outline:3px solid rgba(0,185,201,.16);border-color:#008fc780}fieldset{border:1px solid rgba(18,54,74,.13);border-radius:20px;padding:16px}legend{padding:0 6px;font-weight:900}.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.checks label{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:12px;background:#f5fbfd;font-size:.88rem;font-weight:800}.checks input{width:18px;min-height:18px;accent-color:var(--cyan)}.form-actions{display:flex;flex-wrap:wrap;gap:10px}.secondary{background:linear-gradient(135deg,#fff,#dffbff);color:var(--ink);border:1px solid rgba(0,143,199,.15);box-shadow:none}.wide{width:100%;margin-top:12px}.status{min-height:22px;color:#087dd9;font-weight:850;font-size:.9rem}.import-card p{margin:0 0 16px}.download-example{display:flex;align-items:center;gap:13px;margin:16px 0;padding:14px;border-radius:18px;color:var(--ink);text-decoration:none;background:linear-gradient(135deg,#eefcff,#fff4f7);border:1px solid rgba(0,143,199,.12);transition:.18s ease}.download-example>span:first-child{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#fff;color:#087da5;font-size:1.4rem;font-weight:950}.download-example span:last-child{display:grid;gap:2px}.download-example small{color:var(--muted);font-weight:700}.file-label{margin-top:10px;font-size:.9rem}.calendar-panel{min-width:0}.calendar-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:20px;border-bottom:1px solid rgba(0,143,199,.12)}.calendar-heading p{margin:8px 0 0}.count-pill{flex:0 0 auto;padding:9px 14px;border-radius:999px;color:#087da5;background:#e8fafc;font-weight:950}.next-birthday{display:flex;align-items:center;gap:13px;margin:20px 0 6px;padding:16px 18px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#6331d7,#087dd9 58%,#00b9c9);box-shadow:0 16px 38px #4b43c938}.next-birthday>span{font-size:1.6rem}.next-birthday div{display:grid;gap:2px}.next-birthday small{color:#ffffffd4;font-weight:750}.birthday-list{display:grid;gap:13px;margin-top:18px}.birthday-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:17px;border:1px solid rgba(0,143,199,.12);border-radius:22px;background:linear-gradient(135deg,#f5fcfff5,#fffffffa);box-shadow:0 10px 26px #0864960f}.birthday-card:hover{border-color:#00b9c957;box-shadow:0 14px 34px #0864961a}.date-tile{display:grid;place-items:center;min-width:66px;padding:10px 8px;border-radius:18px;color:#fff;background:linear-gradient(145deg,#ff91aa,#7e3ce2 58%,#167de3)}.date-tile strong{font-size:.68rem;letter-spacing:.09em}.date-tile span{font-size:1.75rem;line-height:1.05;font-weight:950}.birthday-details{min-width:0}.person-row{display:flex;align-items:center;gap:11px}.avatar{display:grid;place-items:center;width:39px;height:39px;flex:0 0 39px;border-radius:50%;background:#e5f9fc;color:#087da5;font-weight:950}.person-name{display:inline;font-size:1.08rem;overflow-wrap:anywhere}.relationship-chip{display:inline-flex;margin-left:8px;padding:4px 8px;border-radius:999px;background:#f1eaff;color:#6f36bd;font-size:.72rem;font-weight:900;vertical-align:2px}.birthday-meta{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:10px;color:var(--muted);font-size:.82rem;font-weight:750}.item-actions{display:flex;align-items:center;gap:7px}.tiny{padding:8px 12px;font-size:.8rem;box-shadow:none}.edit{background:#e5f9fc;color:#087da5}.danger{background:#fff0f2;color:#b52e49}.empty{text-align:center;padding:58px 20px 44px;color:var(--muted)}.empty>span{font-size:2.3rem}.empty h3{color:var(--ink);margin:12px 0 6px}.empty p{margin:0}.page-status{text-align:center;font-weight:850;padding:30px}@media(max-width:900px){.layout{grid-template-columns:1fr}.form-column{grid-template-columns:1fr 1fr}.calendar-panel{grid-column:1/-1}}@media(max-width:680px){.shell{width:min(100% - 22px,1240px)}.topbar{border-radius:24px;align-items:flex-start}.pill{padding:11px 14px;font-size:.82rem}.hero{padding-top:42px}.form-column{grid-template-columns:1fr}.calendar-heading{align-items:flex-start}.birthday-card{grid-template-columns:auto minmax(0,1fr);align-items:start}.item-actions{grid-column:1/-1;justify-content:flex-end;border-top:1px solid rgba(0,143,199,.1);padding-top:12px}.item-actions .tiny{flex:1}.relationship-chip{display:table;margin:5px 0 0}.birthday-meta{flex-direction:column;gap:5px}}@media(max-width:420px){.panel{padding:20px 16px;border-radius:24px}.checks{grid-template-columns:1fr 1fr}.date-tile{min-width:58px}.birthday-card{gap:11px;padding:14px}.person-row{align-items:flex-start}.avatar{display:none}}
