:root{--bg:#f7f2ee;--paper:#fffdfa;--paper2:#fbf6f2;--ink:#403633;--muted:#93847d;--line:#ecdfd7;--rose:#c98e84;--rose-light:#f3e2dd;--gold:#bc996d;--green:#759582;--green-light:#e6eee8;--shadow:0 9px 30px rgba(94,67,53,.055);--telegram-safe-top:env(safe-area-inset-top,0px);--telegram-safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;padding:calc(var(--telegram-safe-top) + 0px) 0 calc(var(--telegram-safe-bottom) + 82px)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:active{transform:scale(.985)}.hidden{display:none!important}.boot-screen{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--bg)}.boot-logo{width:64px;height:64px;border-radius:22px;display:grid;place-items:center;background:var(--rose-light);color:#9c6d64;font-size:37px}.boot-title{font:500 27px Georgia,serif;margin:18px 0 7px}.boot-sub{font-size:12px;color:var(--muted)}.loader{width:32px;height:3px;border-radius:4px;background:var(--line);overflow:hidden;margin-top:24px}.loader:after{content:"";display:block;width:45%;height:100%;background:var(--rose);animation:load 1s infinite}@keyframes load{to{transform:translateX(130%)}}.app{max-width:620px;min-height:100svh;margin:0 auto;padding:13px 17px 30px}.topbar{height:52px;display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.brandline{display:flex;align-items:center;gap:10px}.brand-icon{width:38px;height:38px;border-radius:13px;background:var(--rose-light);display:grid;place-items:center;color:#9d7067;font:24px Georgia}.overline{font-size:9px;letter-spacing:1.5px;color:var(--gold);font-weight:800}.brand-name{font:500 15px Georgia,serif;margin-top:3px}.icon-btn{border:1px solid var(--line);background:var(--paper);border-radius:50%;width:37px;height:37px;color:var(--muted);font-weight:800}.greeting{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin:8px 0 16px}.greeting h1,.page-intro h1{font:500 30px/1.15 Georgia,serif;margin:6px 0 6px;letter-spacing:-.5px}.greeting h1 span{color:var(--rose)}.greeting p,.page-intro p{margin:0;color:var(--muted);font-size:12px}.sync-status{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--green);white-space:nowrap;margin-top:5px}.sync-status i{width:6px;height:6px;background:var(--green);border-radius:50%}.sync-status.saving{color:var(--gold)}.sync-status.saving i{background:var(--gold)}.sync-status.offline{color:#bb776e}.sync-status.offline i{background:#bb776e}.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:11px}.stat-card{border-radius:19px;padding:15px 15px 14px;box-shadow:var(--shadow);min-width:0}.progress-stat{background:#f4e8e3}.budget-stat{background:#f8f0e3}.stat-head{font-size:9px;letter-spacing:.9px;font-weight:800;color:#8a726a;display:flex;justify-content:space-between}.stat-head span{font-size:15px;color:var(--gold)}.ring-wrap{display:flex;justify-content:center;padding:12px 0 9px}.progress-ring{--v:0%;width:108px;height:108px;border-radius:50%;background:conic-gradient(var(--green) var(--v),#e1d8d1 0);display:grid;place-items:center;position:relative}.progress-ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#f4e8e3}.progress-ring>div{z-index:1;display:grid;text-align:center}.progress-ring strong{font-size:24px}.progress-ring small{font-size:9px;color:var(--muted)}.stat-foot{text-align:center;font-size:10px;color:#8a7771}.stat-foot b{color:var(--ink)}.big-amount{font-size:25px;font-weight:800;margin:21px 0 5px;letter-spacing:-.6px;white-space:nowrap}.muted-line{font-size:11px;color:#9c8b7d}.muted-line b{color:#6d5c51}.thin-bar{height:8px;background:#e6dccd;border-radius:20px;margin:15px 0 7px;overflow:hidden}.thin-bar i{display:block;height:100%;width:0;border-radius:20px;background:var(--gold);transition:width .3s}.budget-bottom{display:flex;justify-content:space-between;font-size:9px;color:#927e69}.budget-left{margin-top:16px;padding-top:10px;border-top:1px solid #eadfce;display:flex;justify-content:space-between;font-size:10px;color:#927e69}.budget-left strong{color:var(--ink)}.section-head{display:flex;justify-content:space-between;align-items:end;margin:23px 2px 12px}.section-head h2,.card-heading h2{font:500 20px Georgia,serif;margin:0}.section-head p,.card-heading p{font-size:11px;color:var(--muted);margin:4px 0 0}.tiny-heart{color:var(--rose);font-size:22px}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.module-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:13px;text-align:left;position:relative;min-height:111px;color:var(--ink);box-shadow:var(--shadow)}.module-card:active{background:#fff7f3}.module-icon{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;font-size:16px;margin-bottom:9px}.peach{background:#f5e5df;color:#a77469}.sage{background:#e7eee8;color:#688c77}.lavender{background:#eee8f2;color:#88769a}.gold{background:#f4ecde;color:#a78b60}.blue{background:#e6edf0;color:#718997}.pink{background:#f6e8eb;color:#b27f8b}.module-card strong{font-size:13px;display:block}.module-card small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.module-arrow{position:absolute;right:13px;top:13px;color:#bd9a85;font-size:15px}.content-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px;margin-top:13px;box-shadow:var(--shadow)}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.card-heading h2{font-size:18px}.text-btn{border:0;background:transparent;color:#a37568;font-size:11px;font-weight:700;padding:6px 0;white-space:nowrap}.next-tasks{display:grid}.next-row{display:flex;align-items:center;gap:9px;padding:10px 0;border-top:1px solid #f2ebe6}.next-row:first-child{border-top:0}.next-row label{font-size:11px;flex:1}.next-row small{font-size:9px;color:var(--muted)}input[type=checkbox]{width:17px;height:17px;accent-color:var(--green);flex:0 0 auto}.next-row.done label{text-decoration:line-through;color:#aaa}.couple-card{display:flex;position:relative;overflow:hidden;background:#f2e6e0;border:0;min-height:148px}.couple-copy{position:relative;z-index:1;max-width:80%}.couple-copy h2{font:500 21px Georgia,serif;margin:6px 0}.couple-copy p{color:#8b7770;font-size:11px;line-height:1.5;margin:0 0 13px}.couple-art{position:absolute;right:5px;bottom:-22px;font:150px Georgia;color:rgba(187,140,128,.16)}.primary-btn,.secondary-btn,.outline-add{border:0;border-radius:12px;padding:12px 15px;font-size:12px;font-weight:750}.primary-btn{background:#6e8a78;color:white}.secondary-btn{background:#f3e5e0;color:#8e645a}.wide-btn{width:100%;display:flex;justify-content:space-between;align-items:center}.outline-add{width:100%;background:transparent;border:1px dashed #d5b8ad;color:#986e64;margin-top:12px;padding:14px}.page-intro{padding:8px 1px 17px}.page-intro h1{font-size:27px}.summary-strip{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:12px 13px;display:flex;align-items:center;gap:10px;margin-bottom:13px}.summary-strip>div:first-child{display:grid}.summary-strip strong{font-size:19px}.summary-strip span{font-size:9px;color:var(--muted)}.summary-strip>div:last-child{font-size:10px;color:var(--muted)}.summary-track{height:7px;background:#eee7e2;border-radius:9px;overflow:hidden;flex:1}.summary-track i{display:block;height:100%;background:var(--green);width:0}.filter-row{display:flex;gap:7px;margin-bottom:12px}.select,.input{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:10px 11px;color:var(--ink);font-size:11px;min-width:0}.select{flex:1}.plus-btn{width:40px;border:0;background:var(--ink);color:white;border-radius:11px;font-size:21px}.task-groups{display:grid;gap:10px}.task-group{background:var(--paper);border:1px solid var(--line);border-radius:15px;overflow:hidden}.group-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#faf3ef}.group-head strong{font-size:12px}.group-head span{font-size:10px;color:var(--muted)}.task-item{display:flex;align-items:flex-start;gap:9px;padding:11px 13px;border-top:1px solid #f2ebe6}.task-item label{font-size:11px;line-height:1.4;flex:1}.task-item small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.task-item.done label{text-decoration:line-through;color:#aaa}.budget-summary,.guest-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:13px}.budget-summary>div,.guest-summary>div{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:11px}.budget-summary span,.guest-summary span{display:block;font-size:9px;color:var(--muted);margin-bottom:6px}.budget-summary strong,.guest-summary strong{font-size:15px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expense-list,.record-list,.timeline-list{display:grid}.expense-item,.record-item{padding:12px 0;border-top:1px solid #f1eae5;display:flex;gap:10px;align-items:center}.expense-item:first-child,.record-item:first-child{border-top:0}.expense-name,.record-main{min-width:0;flex:1}.expense-name strong,.record-main strong{display:block;font-size:11px}.expense-name small,.record-main small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.expense-nums{text-align:right;white-space:nowrap}.expense-nums strong{font-size:11px;display:block}.expense-nums small{font-size:9px;color:var(--muted)}.expense-total,.budget-total{border-top:1px solid var(--line);padding-top:13px;margin-top:8px;display:flex;justify-content:space-between;align-items:center;font-size:11px}.expense-total strong,.budget-total strong{font-size:16px}.record-main .subline{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.tag{display:inline-flex;padding:3px 6px;border-radius:7px;background:#f5eee9;font-size:9px;color:#8d756c}.tag.ok{background:var(--green-light);color:#678571}.tag.wait{background:#f8f0e2;color:#9c7a4f}.record-actions{display:flex;align-items:center;gap:7px}.small-icon-btn{border:0;background:#f6eee9;color:#98786b;border-radius:9px;padding:7px 8px;font-size:11px}.search-input{width:100%;margin-bottom:10px}.note-card{border-radius:13px;background:#f5eae4;color:#826a60;padding:13px;font-size:10px;line-height:1.5}.venue-list{display:grid;gap:11px;margin-top:12px}.venue-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px}.venue-top{display:flex;justify-content:space-between;gap:10px}.venue-title{font:500 17px Georgia,serif}.venue-location{font-size:10px;color:var(--muted);margin-top:3px}.venue-price{font-weight:800;font-size:14px;color:#91704c;white-space:nowrap}.criteria-grid{display:grid;grid-template-columns:1fr 110px;gap:7px 9px;margin:13px 0}.criteria-grid label{font-size:10px;color:#766861;align-self:center}.criteria-grid select{border:1px solid var(--line);border-radius:8px;background:#fffdfa;padding:7px;font-size:10px;color:var(--ink)}.venue-notes{display:grid;grid-template-columns:1fr 1fr;gap:8px}.venue-notes textarea{min-width:0;width:100%;min-height:65px;border:1px solid var(--line);border-radius:9px;padding:8px;font-size:10px;resize:vertical;background:#fffdfa}.venue-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:9px}.venue-foot select{flex:1;border:1px solid var(--line);border-radius:8px;padding:8px;font-size:10px;background:#fffdfa}.timeline-item{display:grid;grid-template-columns:50px 1fr auto;gap:10px;padding:13px 0;border-top:1px solid #f0e9e4;align-items:start}.timeline-item:first-child{border-top:0}.time{font-size:12px;color:#aa806e;font-weight:800}.timeline-item strong{display:block;font-size:11px}.timeline-item small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.form-field{display:grid;gap:6px;margin-bottom:12px}.form-field label,.field-label{font-size:10px;color:var(--muted);font-weight:750}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.form-grid .form-field{min-width:0}.settings-form .input{width:100%}.invite-box{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:9px 0}.invite-code{font-weight:850;letter-spacing:2px;color:#9b7469;background:#f7eee9;padding:12px 15px;border-radius:10px}.app-footer{text-align:center;padding:18px 0 12px;color:#b0a19a;font-size:9px;letter-spacing:1px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:rgba(255,253,250,.96);backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:8px 7px calc(8px + var(--telegram-safe-bottom));display:flex;justify-content:space-around;z-index:8}.bottom-nav button{border:0;background:transparent;color:#a2938d;display:grid;justify-items:center;gap:3px;min-width:48px;padding:3px}.bottom-nav button span{font-size:19px;line-height:1.1}.bottom-nav button small{font-size:9px}.bottom-nav button.active{color:#956c62}.bottom-nav button.active span{background:#f5e6e0;border-radius:9px;padding:4px 12px}.modal-root{position:fixed;inset:0;z-index:30;display:flex;align-items:flex-end;justify-content:center}.modal-backdrop{position:absolute;inset:0;background:rgba(50,39,34,.38)}.modal-sheet{position:relative;background:var(--paper);width:min(620px,100%);max-height:87svh;overflow:auto;border-radius:23px 23px 0 0;padding:12px 19px calc(20px + var(--telegram-safe-bottom));box-shadow:0 -15px 55px rgba(50,35,30,.12)}.modal-handle{width:38px;height:4px;border-radius:4px;background:#e2d8d1;margin:0 auto 14px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modal-header h2{font:500 21px Georgia,serif;margin:0}.close-btn{border:0;width:30px;height:30px;border-radius:50%;background:#f4ede8;font-size:19px;color:var(--muted)}.modal-fields{display:grid;gap:11px}.modal-fields .input{width:100%}.modal-actions{display:flex;gap:8px;margin-top:14px}.modal-actions button{flex:1}.toast{position:fixed;bottom:calc(82px + var(--telegram-safe-bottom));left:50%;transform:translate(-50%,12px);background:#493d39;color:white;border-radius:12px;padding:10px 14px;font-size:11px;opacity:0;pointer-events:none;transition:.2s;z-index:50;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}.onboarding{padding:5px 0 30px}.hero-cover{border-radius:22px;padding:22px 21px 25px;min-height:205px;background:linear-gradient(135deg,#ead8d1,#f3e9df 62%,#e7d7ca);position:relative;overflow:hidden}.hero-eyebrow{font-size:9px;letter-spacing:1.4px;color:#98776b;font-weight:800}.hero-cover h1{font:500 29px/1.1 Georgia,serif;margin:20px 0 9px;color:#473a36}.hero-cover h1 em{color:#9f7368;font-weight:400}.hero-cover p{font-size:11px;line-height:1.5;color:#806c63;max-width:230px}.hero-flower{position:absolute;right:4px;bottom:-33px;font-size:155px;color:rgba(174,132,119,.13)}.onboard-card{background:var(--paper);border:1px solid var(--line);border-radius:19px;margin-top:13px;padding:18px;box-shadow:var(--shadow)}.step-label{font-size:9px;letter-spacing:1.2px;font-weight:800;color:var(--gold)}.onboard-card h2{font:500 21px Georgia,serif;margin:7px 0}.onboard-card>p{font-size:11px;color:var(--muted);margin:0 0 17px}.onboard-card .input{width:100%;margin:6px 0 13px}.field-label{display:block}.or-line{display:flex;align-items:center;gap:10px;color:#b5a7a0;font-size:10px;margin:13px 0}.or-line:before,.or-line:after{content:"";height:1px;background:var(--line);flex:1}.join-row{display:flex;gap:8px}.join-row .input{flex:1;min-width:0}.join-row .secondary-btn{margin:6px 0 13px}.privacy-note{text-align:center;color:#aa9c95;font-size:9px;margin:15px 12px}.error-text{font-size:11px;color:#b56860;min-height:15px;margin-top:8px}
.page{display:none}.page.active{display:block}.empty-note{padding:18px 8px;text-align:center;color:var(--muted);font-size:11px;line-height:1.5}.mini-action{border:0;background:#f5eee9;color:#98786d;border-radius:8px;padding:6px 8px;font-size:10px;white-space:nowrap}.avatar{width:34px;height:34px;border-radius:12px;background:#f2e3dd;color:#956d64;display:grid;place-items:center;font:500 15px Georgia;flex:0 0 auto}.timeline-row{display:flex;align-items:flex-start;gap:11px;padding:12px 0;border-top:1px solid #f0e9e4}.timeline-row:first-child{border-top:0}.timeline-time{width:48px;color:#a57a69;font-size:12px;font-weight:800;padding-top:1px}.timeline-content{flex:1;min-width:0}.timeline-content strong{font-size:11px;display:block}.timeline-content small{font-size:9px;color:var(--muted);display:block;margin-top:4px}.invite-box{border:1px solid var(--line);border-radius:13px;background:#fbf6f2;padding:12px;display:flex;justify-content:space-between;align-items:center;gap:10px}.settings-form{padding:17px}.search-input{box-sizing:border-box}


/* WED mobile hero decoration */
@media (max-width: 480px) {
    .hero-eyebrow,
    .hero-cover h1,
    .hero-cover p {
        position: relative;
        z-index: 1;
    }

    .hero-cover p {
        max-width: 76%;
    }

    .hero-flower {
        z-index: 0;
        right: 10px;
        bottom: -14px;
        font-size: 72px;
        line-height: 1;
        color: rgba(174, 132, 119, 0.16);
    }
}

/* WED Typography Accessibility Update */

/* More readable typography across the application */
.greeting p,
.page-intro p,
.section-head p,
.card-heading p {
    font-size: 14px;
    line-height: 1.5;
    font-weight: 500;
}

.sync-status {
    font-size: 12px;
    font-weight: 600;
}

.stat-head {
    font-size: 11px;
    font-weight: 800;
}

.stat-foot {
    font-size: 12px;
    font-weight: 500;
}

.muted-line {
    font-size: 13px;
    font-weight: 500;
}

.budget-bottom {
    font-size: 11px;
    font-weight: 600;
}

.budget-left {
    font-size: 12px;
    font-weight: 600;
}

.section-head h2 {
    font-size: 23px;
    font-weight: 600;
}

.card-heading h2 {
    font-size: 21px;
    font-weight: 600;
}

.module-card strong {
    font-size: 15px;
    font-weight: 700;
}

.module-card small {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
}

.next-row label {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
}

.next-row small {
    font-size: 11px;
}

.group-head strong {
    font-size: 14px;
    font-weight: 700;
}

.group-head span {
    font-size: 12px;
}

.task-item label {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.45;
}

.task-item small {
    font-size: 12px;
    line-height: 1.4;
}

.budget-summary span,
.guest-summary span {
    font-size: 11px;
}

.budget-summary strong,
.guest-summary strong {
    font-size: 16px;
    font-weight: 700;
}

.expense-name strong,
.record-main strong,
.timeline-item strong,
.timeline-content strong {
    font-size: 14px;
    font-weight: 650;
}

.expense-name small,
.record-main small,
.timeline-item small,
.timeline-content small {
    font-size: 12px;
    line-height: 1.4;
}

.expense-nums strong {
    font-size: 14px;
}

.expense-nums small {
    font-size: 12px;
}

.form-field label,
.field-label,
.criteria-grid label {
    font-size: 13px;
    font-weight: 650;
}

.input,
.select,
.criteria-grid select,
.venue-notes textarea {
    font-size: 14px;
}

.venue-title {
    font-size: 19px;
}

.tag {
    font-size: 11px;
}

.bottom-nav button small {
    font-size: 11px;
    font-weight: 600;
}

.app-footer {
    font-size: 11px;
}

.onboard-card h2 {
    font-size: 24px;
    line-height: 1.25;
}

.onboard-card > p,
.hero-cover p {
    font-size: 14px;
    line-height: 1.5;
}

/* Stronger mobile readability */
@media (max-width: 620px) {
    .greeting h1 {
        font-size: 32px;
        font-weight: 600;
        line-height: 1.2;
    }

    .greeting p,
    .page-intro p,
    .section-head p,
    .card-heading p {
        font-size: 15px;
    }

    .sync-status {
        font-size: 11px;
    }

    .stat-head {
        font-size: 11px;
    }

    .stat-head span {
        font-size: 18px;
    }

    .stat-foot {
        font-size: 13px;
    }

    .big-amount {
        font-size: 29px;
        font-weight: 800;
    }

    .muted-line {
        font-size: 14px;
    }

    .budget-bottom {
        font-size: 12px;
    }

    .budget-left {
        font-size: 13px;
    }

    .section-head h2 {
        font-size: 25px;
    }

    .card-heading h2 {
        font-size: 23px;
    }

    .module-card strong {
        font-size: 16px;
    }

    .module-card small {
        font-size: 13px;
    }

    .next-row label {
        font-size: 15px;
    }

    .next-row small {
        font-size: 12px;
    }

    .group-head strong {
        font-size: 15px;
    }

    .group-head span {
        font-size: 13px;
    }

    .task-item label {
        font-size: 16px;
        font-weight: 550;
        line-height: 1.5;
    }

    .task-item small {
        font-size: 13px;
    }

    .budget-summary span,
    .guest-summary span {
        font-size: 12px;
    }

    .budget-summary strong,
    .guest-summary strong {
        font-size: 17px;
    }

    .expense-name strong,
    .record-main strong,
    .timeline-item strong,
    .timeline-content strong {
        font-size: 15px;
    }

    .expense-name small,
    .record-main small,
    .timeline-item small,
    .timeline-content small {
        font-size: 13px;
    }

    .expense-nums strong {
        font-size: 15px;
    }

    .expense-nums small {
        font-size: 13px;
    }

    .form-field label,
    .field-label,
    .criteria-grid label {
        font-size: 14px;
    }

    .input,
    .select,
    .criteria-grid select,
    .venue-notes textarea {
        font-size: 15px;
    }

    .venue-title {
        font-size: 20px;
    }

    .bottom-nav button small {
        font-size: 12px;
        font-weight: 650;
    }

    .app-footer {
        font-size: 11px;
    }

    .onboard-card h2 {
        font-size: 25px;
    }

    .onboard-card > p,
    .hero-cover p {
        font-size: 15px;
    }

    .hero-cover h1 {
        font-size: 32px;
        line-height: 1.2;
    }

    .toast {
        font-size: 13px;
    }
}



/* WED venue comparison layout and accessible controls */
.venue-card { min-width:0; padding:16px; }
.venue-heading { min-width:0; }
.venue-title { font-size:20px; line-height:1.25; font-weight:600; }
.venue-location { font-size:13px; line-height:1.4; margin-top:5px; }
.venue-price { font-size:16px; font-weight:800; }
.criteria-section-title { display:flex; flex-direction:column; gap:3px; margin:17px 0 10px; }
.criteria-section-title strong { font-size:16px; font-weight:750; color:var(--ink); }
.criteria-section-title span { font-size:12px; line-height:1.4; color:var(--muted); }
.criteria-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0 0 14px; }
.criterion-row { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:7px; min-width:0; padding:11px; border:1px solid var(--line); border-radius:12px; background:#fffdfa; }
.criterion-row label { display:block; align-self:stretch; min-width:0; font-size:14px; line-height:1.35; font-weight:700; color:var(--ink); }
.criterion-control-wrap { display:flex; align-items:center; gap:8px; min-width:0; }
.criterion-control { display:block; width:100%; min-width:0; min-height:44px; margin:0; padding:10px 12px; border:1px solid #e8d9d0; border-radius:10px; background:#fff; color:var(--ink); font:600 15px/1.3 -apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif; }
.criterion-control:focus { outline:2px solid rgba(164,112,94,.25); border-color:#b98d7b; }
.criterion-suffix { flex:0 0 auto; color:var(--muted); font-size:13px; font-weight:650; }
.criterion-legacy { display:block; color:#99765f; font-size:11px; line-height:1.35; }
.venue-notes { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.venue-notes textarea { min-height:88px; padding:11px; font-size:14px; line-height:1.45; }
.venue-foot { align-items:stretch; }
.venue-foot select { min-width:0; min-height:44px; font-size:14px; font-weight:650; }
.venue-foot .mini-action { font-size:13px; padding:10px 12px; }
@media (max-width:620px) {
  .venue-card { padding:14px; }
  .venue-top { align-items:flex-start; }
  .venue-title { font-size:21px; }
  .venue-location { font-size:14px; }
  .venue-price { font-size:16px; white-space:normal; text-align:right; }
  .criteria-section-title strong { font-size:17px; }
  .criteria-section-title span { font-size:13px; }
  .criteria-grid { grid-template-columns:minmax(0,1fr); gap:9px; }
  .criterion-row { padding:12px; gap:8px; }
  .criterion-row label { font-size:15px; line-height:1.4; }
  .criterion-control { min-height:48px; font-size:16px; }
  .criterion-suffix { font-size:14px; }
  .criterion-legacy { font-size:12px; }
  .venue-notes { grid-template-columns:minmax(0,1fr); }
  .venue-notes textarea { min-height:82px; font-size:15px; }
  .venue-foot { flex-direction:column; align-items:stretch; }
  .venue-foot select { width:100%; min-height:48px; font-size:15px; }
  .venue-foot .mini-action { align-self:flex-end; }
}


/* WED compact venue comparison list with expandable details */
.venue-list { display:grid; gap:10px; margin-top:12px; }
.venue-card--compact { min-width:0; padding:0; overflow:hidden; }
.venue-details { width:100%; }
.venue-summary { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; align-items:center; padding:15px 16px; cursor:pointer; list-style:none; }
.venue-summary::-webkit-details-marker { display:none; }
.venue-summary::marker { content:""; }
.venue-summary-main { min-width:0; }
.venue-summary-main .venue-title { font-size:19px; line-height:1.25; font-weight:750; overflow-wrap:anywhere; }
.venue-summary-main .venue-location { margin-top:4px; font-size:13px; line-height:1.35; }
.venue-summary-side { display:flex; flex-direction:column; align-items:flex-end; gap:7px; min-width:0; }
.venue-summary-side .venue-price { font-size:17px; line-height:1.2; font-weight:800; white-space:nowrap; }
.venue-summary-open { display:flex; align-items:center; gap:7px; color:#986c60; font-size:12px; font-weight:750; }
.venue-chevron { display:inline-block; font-size:20px; line-height:1; transition:transform .18s ease; }
.venue-details[open] .venue-chevron { transform:rotate(180deg); }
.venue-details[open] .venue-more-label { display:none; }
.venue-details[open] .venue-summary-open::before { content:"Свернуть"; }
.venue-summary-meta { grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:center; gap:6px; min-width:0; }
.venue-meta-chip, .venue-decision-chip { display:inline-flex; align-items:center; min-height:25px; max-width:100%; padding:4px 8px; border-radius:8px; background:#f7eee9; color:#806d64; font-size:11px; font-weight:650; overflow-wrap:anywhere; }
.venue-decision-chip { background:#edf1eb; color:#66816d; }
.venue-details-body { border-top:1px solid var(--line); padding:0 15px 15px; }
.venue-details-body .criteria-section-title { margin-top:15px; }
.venue-details-body .venue-notes { margin-top:10px; }
.venue-details-body .venue-foot { margin-top:10px; }
@media (max-width:620px) {
  .venue-list { gap:9px; }
  .venue-summary { grid-template-columns:minmax(0,1fr) auto; gap:7px 9px; padding:14px 13px; }
  .venue-summary-main .venue-title { font-size:18px; }
  .venue-summary-main .venue-location { font-size:12px; }
  .venue-summary-side .venue-price { font-size:16px; white-space:normal; text-align:right; }
  .venue-summary-open { font-size:12px; }
  .venue-summary-meta { gap:5px; }
  .venue-meta-chip, .venue-decision-chip { font-size:10px; min-height:23px; padding:4px 7px; }
  .venue-details-body { padding:0 12px 13px; }
}
