/* Marry.Pink: a quiet working space with clear, usable controls. */
:root{--pink:#ad526e;--pink-dark:#843b53;--pink-soft:#f9edf1;--ink:#3c3740;--line:#e9dfe4;--paper:#fffdfb}.site-header{background:rgba(255,253,251,.98)}.logo{color:var(--pink-dark);letter-spacing:-.035em}
.planning-hero{margin:26px 0 34px;display:grid;grid-template-columns:1.05fr 1fr;gap:42px;padding:clamp(24px,4.5vw,64px);border-radius:28px;background:linear-gradient(120deg,#fcf0f3 0%,#faf4ef 65%,#f0f4ed 100%);border:1px solid #efdee3;align-items:center;overflow:hidden}.planning-hero h1{font:500 clamp(36px,4vw,60px)/1.08 Georgia,serif;letter-spacing:-.025em;color:#593447;margin:18px 0 22px;max-width:620px}.planning-hero p{font-size:17px;line-height:1.75;max-width:580px;color:#75626e}.planning-hero .eyebrow{color:#92546a}.planning-hero .actions{margin:26px 0 20px;display:flex;gap:12px;flex-wrap:wrap}.planning-hero .button,.wedding-workspace .button:not(.outline){background:#a7516d;border-color:#a7516d;color:white}.planning-hero .button.outline{background:#fff9;border:1px solid #b98da0;color:#703e51}.planning-hero .hero-notes{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:#775a69}.planner-preview{background:#fffdfcf5;padding:24px;border:1px solid #eadce3;border-radius:20px;box-shadow:0 18px 50px #96607715;min-width:0}.planner-preview header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:10px}.planner-preview header>span{font:23px Georgia,serif}.planner-preview header small{background:#eef3ea;color:#557052;padding:5px 9px;border-radius:8px}.preview-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.preview-sections a{display:flex;align-items:center;gap:10px;padding:16px 12px;background:#fcf6f8;border:1px solid #f0e5ea;border-radius:12px;line-height:1.45;font-size:13px}.preview-sections svg{width:20px;min-width:20px;height:20px;stroke:#9c5572;fill:none;stroke-width:1.7}.planner-preview>p{font-size:12px;margin:20px 0 0}.plan-heading{padding-bottom:8px}.plan-heading h1{font-size:clamp(34px,4vw,53px);color:#694559}.plan-picker{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.plan-picker a{padding:9px 15px;border-radius:24px;border:1px solid var(--line);background:white;font-size:13px}.plan-picker a[aria-current]{background:var(--pink-soft);border-color:#cca4b5}.wedding-workspace{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 6px 24px #62354907;margin:24px 0 50px}.plan-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 24px;background:#fff9fb;border-bottom:1px solid var(--line)}.plan-toolbar .actions{margin:0;display:flex;gap:10px;flex-wrap:wrap}.plan-save-state{font-size:13px;color:#68545f;overflow-wrap:anywhere}.plan-save-state.error{color:#a22e49}.plan-body{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:650px}.plan-sidebar{padding:16px 10px;background:#fbf7f8;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.plan-sidebar button{background:none;border:0;padding:12px 13px;text-align:left;line-height:1.5;border-radius:9px;color:#665461;font:inherit;font-size:13px;cursor:pointer}.plan-sidebar button[aria-pressed=true]{background:#edd7e1;color:#74374f;font-weight:600}.plan-sidebar button:hover{background:#f2e6eb}.plan-main{padding:28px;min-width:0}.plan-main h2{font:500 29px/1.25 Georgia,serif;margin:0 0 20px;color:#5a4151}.plan-main h3{font-size:17px;margin:0 0 10px}.plan-main p{line-height:1.65;color:#786974;font-size:14px;margin:0 0 20px}.plan-main label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#62505e;margin-bottom:16px}.plan-main input:not([type=checkbox]),.plan-main select,.plan-main textarea{border:1px solid #ded3da;border-radius:9px;padding:11px 12px;min-height:44px;width:100%;font:inherit;background:#fff;box-sizing:border-box;color:#403744}.plan-main input[type=checkbox]{width:18px;height:18px;accent-color:var(--pink)}.plan-main .check{display:flex;flex-direction:row;align-items:flex-start;gap:10px}.plan-main .check input{margin-top:3px;flex-shrink:0}.plan-main input:focus,.plan-main select:focus,.plan-main textarea:focus{outline:2px solid #d7aabe;outline-offset:2px}.plan-main .field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;display:grid}.plan-main .actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.plan-main .button{font-size:13px;padding:11px 15px;min-height:42px;line-height:1.4;white-space:normal}.plan-main .button.outline{background:white;border:1px solid #d8baca;color:#7e435b}.plan-main button:disabled{opacity:.5;cursor:default}.plan-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.plan-metrics>div{padding:18px;background:#f9f3f6;border:1px solid #f0e4ea;border-radius:13px;display:flex;flex-direction:column;gap:8px}.plan-metrics strong{font:500 25px Georgia,serif;color:#72445c;overflow-wrap:anywhere}.plan-metrics span{font-size:12px;color:#7d6976}.plan-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.plan-note{padding:22px;border:1px solid var(--line);border-radius:14px;background:#fffafc;margin-top:20px}.plan-note ul{padding-left:18px;font-size:13px;color:#776873}.plan-note li{margin:12px 0}.plan-sheet{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;margin:0}.plan-sheet th{padding:12px 8px;text-align:left;background:#f7eef2;font-weight:600;border-bottom:1px solid #e1d3da;white-space:nowrap}.plan-sheet td{padding:10px 6px;vertical-align:middle;border-bottom:1px solid #eee5ea}.plan-sheet input:not([type=checkbox]),.plan-sheet select{min-width:130px;padding:9px;min-height:40px}.plan-sheet td:first-child input{min-width:160px}.plan-sheet input[type=number]{min-width:95px;width:110px}.plan-row-remove{border:1px solid #e1c5d0;background:#fff;color:#915268;padding:8px 10px;border-radius:7px;font:inherit;cursor:pointer;white-space:nowrap}.plan-main .sheet-scroll{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:12px;margin:22px 0 16px}.plan-invite-row,.plan-assignment{display:flex;align-items:flex-end;gap:12px;margin:22px 0;flex-wrap:wrap}.plan-invite-row label,.plan-assignment label{flex:1 1 180px;margin:0}.plan-invite-row .button,.plan-assignment .button{min-height:44px}.plan-share-link{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:20px 0}.plan-share-link input{flex:1 1 250px}.plan-share-link .text-link{font-size:13px}.plan-team-row{display:flex;align-items:center;flex-wrap:wrap;gap:15px;padding:17px 0;border-bottom:1px solid var(--line);font-size:13px}.plan-team-row strong{overflow-wrap:anywhere;flex:1}.plan-team-row span{color:#776371}.layout-board{position:relative;height:460px;background-color:#fcfafb;background-image:radial-gradient(#dccbd4 1px,transparent 1px);background-size:20px 20px;border:1px solid #e0d0d9;border-radius:16px;overflow:hidden;margin:24px 0}.layout-item{position:absolute;width:15%;height:15%;border:2px solid #c394a9;background:#f8e8ef;color:#643e51;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:5px;border-radius:9px;cursor:grab;overflow-wrap:anywhere;touch-action:manipulation;line-height:1.2}.layout-item.round{border-radius:50%}.layout-item strong{font-size:12px;max-width:100%}.layout-item small{font-size:10px}.layout-item:focus{outline:3px solid #8f526c;outline-offset:3px}.layout-item.over-capacity{background:#faddd8;border-color:#c16b55}.layout-empty{position:absolute;inset:35% 15%;text-align:center}.guest-pool{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0 20px}.guest-pool button{background:#fff;border:1px solid #dac6d1;border-radius:22px;padding:9px 12px;cursor:grab;color:#674758}.plan-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.plan-album-grid figure{margin:0;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:white;min-width:0}.plan-album-grid img{display:block;width:100%;height:200px;object-fit:cover}.plan-album-grid figcaption{padding:12px;font-size:13px;overflow-wrap:anywhere}.plan-album-grid figure>small{display:block;padding:0 12px;color:#7e6373;font-size:11px}.plan-album-grid .actions{padding:0 10px;margin:12px 0;gap:7px}.plan-album-grid .button{font-size:11px;padding:7px 9px;min-height:34px}.plan-album-grid p{margin:5px 0}.plan-timeline{display:flex;gap:12px;overflow:auto;margin:20px 0;padding:2px 0 12px}.plan-timeline>div{display:flex;flex:0 0 160px;flex-direction:column;gap:9px;padding:17px;background:#f9f1f5;border-left:3px solid #c08ba4;border-radius:0 10px 10px 0}.plan-timeline time{color:#9b506e;font-weight:600}.plan-timeline strong{font-size:13px}.plan-timeline small{font-size:11px;color:#84717d}.plan-welcome{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:38px}.plan-features{list-style:none;padding:0;display:grid;gap:12px}.plan-features li{padding:14px 18px;border:1px solid var(--line);background:#fcf6f9;border-radius:10px;font-size:14px}.wedding-website{max-width:1060px;margin:24px auto}.wedding-cover{text-align:center;padding:70px 24px;background:linear-gradient(140deg,#fcf0f3,#f5f4e9);border:1px solid var(--line);border-radius:24px;margin-bottom:30px}.wedding-cover h1{font:500 clamp(36px,6vw,68px)/1.15 Georgia,serif;color:#75465b;overflow-wrap:anywhere}.wedding-cover .wedding-welcome{max-width:640px;margin:24px auto 0;line-height:1.8}.wedding-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.wedding-sections p{white-space:normal;overflow-wrap:anywhere;line-height:1.8}.wedding-rsvp{margin:30px auto}.wedding-website .section{margin:34px 0}.wedding-workspace [hidden]{display:none!important}
@media(max-width:1100px){.planning-hero{gap:25px;padding:32px}.plan-body{grid-template-columns:175px minmax(0,1fr)}.plan-main{padding:22px}.plan-overview-grid{grid-template-columns:1fr}.plan-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.planning-hero{grid-template-columns:1fr;padding:28px 22px;margin-top:16px;border-radius:20px;gap:24px}.planning-hero h1{font-size:39px}.planning-hero p{font-size:15px}.planner-preview{padding:18px}.preview-sections a{padding:13px 10px}.plan-body{display:block}.plan-sidebar{flex-direction:row;overflow:auto;border-right:0;border-bottom:1px solid var(--line);padding:10px}.plan-sidebar button{flex:0 0 auto;font-size:12px;padding:10px 12px}.plan-main{padding:22px 16px}.plan-toolbar{align-items:stretch;flex-direction:column;padding:15px}.plan-toolbar .actions{justify-content:flex-end}.plan-main .field-grid{grid-template-columns:1fr}.plan-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-metrics strong{font-size:21px}.plan-welcome{grid-template-columns:1fr;padding:24px;gap:15px}.layout-board{height:360px}.layout-item{width:19%;height:17%}.layout-item strong{font-size:10px}.plan-album-grid{gap:10px}.plan-album-grid img{height:150px}.wedding-sections{grid-template-columns:1fr}.plan-main h2{font-size:26px}}


.plan-album-grid figure>a.text-link{display:block;padding:10px 12px;font-size:12px}
/* Guest import and album filters share a compact, aligned control row. */
.wedding-workspace .guest-controls{display:grid;grid-template-columns:minmax(180px,2fr) repeat(2,minmax(120px,1fr)) auto;align-items:end;gap:12px;margin:24px 0 12px}.wedding-workspace .guest-controls label{margin:0;min-width:0}.wedding-workspace .guest-controls .button{min-height:44px;margin:0}.wedding-workspace .album-controls{grid-template-columns:repeat(2,minmax(150px,1fr))}.plan-import{border:1px solid var(--line);border-radius:12px;padding:18px;margin:20px 0;background:#fffbfd}.plan-import summary{cursor:pointer;color:#77445c;font-weight:600;padding:3px 0;list-style-position:inside}.plan-import[open] summary{margin-bottom:18px}.plan-import .actions{align-items:center}.plan-import .actions label{margin:0;cursor:pointer;display:inline-flex}.plan-import .sheet-scroll:empty{display:none}.plan-import .sheet-scroll{max-height:340px}.plan-import th{position:sticky;top:0}.plan-import td{overflow-wrap:anywhere;min-width:110px;padding:10px 12px}.plan-import .error{color:#a22e49}.wedding-workspace [data-guest-count],.wedding-workspace [data-plan-photo-count]{font-size:12px;margin:12px 0}.wedding-workspace input[type=file]:focus-visible+span{outline:2px solid var(--pink)}.plan-main .plan-timeline small{overflow-wrap:anywhere}.plan-main .plan-timeline time{white-space:nowrap}
@media(max-width:1050px){.wedding-workspace .guest-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.wedding-workspace .guest-controls>.button{justify-self:start}}
@media(max-width:480px){.wedding-workspace .guest-controls{grid-template-columns:minmax(0,1fr)}.wedding-workspace .guest-controls>.button{justify-self:stretch}.plan-import{padding:14px}.plan-import .actions{align-items:stretch;flex-direction:column}.plan-import .actions .button{width:100%;box-sizing:border-box;text-align:center}}
