:root{--d-purple:#6655c8;--d-purple-soft:#f1eeff;--d-ink:#2a2530;--d-muted:#77707e;--d-line:#e6e2ea;--d-bg:#f7f6f9;--d-card:#fff;--d-green:#3d865a;--d-rose:#ad506b;--d-amber:#8e6a2f}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--d-ink);background:var(--d-bg);-webkit-font-smoothing:antialiased}.dash-icon{width:18px;height:18px;display:block;flex:0 0 18px}.dash-app{min-height:100dvh}.dash-sidebar{position:fixed;z-index:1000;inset:0 auto 0 0;width:272px;display:flex;flex-direction:column;padding:18px 15px;border-right:1px solid var(--d-line);background:#fff;overflow-y:auto}.dash-logo{display:flex;min-height:56px;align-items:center;padding:0 8px 14px}.dash-logo img{width:178px;max-height:44px;object-fit:contain}.dash-account{display:grid;grid-template-columns:40px minmax(0,1fr) 16px;align-items:center;gap:10px;margin:3px 0 18px;padding:11px;border:1px solid var(--d-line);border-radius:12px;background:#faf9fb}.dash-avatar{display:grid;width:40px;height:40px;place-items:center;border-radius:11px;color:#fff;background:linear-gradient(135deg,#6655c8,#8c7cdd);font-size:11px;font-weight:800}.dash-avatar.vendor{background:linear-gradient(135deg,#344153,#66768a)}.dash-account span:nth-child(2){display:grid;gap:2px}.dash-account strong{font-size:12px}.dash-account small{font-size:10px;color:var(--d-muted)}.dash-nav{display:grid;gap:3px}.dash-nav-label{padding:7px 10px;color:#99919e;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.dash-nav a{display:grid;grid-template-columns:19px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:43px;padding:9px 10px;border-radius:9px;color:#5e5764;font-size:12px;font-weight:700;text-decoration:none}.dash-nav a:hover,.dash-nav a.active{color:var(--d-purple);background:#f3f0ff}.dash-badge{display:grid;min-width:20px;height:20px;place-items:center;padding:0 6px;border-radius:999px;color:var(--d-purple);background:#eae6ff;font-size:9px;font-weight:800}.dash-sidebar-foot{display:grid;gap:2px;margin-top:auto;padding-top:18px;border-top:1px solid var(--d-line)}.dash-sidebar-foot a{display:flex;align-items:center;gap:9px;min-height:40px;padding:8px 10px;border-radius:8px;color:#77707d;font-size:11px;font-weight:700;text-decoration:none}.dash-sidebar-close{display:none}.dash-main{min-height:100dvh;margin-left:272px}.dash-topbar{position:sticky;z-index:900;top:0;display:grid;grid-template-columns:minmax(260px,620px) auto;align-items:center;justify-content:space-between;gap:22px;min-height:72px;padding:10px clamp(18px,3vw,40px);border-bottom:1px solid var(--d-line);background:rgba(255,255,255,.94);backdrop-filter:blur(18px)}.dash-menu{display:none}.dash-search{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;min-height:43px;padding:0 12px;border:1px solid var(--d-line);border-radius:10px;background:#faf9fb}.dash-search input{min-height:39px;border:0;outline:0;background:transparent;font-size:12px}.dash-top-actions{display:flex;align-items:center;gap:8px}.icon-btn{position:relative;display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--d-line);border-radius:10px;color:#665f6b;background:#fff}.icon-btn i{position:absolute;top:7px;right:7px;width:7px;height:7px;border:2px solid #fff;border-radius:50%;background:#db5e80}.profile-btn{display:grid;grid-template-columns:34px auto 14px;align-items:center;gap:8px;min-height:44px;padding:4px 8px 4px 5px;border:1px solid var(--d-line);border-radius:10px;color:var(--d-ink);background:#fff;font-size:11px;text-decoration:none}.profile-btn span{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;color:#fff;background:var(--d-purple);font-size:10px;font-weight:800}.notification-pop{position:absolute;z-index:50;top:62px;right:clamp(18px,3vw,40px);display:none;width:min(390px,calc(100vw - 28px));padding:10px;border:1px solid var(--d-line);border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(35,29,46,.18)}.notification-pop.open{display:block}.notification-pop>div{display:flex;justify-content:space-between;padding:8px;border-bottom:1px solid var(--d-line)}.notification-pop>div button{min-height:auto;padding:0;border:0;background:transparent;color:var(--d-purple);font-size:10px}.notification-pop a{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;padding:11px 8px;color:var(--d-ink);text-decoration:none}.notification-pop a+a{border-top:1px solid #efecf1}.notification-pop a span:last-child{display:grid;gap:3px}.notification-pop strong{font-size:11px}.notification-pop small{font-size:9px;color:var(--d-muted)}.dash-content{max-width:1600px;margin:0 auto;padding:clamp(24px,3vw,38px)}.dash-section{display:none}.dash-section.active{display:block}.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;margin-bottom:26px}.page-title>div:first-child>span{display:block;margin-bottom:5px;color:#918a96;font-size:10px;font-weight:700}.page-title h1{margin:0 0 5px;font-size:clamp(2rem,3.8vw,3.2rem);line-height:1.05;letter-spacing:-.045em}.page-title p{margin:0;color:var(--d-muted);font-size:12px;line-height:1.6}.title-actions{display:flex;flex-wrap:wrap;gap:8px}.btn{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:7px;padding:9px 14px;border:1px solid transparent;border-radius:9px;font-size:11px;font-weight:800;text-decoration:none;cursor:pointer}.btn.primary{color:#fff;border-color:var(--d-purple);background:var(--d-purple)}.btn.secondary{color:#5d5663;border-color:var(--d-line);background:#fff}.btn.full{width:100%}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.metric{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;min-height:116px;padding:18px;border:1px solid var(--d-line);border-radius:14px;background:#fff}.metric-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;color:var(--d-purple);background:var(--d-purple-soft)}.metric>div{display:grid;gap:2px}.metric span{color:#7d7682;font-size:10px;font-weight:700}.metric strong{font-size:22px}.metric small{color:#948d99;font-size:9px}.grid-2-1,.grid-1-2,.grid-3{display:grid;gap:14px;margin-bottom:14px}.grid-2-1{grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr)}.grid-1-2{grid-template-columns:minmax(300px,.7fr) minmax(0,1.5fr)}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{min-width:0;padding:21px;border:1px solid var(--d-line);border-radius:15px;background:#fff}.card.compact{min-height:245px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:17px}.eyebrow{display:block;margin-bottom:4px;color:var(--d-purple);font-size:9px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.card-head h2{margin:0;font-size:18px}.card-head a{color:var(--d-purple);font-size:10px;font-weight:800;text-decoration:none}.hero-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;margin-bottom:18px;padding:clamp(26px,4vw,40px);border:1px solid #ddd7ed;border-radius:20px;background:radial-gradient(circle at 90% 10%,rgba(102,85,200,.13),transparent 31%),linear-gradient(135deg,#fbfaff,#f3f0ff)}.hero-card h2{margin:0 0 8px;max-width:700px;font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:1.04;letter-spacing:-.045em}.hero-card p{margin:0;color:var(--d-muted);font-size:12px}.hero-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}.hero-links a{display:inline-flex;align-items:center;gap:6px;color:var(--d-purple);font-size:11px;font-weight:800;text-decoration:none}.progress-ring{--p:60;display:grid;width:138px;height:138px;place-items:center;border-radius:50%;background:conic-gradient(var(--d-purple) calc(var(--p)*1%),#e5e0eb 0)}.progress-ring:before{content:"";grid-area:1/1;width:112px;height:112px;border-radius:50%;background:#fff}.progress-ring div{z-index:1;grid-area:1/1;display:grid;text-align:center}.progress-ring strong{font-size:24px}.progress-ring span{font-size:9px;color:var(--d-muted)}.progress-ring.small{width:92px;height:92px}.progress-ring.small:before{width:72px;height:72px}.progress-ring.small strong{font-size:18px}.task-list,.activity-list,.upcoming-list,.lead-list,.review-list,.team-list{display:grid}.task-row{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:64px;padding:10px 0;border-bottom:1px solid #efecf1;cursor:pointer}.task-row:last-child{border-bottom:0}.task-row input{position:absolute;opacity:0}.task-check{display:grid;width:27px;height:27px;place-items:center;border:1px solid #d9d3e3;border-radius:8px;color:transparent}.task-row input:checked+.task-check{color:#fff;border-color:var(--d-purple);background:var(--d-purple)}.task-row span:nth-of-type(2){display:grid;gap:3px}.task-row strong{font-size:11px}.task-row small{font-size:9px;color:var(--d-muted)}.task-row em{padding:5px 7px;border-radius:999px;color:#a94d62;background:#fff0f4;font-size:8px;font-style:normal;font-weight:800}.task-row em.soft{color:#8c6a32;background:#fff7e8}.task-row em.done{color:#3e855b;background:#edf8f1}.task-row.completed strong{color:#99929d;text-decoration:line-through}.budget-visual{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:18px}.donut{--p:60;position:relative;display:grid;width:116px;height:116px;place-items:center;border-radius:50%;background:conic-gradient(var(--d-purple) calc(var(--p)*1%),#eae6ef 0)}.donut:before{content:"";position:absolute;width:88px;height:88px;border-radius:50%;background:#fff}.donut strong,.donut span{z-index:1;grid-area:1/1}.donut strong{transform:translateY(-7px);font-size:19px}.donut span{transform:translateY(12px);font-size:8px;color:var(--d-muted)}.budget-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.budget-summary div{display:grid;gap:2px;padding:10px;border-radius:9px;background:#f8f7fa}.budget-summary span{font-size:8px;color:var(--d-muted)}.budget-summary strong{font-size:12px}.mini-avatar{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;font-size:10px;font-weight:850}.lav{color:#5948b6;background:#eeebff}.rose{color:#a74e6a;background:#fff0f4}.sand{color:#8f6929;background:#fff5df}.green{color:#3d7954;background:#edf7f0}.slate{color:#566276;background:#eef1f5}.activity-list>div,.lead-list>div{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:61px;padding:9px 0;border-bottom:1px solid #efecf1}.activity-list>div:last-child,.lead-list>div:last-child{border-bottom:0}.activity-list>div>span:nth-child(2),.lead-list>div>span:nth-child(2){display:grid;gap:3px}.activity-list strong,.lead-list strong{font-size:11px}.activity-list small,.lead-list small{font-size:9px;color:var(--d-muted)}.activity-list time,.lead-list time{font-size:8px;color:#99919d}.upcoming-list>div{display:grid;grid-template-columns:48px minmax(0,1fr);gap:11px;padding:11px 0;border-bottom:1px solid #efecf1}.upcoming-list>div:last-child{border-bottom:0}.upcoming-list time{display:grid;width:46px;height:48px;place-items:center;align-content:center;border:1px solid #ddd8e5;border-radius:10px}.upcoming-list time strong{font-size:15px}.upcoming-list time span{font-size:8px;color:var(--d-purple);font-weight:800;text-transform:uppercase}.upcoming-list>div>span{display:grid;gap:3px;align-content:center}.upcoming-list strong{font-size:11px}.upcoming-list small{font-size:9px;color:var(--d-muted)}.meter{height:8px;margin:26px 0 17px;overflow:hidden;border-radius:999px;background:#ebe7ef}.meter span{display:block;height:100%;background:var(--d-purple)}.mini-stats{display:flex;gap:20px}.mini-stats div{display:grid;gap:2px}.mini-stats strong{font-size:17px}.mini-stats span{font-size:9px;color:var(--d-muted)}.card-link{display:inline-flex;align-items:center;gap:6px;margin-top:20px;color:var(--d-purple);font-size:10px;font-weight:800;text-decoration:none}.site-preview{display:grid;min-height:100px;place-items:center;align-content:center;padding:16px;border-radius:12px;background:linear-gradient(135deg,#f1e9e4,#e9d8cf);text-align:center}.site-preview span{font:22px Georgia,serif}.site-preview strong{font:15px Georgia,serif}.site-preview small{font-size:8px;color:#6f625c}.muted{color:var(--d-muted);font-size:10px;line-height:1.6}.shortlist{display:flex;margin:26px 0 12px}.shortlist span{display:grid;width:42px;height:42px;place-items:center;margin-left:-8px;border:3px solid #fff;border-radius:50%;color:#5949b5;background:#ede9ff;font-size:9px;font-weight:850}.shortlist span:first-child{margin-left:0}.status{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:850;white-space:nowrap}.status.new{color:#644fc0;background:#f0edff}.status.contacted{color:#8c692e;background:#fff5df}.status.qualified,.status.active,.status.paid{color:#3f7e58;background:#edf7f0}.status.pending{color:#9e4d65;background:#fff0f4}.status.neutral{color:#667080;background:#f0f2f5}.alert{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:17px;padding:14px 16px;border:1px solid #d9d2ee;border-radius:13px;background:#f5f2ff}.alert>span:first-child{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;color:var(--d-purple);background:#fff}.alert div{display:grid;gap:3px}.alert strong{font-size:11px}.alert p{margin:0;font-size:9px;color:var(--d-muted)}.alert a{display:inline-flex;align-items:center;gap:6px;color:var(--d-purple);font-size:9px;font-weight:800;text-decoration:none}.profile-score{display:flex;align-items:center;gap:16px;margin-bottom:13px}.profile-score>span{display:grid;gap:3px}.profile-score strong{font-size:13px}.profile-score small{font-size:9px;color:var(--d-muted)}.profile-action-list{display:grid}.profile-action-list a{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:43px;border-top:1px solid #efecf1;color:#5d5663;font-size:9px;font-weight:700;text-decoration:none}.profile-action-list svg{color:var(--d-purple)}.profile-action-list span{font-size:8px;color:#918a96}.line-chart svg{width:100%;height:215px}.chart-grid{fill:none;stroke:#ece8f0;stroke-width:1}.chart-area{fill:rgba(101,83,199,.08)}.chart-line{fill:none;stroke:var(--d-purple);stroke-width:3}.chart-line.secondary{stroke:#c78aa0;stroke-width:2}.chart-axis{display:flex;justify-content:space-between;color:#99929d;font-size:8px}.availability{display:grid;gap:3px;margin:20px 0 15px;text-align:center}.availability strong{font-size:38px}.availability span{font-size:11px;font-weight:750}.availability small{font-size:9px;color:var(--d-muted)}.switch-row,.toggle-list label{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px;padding:10px 0;border-bottom:1px solid #efecf1}.switch-row span,.toggle-list label span{display:grid;gap:3px}.switch-row strong,.toggle-list strong{font-size:11px}.switch-row small,.toggle-list small{font-size:9px;color:var(--d-muted)}.switch-row input,.toggle-list input[type=checkbox]{position:relative;width:38px!important;height:22px!important;min-height:22px!important;appearance:none;border:0!important;border-radius:999px!important;background:#ddd8e2!important}.switch-row input:after,.toggle-list input[type=checkbox]:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.15s}.switch-row input:checked,.toggle-list input[type=checkbox]:checked{background:var(--d-purple)!important}.switch-row input:checked:after,.toggle-list input[type=checkbox]:checked:after{transform:translateX(16px)}.review-score{display:flex;align-items:center;gap:10px;margin:24px 0 12px}.review-score>strong{font-size:32px}.review-score span{display:grid;color:#d4a449;font-size:12px;letter-spacing:.08em}.review-score small{font-size:8px;color:var(--d-muted);letter-spacing:0}.plan-chip{display:inline-flex;min-height:29px;align-items:center;padding:5px 9px;border-radius:999px;color:#5947b7;background:#eeeaff;font-size:9px;font-weight:850}.large-number{display:block;margin:23px 0 6px;font-size:30px}.inbox{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.6fr);min-height:650px;overflow:hidden;border:1px solid var(--d-line);border-radius:15px;background:#fff}.conversation-side{border-right:1px solid var(--d-line)}.conversation-search{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;margin:14px;padding:0 10px;border:1px solid var(--d-line);border-radius:9px;background:#faf9fb}.conversation-search input{min-height:39px;border:0;background:transparent;font-size:11px}.conversation-list{display:grid}.conversation-list button{display:grid;grid-template-columns:38px minmax(0,1fr) auto;min-height:74px;align-items:center;gap:10px;padding:11px 14px;border:0;border-top:1px solid #f0edf2;color:var(--d-ink);background:#fff;text-align:left}.conversation-list button.active{background:#f7f5ff}.conversation-list button>span:nth-child(2){display:grid;gap:3px;min-width:0}.conversation-list strong{font-size:11px}.conversation-list small{overflow:hidden;font-size:9px;color:var(--d-muted);white-space:nowrap;text-overflow:ellipsis}.conversation-list time{font-size:8px;color:#99929d}.message-panel{display:grid;grid-template-rows:auto auto 1fr auto auto;min-width:0}.message-head{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:70px;padding:12px 17px;border-bottom:1px solid var(--d-line)}.message-head span:nth-child(2){display:grid;gap:3px}.message-head strong{font-size:12px}.message-head small{font-size:9px;color:var(--d-muted)}.lead-context{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border-bottom:1px solid var(--d-line);background:var(--d-line)}.lead-context span{display:grid;gap:3px;padding:11px 14px;background:#faf9fb}.lead-context small{font-size:8px;color:var(--d-muted)}.lead-context strong{font-size:10px}.messages{display:flex;min-height:420px;flex-direction:column;gap:12px;overflow-y:auto;padding:24px;background:#fbfafc}.messages>div{max-width:72%;padding:11px 13px;border-radius:12px}.messages .received{align-self:flex-start;border:1px solid #e3dfe8;background:#fff}.messages .sent{align-self:flex-end;color:#fff;background:var(--d-purple)}.messages p{margin:0;font-size:11px;line-height:1.6}.messages small{display:block;margin-top:5px;font-size:8px;color:#99919e}.messages .sent small{color:rgba(255,255,255,.72)}.compose-tools{display:flex;gap:6px;padding:8px 15px;border-top:1px solid var(--d-line)}.compose-tools button{min-height:30px;padding:5px 8px;border:1px solid var(--d-line);border-radius:7px;color:#6c6571;background:#fff;font-size:8px;font-weight:750}.message-compose{display:grid;grid-template-columns:38px minmax(0,1fr) 40px;gap:7px;padding:12px 15px 15px;border-top:1px solid var(--d-line)}.message-compose input{min-height:40px;border:1px solid var(--d-line);border-radius:9px;padding:0 10px;font-size:11px}.message-compose button{display:grid;width:38px;height:40px;place-items:center;border:1px solid var(--d-line);border-radius:9px;color:var(--d-purple);background:#fff}.message-compose button:last-child{width:40px;color:#fff;border-color:var(--d-purple);background:var(--d-purple)}.calendar{padding-top:5px}.weekdays,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekdays span{padding:5px;color:#918a96;font-size:8px;font-weight:800;text-align:center}.days button{position:relative;aspect-ratio:1.2;min-height:44px;border:1px solid #eeeaf1;border-radius:8px;color:#5b5461;background:#fff;font-size:10px}.days button.today{color:#fff;border-color:var(--d-purple);background:var(--d-purple)}.days button.event:after,.days button.booked:after,.days button.hold:after{content:"";position:absolute;right:50%;bottom:5px;width:5px;height:5px;transform:translateX(50%);border-radius:50%;background:#d76887}.days button.booked:not(.today){color:#fff;border-color:#59697f;background:#65758a}.days button.hold:not(.today){color:#7c602c;border-color:#f1ddb0;background:#fff6e2}.days button.muted{color:#c6c0c8;background:#faf9fb}.timeline{display:grid}.timeline>div{position:relative;display:grid;grid-template-columns:14px minmax(0,1fr);gap:11px;padding:0 0 22px}.timeline>div:before{content:"";position:absolute;top:10px;bottom:-2px;left:5px;width:1px;background:#e0dbe6}.timeline>div:last-child:before{display:none}.timeline i{position:relative;z-index:1;width:11px;height:11px;margin-top:3px;border:3px solid #f0edff;border-radius:50%;background:var(--d-purple)}.timeline span{display:grid;gap:3px}.timeline small{font-size:8px;color:var(--d-purple);font-weight:800}.timeline strong{font-size:11px}.timeline p{margin:0;font-size:9px;color:var(--d-muted)}.filter-tabs{display:flex;gap:7px;margin-bottom:15px;overflow-x:auto}.filter-tabs button{flex:0 0 auto;min-height:36px;padding:7px 11px;border:1px solid var(--d-line);border-radius:999px;color:#6c6571;background:#fff;font-size:9px;font-weight:800}.filter-tabs button.active{color:#fff;border-color:var(--d-purple);background:var(--d-purple)}.idea-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.idea-grid article{overflow:hidden;border:1px solid var(--d-line);border-radius:14px;background:#fff}.idea-visual{display:grid;min-height:170px;place-items:center}.idea-visual svg{width:42px;height:42px;opacity:.5}.idea-grid article>div:last-child{padding:16px}.idea-grid article>div:last-child>span{font-size:8px;color:var(--d-purple);font-weight:850;text-transform:uppercase}.idea-grid h3{margin:7px 0;font-size:15px}.idea-grid p{min-height:46px;margin:0;font-size:10px;color:var(--d-muted);line-height:1.55}.idea-grid button{display:inline-flex;align-items:center;gap:6px;min-height:31px;margin-top:13px;padding:5px 8px;border:1px solid var(--d-line);border-radius:7px;color:var(--d-purple);background:#fff;font-size:8px;font-weight:800}.tone-lav{color:#6553c7;background:linear-gradient(135deg,#ece8ff,#dcd3ff)}.tone-rose{color:#a9536f;background:linear-gradient(135deg,#ffe9ef,#f3cdd8)}.tone-sand{color:#8e682d;background:linear-gradient(135deg,#fff1d2,#ead2a2)}.tone-green{color:#447b59;background:linear-gradient(135deg,#e8f6ed,#c9e7d3)}.table-wrap{overflow-x:auto}.table{width:100%;min-width:780px;border-collapse:collapse}.table th,.table td{padding:12px 10px;border-bottom:1px solid #efecf1;text-align:left;vertical-align:middle}.table th{font-size:8px;color:#8b8490;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.table td{font-size:10px;color:#5b5461}.table td small{font-size:8px;color:var(--d-muted)}.table button{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--d-line);border-radius:7px;background:#fff}.table-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-bottom:13px}.table-search{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;width:min(100%,360px);margin-right:auto;padding:0 10px;border:1px solid var(--d-line);border-radius:9px;background:#faf9fb}.table-search input{min-height:38px;border:0;background:transparent;font-size:10px}.table-toolbar>button,.table-toolbar>select,.small-select{min-height:38px;padding:7px 10px;border:1px solid var(--d-line);border-radius:9px;color:#655e6a;background:#fff;font-size:9px}.person-cell{display:inline-flex;align-items:center;gap:9px}.status-select{min-height:30px;border:1px solid var(--d-line);border-radius:7px;font-size:9px}.settings-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px}.settings-nav{display:grid;align-content:start;gap:3px;padding:8px;border:1px solid var(--d-line);border-radius:13px;background:#fff}.settings-nav button{min-height:42px;padding:8px 10px;border:0;border-radius:8px;color:#6b6470;background:transparent;font-size:10px;font-weight:750;text-align:left}.settings-nav button.active{color:var(--d-purple);background:#f2efff}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label,.field{display:grid;gap:6px;color:#5c5562;font-size:10px;font-weight:800}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea,.field select{width:100%;min-height:44px;padding:9px 11px;border:1px solid #ded9e4;border-radius:9px;background:#fff;font-size:11px}.card hr{margin:20px 0;border:0;border-top:1px solid var(--d-line)}.profile-editor{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px}.profile-editor-main{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.65fr);gap:14px}.profile-cover{display:grid;min-height:165px;place-items:center;margin:8px 0 13px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#3f4656,#738095);font-size:34px;font-weight:900}.verified{display:inline-flex;align-items:center;gap:5px;color:var(--d-purple);font-size:8px;font-weight:850}.profile-preview h3{margin:9px 0 5px;font-size:19px}.profile-preview p{margin:0 0 11px;font-size:10px;color:var(--d-muted);line-height:1.55}.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.package-card{padding:21px;border:1px solid var(--d-line);border-radius:15px;background:#fff}.package-card.featured{border-color:#cfc7ee;box-shadow:0 12px 32px rgba(101,83,199,.08)}.package-card>div:first-child{display:flex;justify-content:space-between}.package-card>div:first-child>span{font-size:8px;color:var(--d-purple);font-weight:850;text-transform:uppercase}.package-card h3{margin:18px 0 7px;font-size:21px}.package-card p{min-height:50px;margin:0;font-size:10px;color:var(--d-muted);line-height:1.55}.package-card>strong{display:block;margin:18px 0;font-size:19px}.package-card ul{display:grid;gap:9px;min-height:145px;margin:0 0 18px;padding:0;list-style:none}.package-card li{display:flex;align-items:center;gap:7px;font-size:10px;color:#625b67}.package-card li svg{color:var(--d-purple)}.portfolio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.portfolio-item{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:11px}.portfolio-item>span{position:absolute;bottom:10px;left:11px;color:#fff;font-size:9px;font-weight:800}.portfolio-item>div{position:absolute;top:8px;right:8px;display:flex;gap:4px;opacity:0}.portfolio-item:hover>div{opacity:1}.portfolio-item button{display:grid;width:29px;height:29px;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:8px;color:#fff;background:rgba(32,27,40,.62)}.port1{background:linear-gradient(135deg,#2f3542,#7a8797)}.port2{background:linear-gradient(135deg,#846b63,#cdb4a7)}.port3{background:linear-gradient(135deg,#51604d,#9bab90)}.port4{background:linear-gradient(135deg,#4d4659,#9a8eaa)}.port5{background:linear-gradient(135deg,#7a6045,#d0b083)}.port6{background:linear-gradient(135deg,#3a5559,#7da0a5)}.review-big{display:grid;place-items:center;margin:25px 0}.review-big strong{font-size:52px;line-height:1}.review-big span{margin-top:8px;color:#d4a449;letter-spacing:.1em}.review-big small{font-size:9px;color:var(--d-muted)}.rating-bars{display:grid;gap:8px;margin-bottom:20px}.rating-bars>div{display:grid;grid-template-columns:40px minmax(0,1fr) 30px;align-items:center;gap:7px;font-size:8px;color:var(--d-muted)}.rating-bars i,.market-list i{height:6px;overflow:hidden;border-radius:999px;background:#ede9f0}.rating-bars b,.market-list b{display:block;height:100%;border-radius:inherit;background:var(--d-purple)}.review-list>div{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;padding:14px 0;border-bottom:1px solid #efecf1}.review-list>div:last-child{border-bottom:0}.review-list>div>div{display:grid;gap:4px}.review-list strong{font-size:11px}.review-list>div>div>span{font-size:9px;color:#d4a449}.review-list small{font-size:8px;color:var(--d-muted)}.review-list p{margin:4px 0 0;font-size:10px;color:#625b67;line-height:1.6}.review-list button{justify-self:start;min-height:29px;padding:5px 8px;border:1px solid var(--d-line);border-radius:7px;color:var(--d-purple);background:#fff;font-size:8px;font-weight:800}.funnel{display:grid;gap:8px;padding:15px 0}.funnel>div{display:flex;width:var(--w);min-width:34%;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:8px 12px;border-radius:8px;color:#fff;background:linear-gradient(90deg,#6553c7,#8878d9)}.funnel>div:nth-child(2){opacity:.9}.funnel>div:nth-child(3){opacity:.8}.funnel>div:nth-child(4){opacity:.72}.funnel>div:nth-child(5){opacity:.64}.funnel span{font-size:11px;font-weight:850}.funnel small{font-size:8px;color:rgba(255,255,255,.82)}.market-list{display:grid;gap:13px}.market-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px}.market-list span,.market-list strong{font-size:10px}.market-list i{grid-column:1/-1}.plan-line{display:flex;align-items:center;justify-content:space-between;gap:24px}.plan-line h2{margin:12px 0 6px;font-size:30px}.plan-line p{margin:0;font-size:10px;color:var(--d-muted)}.plan-features{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px;padding-top:17px;border-top:1px solid var(--d-line)}.plan-features span{display:flex;align-items:center;gap:7px;font-size:9px;color:#625b67}.payment-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px;border:1px solid var(--d-line);border-radius:10px;background:#faf9fb}.payment-card>span{display:grid;gap:2px}.payment-card strong{font-size:10px}.payment-card small{font-size:8px;color:var(--d-muted)}.payment-card button{min-height:auto;padding:4px;border:0;color:var(--d-purple);background:transparent;font-size:8px;font-weight:800}.team-list>div{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto 32px;align-items:center;gap:10px;min-height:65px;padding:10px 0;border-bottom:1px solid #efecf1}.team-list>div:last-child{border-bottom:0}.team-list>div>span:nth-child(2){display:grid;gap:3px}.team-list strong{font-size:11px}.team-list small{font-size:9px;color:var(--d-muted)}.team-list button{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--d-line);border-radius:7px;background:#fff}.mobile-bottom{display:none}.dash-overlay{position:fixed;z-index:950;inset:0;display:none;border:0;background:rgba(28,23,35,.45)}.toast{position:fixed;z-index:3000;right:22px;bottom:22px;max-width:360px;padding:12px 15px;border-radius:10px;color:#fff;background:#292330;box-shadow:0 16px 44px rgba(31,26,38,.22);font-size:10px;font-weight:750;opacity:0;transform:translateY(12px);pointer-events:none;transition:.18s}.toast.show{opacity:1;transform:translateY(0)}
/* login */.dash-login-page{padding:80px 0;background:radial-gradient(circle at 8% 12%,rgba(101,83,199,.09),transparent 30%),#f9f8fb}.dash-login-shell{display:grid;grid-template-columns:minmax(0,.9fr) minmax(430px,.7fr);max-width:1120px;margin:0 auto;gap:70px;align-items:center;padding:0 24px}.dash-login-copy h1{margin:0 0 15px;font-size:clamp(3rem,6vw,5rem);line-height:.99;letter-spacing:-.055em}.dash-login-copy>p{max-width:600px;color:#77707d;font-size:15px;line-height:1.75}.dash-login-card{display:grid;gap:14px;padding:28px;border:1px solid #dfdae5;border-radius:18px;background:#fff;box-shadow:0 22px 65px rgba(36,29,49,.1)}.dash-login-card h2{margin:0 0 4px;font-size:27px}.dash-login-card label{display:grid;gap:6px;color:#5d5663;font-size:11px;font-weight:800}.dash-login-card input{min-height:46px;border:1px solid #ddd8e4;border-radius:9px;padding:0 11px}.login-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px}.login-toggle label{position:relative}.login-toggle input{position:absolute;opacity:0}.login-toggle span{display:flex;min-height:48px;align-items:center;justify-content:center;gap:7px;border:1px solid #dfdae5;border-radius:9px;color:#655e6b;background:#fff;font-size:10px}.login-toggle input:checked+span{color:#5946b3;border-color:#bdb3e5;background:#f4f1ff}.login-demo{display:grid;grid-template-columns:auto 1fr 1fr;gap:6px;align-items:center;padding:10px;border-radius:9px;background:#f8f7fa}.login-demo span{font-size:8px;color:#918a96;font-weight:850;text-transform:uppercase}.login-demo a{padding:6px 8px;border:1px solid #e2dde7;border-radius:7px;color:#5d5663;background:#fff;font-size:8px;font-weight:800;text-align:center;text-decoration:none}.modal-account-type{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:2px 0 10px}.modal-account-type label{position:relative}.modal-account-type input{position:absolute;opacity:0}.modal-account-type span{display:flex;min-height:38px;align-items:center;justify-content:center;gap:6px;border:1px solid #ddd8e4;border-radius:8px;color:#6d6672;background:#fff;font-size:9px;font-weight:800}.modal-account-type input:checked+span{color:#5946b4;border-color:#bdb3e5;background:#f4f1ff}
@media(max-width:1280px){.metric-grid{grid-template-columns:1fr 1fr}.idea-grid{grid-template-columns:1fr 1fr}.portfolio-grid{grid-template-columns:repeat(3,1fr)}.profile-editor-main{grid-template-columns:1fr}}
@media(max-width:1080px){.dash-sidebar{width:min(88vw,300px);transform:translateX(-105%);box-shadow:20px 0 70px rgba(28,23,35,.18);transition:.22s}.dashboard-menu-open .dash-sidebar{transform:translateX(0)}.dashboard-menu-open .dash-overlay{display:block}.dash-sidebar-close{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--d-line);border-radius:10px;background:#fff}.dash-main{margin-left:0}.dash-topbar{grid-template-columns:42px minmax(220px,1fr) auto}.dash-menu{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--d-line);border-radius:10px;background:#fff}.grid-2-1,.grid-1-2{grid-template-columns:1fr}.grid-3,.package-grid{grid-template-columns:1fr 1fr}.profile-editor{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.settings-nav{grid-template-columns:repeat(5,minmax(130px,1fr));overflow-x:auto}.dash-login-shell{grid-template-columns:1fr;max-width:760px}.dash-login-copy{text-align:center}}
@media(max-width:760px){.dash-topbar{grid-template-columns:42px minmax(0,1fr) auto;min-height:66px;padding:8px 14px}.profile-btn strong,.profile-btn>.dash-icon{display:none}.profile-btn{grid-template-columns:34px;padding:3px}.dash-content{padding:20px 14px 90px}.page-title{align-items:stretch;flex-direction:column;gap:16px}.title-actions{width:100%}.title-actions .btn{flex:1}.hero-card{grid-template-columns:1fr}.progress-ring{width:116px;height:116px}.progress-ring:before{width:92px;height:92px}.metric-grid{grid-template-columns:1fr 1fr}.metric{grid-template-columns:36px 1fr;min-height:98px;padding:14px}.metric-icon{width:36px;height:36px}.metric strong{font-size:18px}.grid-3,.package-grid{grid-template-columns:1fr}.card{padding:17px}.inbox{grid-template-columns:1fr;min-height:0}.conversation-side{border-right:0;border-bottom:1px solid var(--d-line)}.conversation-list{display:flex;overflow-x:auto}.conversation-list button{min-width:250px;border-top:0;border-right:1px solid #f0edf2}.messages{min-height:360px}.lead-context{grid-template-columns:1fr 1fr}.budget-visual{grid-template-columns:1fr;justify-items:center}.budget-summary{width:100%}.idea-grid{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.plan-line{align-items:stretch;flex-direction:column}.plan-features{grid-template-columns:1fr}.team-list>div{grid-template-columns:38px minmax(0,1fr) auto}.mobile-bottom{position:fixed;z-index:900;right:10px;bottom:10px;left:10px;display:grid;grid-template-columns:repeat(5,1fr);min-height:62px;padding:6px;border:1px solid #ddd8e4;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 14px 44px rgba(31,26,38,.16);backdrop-filter:blur(16px)}.mobile-bottom a{display:grid;place-items:center;gap:2px;padding:5px 2px;border-radius:10px;color:#77707d;font-size:8px;font-weight:750;text-decoration:none}.mobile-bottom a.active{color:var(--d-purple);background:#f2efff}.dash-login-page{padding:55px 0}.login-demo{grid-template-columns:1fr 1fr}.login-demo span{grid-column:1/-1}}
@media(max-width:520px){.dash-search input::placeholder{color:transparent}.metric-grid{grid-template-columns:1fr}.weekdays,.days{gap:3px}.days button{min-height:39px}.messages>div{max-width:88%}.dash-login-card{padding:22px 18px}.login-toggle{grid-template-columns:1fr}}



/* ===============================================================
   KnottyWedding v22 — Premium dashboards, readable typography
   =============================================================== */

:root{
  --d-purple:#6553c7;
  --d-purple-deep:#5543b7;
  --d-purple-soft:#f3f0ff;
  --d-ink:#28222f;
  --d-muted:#746d7a;
  --d-line:#e4e0e8;
  --d-bg:#f8f7fa;
  --d-card:#fff;
}

body{
  font-family:"Inter","Avenir Next","Segoe UI",Arial,sans-serif!important;
  font-size:14px;
  line-height:1.6;
  background:#f8f7fa;
  color:var(--d-ink);
}

h1,h2,h3,.page-title h1,.card-head h2,.hero-card h2,
.btn,.dash-nav a,.dash-account strong,.metric strong,.package-card h3{
  font-family:"Manrope","Inter","Segoe UI",sans-serif;
}

.dash-topbar{
  background:#fff!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:0 1px 0 rgba(36,29,47,.03);
}

.mobile-bottom{
  background:#fff!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

.dash-sidebar{
  border-right-color:#e7e3eb;
  box-shadow:6px 0 28px rgba(38,31,49,.025);
}

.dash-nav a{
  min-height:45px;
  font-size:13px!important;
  font-weight:650;
  letter-spacing:-.005em;
}

.dash-nav a.active{
  color:var(--d-purple);
  background:linear-gradient(90deg,#f2efff,#f8f6ff);
  box-shadow:inset 3px 0 0 var(--d-purple);
}

.dash-nav-label{
  font-size:10px!important;
}

.dash-account strong{font-size:13px!important}
.dash-account small{font-size:11px!important}
.dash-sidebar-foot a{font-size:12px!important}

.page-title>div:first-child>span{
  font-size:11px!important;
  letter-spacing:.01em;
}

.page-title h1{
  font-size:clamp(2.25rem,3.8vw,3.45rem);
  font-weight:700;
  letter-spacing:-.05em;
}

.page-title p{
  max-width:760px;
  font-size:13px!important;
  line-height:1.65;
}

.btn{
  min-height:44px;
  padding:10px 15px;
  border-radius:10px;
  font-size:12.5px!important;
  font-weight:750;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}

.btn:hover{
  transform:translateY(-1px);
}

.btn.primary{
  background:linear-gradient(135deg,#6857cd,#5a48ba);
  box-shadow:0 8px 20px rgba(101,83,199,.16);
}

.btn.secondary:hover{
  border-color:#cfc8da;
  box-shadow:0 6px 18px rgba(38,31,49,.055);
}

.card{
  padding:24px;
  border-color:#e4e0e8;
  border-radius:17px;
  box-shadow:0 8px 28px rgba(38,31,49,.035);
}

.card-head{
  margin-bottom:20px;
}

.card-head h2{
  font-size:19px!important;
  font-weight:700;
  letter-spacing:-.025em;
}

.card-head a{
  font-size:11px!important;
}

.eyebrow{
  font-size:10px!important;
  letter-spacing:.085em;
}

.metric{
  min-height:122px;
  border-radius:16px;
  box-shadow:0 8px 26px rgba(38,31,49,.03);
}

.metric span{font-size:11px!important}
.metric strong{font-size:23px!important}
.metric small{font-size:10.5px!important}

.hero-card{
  border-radius:22px;
  box-shadow:0 10px 34px rgba(101,83,199,.055);
}

.hero-card p{font-size:13px!important}
.hero-links a{font-size:12px!important}

.task-row strong,
.activity-list strong,
.lead-list strong,
.upcoming-list strong,
.team-list strong,
.review-list strong{
  font-size:12px!important;
}

.task-row small,
.activity-list small,
.lead-list small,
.upcoming-list small,
.team-list small,
.review-list small{
  font-size:10.5px!important;
  line-height:1.45;
}

.task-row em,
.status,.intent,.role{
  font-size:9.5px!important;
}

.dash-search input,
.inbox-search input,
.table-search input,
.message-compose input{
  font-size:12.5px!important;
}

.notification-pop strong{font-size:12px!important}
.notification-pop small{font-size:10.5px!important}

.table th{
  font-size:9.5px!important;
  letter-spacing:.05em;
}

.table td{
  font-size:11.5px!important;
}

.table td small{
  font-size:10px!important;
}

.form-grid label,.field{
  font-size:11px!important;
}

.form-grid input,.form-grid select,.form-grid textarea,.field select{
  min-height:47px;
  border-radius:10px;
  font-size:12.5px!important;
  line-height:1.5;
}

.form-grid textarea{
  min-height:118px;
}

.settings-nav button{
  min-height:45px;
  border-radius:9px;
  font-family:"Manrope","Inter",sans-serif;
  font-size:11.5px!important;
  font-weight:700;
}

.settings-nav button.active{
  color:var(--d-purple);
  background:#f2efff;
  box-shadow:inset 3px 0 0 var(--d-purple);
}

.profile-editor{
  grid-template-columns:235px minmax(0,1fr);
}

.premium-profile-editor .profile-editor-main{
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.58fr);
  align-items:start;
}

.profile-tab-stack,
.settings-tab-stack{
  min-width:0;
}

.profile-tab-panel,
.settings-tab-panel{
  display:none;
  animation:dashTabIn .18s ease;
}

.profile-tab-panel.active,
.settings-tab-panel.active{
  display:block;
}

@keyframes dashTabIn{
  from{opacity:.45;transform:translateY(3px)}
  to{opacity:1;transform:translateY(0)}
}

.profile-tab-status,
.verified-state{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:5px 9px;
  border-radius:999px;
  color:#3d8157;
  background:#edf8f1;
  font-size:10px;
  font-weight:800;
}

.profile-tab-status .dash-icon,
.verified-state .dash-icon{
  width:14px;
  height:14px;
}

.profile-market-list,
.verification-summary,
.security-grid,
.integration-grid{
  display:grid;
  gap:9px;
  margin-top:20px;
}

.profile-market-list>div,
.verification-summary>div,
.security-grid>div,
.integration-grid>div,
.contact-preview-grid>div{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  min-height:64px;
  align-items:center;
  gap:11px;
  padding:11px 12px;
  border:1px solid #e6e2ea;
  border-radius:11px;
  background:#fbfafc;
}

.profile-market-list>div>span,
.verification-summary>div>span,
.security-grid>div>span,
.integration-grid>div>span,
.contact-preview-grid>div>span{
  display:grid;
  gap:3px;
}

.profile-market-list>div>.dash-icon,
.verification-summary>div>.dash-icon,
.security-grid>div>.dash-icon,
.integration-grid>div>.dash-icon,
.contact-preview-grid>div>.dash-icon{
  width:20px;
  height:20px;
  color:var(--d-purple);
}

.profile-market-list strong,
.verification-summary strong,
.security-grid strong,
.integration-grid strong,
.contact-preview-grid strong{
  font-size:11.5px;
}

.profile-market-list small,
.verification-summary small,
.security-grid small,
.integration-grid small,
.contact-preview-grid small{
  color:var(--d-muted);
  font-size:10px!important;
}

.profile-market-list button,
.verification-summary button,
.security-grid button,
.integration-grid button{
  min-height:32px;
  padding:6px 9px;
  border:1px solid #ddd8e4;
  border-radius:8px;
  color:var(--d-purple);
  background:#fff;
  font-size:10px;
  font-weight:800;
}

.integration-grid button.connected{
  color:#3d8157;
  border-color:#cfe7d7;
  background:#edf8f1;
}

.contact-preview-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-top:20px;
}

.contact-preview-grid>div{
  grid-template-columns:30px minmax(0,1fr);
}

.premium-switch{
  margin-top:16px;
  padding:14px 0 0;
  border-top:1px solid #ece8ef;
}

.verification-summary em{
  color:#3d8157;
  font-size:9.5px;
  font-style:normal;
  font-weight:800;
}

.verification-note{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:11px;
  margin-top:18px;
  padding:14px;
  border:1px solid #d9d2eb;
  border-radius:11px;
  background:#f7f5ff;
}

.verification-note>.dash-icon{
  width:22px;
  height:22px;
  color:var(--d-purple);
}

.verification-note p{
  margin:0;
  color:#625b67;
  font-size:11px;
  line-height:1.6;
}

.seo-preview-card{
  margin-bottom:20px;
  padding:17px;
  border:1px solid #e4e0e8;
  border-radius:12px;
  background:#fff;
  box-shadow:0 7px 24px rgba(38,31,49,.035);
}

.seo-preview-card>span{
  color:#6b7b67;
  font-size:10px;
}

.seo-preview-card h3{
  margin:6px 0 5px;
  color:#3b5f9d;
  font-family:"Inter",sans-serif;
  font-size:17px;
  font-weight:600;
}

.seo-preview-card p{
  margin:0;
  color:#5e5764;
  font-size:11px;
  line-height:1.55;
}

.seo-fields small{
  color:#8d8692;
  font-size:9.5px!important;
  font-weight:500;
}

.url-field{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  overflow:hidden;
  border:1px solid #ded9e4;
  border-radius:10px;
  background:#fff;
}

.url-field span{
  padding-left:11px;
  color:#8d8692;
  font-size:10px;
}

.url-field input{
  border:0!important;
}

.seo-score{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:8px 14px;
  align-items:center;
  margin-top:18px;
  padding:14px;
  border-radius:11px;
  background:#f8f7fa;
}

.seo-score>span{
  display:grid;
}

.seo-score strong{
  font-family:"Manrope",sans-serif;
  font-size:24px;
}

.seo-score small{
  color:var(--d-muted);
  font-size:9px!important;
}

.seo-score>div{
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:#e8e4ed;
}

.seo-score b{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#6553c7,#8d7ade);
}

.seo-score p{
  grid-column:1/-1;
  margin:0;
  color:var(--d-muted);
  font-size:10.5px;
}

.premium-profile-preview{
  position:sticky;
  top:92px;
  border-color:#dcd6e8;
  background:linear-gradient(180deg,#fff,#fbfaff);
}

.profile-preview-rating{
  margin-top:12px;
  color:#d4a449;
  font-size:11px;
}

.profile-preview-rating strong{
  margin-left:5px;
  color:#403a45;
}

.profile-preview-rating small{
  margin-left:4px;
  color:var(--d-muted);
  font-size:9.5px!important;
}

.profile-preview-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:16px;
}

.profile-preview-actions button,
.profile-preview-actions a{
  display:flex;
  min-height:39px;
  align-items:center;
  justify-content:center;
  padding:7px 9px;
  border:1px solid #ddd8e4;
  border-radius:9px;
  color:var(--d-purple);
  background:#fff;
  font-size:10px;
  font-weight:800;
  text-decoration:none;
}

.profile-preview-actions button{
  color:#fff;
  border-color:var(--d-purple);
  background:var(--d-purple);
}

.toggle-list label,
.switch-row{
  min-height:64px;
}

.toggle-list strong,
.switch-row strong{
  font-size:12px!important;
}

.toggle-list small,
.switch-row small{
  font-size:10.5px!important;
}

.settings-tab-stack .card{
  min-height:360px;
}

.dash-overlay{
  background:rgba(28,23,35,.38);
}

/* No page-dimming effect unless mobile dashboard menu is explicitly open */
body:not(.dashboard-menu-open) .dash-overlay{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

@media(max-width:1280px){
  .premium-profile-editor .profile-editor-main{
    grid-template-columns:1fr;
  }
  .premium-profile-preview{
    position:static;
  }
  .contact-preview-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:1080px){
  .profile-editor{
    grid-template-columns:1fr;
  }
  .premium-settings-nav{
    grid-template-columns:repeat(5,minmax(140px,1fr))!important;
    overflow-x:auto;
    padding:7px;
    border-radius:12px;
  }
  .premium-settings-nav button{
    text-align:center;
    white-space:nowrap;
    box-shadow:none!important;
  }
  .premium-settings-nav button.active{
    box-shadow:inset 0 -3px 0 var(--d-purple)!important;
  }
}

@media(max-width:760px){
  body{font-size:14px}
  .dash-content{padding-top:22px}
  .page-title h1{font-size:2.25rem}
  .page-title p{font-size:12.5px!important}
  .card{padding:19px;border-radius:15px}
  .metric span{font-size:10.5px!important}
  .metric small{font-size:10px!important}
  .premium-settings-nav{
    grid-template-columns:none!important;
    grid-auto-flow:column;
    grid-auto-columns:max-content;
  }
  .profile-market-list>div,
  .verification-summary>div,
  .security-grid>div,
  .integration-grid>div{
    grid-template-columns:32px minmax(0,1fr) auto;
  }
}

@media(max-width:520px){
  .profile-preview-actions{grid-template-columns:1fr}
  .url-field{grid-template-columns:1fr}
  .url-field span{padding:9px 11px 0}
  .profile-market-list>div,
  .verification-summary>div,
  .security-grid>div,
  .integration-grid>div{
    grid-template-columns:30px minmax(0,1fr);
  }
  .profile-market-list button,
  .verification-summary button,
  .security-grid button,
  .integration-grid button,
  .verification-summary em{
    grid-column:2;
    justify-self:start;
  }
}

.days button.selected:not(.today){
  outline:2px solid rgba(101,83,199,.22);
  border-color:#9d90d8!important;
  background:#f5f2ff!important;
}
.idea-grid article button.unsaved{
  color:#77707d;
  background:#f8f7fa;
}


/* v23 complete service category support */
[data-tab-panel="business"] select{
  text-overflow:ellipsis;
}



/* ===============================================================
   KnottyWedding v24 — Connected planning cards in Couple Dashboard
   =============================================================== */

.v24-dashboard-tools{
  margin-bottom:14px;
  padding:20px;
  border:1px solid #ddd7e9;
  border-radius:16px;
  background:
    radial-gradient(circle at 96% 8%,rgba(101,83,199,.08),transparent 30%),
    #fff;
  box-shadow:0 8px 26px rgba(38,31,49,.035);
}

.v24-dashboard-tools-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:15px;
}

.v24-dashboard-tools-heading h2{
  margin:0 0 5px;
  font-family:"Manrope","Inter",sans-serif;
  font-size:18px;
}

.v24-dashboard-tools-heading p{
  margin:0;
  color:#77707d;
  font-size:10.5px;
}

.v24-dashboard-tools-heading>a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#6553c7;
  font-size:10px;
  font-weight:800;
  text-decoration:none;
}

.v24-dashboard-tools-heading>a .dash-icon{
  width:14px;
  height:14px;
}

.v24-dashboard-tool-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}

.v24-dashboard-tool-grid>a{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:9px;
  min-height:63px;
  padding:10px;
  border:1px solid #e5e1e9;
  border-radius:10px;
  color:#5d5663;
  background:#faf9fb;
  text-decoration:none;
  transition:.15s ease;
}

.v24-dashboard-tool-grid>a:hover{
  transform:translateY(-1px);
  border-color:#d3ccea;
  background:#f7f5ff;
}

.v24-dashboard-tool-grid>a>.dash-icon{
  width:18px;
  height:18px;
  color:#6553c7;
}

.v24-dashboard-tool-grid span{
  display:grid;
  gap:2px;
}

.v24-dashboard-tool-grid strong{
  font-family:"Manrope","Inter",sans-serif;
  font-size:10.5px;
}

.v24-dashboard-tool-grid small{
  color:#8a8390;
  font-size:9px!important;
}

.v24-synced-enquiry{
  border-left:3px solid #6553c7!important;
}

@media(max-width:1180px){
  .v24-dashboard-tool-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .v24-dashboard-tools-heading{
    align-items:flex-start;
    flex-direction:column;
  }
  .v24-dashboard-tool-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:480px){
  .v24-dashboard-tool-grid{
    grid-template-columns:1fr;
  }
}


/* v33 live marketplace / dashboard sync */
[data-v33-live-lead] small{color:#89828f}
.v33-message-compose button[type=submit]{min-width:54px}
.v33-lead-context{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:9px 14px;border-bottom:1px solid #ebe7ef;background:#faf9fb}
.v33-lead-context span{display:grid;gap:2px}.v33-lead-context small{font-size:8px}.v33-lead-context strong{font-size:9.5px}
@media(max-width:700px){.v33-lead-context{grid-template-columns:1fr 1fr}}



/* ===============================================================
   KnottyWedding v36 — Premium login workspace selector
   =============================================================== */

.dash-login-card{
  gap:16px;
}

.v36-role-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin:1px 0 -5px;
}

.v36-role-heading>span{
  color:#3e3744;
  font-size:10.5px;
  font-weight:850;
}

.v36-role-heading>small{
  color:#928b96;
  font-size:8.5px;
  line-height:1.4;
  text-align:right;
}

.v36-login-role-selector{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.v36-login-role-selector .v36-role-card{
  position:relative;
  display:block;
  margin:0;
  cursor:pointer;
}

.v36-login-role-selector .v36-role-card>input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.v36-role-card-inner{
  position:relative;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 24px;
  min-height:82px;
  align-items:center;
  gap:10px;
  padding:12px;
  border:1px solid #ded9e4;
  border-radius:13px;
  color:#5b5460;
  background:
    linear-gradient(180deg,#fff,#fdfcfe);
  box-shadow:0 5px 16px rgba(37,29,49,.025);
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}

.v36-role-card:hover .v36-role-card-inner{
  transform:translateY(-1px);
  border-color:#cbc3e3;
  box-shadow:0 10px 24px rgba(37,29,49,.06);
}

.v36-role-icon{
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border:1px solid #e0dbe6;
  border-radius:11px;
  color:#6d6473;
  background:#f7f5f9;
}

.v36-role-icon .dash-icon{
  width:20px;
  height:20px;
}

.v36-role-icon.couple{
  color:#865b73;
  background:#fff5f8;
  border-color:#efdce4;
}

.v36-role-icon.professional{
  color:#5d4aba;
  background:#f5f2ff;
  border-color:#ded7f0;
}

.v36-role-copy{
  display:grid;
  gap:3px;
  min-width:0;
}

.v36-role-copy strong{
  color:#3f3844;
  font-size:11px;
  font-weight:850;
}

.v36-role-copy small{
  color:#8d8692;
  font-size:8.5px!important;
  font-weight:650;
}

.v36-role-check{
  display:grid;
  width:23px;
  height:23px;
  place-items:center;
  border:1px solid #ddd7e2;
  border-radius:50%;
  color:transparent;
  background:#fff;
  transition:.16s ease;
}

.v36-role-check svg{
  width:12px;
  height:12px;
}

.v36-role-card>input:checked + .v36-role-card-inner{
  border-color:#a99ddd;
  background:
    radial-gradient(circle at 100% 0,rgba(101,83,199,.09),transparent 42%),
    linear-gradient(180deg,#fff,#faf8ff);
  box-shadow:
    0 0 0 2px rgba(101,83,199,.07),
    0 11px 28px rgba(70,54,116,.075);
}

.v36-role-card>input:checked + .v36-role-card-inner .v36-role-copy strong{
  color:#5947b5;
}

.v36-role-card>input:checked + .v36-role-card-inner .v36-role-check{
  color:#fff;
  border-color:#6553c7;
  background:#6553c7;
  box-shadow:0 5px 12px rgba(101,83,199,.2);
}

.v36-role-card>input:focus-visible + .v36-role-card-inner{
  outline:3px solid rgba(101,83,199,.18);
  outline-offset:2px;
}

@media(max-width:560px){
  .v36-role-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }

  .v36-role-heading>small{
    text-align:left;
  }

  .v36-login-role-selector{
    grid-template-columns:1fr;
  }

  .v36-role-card-inner{
    min-height:74px;
  }
}


/* ===============================================================
   KnottyWedding v38 — Dress designer + couple dashboard
   =============================================================== */
.v38-dress-manager-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}.v38-dress-manager-metrics article{display:grid;gap:2px;padding:13px;border:1px solid #e0dbe5;border-radius:12px;background:#fff}.v38-dress-manager-metrics small{font-size:8px;color:#8e8792}.v38-dress-manager-metrics strong{font-size:22px}.v38-dress-manager-metrics span{font-size:8px;color:#8e8792}
.v38-manager-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr);gap:12px}.v38-manager-collection,.v38-dress-enquiries-card{border:1px solid #e0dbe5;border-radius:14px;background:#fff;overflow:hidden}.v38-manager-collection>.card-head,.v38-dress-enquiries-card>.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border-bottom:1px solid #ebe7ee}.v38-manager-collection>.card-head>div,.v38-dress-enquiries-card>.card-head>div{display:grid;gap:2px}.v38-manager-collection>.card-head strong,.v38-dress-enquiries-card>.card-head strong{font-size:10.5px}.v38-manager-collection>.card-head small,.v38-dress-enquiries-card>.card-head small{font-size:8px;color:#8f8893}.v38-manager-collection>.card-head input{min-height:38px;width:210px;padding:7px 9px;border:1px solid #ddd8e2;border-radius:8px;font-size:9px}
.v38-manager-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.v38-manager-dress-card{display:grid;grid-template-columns:108px minmax(0,1fr);gap:10px;overflow:hidden;border:1px solid #e4dfe7;border-radius:11px;background:#faf9fb}.v38-manager-dress-card>a{display:block;min-height:142px}.v38-manager-dress-card>a img{width:100%;height:100%;object-fit:cover}.v38-manager-dress-card>div{padding:10px 10px 10px 0}.v38-manager-dress-card span{font-size:7px;color:#6553c7;font-weight:850;text-transform:uppercase}.v38-manager-dress-card h3{margin:4px 0;font-size:15px}.v38-manager-dress-card p{margin:0;color:#746d79;font-size:8px}.v38-manager-status{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:8px}.v38-manager-status em{padding:4px 6px;border-radius:999px;font-size:7px;font-style:normal;font-weight:800}.v38-manager-status em.live{color:#3f7452;background:#edf7f0}.v38-manager-status em.draft{color:#856635;background:#fff7e8}.v38-manager-status small{font-size:7px;color:#8e8792}.v38-manager-card-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.v38-manager-card-actions button{min-height:29px;padding:5px 7px;border:1px solid #dcd7e1;border-radius:7px;color:#615a65;background:#fff;font-size:7.5px;font-weight:800}.v38-manager-card-actions button.danger{color:#985064}.v38-manager-empty{grid-column:1/-1;display:grid;min-height:250px;place-content:center;justify-items:center;gap:6px;text-align:center}.v38-manager-empty strong{font-size:12px}.v38-manager-empty span{color:#8c8490;font-size:8.5px}
.v38-dress-enquiries-card>[data-v38-dress-enquiries]{display:grid}.v38-dress-enquiries-card article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;padding:11px 13px;border-bottom:1px solid #eeeaf0}.v38-dress-enquiries-card article>div{display:grid;gap:2px}.v38-dress-enquiries-card article strong{font-size:9px}.v38-dress-enquiries-card article small{font-size:7.5px;color:#8c8490}.v38-dress-enquiries-card article>span{align-self:start;padding:4px 6px;border-radius:999px;color:#6553c7;background:#f2efff;font-size:7px;font-weight:850}.v38-dress-enquiries-card article p{grid-column:1/-1;margin:2px 0;color:#716a76;font-size:8px;line-height:1.5}.v38-dress-enquiries-card article a{grid-column:1/-1;color:#5d4aba;font-size:7.5px;font-weight:800}.v38-enquiry-empty{padding:25px;color:#918a95;font-size:8.5px;text-align:center}
.v38-dress-editor-modal[hidden]{display:none!important}.v38-dress-editor-modal{position:fixed;z-index:6200;inset:0}.v38-dress-editor-backdrop{position:absolute;inset:0;background:rgba(25,20,29,.38)}.v38-dress-editor-dialog{position:relative;width:min(760px,calc(100% - 30px));max-height:calc(100dvh - 30px);overflow:auto;margin:15px auto;padding:24px;border-radius:17px;background:#fff;box-shadow:0 30px 100px rgba(29,23,35,.28)}.v38-dress-editor-dialog h2{margin:5px 0;font-size:27px}.v38-dress-editor-dialog>p{margin:0 0 16px;color:#7c7580;font-size:9px}.v38-dress-editor-close{position:absolute;right:12px;top:12px;width:34px;height:34px;border:0;border-radius:50%;background:#f4f2f5;font-size:20px}.v38-dress-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.v38-dress-editor-grid label{display:grid;gap:5px;color:#625b67;font-size:8.5px;font-weight:800}.v38-dress-editor-grid label.full{grid-column:1/-1}.v38-dress-editor-grid input,.v38-dress-editor-grid select,.v38-dress-editor-grid textarea{width:100%;min-height:42px;padding:8px 9px;border:1px solid #ddd8e2;border-radius:8px;background:#fff;font-size:9.5px}.v38-dress-editor-grid textarea{resize:vertical}.v38-file-upload{padding:10px;border:1px dashed #d8d1e1;border-radius:9px;background:#faf9fb}.v38-file-upload input{border:0!important;padding:5px!important}.v38-file-upload small{font-size:7px!important;color:#8f8793}.v38-publish-toggle{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid #e0dbe5;border-radius:9px}.v38-publish-toggle>span{display:grid;gap:2px}.v38-publish-toggle strong{font-size:9px}.v38-publish-toggle small{font-size:7px!important;color:#8c8490}.v38-publish-toggle input{width:18px!important;min-height:18px!important}.v38-dress-editor-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:14px}body.v38-dashboard-modal-open{overflow:hidden}
.v38-selected-dress{margin-bottom:14px}.v38-selected-dress>div:not(.v38-selected-placeholder){display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;align-items:center;padding:14px;border:1px solid #d9d2e8;border-radius:14px;background:linear-gradient(120deg,#f6f2ff,#fff)}.v38-selected-image{height:220px;overflow:hidden;border-radius:11px}.v38-selected-image img{width:100%;height:100%;object-fit:cover}.v38-selected-dress h2{margin:4px 0;font-size:23px}.v38-selected-dress>div>div:nth-child(2)>strong{font-size:10px;color:#6553c7}.v38-selected-dress p{color:#756e7a;font-size:9px}.v38-selected-dress>div>div:nth-child(2)>div{display:flex;gap:7px;margin-top:10px}.v38-selected-placeholder{padding:26px;border:1px dashed #dcd6e1;border-radius:12px;text-align:center;background:#faf9fb}.v38-selected-placeholder strong{display:block;margin:5px 0;font-size:13px}.v38-selected-placeholder p{margin:0}
.v38-couple-dress-head{display:flex;align-items:center;justify-content:space-between;margin:18px 0 9px}.v38-couple-dress-head>div{display:grid;gap:2px}.v38-couple-dress-head strong{font-size:11px}.v38-couple-dress-head small{font-size:8px;color:#8f8793}.v38-couple-dress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.v38-couple-dress-card{overflow:hidden;border:1px solid #e0dbe5;border-radius:12px;background:#fff}.v38-couple-dress-card>a{display:block;aspect-ratio:4/5;overflow:hidden}.v38-couple-dress-card img{width:100%;height:100%;object-fit:cover}.v38-couple-dress-card>div{padding:10px}.v38-couple-dress-card span{color:#6553c7;font-size:7px;font-weight:850;text-transform:uppercase}.v38-couple-dress-card h3{margin:4px 0;font-size:15px}.v38-couple-dress-card p{margin:0;color:#77707c;font-size:8px}.v38-couple-dress-card>div>div{display:flex;gap:4px;margin-top:8px}.v38-couple-dress-card a,.v38-couple-dress-card button{display:flex;min-height:29px;align-items:center;justify-content:center;padding:5px 6px;border:1px solid #ddd7e2;border-radius:7px;color:#5d5662;background:#fff;font-size:7px;font-weight:800;text-decoration:none}.v38-couple-dress-card a{color:#fff;border-color:#6553c7;background:#6553c7}.v38-couple-empty{display:grid;min-height:280px;place-content:center;justify-items:center;gap:7px;text-align:center}.v38-couple-empty strong{font-size:13px}.v38-couple-empty p{margin:0 0 8px;color:#8c8490;font-size:8.5px}
@media(max-width:1100px){.v38-dress-manager-metrics{grid-template-columns:1fr 1fr}.v38-manager-layout{grid-template-columns:1fr}.v38-couple-dress-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.v38-manager-grid{grid-template-columns:1fr}.v38-dress-editor-grid{grid-template-columns:1fr}.v38-dress-editor-grid label.full{grid-column:auto}.v38-selected-dress>div:not(.v38-selected-placeholder){grid-template-columns:1fr}.v38-selected-image{height:280px}.v38-couple-dress-grid{grid-template-columns:1fr}.v38-manager-collection>.card-head{align-items:flex-start;flex-direction:column}.v38-manager-collection>.card-head input{width:100%}}
@media(max-width:500px){.v38-dress-manager-metrics{grid-template-columns:1fr}.v38-manager-dress-card{grid-template-columns:92px minmax(0,1fr)}}


/* ===============================================================
   KnottyWedding v39 — Destination dashboard integration
   =============================================================== */
.v39-selected-destination{margin-bottom:13px}.v39-selected-destination>div:not(.v39-selected-destination-empty){display:grid;grid-template-columns:210px minmax(0,1fr);gap:18px;align-items:center;padding:14px;border:1px solid #d9d2e8;border-radius:14px;background:linear-gradient(120deg,#f6f2ff,#fff)}.v39-selected-destination-image{height:180px;overflow:hidden;border-radius:10px}.v39-selected-destination-image img{width:100%;height:100%;object-fit:cover}.v39-selected-destination h2{margin:4px 0;font-size:24px}.v39-selected-destination p{color:#756e7a;font-size:9px}.v39-selected-destination>div>div:nth-child(2)>div{display:flex;gap:7px;margin-top:10px}.v39-selected-destination-empty{padding:24px;border:1px dashed #dcd6e1;border-radius:12px;background:#faf9fb}.v39-selected-destination-empty strong{display:block;margin:4px 0;font-size:13px}.v39-selected-destination-empty p{margin:0 0 10px;color:#837b87;font-size:8.5px}
.v39-couple-destination-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:12px}.v39-saved-destination-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px}.v39-saved-destination-grid article{overflow:hidden;border:1px solid #e2dde6;border-radius:10px;background:#faf9fb}.v39-saved-destination-grid img{width:100%;height:120px;object-fit:cover}.v39-saved-destination-grid article>div{padding:9px}.v39-saved-destination-grid span{color:#6553c7;font-size:7px;font-weight:850;text-transform:uppercase}.v39-saved-destination-grid strong{display:block;margin:3px 0;font-size:11px}.v39-saved-destination-grid small{display:block;color:#8d8591;font-size:7.5px!important}.v39-saved-destination-grid article>div>div{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.v39-saved-destination-grid a,.v39-saved-destination-grid button{display:flex;min-height:28px;align-items:center;padding:5px 6px;border:1px solid #ddd7e2;border-radius:7px;color:#5d5662;background:#fff;font-size:7px;font-weight:800;text-decoration:none}.v39-saved-destination-grid a{color:#fff;border-color:#6553c7;background:#6553c7}.v39-destination-empty,.v39-dashboard-empty{padding:24px;text-align:center;color:#8d8591;font-size:8.5px}.v39-destination-empty strong{display:block;font-size:10px;color:#4b444f}.v39-destination-empty a{display:inline-block;margin-top:7px;color:#5d4aba;font-weight:850}
.v39-couple-destination-enquiries,.v39-destination-leads-card>[data-v39-vendor-destination-enquiries]{display:grid}.v39-couple-destination-enquiries article,.v39-destination-leads-card [data-v39-vendor-destination-enquiries] article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;padding:10px 12px;border-bottom:1px solid #eeeaf0}.v39-couple-destination-enquiries article>div,.v39-destination-leads-card article>div{display:grid;gap:2px}.v39-couple-destination-enquiries strong,.v39-destination-leads-card article strong{font-size:8.8px}.v39-couple-destination-enquiries small,.v39-destination-leads-card article small{font-size:7.2px;color:#8f8793}.v39-couple-destination-enquiries article>span,.v39-destination-leads-card article>span{padding:4px 6px;border-radius:999px;color:#6553c7;background:#f2efff;font-size:7px;font-weight:850}.v39-couple-destination-enquiries p,.v39-destination-leads-card article p{grid-column:1/-1;margin:2px 0;color:#756e79;font-size:8px;line-height:1.5}
.v39-vendor-destination-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:12px}.v39-destination-listing-form{overflow:hidden}.v39-destination-listing-form>.card-head,.v39-managed-destinations>.card-head,.v39-destination-leads-card>.card-head{padding:13px;border-bottom:1px solid #ebe7ee}.v39-destination-listing-form>.card-head>div,.v39-managed-destinations>.card-head>div,.v39-destination-leads-card>.card-head>div{display:grid;gap:2px}.v39-destination-listing-form>.card-head strong,.v39-managed-destinations>.card-head strong,.v39-destination-leads-card>.card-head strong{font-size:10px}.v39-destination-listing-form>.card-head small,.v39-managed-destinations>.card-head small,.v39-destination-leads-card>.card-head small{font-size:7.8px;color:#8f8793}
.v39-destination-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:13px}.v39-destination-form-grid>label{display:grid;gap:5px;color:#625b67;font-size:8px;font-weight:800}.v39-destination-form-grid .full{grid-column:1/-1}.v39-destination-form-grid input,.v39-destination-form-grid select,.v39-destination-form-grid textarea{width:100%;min-height:40px;padding:7px 8px;border:1px solid #ddd8e2;border-radius:8px;background:#fff;font-size:9px}.v39-destination-form-grid textarea{resize:vertical}.v39-destination-form-grid fieldset{padding:10px;border:1px solid #e0dbe5;border-radius:9px}.v39-destination-form-grid legend{padding:0 5px;color:#5f5864;font-size:8px;font-weight:850}.v39-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.v39-check-grid label{display:flex;align-items:center;gap:5px;color:#706974;font-size:7.5px}.v39-check-grid input{width:14px!important;min-height:14px!important}.v39-publish-listing{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:9px;border:1px solid #ded9e3;border-radius:8px;background:#faf9fb}.v39-publish-listing>span{display:grid;gap:2px}.v39-publish-listing strong{font-size:8.5px}.v39-publish-listing small{font-size:7px!important;color:#8f8793}.v39-publish-listing input{width:16px!important;min-height:16px!important}.v39-listing-actions{display:flex;justify-content:flex-end;gap:7px;padding:0 13px 13px}.v39-destination-listing-form>.form-message{margin:0 13px 13px}
.v39-managed-destinations>[data-v39-managed-listings]{display:grid}.v39-managed-listing{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;padding:10px;border-bottom:1px solid #eeeaf0}.v39-managed-listing img{width:110px;height:110px;object-fit:cover;border-radius:8px}.v39-managed-listing>div{padding:4px 0}.v39-managed-listing>div>span{color:#6553c7;font-size:7px;font-weight:850;text-transform:uppercase}.v39-managed-listing strong{display:block;margin:3px 0;font-size:10px}.v39-managed-listing small{display:block;color:#8c8490;font-size:7.5px!important}.v39-managed-listing>div>div{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.v39-managed-listing em,.v39-managed-listing a,.v39-managed-listing button{display:flex;min-height:27px;align-items:center;padding:4px 6px;border:1px solid #ddd7e2;border-radius:6px;color:#615a65;background:#fff;font-size:6.8px;font-weight:800;text-decoration:none;font-style:normal}.v39-managed-listing em.live{color:#39714d;background:#edf7f0}.v39-managed-listing em.draft{color:#856635;background:#fff7e8}.v39-managed-listing button.danger{color:#985064}.v39-destination-leads-card{margin-top:12px}
@media(max-width:1050px){.v39-couple-destination-layout,.v39-vendor-destination-layout{grid-template-columns:1fr}.v39-check-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.v39-selected-destination>div:not(.v39-selected-destination-empty){grid-template-columns:1fr}.v39-selected-destination-image{height:250px}.v39-saved-destination-grid{grid-template-columns:1fr}.v39-destination-form-grid{grid-template-columns:1fr}.v39-destination-form-grid .full{grid-column:auto}}
@media(max-width:480px){.v39-check-grid{grid-template-columns:1fr}.v39-managed-listing{grid-template-columns:85px minmax(0,1fr)}.v39-managed-listing img{width:85px;height:100px}}


/* v40 destination dashboard overview refinements */
.v40-destination-overview-card,
.v40-destination-vendor-overview{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:110px;
  padding:16px;
  border:1px solid #ddd7e7!important;
  background:
    radial-gradient(circle at 100% 0,rgba(101,83,199,.07),transparent 36%),
    linear-gradient(135deg,#f8f5ff,#fff)!important;
}
.v40-destination-overview-copy,
.v40-destination-vendor-overview>div{display:grid;gap:3px}
.v40-destination-overview-card strong,
.v40-destination-vendor-overview strong{font-size:13px}
.v40-destination-overview-card small,
.v40-destination-vendor-overview small{color:#817985;font-size:8px!important}
@media(max-width:700px){
  .v40-destination-overview-card,
  .v40-destination-vendor-overview{align-items:flex-start;flex-direction:column}
}


/* ===============================================================
   KnottyWedding v41 — Destination dashboard readability
   =============================================================== */
.v39-couple-destinations .section-title-row p,
.v39-vendor-destinations .section-title-row p{font-size:13px;line-height:1.6}
.v39-selected-destination h2{font-size:27px}
.v39-selected-destination p{font-size:12px}
.v39-saved-destination-grid span{font-size:10px}
.v39-saved-destination-grid strong{font-size:14px}
.v39-saved-destination-grid small{font-size:11px!important}
.v39-saved-destination-grid a,
.v39-saved-destination-grid button{min-height:34px;font-size:10.5px}
.v39-couple-destination-enquiries strong,
.v39-destination-leads-card article strong{font-size:12px}
.v39-couple-destination-enquiries small,
.v39-destination-leads-card article small{font-size:10px!important}
.v39-couple-destination-enquiries article>span,
.v39-destination-leads-card article>span{font-size:10px}
.v39-couple-destination-enquiries p,
.v39-destination-leads-card article p{font-size:11px}
.v39-destination-listing-form>.card-head strong,
.v39-managed-destinations>.card-head strong,
.v39-destination-leads-card>.card-head strong{font-size:13px}
.v39-destination-listing-form>.card-head small,
.v39-managed-destinations>.card-head small,
.v39-destination-leads-card>.card-head small{font-size:10.5px!important}
.v39-destination-form-grid>label{font-size:11px}
.v39-destination-form-grid input,
.v39-destination-form-grid select,
.v39-destination-form-grid textarea{min-height:44px;font-size:12px}
.v39-destination-form-grid legend{font-size:11px}
.v39-check-grid label{font-size:10.5px}
.v39-publish-listing strong{font-size:12px}
.v39-publish-listing small{font-size:10px!important}
.v39-managed-listing>div>span{font-size:10px}
.v39-managed-listing strong{font-size:13px}
.v39-managed-listing small{font-size:10px!important}
.v39-managed-listing em,
.v39-managed-listing a,
.v39-managed-listing button{min-height:31px;font-size:9.5px}
.v40-destination-overview-card strong,
.v40-destination-vendor-overview strong{font-size:15px}
.v40-destination-overview-card small,
.v40-destination-vendor-overview small{font-size:11px!important}


/* ===============================================================
   KnottyWedding v45 — Couple Dashboard: Dresses + Destinations
   =============================================================== */
.v45-couple-dresses .section-title-row,
.v45-couple-destinations .section-title-row{
  margin-bottom:16px;
}
.v45-couple-dresses .section-title-row p,
.v45-couple-destinations .section-title-row p{
  max-width:760px;
  color:#756e79;
  font-size:13px!important;
  line-height:1.65!important;
}

/* Shared summary metrics */
.v45-dress-summary,
.v45-destination-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:14px 0 20px;
}
.v45-dress-summary article,
.v45-destination-summary article{
  display:grid;
  gap:3px;
  min-height:104px;
  align-content:center;
  padding:15px 16px;
  border:1px solid #dfd9e7;
  border-radius:13px;
  background:
    radial-gradient(circle at 100% 0,rgba(101,83,199,.055),transparent 44%),
    #fff;
}
.v45-dress-summary span,
.v45-destination-summary span{
  color:#8e8792;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.065em;
}
.v45-dress-summary strong,
.v45-destination-summary strong{
  overflow:hidden;
  color:#3f3843;
  font-size:17px;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.v45-dress-summary small,
.v45-destination-summary small{
  color:#8b8490;
  font-size:10.5px!important;
  line-height:1.45;
}

/* Selected dress */
.v45-couple-dresses .v38-selected-dress{
  margin-bottom:0;
}
.v45-couple-dresses .v38-selected-dress>div:not(.v38-selected-placeholder){
  grid-template-columns:minmax(220px,300px) minmax(0,1fr)!important;
  gap:24px!important;
  min-height:315px;
  padding:18px!important;
  border:1px solid #d9d2e8!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 100% 0,rgba(101,83,199,.08),transparent 42%),
    linear-gradient(125deg,#f7f3ff,#fff 72%)!important;
  box-shadow:0 14px 38px rgba(40,31,49,.055);
}
.v45-selected-dress-image{
  position:relative;
  height:280px!important;
  border-radius:13px!important;
}
.v45-selected-dress-image span{
  position:absolute;
  left:12px;
  bottom:12px;
  padding:6px 8px;
  border-radius:999px;
  color:#fff;
  background:rgba(34,27,37,.62);
  font-size:10px;
  font-weight:800;
}
.v45-selected-dress-copy{
  display:grid;
  align-content:center;
  min-width:0;
}
.v45-selected-model{
  margin-top:8px;
  color:#6553c7!important;
  font-size:12px!important;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.v45-selected-dress-copy h2{
  margin:5px 0 8px!important;
  font-size:clamp(2rem,3vw,3rem)!important;
  line-height:1!important;
}
.v45-selected-dress-copy>p{
  margin:0;
  color:#716a76;
  font-size:13px!important;
  line-height:1.55;
}
.v45-selected-dress-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:14px;
}
.v45-selected-dress-chips span{
  padding:6px 8px;
  border:1px solid #ded8e5;
  border-radius:999px;
  color:#6a626f;
  background:#fff;
  font-size:10.5px;
  font-weight:750;
}
.v45-selected-dress-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}
.v45-selected-dress-placeholder{
  display:grid!important;
  min-height:240px;
  place-content:center;
  justify-items:center;
  gap:6px;
  padding:30px!important;
  border:1px dashed #d8d1e1!important;
  border-radius:16px!important;
  background:#faf9fb!important;
  text-align:center;
}
.v45-selected-dress-placeholder strong{
  font-size:17px!important;
}
.v45-selected-dress-placeholder p{
  max-width:460px;
  margin:0 0 10px!important;
  color:#817985!important;
  font-size:12px!important;
}
.v45-empty-icon{
  display:grid;
  width:48px;
  height:48px;
  place-items:center;
  margin-bottom:4px;
  border-radius:14px;
  color:#6553c7;
  background:#f0edff;
}
.v45-empty-icon svg{width:23px;height:23px}

/* Saved dress grid */
.v45-couple-dress-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  margin:26px 0 12px!important;
}
.v45-couple-dress-head strong{font-size:14px!important}
.v45-couple-dress-head small{font-size:11px!important}
.v45-couple-dress-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.v45-saved-dress-card{
  overflow:hidden;
  border:1px solid #dfdae4!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(38,30,46,.035);
  transition:transform .16s,box-shadow .16s,border-color .16s;
}
.v45-saved-dress-card:hover{
  transform:translateY(-2px);
  border-color:#cfc6e4!important;
  box-shadow:0 16px 34px rgba(38,30,46,.08);
}
.v45-saved-dress-card.is-selected{
  border-color:#a99bd8!important;
  box-shadow:0 0 0 2px rgba(101,83,199,.06),0 14px 34px rgba(38,30,46,.07);
}
.v45-saved-dress-image{
  position:relative;
  display:block;
  aspect-ratio:4/5;
  overflow:hidden;
}
.v45-saved-dress-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.v45-saved-dress-image>span{
  position:absolute;
  top:10px;
  left:10px;
  padding:6px 8px;
  border-radius:999px;
  color:#fff;
  background:rgba(36,29,39,.58);
  font-size:9.5px;
  font-weight:800;
}
.v45-saved-dress-card.is-selected .v45-saved-dress-image>span{background:#6553c7}
.v45-saved-dress-copy{padding:13px}
.v45-saved-dress-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.v45-saved-dress-top>span{
  color:#6553c7!important;
  font-size:10px!important;
  font-weight:850!important;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.v45-saved-dress-top small{
  color:#918996!important;
  font-size:9.5px!important;
}
.v45-saved-dress-copy h3{
  margin:6px 0 5px!important;
  font-size:18px!important;
}
.v45-saved-dress-copy>p{
  margin:0!important;
  color:#756e79!important;
  font-size:11.5px!important;
}
.v45-saved-dress-meta{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:10px;
}
.v45-saved-dress-meta span{
  padding:5px 6px;
  border-radius:999px;
  color:#6d6571;
  background:#f5f3f6;
  font-size:9.5px;
  font-weight:750;
}
.v45-saved-dress-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin-top:12px;
}
.v45-saved-dress-actions a,
.v45-saved-dress-actions button{
  display:flex;
  min-height:36px;
  align-items:center;
  justify-content:center;
  padding:7px;
  border:1px solid #ddd7e2;
  border-radius:8px;
  color:#5f5864;
  background:#fff;
  font-size:10px;
  font-weight:800;
  text-decoration:none;
}
.v45-saved-dress-actions>a:first-child{
  color:#fff;
  border-color:#6553c7;
  background:#6553c7;
}
.v45-saved-dress-actions button.remove{
  color:#9a5669;
}
.v45-couple-dress-empty{
  display:grid!important;
  min-height:300px!important;
  place-content:center!important;
  justify-items:center!important;
  gap:7px!important;
  padding:30px!important;
  border:1px dashed #d8d1e1!important;
  border-radius:15px!important;
  background:#faf9fb!important;
  text-align:center!important;
}
.v45-couple-dress-empty[hidden]{display:none!important}
.v45-couple-dress-empty strong{font-size:16px!important}
.v45-couple-dress-empty p{max-width:450px;margin:0 0 8px!important;font-size:12px!important;color:#817985!important}

/* Selected destination */
.v45-couple-destinations .v39-selected-destination{
  margin-bottom:0;
}
.v45-couple-destinations .v39-selected-destination>div:not(.v39-selected-destination-empty){
  grid-template-columns:minmax(240px,330px) minmax(0,1fr)!important;
  gap:24px!important;
  min-height:300px;
  padding:18px!important;
  border:1px solid #d9d2e8!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 100% 0,rgba(101,83,199,.075),transparent 42%),
    linear-gradient(125deg,#f7f3ff,#fff 72%)!important;
  box-shadow:0 14px 38px rgba(40,31,49,.055);
}
.v45-selected-destination-image{
  position:relative;
  height:265px!important;
  border-radius:13px!important;
}
.v45-selected-destination-image span{
  position:absolute;
  left:12px;
  bottom:12px;
  padding:6px 8px;
  border-radius:999px;
  color:#fff;
  background:rgba(34,27,37,.6);
  font-size:10px;
  font-weight:800;
}
.v45-selected-destination-copy{
  display:grid;
  align-content:center;
  min-width:0;
}
.v45-selected-destination-copy h2{
  margin:7px 0 6px!important;
  font-size:clamp(2.2rem,3.5vw,3.4rem)!important;
  line-height:.98;
}
.v45-selected-destination-copy>p{
  margin:0;
  color:#746d78;
  font-size:13px!important;
}
.v45-selected-destination-status{
  display:grid;
  gap:2px;
  margin-top:16px;
  padding:11px 12px;
  border:1px solid #dfd9e7;
  border-radius:10px;
  background:#fff;
}
.v45-selected-destination-status span{
  color:#6553c7;
  font-size:11px;
  font-weight:850;
}
.v45-selected-destination-status small{
  color:#8a828e;
  font-size:10.5px!important;
}
.v45-selected-destination-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:17px;
}
.v45-selected-destination-empty{
  display:grid!important;
  min-height:240px;
  place-content:center;
  justify-items:center;
  gap:7px;
  padding:30px!important;
  text-align:center;
}
.v45-selected-destination-empty strong{font-size:17px!important}
.v45-selected-destination-empty p{
  max-width:460px;
  margin:0 0 10px!important;
  font-size:12px!important;
  color:#817985!important;
}

/* Destination cards + enquiries */
.v45-couple-destination-layout{
  grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr)!important;
  gap:14px!important;
  align-items:start;
}
.v45-saved-destination-card,
.v45-destination-enquiries-card{
  overflow:hidden;
  border:1px solid #dfdae4!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(38,30,46,.035);
}
.v45-saved-destination-card .card-head,
.v45-destination-enquiries-card .card-head{
  padding:14px 15px!important;
}
.v45-saved-destination-card .card-head strong,
.v45-destination-enquiries-card .card-head strong{font-size:13px!important}
.v45-saved-destination-card .card-head small,
.v45-destination-enquiries-card .card-head small{font-size:10.5px!important}
.v45-saved-destination-card .v39-saved-destination-grid{
  grid-template-columns:1fr!important;
  gap:9px!important;
  padding:10px!important;
}
.v45-saved-destination-item{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  overflow:hidden;
  border:1px solid #e2dde6!important;
  border-radius:11px!important;
  background:#faf9fb!important;
}
.v45-saved-destination-item.is-selected{
  border-color:#a99bd8!important;
  background:#f7f4ff!important;
}
.v45-saved-destination-image{
  position:relative;
  display:block;
  min-height:145px;
  overflow:hidden;
}
.v45-saved-destination-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.v45-saved-destination-image span{
  position:absolute;
  top:9px;
  left:9px;
  padding:5px 7px;
  border-radius:999px;
  color:#fff;
  background:rgba(35,28,38,.58);
  font-size:9px;
  font-weight:800;
}
.v45-saved-destination-item>div{
  display:grid;
  align-content:center;
  gap:9px;
  padding:12px;
}
.v45-saved-destination-copy{
  display:grid;
  gap:3px;
}
.v45-saved-destination-copy strong{font-size:15px!important}
.v45-saved-destination-copy small{font-size:11px!important;color:#837b87!important}
.v45-saved-destination-actions{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.v45-saved-destination-actions a,
.v45-saved-destination-actions button{
  display:flex;
  min-height:33px;
  align-items:center;
  justify-content:center;
  padding:6px 8px;
  border:1px solid #ddd7e2;
  border-radius:7px;
  color:#5f5864;
  background:#fff;
  font-size:9.5px;
  font-weight:800;
  text-decoration:none;
}
.v45-saved-destination-actions>a:first-child{
  color:#fff;
  border-color:#6553c7;
  background:#6553c7;
}
.v45-saved-destination-actions button.remove{color:#9a5669}
.v45-destination-enquiry-item{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:6px!important;
  padding:13px 14px!important;
  border-bottom:1px solid #eeeaf0!important;
}
.v45-enquiry-main{
  display:grid;
  gap:2px;
}
.v45-enquiry-main>span{
  color:#6553c7;
  font-size:9.5px;
  font-weight:850;
  text-transform:uppercase;
}
.v45-enquiry-main strong{font-size:12px!important}
.v45-enquiry-main small{font-size:10px!important;color:#8c8490!important}
.v45-destination-enquiry-item>em{
  align-self:start;
  padding:5px 7px;
  border-radius:999px;
  color:#6553c7;
  background:#f1eeff;
  font-size:9px;
  font-weight:850;
  font-style:normal;
}
.v45-destination-enquiry-item>p{
  grid-column:1/-1!important;
  margin:3px 0 0!important;
  color:#746d79!important;
  font-size:11px!important;
  line-height:1.55!important;
}
.v45-dashboard-empty{
  display:grid;
  gap:4px;
  padding:34px 20px!important;
}
.v45-dashboard-empty strong{font-size:13px;color:#4b444f}
.v45-dashboard-empty span{font-size:10.5px;color:#8b8490}

/* Make hidden empty blocks stay hidden despite older display rules. */
.v45-couple-dresses [hidden],
.v45-couple-destinations [hidden]{display:none!important}

@media(max-width:1100px){
  .v45-couple-dress-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v45-couple-destination-layout{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  .v45-dress-summary,
  .v45-destination-summary{grid-template-columns:1fr}
  .v45-couple-dresses .v38-selected-dress>div:not(.v38-selected-placeholder),
  .v45-couple-destinations .v39-selected-destination>div:not(.v39-selected-destination-empty){
    grid-template-columns:1fr!important;
  }
  .v45-selected-dress-image,
  .v45-selected-destination-image{height:320px!important}
  .v45-couple-dress-grid{grid-template-columns:1fr!important}
  .v45-saved-destination-item{grid-template-columns:120px minmax(0,1fr)}
}
@media(max-width:520px){
  .v45-saved-dress-actions{grid-template-columns:1fr}
  .v45-saved-destination-item{grid-template-columns:1fr}
  .v45-saved-destination-image{min-height:190px}
  .v45-selected-dress-actions,
  .v45-selected-destination-actions{display:grid;grid-template-columns:1fr}
}


/* ===============================================================
   KnottyWedding v46 — Clean Couple Dashboard dresses/destinations
   =============================================================== */
.v46-section-title-row{margin-bottom:16px!important}.v46-section-title-row p{max-width:760px!important;color:#756e79!important;font-size:13px!important;line-height:1.65!important}
.v46-dashboard-panel{overflow:hidden;border:1px solid #ded9e3;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(38,30,46,.03)}
.v46-panel-head{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border-bottom:1px solid #ebe7ed;background:#fff}.v46-panel-head>div{display:grid;gap:2px}.v46-panel-head strong{font-size:13px}.v46-panel-head small{color:#8b8490;font-size:10.5px!important}.v46-panel-head>a{color:#5d4aba;font-size:10.5px;font-weight:850;text-decoration:none}

/* Selected dress / destination use the same clean shell */
.v46-selected-dress,.v46-selected-destination{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;min-height:300px;margin-bottom:16px;padding:16px;border:1px solid #dcd6e5;border-radius:15px;background:#fff;box-shadow:0 9px 28px rgba(38,30,46,.04)}
.v46-selected-dress-media,.v46-selected-destination-media{position:relative;overflow:hidden;border-radius:11px;background:#eee}.v46-selected-dress-media{height:285px}.v46-selected-destination-media{height:260px}.v46-selected-dress-media img,.v46-selected-destination-media img{width:100%;height:100%;object-fit:cover}
.v46-selected-dress-media>span,.v46-selected-destination-media>span{position:absolute;left:11px;bottom:11px;padding:6px 8px;border-radius:999px;color:#fff;background:rgba(33,27,36,.6);font-size:9.5px;font-weight:800}
.v46-selected-dress-content,.v46-selected-destination-content{display:grid;align-content:center;min-width:0}.v46-selected-dress-content>small{margin-top:7px;color:#6553c7;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
.v46-selected-dress-content h2,.v46-selected-destination-content h2{margin:5px 0 7px;font-size:31px;line-height:1.05}.v46-selected-dress-content>p,.v46-selected-destination-content>p{margin:0;color:#736c77;font-size:12.5px;line-height:1.55}
.v46-selected-dress-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.v46-selected-dress-tags span{padding:5px 7px;border-radius:999px;color:#655e69;background:#f4f2f5;font-size:9.5px;font-weight:750}
.v46-selected-dress-actions,.v46-selected-destination-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.v46-destination-status{display:grid;gap:2px;margin-top:15px;padding:11px;border:1px solid #e1dce5;border-radius:9px;background:#faf9fb}.v46-destination-status strong{color:#5d4aba;font-size:11px}.v46-destination-status small{color:#847d88;font-size:10px!important;line-height:1.5}
.v46-selected-placeholder{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:15px;min-height:120px;margin-bottom:16px;padding:18px;border:1px dashed #d7d0df;border-radius:14px;background:#faf9fb}.v46-selected-placeholder>div:nth-child(2){display:grid;gap:3px}.v46-selected-placeholder strong{font-size:15px}.v46-selected-placeholder p{margin:0;color:#817985;font-size:11px;line-height:1.5}
.v46-empty-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:13px;color:#6553c7;background:#f0edff}.v46-empty-icon svg{width:22px;height:22px}

/* Saved dresses */
.v46-saved-dresses-panel{margin-top:0}.v46-saved-dress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px}.v46-saved-dress-card{overflow:hidden;border:1px solid #e1dce5;border-radius:11px;background:#fff}.v46-saved-dress-card.is-selected{border-color:#a89bd8;box-shadow:0 0 0 2px rgba(101,83,199,.05)}
.v46-saved-dress-media{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#eee}.v46-saved-dress-media img{width:100%;height:100%;object-fit:cover}.v46-saved-dress-media>span{position:absolute;top:9px;left:9px;padding:5px 7px;border-radius:999px;color:#fff;background:#6553c7;font-size:9px;font-weight:850}
.v46-saved-dress-body{padding:11px}.v46-saved-dress-brand{display:flex;align-items:center;justify-content:space-between;gap:7px}.v46-saved-dress-brand span{color:#6553c7;font-size:9px;font-weight:850;text-transform:uppercase}.v46-saved-dress-brand small{color:#908894;font-size:9px!important}.v46-saved-dress-body h3{margin:5px 0;font-size:16px}.v46-saved-dress-body>p{margin:0;color:#756e79;font-size:10.5px}
.v46-saved-dress-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.v46-saved-dress-tags span{padding:4px 5px;border-radius:999px;color:#716a76;background:#f4f2f5;font-size:8.8px}
.v46-saved-dress-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:10px}.v46-saved-dress-actions a,.v46-saved-dress-actions button{display:flex;min-height:32px;align-items:center;justify-content:center;padding:6px;border:1px solid #ddd7e2;border-radius:7px;color:#5f5864;background:#fff;font-size:9px;font-weight:800;text-decoration:none}.v46-saved-dress-actions>a:first-child{color:#fff;border-color:#6553c7;background:#6553c7}.v46-saved-dress-actions button.remove{color:#9a5669}

/* Destinations */
.v46-destination-workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:12px}.v46-saved-destination-list{display:grid;gap:8px;padding:10px}
.v46-saved-destination{display:grid;grid-template-columns:132px minmax(0,1fr);overflow:hidden;border:1px solid #e2dde6;border-radius:10px;background:#faf9fb}.v46-saved-destination.is-selected{border-color:#aa9ed5;background:#f7f4ff}
.v46-saved-destination-media{position:relative;display:block;min-height:126px;overflow:hidden}.v46-saved-destination-media img{width:100%;height:100%;object-fit:cover}.v46-saved-destination-media span{position:absolute;left:8px;bottom:8px;padding:5px 6px;border-radius:999px;color:#fff;background:rgba(34,28,37,.58);font-size:8.5px;font-weight:800}
.v46-saved-destination-body{display:grid;align-content:center;gap:9px;padding:10px}.v46-saved-destination-body>div:first-child{display:grid;gap:2px}.v46-saved-destination-body strong{font-size:13px}.v46-saved-destination-body small{color:#847d88;font-size:10px!important}
.v46-saved-destination-actions{display:flex;flex-wrap:wrap;gap:4px}.v46-saved-destination-actions a,.v46-saved-destination-actions button{display:flex;min-height:30px;align-items:center;justify-content:center;padding:5px 7px;border:1px solid #ddd7e2;border-radius:6px;color:#605965;background:#fff;font-size:8.7px;font-weight:800;text-decoration:none}.v46-saved-destination-actions>a:first-child{color:#fff;border-color:#6553c7;background:#6553c7}.v46-saved-destination-actions .remove{color:#9a5669}
.v46-destination-enquiries{display:grid}.v46-destination-enquiry{padding:12px 13px;border-bottom:1px solid #eeeaf0}.v46-destination-enquiry:last-child{border-bottom:0}.v46-destination-enquiry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.v46-destination-enquiry-head>div{display:grid;gap:2px}.v46-destination-enquiry-head span{color:#6553c7;font-size:8.8px;font-weight:850;text-transform:uppercase}.v46-destination-enquiry-head strong{font-size:11px}.v46-destination-enquiry-head small{color:#8c8490;font-size:9.5px!important}.v46-destination-enquiry-head em{padding:4px 6px;border-radius:999px;color:#6553c7;background:#f1eeff;font-size:8.5px;font-weight:850;font-style:normal}.v46-destination-enquiry>p{margin:6px 0 0;color:#756e79;font-size:10.5px;line-height:1.5}
.v46-dashboard-empty{display:grid;min-height:250px;place-content:center;justify-items:center;gap:6px;padding:24px;text-align:center}.v46-dashboard-empty.compact{min-height:210px}.v46-dashboard-empty[hidden]{display:none!important}.v46-dashboard-empty strong{font-size:14px}.v46-dashboard-empty p{max-width:390px;margin:0 0 7px;color:#817985;font-size:10.5px;line-height:1.5}

@media(max-width:1100px){.v46-saved-dress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v46-destination-workspace{grid-template-columns:1fr}}
@media(max-width:760px){.v46-selected-dress,.v46-selected-destination{grid-template-columns:1fr}.v46-selected-dress-media,.v46-selected-destination-media{height:300px}.v46-selected-placeholder{grid-template-columns:48px minmax(0,1fr)}.v46-selected-placeholder>a{grid-column:1/-1}.v46-saved-dress-grid{grid-template-columns:1fr}.v46-saved-destination{grid-template-columns:112px minmax(0,1fr)}}
@media(max-width:500px){.v46-saved-destination{grid-template-columns:1fr}.v46-saved-destination-media{min-height:190px}.v46-saved-dress-actions{grid-template-columns:1fr}.v46-selected-dress-actions,.v46-selected-destination-actions{display:grid;grid-template-columns:1fr}}


/* ===============================================================
   KnottyWedding v47 — Vendor CRM, availability & dress manager
   =============================================================== */
.v47-page-title,.v47-dress-page-title{align-items:flex-end}.v47-icon-btn-text span{color:inherit}
.v47-lead-metrics,.v47-calendar-summary,.v47-dress-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.v47-calendar-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
.v47-lead-metrics article,.v47-calendar-summary article,.v47-dress-metrics article{display:grid;gap:3px;min-height:105px;align-content:center;padding:15px 16px;border:1px solid #e1dce5;border-radius:13px;background:#fff;box-shadow:0 7px 20px rgba(39,31,47,.025)}.v47-lead-metrics span,.v47-calendar-summary span,.v47-dress-metrics span{color:#817985;font-size:10.5px;font-weight:750}.v47-lead-metrics strong,.v47-calendar-summary strong,.v47-dress-metrics strong{font-size:24px}.v47-lead-metrics small,.v47-calendar-summary small,.v47-dress-metrics small{color:#938b97;font-size:10px!important}
.v47-pipeline-tabs{display:flex;gap:6px;margin-bottom:11px;overflow:auto}.v47-pipeline-tabs button{display:flex;align-items:center;gap:6px;min-height:38px;padding:7px 11px;border:1px solid #ddd8e2;border-radius:999px;color:#625b67;background:#fff;font-size:10.5px;font-weight:800}.v47-pipeline-tabs button span{display:grid;min-width:20px;height:20px;place-items:center;border-radius:999px;background:#f1eef4;font-size:9px}.v47-pipeline-tabs button.active{color:#fff;border-color:#6553c7;background:#6553c7}.v47-pipeline-tabs button.active span{color:#5d4aba;background:#fff}
.v47-leads-panel,.v47-upcoming-bookings,.v47-dress-collection-panel,.v47-dress-enquiries-panel{overflow:hidden;border:1px solid #dfdae4;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(38,30,46,.03)}
.v47-leads-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-bottom:1px solid #ebe7ed}.v47-lead-search,.v47-manager-search{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;width:min(520px,100%);min-height:42px;padding:0 10px;border:1px solid #ded9e3;border-radius:9px;background:#faf9fb}.v47-lead-search svg,.v47-manager-search svg{width:17px;height:17px;color:#817985}.v47-lead-search input,.v47-manager-search input{min-height:38px;border:0;outline:0;background:transparent;font-size:12px}.v47-lead-sort{display:flex;align-items:center;gap:7px;color:#817985;font-size:10px}.v47-lead-sort select{min-height:42px;padding:7px 9px;border:1px solid #ded9e3;border-radius:9px;background:#fff;font-size:11px}
.v47-lead-table-wrap{overflow:auto}.v47-lead-table{width:100%;min-width:1120px;border-collapse:collapse}.v47-lead-table th,.v47-lead-table td{padding:12px 11px;border-bottom:1px solid #eeeaf0;text-align:left;vertical-align:middle}.v47-lead-table th{color:#8a828e;font-size:9.5px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.v47-lead-table td{color:#5c5561;font-size:11px}.v47-lead-table td>strong,.v47-lead-table td>span>strong{display:block;font-size:11.5px}.v47-lead-table td small{display:block;margin-top:2px;color:#8c8490;font-size:9.5px!important}.v47-lead-person{display:flex;align-items:center;gap:9px;min-width:210px}.v47-lead-person>span:last-child{display:grid;gap:1px}.v47-status-select{min-height:34px;padding:5px 7px;border:1px solid #ddd7e2;border-radius:7px;background:#fff;font-size:10px}.v47-lead-actions{display:flex;gap:4px}.v47-lead-actions a,.v47-lead-actions button{display:flex;min-height:30px;align-items:center;padding:5px 7px;border:1px solid #ddd7e2;border-radius:7px;color:#5d4aba;background:#fff;font-size:9px;font-weight:800;text-decoration:none}
.v47-lead-empty{display:grid;min-height:260px;place-content:center;justify-items:center;gap:5px;padding:24px;text-align:center}.v47-lead-empty[hidden]{display:none!important}.v47-empty-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:13px;color:#6553c7;background:#f0edff}.v47-empty-icon svg{width:22px;height:22px}.v47-lead-empty strong{font-size:14px}.v47-lead-empty p{margin:0;color:#817985;font-size:11px}

/* CRM modal */
.v47-modal[hidden]{display:none!important}.v47-modal{position:fixed;z-index:6500;inset:0}.v47-modal-backdrop{position:absolute;inset:0;background:rgba(29,23,33,.42)}.v47-lead-dialog,.v47-booking-dialog{position:relative;width:min(760px,calc(100% - 28px));max-height:calc(100dvh - 34px);overflow:auto;margin:17px auto;padding:26px;border-radius:18px;background:#fff;box-shadow:0 32px 100px rgba(28,21,34,.27)}.v47-booking-dialog{width:min(690px,calc(100% - 28px))}.v47-modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:#f3f1f5;font-size:21px}.v47-lead-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-right:38px}.v47-lead-detail-head h2{margin:4px 0 4px;font-size:30px}.v47-lead-detail-head p{margin:0;color:#7c7480;font-size:11px}.v47-lead-detail-head select{min-height:40px;padding:7px 9px;border:1px solid #ddd7e2;border-radius:8px;background:#fff;font-size:11px}.v47-lead-contact-actions{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.v47-lead-contact-actions a{display:flex;min-height:36px;align-items:center;padding:6px 9px;border:1px solid #dcd6e4;border-radius:8px;color:#5d4aba;background:#fff;font-size:10.5px;font-weight:800;text-decoration:none}.v47-lead-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:14px 0}.v47-lead-detail-grid span{display:grid;gap:3px;padding:10px;border:1px solid #e6e1e8;border-radius:9px;background:#faf9fb}.v47-lead-detail-grid small{color:#918996;font-size:9px!important;text-transform:uppercase}.v47-lead-detail-grid strong{font-size:11px}
.v47-lead-message-thread,.v47-message-thread{display:grid;gap:8px;max-height:320px;overflow:auto;padding:13px;border:1px solid #e7e2e9;border-radius:11px;background:#faf9fb}.v47-lead-message-thread>div,.v47-message-thread>div{max-width:78%;padding:9px 11px;border-radius:11px;background:#fff}.v47-lead-message-thread .sent,.v47-message-thread .sent{justify-self:end;color:#fff;background:#6553c7}.v47-lead-message-thread p,.v47-message-thread p{margin:0;font-size:11px;line-height:1.55}.v47-lead-message-thread small,.v47-message-thread small{display:block;margin-top:4px;color:#8d8591;font-size:8.5px!important}.v47-lead-message-thread .sent small,.v47-message-thread .sent small{color:rgba(255,255,255,.72)}.v47-lead-reply{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:10px}.v47-lead-reply textarea{min-height:80px;padding:9px;border:1px solid #ddd8e2;border-radius:9px;font-size:11px}
.v47-booking-dialog h2{margin:5px 0;font-size:28px}.v47-booking-dialog>p{margin:0 0 16px;color:#79727e;font-size:11px}.v47-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.v47-booking-grid label{display:grid;gap:5px;color:#625b67;font-size:10.5px;font-weight:800}.v47-booking-grid .full{grid-column:1/-1}.v47-booking-grid input,.v47-booking-grid select,.v47-booking-grid textarea{width:100%;min-height:43px;padding:8px 9px;border:1px solid #dcd7e1;border-radius:8px;background:#fff;font-size:11.5px}.v47-booking-grid textarea{min-height:90px;resize:vertical}.v47-booking-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:13px}body.v47-modal-open{overflow:hidden}

/* Vendor inbox */
.v47-vendor-inbox{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.55fr);min-height:650px;overflow:hidden;border:1px solid #dfdae4;border-radius:15px;background:#fff}.v47-conversation-side{border-right:1px solid #e7e2e9}.v47-conversation-search{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;margin:10px;padding:0 10px;border:1px solid #ddd8e2;border-radius:9px;background:#faf9fb}.v47-conversation-search svg{width:17px}.v47-conversation-search input{min-height:40px;border:0;outline:0;background:transparent;font-size:11.5px}.v47-conversation-list{display:grid;max-height:575px;overflow:auto}.v47-conversation-list button{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:72px;padding:11px 12px;border:0;border-top:1px solid #eeeaf0;color:#504954;background:#fff;text-align:left}.v47-conversation-list button.active{background:#f5f2ff}.v47-conversation-list button>span:nth-child(2){display:grid;gap:2px}.v47-conversation-list strong{font-size:11px}.v47-conversation-list small{overflow:hidden;color:#8a828e;font-size:9.5px!important;white-space:nowrap;text-overflow:ellipsis}.v47-conversation-list time{color:#6553c7;font-size:8.5px;font-weight:800}.v47-message-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-width:0}.v47-message-head{display:flex;min-height:70px;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;border-bottom:1px solid #e7e2e9}.v47-message-head button{min-height:34px;padding:6px 8px;border:1px solid #ddd7e2;border-radius:7px;color:#5d4aba;background:#fff;font-size:9.5px;font-weight:800}.v47-message-context{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#e7e2e9}.v47-message-context span{display:grid;gap:2px;padding:10px 12px;background:#faf9fb}.v47-message-context small{color:#918996;font-size:8.5px!important}.v47-message-context strong{font-size:10px}.v47-message-thread{margin:13px;border:0;background:#f8f7f9}.v47-message-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:12px;border-top:1px solid #e7e2e9}.v47-message-compose input{min-height:42px;padding:8px 10px;border:1px solid #ddd8e2;border-radius:8px;font-size:11.5px}.v47-message-compose button{min-width:78px;border:0;border-radius:8px;color:#fff;background:#6553c7;font-size:10.5px;font-weight:800}.v47-inbox-placeholder{display:grid;min-height:500px;place-content:center;justify-items:center;gap:4px;color:#817985}.v47-inbox-placeholder strong{color:#4d4652;font-size:15px}.v47-inbox-placeholder span{font-size:10.5px}.v47-inbox-empty{padding:28px;text-align:center;color:#817985;font-size:10.5px}

/* Calendar */
.v47-calendar-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.72fr);gap:13px;margin-bottom:13px}.v47-calendar-card,.v47-day-panel{padding:18px;border:1px solid #dfdae4;border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(38,30,46,.03)}.v47-calendar-head,.v47-day-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.v47-calendar-head h2,.v47-day-panel-head h2{margin:0;font-size:20px}.v47-calendar-nav{display:flex;gap:5px}.v47-calendar-nav button{min-width:36px;height:36px;padding:0 9px;border:1px solid #ddd8e2;border-radius:8px;color:#625b67;background:#fff;font-size:13px;font-weight:800}.v47-weekdays,.v47-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.v47-weekdays span{padding:5px;text-align:center;color:#918996;font-size:9px;font-weight:800}.v47-calendar-days>span.muted{min-height:58px}.v47-calendar-days button{position:relative;display:grid;min-height:62px;place-items:center;border:1px solid #ece8ef;border-radius:9px;color:#5d5662;background:#fff;font-size:11px}.v47-calendar-days button:hover{border-color:#cfc7df;background:#faf8ff}.v47-calendar-days button.today{box-shadow:inset 0 0 0 2px rgba(101,83,199,.18)}.v47-calendar-days button.selected{border-color:#6553c7!important;box-shadow:0 0 0 3px rgba(101,83,199,.08)}.v47-calendar-days button i{position:absolute;right:50%;bottom:7px;width:6px;height:6px;transform:translateX(50%);border-radius:50%}.v47-calendar-days button.tentative{background:#fff9ea}.v47-calendar-days button.tentative i{background:#c58a2b}.v47-calendar-days button.booked{color:#fff;border-color:#5b6b80;background:#65768c}.v47-calendar-days button.booked i{background:#fff}.v47-calendar-days button.unavailable{color:#8a5362;border-color:#efd6dd;background:#fff1f5}.v47-calendar-days button.unavailable i{background:#c85d7c}.v47-calendar-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid #eeeaf0}.v47-calendar-legend span{display:flex;align-items:center;gap:5px;color:#7b7480;font-size:9px}.v47-calendar-legend i{width:8px;height:8px;border-radius:50%;background:#d9d4dc}.v47-calendar-legend i.tentative{background:#c58a2b}.v47-calendar-legend i.booked{background:#65768c}.v47-calendar-legend i.unavailable{background:#c85d7c}
.v47-day-status{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border:1px solid #e4dfe7;border-radius:9px;background:#faf9fb}.v47-day-status>span{padding:5px 7px;border-radius:999px;font-size:9px;font-weight:850;text-transform:capitalize}.v47-day-status>span.available{color:#39714d;background:#edf7f0}.v47-day-status>span.tentative{color:#876528;background:#fff4db}.v47-day-status>span.booked{color:#fff;background:#65768c}.v47-day-status>span.unavailable{color:#98546a;background:#fff0f4}.v47-day-status small{color:#817985;font-size:9.5px!important}.v47-day-bookings{display:grid;margin:10px 0}.v47-day-bookings article{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;padding:10px 0;border-bottom:1px solid #eeeaf0}.v47-day-bookings article>div:first-child{display:grid;gap:2px}.v47-day-bookings article span{font-size:8.5px;font-weight:850}.v47-day-bookings article strong{font-size:11px}.v47-day-bookings article small{color:#8a828e;font-size:9px!important}.v47-day-bookings article>div:last-child{display:flex;gap:4px}.v47-day-bookings button{min-height:29px;padding:5px 7px;border:1px solid #ddd7e2;border-radius:6px;color:#5d4aba;background:#fff;font-size:8.5px;font-weight:800}.v47-day-bookings button.danger{color:#9a5669}.v47-day-empty{padding:24px 0;text-align:center;color:#817985;font-size:10px}
.v47-availability-settings{display:grid;gap:0;margin-top:13px;padding-top:12px;border-top:1px solid #eeeaf0}.v47-availability-settings>strong{margin-bottom:5px;font-size:11px}.v47-availability-settings label{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #f0edf2}.v47-availability-settings label>span{display:grid;gap:2px}.v47-availability-settings b{font-size:10px}.v47-availability-settings small{color:#8b8490;font-size:9px!important}.v47-availability-settings input{width:16px;height:16px;accent-color:#6553c7}
.v47-upcoming-bookings{margin-top:0}.v47-panel-head{display:flex;min-height:65px;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid #e9e5ec}.v47-panel-head>div{display:grid;gap:2px}.v47-panel-head strong{font-size:12.5px}.v47-panel-head small{color:#8b8490;font-size:9.5px!important}.v47-panel-head>label{display:grid;grid-template-columns:17px minmax(0,1fr);align-items:center;gap:7px;width:min(320px,100%);padding:0 9px;border:1px solid #ddd8e2;border-radius:8px;background:#faf9fb}.v47-panel-head>label svg{width:16px}.v47-panel-head>label input{min-height:38px;border:0;outline:0;background:transparent;font-size:10.5px}.v47-upcoming-booking{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid #eeeaf0}.v47-booking-date{display:grid;width:54px;height:54px;place-items:center;border-radius:10px;background:#f4f2f5}.v47-booking-date strong{font-size:17px}.v47-booking-date small{font-size:9px!important;color:#817985}.v47-upcoming-booking>div:nth-child(2){display:grid;gap:2px}.v47-upcoming-booking>div:nth-child(2)>span{font-size:8.5px;font-weight:850}.v47-upcoming-booking>div:nth-child(2)>strong{font-size:11px}.v47-upcoming-booking>div:nth-child(2)>small{color:#8a828e;font-size:9.5px!important}.v47-upcoming-booking>div:last-child{display:flex;gap:4px}.v47-upcoming-booking a,.v47-upcoming-booking button{display:flex;min-height:30px;align-items:center;padding:5px 7px;border:1px solid #ddd7e2;border-radius:6px;color:#5d4aba;background:#fff;font-size:8.5px;font-weight:800;text-decoration:none}.v47-booking-empty{padding:30px;text-align:center;color:#817985;font-size:10.5px}

/* Dress manager */
.v47-dress-title-actions{display:flex;gap:7px}.v47-dress-title-actions .btn{min-height:46px}.v47-dress-manager-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr);gap:12px}.v47-manager-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;padding:12px}.v47-dress-enquiries-panel>[data-v38-dress-enquiries]{display:grid}.v47-dress-enquiries-panel [data-v38-dress-enquiries]>article{padding:11px 13px;border-bottom:1px solid #eeeaf0}.v47-dress-enquiries-panel [data-v38-dress-enquiries] strong{font-size:11px}.v47-dress-enquiries-panel [data-v38-dress-enquiries] small{font-size:9px!important}.v47-dress-enquiries-panel [data-v38-dress-enquiries] p{font-size:9.5px!important;line-height:1.5}.v47-dress-enquiries-panel [data-v38-dress-enquiries] a{font-size:9px}
.v47-dress-editor-dialog{width:min(980px,calc(100% - 28px))!important;max-height:calc(100dvh - 24px)!important;margin:12px auto!important;padding:0!important}.v47-editor-head{position:sticky;z-index:5;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 17px;border-bottom:1px solid #e8e4eb;background:#fff}.v47-editor-head h2{margin:4px 0 5px;font-size:28px}.v47-editor-head p{margin:0;color:#7b7480;font-size:11px}.v47-editor-section{padding:20px 24px;border-bottom:1px solid #ece8ee}.v47-editor-section-head{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;margin-bottom:14px}.v47-editor-section-head>span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;color:#6553c7;background:#f0edff;font-size:9px;font-weight:850}.v47-editor-section-head>div{display:grid;gap:2px}.v47-editor-section-head strong{font-size:13px}.v47-editor-section-head small{color:#8b8490;font-size:9.5px!important}
.v47-dress-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v47-dress-form-grid label,.v47-url-field{display:grid;gap:5px;color:#625b67;font-size:10.5px;font-weight:800}.v47-dress-form-grid .full{grid-column:1/-1}.v47-dress-form-grid input,.v47-dress-form-grid select,.v47-dress-form-grid textarea,.v47-url-field input,.v47-url-field textarea{width:100%;min-height:44px;padding:8px 9px;border:1px solid #ddd8e2;border-radius:8px;background:#fff;font-size:11.5px}.v47-dress-form-grid textarea,.v47-url-field textarea{resize:vertical}.v47-main-media-grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1fr);gap:12px}.v47-main-preview{position:relative;display:grid;min-height:280px;place-items:center;overflow:hidden;border:1px dashed #d6d0dc;border-radius:12px;background:#faf9fb}.v47-main-preview>div{display:grid;place-items:center;gap:4px;color:#817985;text-align:center}.v47-main-preview svg{width:28px;height:28px;color:#6553c7}.v47-main-preview strong{color:#4d4652;font-size:12px}.v47-main-preview span{font-size:10px}.v47-main-preview>img{width:100%;height:100%;min-height:280px;object-fit:cover}.v47-main-preview>img+span{position:absolute;left:10px;bottom:10px;padding:5px 7px;border-radius:999px;color:#fff;background:rgba(31,25,34,.6);font-size:9px;font-weight:800}.v47-media-controls,.v47-gallery-controls{display:grid;gap:9px;align-content:start}.v47-gallery-controls{grid-template-columns:1fr 1fr}
.v47-upload-box{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-height:86px;padding:12px;border:1px dashed #cfc8d8;border-radius:10px;color:#625b67;background:#faf9fb;cursor:pointer}.v47-upload-box input{position:absolute;inset:0;opacity:0;cursor:pointer}.v47-upload-box>svg{width:25px;height:25px;color:#6553c7}.v47-upload-box>span{display:grid;gap:2px}.v47-upload-box strong{font-size:11px}.v47-upload-box small{color:#8a828e;font-size:9.5px!important;line-height:1.45}.v47-upload-box:hover{border-color:#a99ed1;background:#f8f5ff}.v47-upload-status{min-height:18px;color:#6f6874;font-size:9.5px}
.v47-gallery-preview{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-top:10px}.v47-gallery-preview figure{position:relative;min-width:0;margin:0;overflow:hidden;border:1px solid #e1dce5;border-radius:8px;background:#f4f2f5}.v47-gallery-preview img{width:100%;aspect-ratio:1;object-fit:cover}.v47-gallery-preview figcaption{padding:5px;color:#817985;font-size:7.5px;text-align:center}.v47-gallery-empty{grid-column:1/-1;padding:20px;border:1px dashed #ddd7e2;border-radius:9px;color:#817985;text-align:center;font-size:10px}.v47-publish-toggle{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid #ded9e3;border-radius:9px;background:#faf9fb}.v47-publish-toggle>span{display:grid;gap:2px}.v47-publish-toggle strong{font-size:11px}.v47-publish-toggle small{font-size:9.5px!important;color:#8c8490}.v47-publish-toggle input{width:17px!important;min-height:17px!important}.v47-editor-footer{position:sticky;z-index:5;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 24px;border-top:1px solid #e7e2e9;background:#fff}.v47-editor-footer>div:last-child{display:flex;gap:7px}.v47-editor-footer .form-message{margin:0}

/* Destination switcher */
.v47-destination-switcher[hidden]{display:none!important}.v47-destination-switcher{position:fixed;z-index:6600;inset:0}.v47-switcher-backdrop{position:absolute;inset:0;background:rgba(29,23,33,.42)}.v47-switcher-dialog{position:relative;width:min(780px,calc(100% - 28px));max-height:calc(100dvh - 34px);overflow:auto;margin:17px auto;padding:22px;border-radius:18px;background:#fff;box-shadow:0 32px 100px rgba(27,21,33,.27)}.v47-switcher-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.v47-switcher-head h2{margin:4px 0 5px;font-size:28px}.v47-switcher-head p{margin:0;color:#7a737e;font-size:11px}.v47-switcher-head>button{width:36px;height:36px;border:0;border-radius:50%;background:#f3f1f5;font-size:21px}.v47-switcher-search{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;margin:16px 0 10px;padding:0 10px;border:1px solid #ddd8e2;border-radius:9px;background:#faf9fb}.v47-switcher-search svg{width:17px}.v47-switcher-search input{min-height:43px;border:0;outline:0;background:transparent;font-size:11.5px}.v47-switcher-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.v47-switcher-grid button{display:grid;grid-template-columns:66px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:78px;padding:7px;border:1px solid #e1dce5;border-radius:10px;color:#504954;background:#fff;text-align:left}.v47-switcher-grid button:hover{border-color:#bfb4df;background:#f8f5ff}.v47-switcher-grid img{width:66px;height:62px;object-fit:cover;border-radius:7px}.v47-switcher-grid button>span{display:grid;gap:3px}.v47-switcher-grid strong{font-size:11px}.v47-switcher-grid small{color:#8a828e;font-size:9px!important;line-height:1.35}.v47-switcher-grid svg{width:15px}.v47-switcher-empty{grid-column:1/-1;padding:28px;text-align:center;color:#817985;font-size:10.5px}.v47-switcher-footer{margin-top:12px;padding-top:11px;border-top:1px solid #eeeaf0;text-align:right}.v47-switcher-footer a{color:#5d4aba;font-size:10px;font-weight:850;text-decoration:none}body.v47-switcher-open{overflow:hidden}

@media(max-width:1200px){.v47-manager-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v47-dress-manager-layout{grid-template-columns:1fr}.v47-calendar-layout{grid-template-columns:1fr}.v47-lead-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.v47-lead-metrics,.v47-dress-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.v47-vendor-inbox{grid-template-columns:1fr}.v47-conversation-side{border-right:0;border-bottom:1px solid #e7e2e9}.v47-conversation-list{display:flex;max-height:none;overflow:auto}.v47-conversation-list button{min-width:260px;border-top:0;border-right:1px solid #eeeaf0}.v47-main-media-grid{grid-template-columns:1fr}.v47-gallery-controls{grid-template-columns:1fr}.v47-gallery-preview{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.v47-page-title,.v47-dress-page-title{align-items:stretch}.v47-dress-title-actions{display:grid;grid-template-columns:1fr 1fr}.v47-leads-toolbar,.v47-panel-head{align-items:stretch;flex-direction:column}.v47-lead-search,.v47-manager-search{width:100%}.v47-calendar-summary{grid-template-columns:1fr}.v47-calendar-days button{min-height:48px}.v47-calendar-days>span.muted{min-height:48px}.v47-upcoming-booking{grid-template-columns:48px minmax(0,1fr)}.v47-upcoming-booking>div:last-child{grid-column:1/-1}.v47-booking-grid,.v47-dress-form-grid{grid-template-columns:1fr}.v47-booking-grid .full,.v47-dress-form-grid .full{grid-column:auto}.v47-gallery-preview{grid-template-columns:repeat(3,minmax(0,1fr))}.v47-editor-footer{align-items:stretch;flex-direction:column}.v47-editor-footer>div:last-child{display:grid;grid-template-columns:1fr 1fr}.v47-switcher-grid{grid-template-columns:1fr}.v47-message-context{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.v47-lead-metrics,.v47-dress-metrics{grid-template-columns:1fr}.v47-dress-title-actions{grid-template-columns:1fr}.v47-manager-grid{grid-template-columns:1fr!important}.v47-gallery-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.v47-lead-detail-grid{grid-template-columns:1fr}.v47-lead-reply{grid-template-columns:1fr}.v47-calendar-days,.v47-weekdays{gap:3px}.v47-calendar-days button{min-height:41px;border-radius:7px;font-size:10px}}


/* ===============================================================
   KnottyWedding v48 — Connected messaging, RBAC & calendar polish
   =============================================================== */

/* Couple communication */
.v48-message-page-title{align-items:flex-end}
.v48-message-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.v48-message-metrics article{display:grid;gap:3px;min-height:96px;align-content:center;padding:14px 15px;border:1px solid #e1dce5;border-radius:13px;background:#fff;box-shadow:0 7px 20px rgba(38,30,46,.025)}
.v48-message-metrics span{color:#817985;font-size:10px}.v48-message-metrics strong{font-size:22px}.v48-message-metrics small{color:#938b97;font-size:9.5px!important}
.v48-couple-inbox{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.55fr);min-height:650px;overflow:hidden;border:1px solid #ded9e3;border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(38,30,46,.03)}
.v48-couple-conversation-side{border-right:1px solid #e7e2e9}.v48-conversation-search{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;margin:10px;padding:0 10px;border:1px solid #ddd8e2;border-radius:9px;background:#faf9fb}.v48-conversation-search svg{width:17px}.v48-conversation-search input{min-height:42px;border:0;outline:0;background:transparent;font-size:11.5px}
.v48-couple-conversation-list{display:grid;max-height:580px;overflow:auto}.v48-couple-conversation-list>button{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:76px;padding:11px 12px;border:0;border-top:1px solid #eeeaf0;color:#504954;background:#fff;text-align:left}.v48-couple-conversation-list>button.active{background:#f6f3ff}.v48-couple-conversation-list>button>span:nth-child(2){display:grid;gap:2px;min-width:0}.v48-couple-conversation-list strong{font-size:11px}.v48-couple-conversation-list small{overflow:hidden;color:#8a828e;font-size:9.5px!important;white-space:nowrap;text-overflow:ellipsis}.v48-conversation-meta{display:grid;justify-items:end;gap:4px}.v48-conversation-meta time{color:#8c8490;font-size:8.5px}.v48-conversation-meta i{padding:3px 5px;border-radius:999px;color:#8b6125;background:#fff2d9;font-size:7.5px;font-weight:850;font-style:normal}
.v48-conversation-empty{display:grid;gap:5px;padding:30px 18px;text-align:center}.v48-conversation-empty strong{font-size:12px}.v48-conversation-empty span{color:#817985;font-size:9.5px}.v48-conversation-empty a{margin-top:4px;color:#5d4aba;font-size:9.5px;font-weight:850;text-decoration:none}
.v48-couple-message-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-width:0}.v48-couple-message-head{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid #e7e2e9}.v48-lead-person{display:flex;align-items:center;gap:9px}.v48-lead-person>span:last-child{display:grid;gap:2px}.v48-lead-person strong{font-size:12px}.v48-lead-person small{color:#8a828e;font-size:9.5px!important}.v48-status-chip{padding:5px 7px;border-radius:999px;color:#6553c7;background:#f1eeff;font-size:8.5px;font-weight:850}.v48-status-chip.booked{color:#39714d;background:#edf7f0}.v48-status-chip.closed{color:#7b737d;background:#f1eff2}
.v48-enquiry-context{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#e7e2e9}.v48-enquiry-context span{display:grid;gap:2px;padding:10px 12px;background:#faf9fb}.v48-enquiry-context small{color:#918996;font-size:8.5px!important}.v48-enquiry-context strong{font-size:10px}
.v48-couple-thread{display:grid;gap:8px;align-content:start;overflow:auto;padding:16px;background:#f8f7f9}.v48-couple-thread>div{max-width:78%;padding:9px 11px;border-radius:12px;background:#fff}.v48-couple-thread>div.sent{justify-self:end;color:#fff;background:#6553c7}.v48-couple-thread p{margin:0;font-size:11px;line-height:1.55}.v48-couple-thread small{display:block;margin-top:4px;color:#8d8591;font-size:8.5px!important}.v48-couple-thread .sent small{color:rgba(255,255,255,.73)}
.v48-couple-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:12px;border-top:1px solid #e7e2e9}.v48-couple-compose input{min-height:43px;padding:8px 10px;border:1px solid #ddd8e2;border-radius:8px;font-size:11.5px}.v48-couple-compose button{min-width:82px;border:0;border-radius:8px;color:#fff;background:#6553c7;font-size:10.5px;font-weight:850}.v48-message-placeholder{display:grid;min-height:580px;place-content:center;justify-items:center;gap:5px;color:#817985}.v48-message-placeholder strong{color:#4d4652;font-size:14px}.v48-message-placeholder span{font-size:10px}.v48-empty-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:13px;color:#6553c7;background:#f0edff}.v48-empty-icon svg{width:22px;height:22px}

/* Team & RBAC */
.v48-role-preview{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px;padding:15px 16px;border:1px solid #dcd6e5;border-radius:13px;background:linear-gradient(120deg,#f7f4ff,#fff)}.v48-role-preview>div{display:grid;gap:2px}.v48-role-preview strong{font-size:13px}.v48-role-preview small{color:#817985;font-size:9.5px!important}.v48-role-preview label{display:grid;gap:4px;min-width:250px;color:#817985;font-size:9.5px;font-weight:800}.v48-role-preview select{min-height:42px;padding:7px 9px;border:1px solid #d9d3df;border-radius:8px;background:#fff;font-size:11px}
.v48-role-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:13px}.v48-role-cards article{display:grid;gap:3px;min-height:110px;align-content:center;padding:14px;border:1px solid #e1dce5;border-radius:12px;background:#fff}.v48-role-cards article>span{color:#6553c7;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.v48-role-cards strong{font-size:12px}.v48-role-cards small{color:#817985;font-size:9.5px!important;line-height:1.45}
.v48-team-panel{overflow:hidden;border:1px solid #dfdae4;border-radius:14px;background:#fff}.v48-team-table-wrap{overflow:auto}.v48-team-table{width:100%;min-width:900px;border-collapse:collapse}.v48-team-table th,.v48-team-table td{padding:11px 12px;border-bottom:1px solid #eeeaf0;text-align:left;vertical-align:middle}.v48-team-table th{color:#8a828e;font-size:9px;text-transform:uppercase;letter-spacing:.05em}.v48-team-table td{font-size:10.5px}.v48-team-person{display:flex;align-items:center;gap:8px}.v48-team-person>span:last-child{display:grid;gap:2px}.v48-team-person strong{font-size:11px}.v48-team-person small{color:#8a828e;font-size:9px!important}.v48-team-table select{min-height:34px;padding:5px 7px;border:1px solid #ddd7e2;border-radius:7px;background:#fff;font-size:9.5px}.v48-team-table button{min-height:30px;padding:5px 7px;border:1px solid #ddd7e2;border-radius:6px;color:#5d4aba;background:#fff;font-size:8.5px;font-weight:800}.v48-owner-role,.v48-member-status{display:inline-flex;padding:5px 7px;border-radius:999px;color:#39714d;background:#edf7f0;font-size:8.5px;font-weight:850}
.v48-team-dialog{position:relative;width:min(620px,calc(100% - 28px));max-height:calc(100dvh - 34px);overflow:auto;margin:17px auto;padding:26px;border-radius:18px;background:#fff;box-shadow:0 32px 100px rgba(28,21,34,.27)}.v48-team-dialog h2{margin:5px 0;font-size:28px}.v48-team-dialog>p{margin:0 0 16px;color:#79727e;font-size:11px}.v48-team-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.v48-team-form-grid label{display:grid;gap:5px;color:#625b67;font-size:10.5px;font-weight:800}.v48-team-form-grid input,.v48-team-form-grid select{min-height:43px;padding:8px 9px;border:1px solid #dcd7e1;border-radius:8px;background:#fff;font-size:11.5px}.v48-team-role-note{display:grid;gap:3px;margin-top:11px;padding:11px;border:1px solid #dfd9e7;border-radius:9px;background:#faf9fb}.v48-team-role-note strong{color:#6553c7;font-size:11px}.v48-team-role-note span{color:#817985;font-size:9.5px}.v48-team-form-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:13px}
.v48-role-forbidden{display:none!important}.v48-permission-disabled{opacity:.45!important;cursor:not-allowed!important}

/* Lead assignment */
.v48-lead-detail-controls{display:grid;grid-template-columns:1fr 1fr;gap:7px;min-width:330px}.v48-lead-detail-controls label{display:grid;gap:4px;color:#817985;font-size:8.5px;font-weight:800}.v48-lead-detail-controls select{min-height:39px;padding:6px 8px;border:1px solid #ddd7e2;border-radius:8px;background:#fff;font-size:9.5px}

/* Calendar v48 polish */
.v48-day-actions{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}.v48-day-actions .btn{min-height:36px;padding:6px 8px;font-size:9px}
.v47-calendar-card{padding:20px}.v47-calendar-days{gap:7px}.v47-calendar-days button{min-height:68px;border-radius:10px;font-size:12px;transition:border-color .15s,background .15s,transform .15s}.v47-calendar-days button:hover{transform:translateY(-1px)}.v47-calendar-days button.selected{box-shadow:0 0 0 3px rgba(101,83,199,.09),0 6px 16px rgba(38,30,46,.05)}.v47-calendar-days button.booked{background:linear-gradient(145deg,#65768c,#536579)}.v47-calendar-days button.unavailable{background:linear-gradient(145deg,#fff4f6,#ffedf2)}.v47-calendar-days button.tentative{background:linear-gradient(145deg,#fffaf0,#fff3d5)}
.v47-calendar-head h2{font-size:22px}.v47-day-panel{padding:18px}.v47-day-panel-head{align-items:flex-start}.v47-booking-grid select[data-v48-booking-lead]{font-size:11px}

@media(max-width:980px){.v48-role-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.v48-couple-inbox{grid-template-columns:1fr}.v48-couple-conversation-side{border-right:0;border-bottom:1px solid #e7e2e9}.v48-couple-conversation-list{display:flex;max-height:none;overflow:auto}.v48-couple-conversation-list>button{min-width:260px;border-top:0;border-right:1px solid #eeeaf0}.v48-message-placeholder{min-height:430px}}
@media(max-width:720px){.v48-message-metrics{grid-template-columns:1fr}.v48-enquiry-context{grid-template-columns:1fr 1fr}.v48-role-preview{align-items:stretch;flex-direction:column}.v48-role-preview label{min-width:0}.v48-role-cards{grid-template-columns:1fr}.v48-team-form-grid{grid-template-columns:1fr}.v48-lead-detail-controls{grid-template-columns:1fr;min-width:0}.v48-day-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.v48-day-actions .btn:last-child{grid-column:1/-1}.v47-calendar-days button{min-height:50px}}

.v48-table-status{display:grid;gap:3px}.v48-table-status small{color:#8d8591;font-size:8.5px!important}
.v48-vendor-message-context{grid-template-columns:repeat(4,minmax(0,1fr))!important}


/* ===============================================================
   KnottyWedding v49 — Dashboard destinations, documents & integrations
   =============================================================== */

/* Destination listing action bar */
.v49-destination-listing-actions{
  display:grid!important;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;
  gap:8px!important;
  margin-top:14px!important;
  padding-top:14px!important;
  border-top:1px solid #e9e5ec;
}
.v49-destination-action{
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  min-height:64px!important;
  margin:0!important;
  padding:9px 12px!important;
  border-radius:11px!important;
  text-align:left!important;
  cursor:pointer;
}
.v49-destination-action>svg{
  width:20px;height:20px;
  justify-self:center;
}
.v49-destination-action>span{display:grid;gap:2px}
.v49-destination-action strong{font-size:11px}
.v49-destination-action small{font-size:9px!important;line-height:1.4;font-weight:650}
.v49-destination-action.secondary{
  color:#5f5864!important;
  border:1px solid #ddd7e2!important;
  background:#fff!important;
}
.v49-destination-action.secondary>svg{color:#6553c7}
.v49-destination-action.secondary small{color:#8b8490}
.v49-destination-action.primary{
  color:#fff!important;
  border:1px solid #6553c7!important;
  background:linear-gradient(135deg,#6957cb,#5744b4)!important;
  box-shadow:0 9px 20px rgba(101,83,199,.15);
}
.v49-destination-action.primary strong,.v49-destination-action.primary small{color:#fff!important}
.v49-destination-action.primary small{opacity:.74}
.v49-destination-action:hover{transform:translateY(-1px)}
.v49-destination-action:disabled{opacity:.45;cursor:not-allowed;transform:none}

/* Review link copy state */
[data-v49-copy-review-link].copied{
  color:#fff!important;
  border-color:#4d8160!important;
  background:#4d8160!important;
}

/* Functional integration cards */
.v49-integration-grid{display:grid;gap:8px}
.v49-integration-grid>article{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  min-height:78px;
  padding:12px;
  border:1px solid #e0dbe4;
  border-radius:11px;
  background:#fff;
}
.v49-integration-icon{
  display:grid;width:46px;height:46px;place-items:center;
  border-radius:12px;color:#6553c7;background:#f1eeff;
}
.v49-integration-icon svg{width:21px;height:21px}
.v49-integration-grid>article>span:nth-child(2){display:grid;gap:2px}
.v49-integration-grid strong{font-size:11.5px}
.v49-integration-grid small{color:#817985;font-size:9.5px!important}
.v49-integration-grid em{color:#9a929d;font-size:8.8px;font-weight:750;font-style:normal}
.v49-integration-grid button{
  min-width:88px;min-height:37px;padding:6px 9px;
  border:1px solid #d9d3df;border-radius:8px;
  color:#5d4aba;background:#fff;font-size:9.5px;font-weight:850;
}
.v49-integration-grid button.connected{color:#39714d;border-color:#cfe2d5;background:#edf7f0}
.v49-integration-modal[hidden]{display:none!important}
.v49-integration-modal{position:fixed;z-index:6700;inset:0}
.v49-integration-backdrop{position:absolute;inset:0;background:rgba(29,23,33,.44)}
.v49-integration-dialog{
  position:relative;width:min(650px,calc(100% - 28px));max-height:calc(100dvh - 34px);overflow:auto;
  margin:17px auto;padding:26px;border-radius:18px;background:#fff;box-shadow:0 32px 100px rgba(28,21,34,.27);
}
.v49-integration-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:#f3f1f5;font-size:21px}
.v49-integration-dialog h2{margin:5px 0;font-size:28px}
.v49-integration-dialog>p{margin:0 38px 16px 0;color:#79727e;font-size:11px;line-height:1.55}
.v49-integration-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.v49-integration-form-grid>label{display:grid;gap:5px;color:#625b67;font-size:10.5px;font-weight:800}
.v49-integration-form-grid .full{grid-column:1/-1}
.v49-integration-form-grid input,.v49-integration-form-grid select{min-height:43px;padding:8px 9px;border:1px solid #dcd7e1;border-radius:8px;background:#fff;font-size:11.5px}
.v49-integration-toggle-row{
  display:flex!important;align-items:center;justify-content:space-between;gap:12px;
  padding:10px;border:1px solid #e1dce5;border-radius:9px;background:#faf9fb;
}
.v49-integration-toggle-row>span{display:grid;gap:2px}.v49-integration-toggle-row strong{font-size:10.5px}.v49-integration-toggle-row small{color:#8b8490;font-size:9px!important}
.v49-integration-toggle-row input{width:17px!important;min-height:17px!important}
.v49-integration-test{min-height:20px;margin-top:10px;font-size:9.5px;line-height:1.5}
.v49-integration-test.success{color:#39714d}.v49-integration-test.error{color:#a25069}
.v49-integration-dialog-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid #eeeaf0}
.v49-integration-dialog-actions .danger{color:#9a5669}
body.v49-integration-open{overflow:hidden}

/* Documents */
.v49-document-metrics{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;
}
.v49-document-metrics article{
  display:grid;gap:3px;min-height:98px;align-content:center;padding:14px 15px;
  border:1px solid #e1dce5;border-radius:13px;background:#fff;box-shadow:0 7px 20px rgba(38,30,46,.025);
}
.v49-document-metrics span{color:#817985;font-size:10px}.v49-document-metrics strong{font-size:21px}.v49-document-metrics small{color:#938b97;font-size:9.5px!important}
.v49-document-requirements{
  margin-bottom:14px;padding:18px;border:1px solid #ddd7e5;border-radius:15px;
  background:linear-gradient(125deg,#f8f5ff,#fff 70%);
}
.v49-document-requirements-head{margin-bottom:13px}.v49-document-requirements-head h2{margin:4px 0 5px;font-size:20px}.v49-document-requirements-head p{max-width:850px;margin:0;color:#77707b;font-size:10.5px;line-height:1.55}
.v49-requirement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.v49-requirement-grid article{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;padding:10px;border:1px solid #e3dee7;border-radius:10px;background:rgba(255,255,255,.86)}
.v49-requirement-grid article>span{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;color:#6553c7;background:#f0edff;font-size:8.5px;font-weight:850}
.v49-requirement-grid article>div{display:grid;gap:2px}.v49-requirement-grid strong{font-size:10.5px}.v49-requirement-grid small{color:#817985;font-size:9px!important;line-height:1.45}
.v49-document-panel{overflow:hidden;border:1px solid #dfdae4;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(38,30,46,.03)}
.v49-document-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-bottom:1px solid #ebe7ed}
.v49-document-search{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;width:min(520px,100%);min-height:42px;padding:0 10px;border:1px solid #ded9e3;border-radius:9px;background:#faf9fb}
.v49-document-search svg{width:17px;color:#817985}.v49-document-search input{min-height:38px;border:0;outline:0;background:transparent;font-size:11.5px}
.v49-document-filter{display:flex;align-items:center;gap:7px;color:#817985;font-size:9.5px}.v49-document-filter select{min-height:42px;padding:7px 9px;border:1px solid #ded9e3;border-radius:9px;background:#fff;font-size:10.5px}
.v49-document-list{display:grid}.v49-document-row{display:grid;grid-template-columns:42px minmax(0,1fr) 110px 100px auto;align-items:center;gap:10px;min-height:76px;padding:10px 12px;border-bottom:1px solid #eeeaf0}
.v49-document-file-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:10px;color:#6553c7;background:#f1eeff}.v49-document-file-icon svg{width:20px;height:20px}
.v49-document-copy{display:grid;gap:2px;min-width:0}.v49-document-copy strong{overflow:hidden;font-size:11px;white-space:nowrap;text-overflow:ellipsis}.v49-document-copy small{color:#8a828e;font-size:9px!important}.v49-document-copy em{color:#756e79;font-size:8.8px;font-style:normal}
.v49-document-updated{display:grid;gap:2px}.v49-document-updated small{color:#918996;font-size:8px!important}.v49-document-updated strong{font-size:9.5px}
.v49-document-status{display:inline-flex;width:max-content;padding:5px 7px;border-radius:999px;color:#6553c7;background:#f1eeff;font-size:8.5px;font-weight:850}.v49-document-status.signed,.v49-document-status.paid{color:#39714d;background:#edf7f0}.v49-document-status.pending,.v49-document-status.needs-review{color:#8b6125;background:#fff2d9}
.v49-document-actions{display:flex;gap:4px}.v49-document-actions button{min-height:30px;padding:5px 7px;border:1px solid #ddd7e2;border-radius:6px;color:#5d4aba;background:#fff;font-size:8.5px;font-weight:800}.v49-document-actions .danger{color:#9a5669}
.v49-document-empty{display:grid;min-height:260px;place-content:center;justify-items:center;gap:5px;padding:24px;text-align:center}.v49-document-empty[hidden]{display:none!important}.v49-document-empty-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:13px;color:#6553c7;background:#f0edff}.v49-document-empty-icon svg{width:22px}.v49-document-empty strong{font-size:13px}.v49-document-empty p{margin:0 0 6px;color:#817985;font-size:9.5px}
.v49-document-modal[hidden]{display:none!important}.v49-document-modal{position:fixed;z-index:6700;inset:0}.v49-document-backdrop{position:absolute;inset:0;background:rgba(29,23,33,.44)}.v49-document-dialog{position:relative;width:min(670px,calc(100% - 28px));max-height:calc(100dvh - 34px);overflow:auto;margin:17px auto;padding:26px;border-radius:18px;background:#fff;box-shadow:0 32px 100px rgba(28,21,34,.27)}.v49-document-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:#f3f1f5;font-size:21px}.v49-document-dialog h2{margin:5px 0;font-size:28px}.v49-document-dialog>p{margin:0 0 15px;color:#79727e;font-size:10.5px}
.v49-document-drop{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:11px;min-height:92px;padding:13px;border:1px dashed #cfc8d8;border-radius:11px;background:#faf9fb;cursor:pointer}.v49-document-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.v49-document-drop svg{width:25px;color:#6553c7}.v49-document-drop>span{display:grid;gap:2px}.v49-document-drop strong{font-size:11px}.v49-document-drop small{color:#8a828e;font-size:9px!important}
.v49-document-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}.v49-document-form-grid label{display:grid;gap:5px;color:#625b67;font-size:10.5px;font-weight:800}.v49-document-form-grid input,.v49-document-form-grid select{min-height:43px;padding:8px 9px;border:1px solid #dcd7e1;border-radius:8px;background:#fff;font-size:11.5px}.v49-document-dialog-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:12px}.v49-doc-modal-open{overflow:hidden}

@media(max-width:1000px){
  .v49-document-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v49-requirement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v49-document-row{grid-template-columns:42px minmax(0,1fr) 90px auto}.v49-document-status{grid-column:2}.v49-document-actions{grid-column:4;grid-row:1/3}
}
@media(max-width:700px){
  .v49-destination-listing-actions{grid-template-columns:1fr!important}
  .v49-integration-grid>article{grid-template-columns:42px minmax(0,1fr)}.v49-integration-grid>article>button{grid-column:1/-1;width:100%}
  .v49-integration-form-grid,.v49-document-form-grid{grid-template-columns:1fr}.v49-integration-form-grid .full{grid-column:auto}
  .v49-document-toolbar{align-items:stretch;flex-direction:column}.v49-document-search{width:100%}.v49-document-filter{justify-content:space-between}.v49-document-filter select{flex:1}
  .v49-requirement-grid{grid-template-columns:1fr}
  .v49-document-row{grid-template-columns:42px minmax(0,1fr);gap:8px}.v49-document-updated,.v49-document-status,.v49-document-actions{grid-column:2}.v49-document-actions{grid-row:auto}
}
@media(max-width:480px){.v49-document-metrics{grid-template-columns:1fr}}


/* ===============================================================
   KnottyWedding v50 — Schedule, search, notifications, overview, RBAC
   =============================================================== */

/* Global search */
.dash-topbar{position:relative}
.v50-global-search-results{
  position:absolute;z-index:5900;top:calc(100% - 4px);left:78px;width:min(580px,calc(100vw - 180px));
  overflow:hidden;border:1px solid #ded8e3;border-radius:12px;background:#fff;box-shadow:0 22px 60px rgba(30,24,36,.18);
}
.v50-global-search-results[hidden]{display:none!important}
.v50-search-caption{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border-bottom:1px solid #eeeaf0;background:#faf9fb}
.v50-search-caption span{font-size:9.5px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.v50-search-caption small{color:#918996;font-size:8.5px!important}
.v50-global-search-results>button{display:grid;grid-template-columns:70px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;min-height:58px;padding:9px 11px;border:0;border-bottom:1px solid #f0edf2;color:#4e4753;background:#fff;text-align:left}
.v50-global-search-results>button:hover,.v50-global-search-results>button.active{background:#f7f4ff}.v50-search-type{display:inline-flex;width:max-content;padding:4px 6px;border-radius:999px;color:#6553c7;background:#f0edff;font-size:8px;font-weight:850}.v50-global-search-results>button>span:nth-child(2){display:grid;gap:2px;min-width:0}.v50-global-search-results strong{font-size:10.5px}.v50-global-search-results small{overflow:hidden;color:#817985;font-size:9px!important;white-space:nowrap;text-overflow:ellipsis}.v50-global-search-results svg{width:15px;color:#837b88}.v50-search-empty{display:grid;gap:3px;padding:22px 14px;text-align:center}.v50-search-empty strong{font-size:11px}.v50-search-empty span{color:#817985;font-size:9px}

/* Notifications */
.notification-pop{width:min(390px,calc(100vw - 24px))!important;max-height:min(620px,calc(100dvh - 90px));overflow:auto}
.v50-notification-head{position:sticky;z-index:2;top:0;display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px!important;border-bottom:1px solid #e9e5ec;background:#fff!important}
.v50-notification-head>span{display:flex;gap:4px}.v50-notification-head button{min-height:30px;padding:5px 7px!important;border:1px solid #ddd8e2!important;border-radius:6px!important;color:#6553c7!important;background:#fff!important;font-size:8.5px!important;font-weight:800!important}
.v50-notification-list{display:grid}.v50-notification-list>button{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:70px;padding:10px 12px;border:0;border-bottom:1px solid #eeeaf0;color:#4d4652;background:#fff;text-align:left}.v50-notification-list>button.unread{background:#f8f6ff}.v50-notification-list>button:hover{background:#f5f2ff}.v50-notification-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;color:#6553c7;background:#f0edff}.v50-notification-icon svg{width:18px}.v50-notification-list>button>span:nth-child(2){display:grid;gap:2px;min-width:0}.v50-notification-list strong{font-size:10.5px}.v50-notification-list small{overflow:hidden;color:#817985;font-size:9px!important;white-space:nowrap;text-overflow:ellipsis}.v50-notification-list time{color:#918996;font-size:8px}.v50-notification-empty{padding:24px;text-align:center;color:#817985;font-size:9.5px}.v50-notification-empty[hidden]{display:none!important}
[data-v50-notification-dot]:not([hidden])::after{content:attr(data-count);position:absolute;top:-6px;right:-7px;display:grid;min-width:16px;height:16px;place-items:center;padding:0 4px;border:2px solid #fff;border-radius:999px;color:#fff;background:#d55c80;font-size:7px;font-weight:850}

/* Couple schedule */
.v50-schedule-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:13px}.v50-schedule-metrics article{display:grid;gap:3px;min-height:92px;align-content:center;padding:13px 14px;border:1px solid #e1dce5;border-radius:12px;background:#fff}.v50-schedule-metrics span{color:#817985;font-size:9.5px}.v50-schedule-metrics strong{font-size:21px}.v50-schedule-metrics small{color:#918996;font-size:9px!important}
.v50-schedule-layout{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(310px,.7fr);gap:12px;margin-bottom:12px}.v50-couple-calendar-card,.v50-selected-day,.v50-upcoming-panel{border:1px solid #ded9e3;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(38,30,46,.03)}.v50-couple-calendar-card,.v50-selected-day{padding:17px}
.v50-calendar-head,.v50-selected-day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.v50-calendar-head h2,.v50-selected-day-head h2{margin:0;font-size:19px}.v50-calendar-nav{display:flex;gap:4px}.v50-calendar-nav button{min-width:34px;height:34px;padding:0 8px;border:1px solid #ddd8e2;border-radius:7px;color:#625b67;background:#fff;font-size:11px;font-weight:800}
.v50-calendar-weekdays,.v50-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.v50-calendar-weekdays span{padding:4px;text-align:center;color:#918996;font-size:8.5px;font-weight:800}.v50-calendar-days>span.muted{min-height:66px}.v50-calendar-days button{position:relative;display:grid;min-height:66px;align-content:start;gap:3px;padding:7px;border:1px solid #ece8ef;border-radius:9px;color:#5d5662;background:#fff;text-align:left}.v50-calendar-days button:hover{border-color:#cfc6df;background:#faf8ff}.v50-calendar-days button.today{box-shadow:inset 0 0 0 2px rgba(101,83,199,.14)}.v50-calendar-days button.selected{border-color:#6553c7;box-shadow:0 0 0 3px rgba(101,83,199,.08)}.v50-calendar-days button>strong{font-size:10.5px}.v50-calendar-days button>span{display:flex;gap:3px}.v50-calendar-days button i{width:6px;height:6px;border-radius:50%;background:#7c7480}.v50-calendar-days button i.appointment{background:#6553c7}.v50-calendar-days button i.meeting{background:#4283a7}.v50-calendar-days button i.payment{background:#bd7e27}.v50-calendar-days button i.deadline{background:#c05b77}.v50-calendar-days button>small{color:#918996;font-size:7.5px!important}
.v50-calendar-legend{display:flex;flex-wrap:wrap;gap:11px;margin-top:12px;padding-top:10px;border-top:1px solid #eeeaf0}.v50-calendar-legend span{display:flex;align-items:center;gap:5px;color:#817985;font-size:8.5px}.v50-calendar-legend i{width:7px;height:7px;border-radius:50%;background:#6553c7}.v50-calendar-legend i.meeting{background:#4283a7}.v50-calendar-legend i.payment{background:#bd7e27}.v50-calendar-legend i.deadline{background:#c05b77}
.v50-selected-day-list{display:grid;gap:7px}.v50-selected-day-list>article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:10px;border:1px solid #e5e0e8;border-radius:9px;background:#faf9fb}.v50-selected-day-list>article.completed{opacity:.65}.v50-event-type{display:inline-flex;width:max-content;height:max-content;padding:5px 6px;border-radius:999px;color:#6553c7;background:#f0edff;font-size:8px;font-weight:850}.v50-event-type.meeting{color:#326c8c;background:#edf6fa}.v50-event-type.payment{color:#8b6125;background:#fff2d9}.v50-event-type.deadline{color:#9a5067;background:#fff0f4}.v50-selected-day-list article>div:nth-child(2){display:grid;gap:2px}.v50-selected-day-list strong{font-size:10.5px}.v50-selected-day-list small{color:#837b87;font-size:8.5px!important}.v50-selected-day-list p{margin:3px 0 0;color:#756e79;font-size:8.8px;line-height:1.45}.v50-selected-event-actions{display:flex;gap:4px}.v50-selected-event-actions button{height:29px;padding:5px 6px;border:1px solid #ddd7e2;border-radius:6px;color:#5d4aba;background:#fff;font-size:8px;font-weight:800}.v50-selected-event-actions .danger{color:#9a5669}.v50-day-empty{display:grid;min-height:220px;place-content:center;justify-items:center;gap:4px;text-align:center}.v50-day-empty strong{font-size:12px}.v50-day-empty span{color:#817985;font-size:9px}.v50-day-empty button{margin-top:5px;min-height:34px;padding:6px 9px;border:0;border-radius:7px;color:#fff;background:#6553c7;font-size:9px;font-weight:800}
.v50-upcoming-panel{overflow:hidden}.v50-panel-head{display:flex;min-height:62px;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid #e9e5ec}.v50-panel-head>div{display:grid;gap:2px}.v50-panel-head strong{font-size:12px}.v50-panel-head small{color:#817985;font-size:9px!important}.v50-panel-head label{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:6px;width:min(330px,100%);padding:0 9px;border:1px solid #ddd8e2;border-radius:8px;background:#faf9fb}.v50-panel-head label svg{width:15px}.v50-panel-head input{min-height:38px;border:0;outline:0;background:transparent;font-size:10.5px}.v50-upcoming-list{display:grid}.v50-upcoming-list>article{display:grid;grid-template-columns:48px auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:70px;padding:9px 12px;border-bottom:1px solid #eeeaf0}.v50-upcoming-list>article.completed{opacity:.6}.v50-upcoming-list time{display:grid;width:48px;height:48px;place-items:center;border-radius:9px;background:#f4f2f5}.v50-upcoming-list time strong{font-size:15px}.v50-upcoming-list time span{font-size:8px;color:#817985}.v50-upcoming-list>article>div:nth-child(3){display:grid;gap:2px}.v50-upcoming-list>article>div:nth-child(3)>strong{font-size:10.5px}.v50-upcoming-list>article>div:nth-child(3)>small{color:#817985;font-size:8.5px!important}.v50-upcoming-list>article>div:last-child{display:flex;gap:4px}.v50-upcoming-list button{min-height:29px;padding:5px 6px;border:1px solid #ddd7e2;border-radius:6px;color:#5d4aba;background:#fff;font-size:8px;font-weight:800}.v50-upcoming-list button.danger{color:#9a5669}.v50-upcoming-empty{padding:28px;text-align:center;color:#817985;font-size:9.5px}

/* Event / task modal */
.v50-event-modal[hidden]{display:none!important}.v50-event-modal{position:fixed;z-index:6800;inset:0}.v50-event-backdrop{position:absolute;inset:0;background:rgba(29,23,33,.45)}.v50-event-dialog{position:relative;width:min(690px,calc(100% - 28px));max-height:calc(100dvh - 34px);overflow:auto;margin:17px auto;padding:25px;border-radius:18px;background:#fff;box-shadow:0 32px 100px rgba(28,21,34,.27)}.v50-task-dialog{width:min(570px,calc(100% - 28px))}.v50-modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:#f3f1f5;font-size:21px}.v50-event-dialog h2{margin:5px 0;font-size:27px}.v50-event-dialog>p{margin:0 0 15px;color:#79727e;font-size:10.5px}.v50-event-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v50-event-grid label{display:grid;gap:5px;color:#625b67;font-size:10px;font-weight:800}.v50-event-grid .full{grid-column:1/-1}.v50-event-grid input,.v50-event-grid select,.v50-event-grid textarea{min-height:42px;padding:8px 9px;border:1px solid #dcd7e1;border-radius:8px;background:#fff;font-size:11px}.v50-event-grid textarea{resize:vertical}.v50-event-complete{display:flex!important;align-items:center;justify-content:space-between;padding:9px;border:1px solid #e2dde6;border-radius:8px;background:#faf9fb}.v50-event-complete>span{display:grid;gap:2px}.v50-event-complete small{color:#8c8490;font-size:8.5px!important}.v50-event-complete input{width:17px;min-height:17px}.v50-event-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:12px}body.v50-modal-open{overflow:hidden}

/* Team v50 */
.v50-role-preview-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:8px 18px 0;padding:10px 12px;border:1px solid #decf9d;border-radius:10px;background:#fff9e7}.v50-role-preview-banner[hidden]{display:none!important}.v50-role-preview-banner>div{display:grid;gap:1px}.v50-role-preview-banner span{color:#8b6125;font-size:8.5px;font-weight:850;text-transform:uppercase}.v50-role-preview-banner strong{font-size:10.5px}.v50-role-preview-banner small{color:#817985;font-size:8.5px!important}.v50-role-preview-banner button{min-height:34px;padding:6px 9px;border:1px solid #d6c687;border-radius:7px;color:#77561d;background:#fff;font-size:8.5px;font-weight:850}
.v50-access-preview{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px;padding:15px 16px;border:1px solid #dcd6e5;border-radius:13px;background:linear-gradient(120deg,#f7f4ff,#fff)}.v50-access-preview>div{display:grid;gap:2px}.v50-access-preview strong{font-size:12px}.v50-access-preview small{color:#817985;font-size:9.5px!important;line-height:1.45}.v50-access-preview label{display:grid;gap:4px;min-width:280px;color:#817985;font-size:9px;font-weight:800}.v50-access-preview select{min-height:42px;padding:7px 9px;border:1px solid #d9d3df;border-radius:8px;background:#fff;font-size:10.5px}
.v50-role-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.v50-role-cards article{display:grid;gap:3px;min-height:116px;align-content:center;padding:13px;border:1px solid #e1dce5;border-radius:12px;background:#fff}.v50-role-cards article>span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.v50-role-cards article.owner>span{color:#7a5b16}.v50-role-cards article.manager>span{color:#6553c7}.v50-role-cards article.sales>span{color:#39714d}.v50-role-cards article.coordinator>span{color:#357494}.v50-role-cards article.content>span{color:#a05270}.v50-role-cards article.finance>span{color:#785f92}.v50-role-cards strong{font-size:11.5px}.v50-role-cards small{color:#817985;font-size:9px!important;line-height:1.45}.v50-role-cards em{color:#958d99;font-size:8.5px;font-style:normal}
.v50-permission-panel,.v50-team-panel{overflow:hidden;margin-bottom:12px;border:1px solid #dfdae4;border-radius:14px;background:#fff}.v50-panel-heading{padding:14px 15px;border-bottom:1px solid #e9e5ec}.v50-panel-heading h2{margin:4px 0 3px;font-size:18px}.v50-panel-heading p{margin:0;color:#817985;font-size:9.5px}.v50-permission-matrix-wrap,.v50-team-table-wrap{overflow:auto}.v50-permission-matrix,.v50-team-table{width:100%;min-width:920px;border-collapse:collapse}.v50-permission-matrix th,.v50-permission-matrix td,.v50-team-table th,.v50-team-table td{padding:9px 10px;border-bottom:1px solid #eeeaf0;text-align:center;vertical-align:middle}.v50-permission-matrix th:first-child,.v50-permission-matrix td:first-child,.v50-team-table th,.v50-team-table td{text-align:left}.v50-permission-matrix th,.v50-team-table th{color:#8a828e;font-size:8.5px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.v50-permission-matrix td:first-child{display:grid;gap:1px}.v50-permission-matrix td:first-child strong{font-size:9.5px}.v50-permission-matrix td:first-child small{color:#9a929d;font-size:7.5px!important}.v50-permission-matrix .yes{display:inline-grid;width:22px;height:22px;place-items:center;border-radius:50%;color:#39714d;background:#edf7f0;font-size:10px;font-weight:850}.v50-permission-matrix .no{color:#c0bac3}
.v50-team-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid #e9e5ec}.v50-team-toolbar>div{display:grid;gap:1px}.v50-team-toolbar strong{font-size:11.5px}.v50-team-toolbar small{color:#817985;font-size:9px!important}.v50-team-toolbar label{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:6px;width:min(330px,100%);padding:0 9px;border:1px solid #ddd8e2;border-radius:8px;background:#faf9fb}.v50-team-toolbar svg{width:15px}.v50-team-toolbar input{min-height:38px;border:0;outline:0;background:transparent;font-size:10.5px}
.v50-team-person{display:flex;align-items:center;gap:8px}.v50-team-person>span:last-child{display:grid;gap:2px}.v50-team-person strong{font-size:10.5px}.v50-team-person small{color:#8a828e;font-size:8.5px!important}.v50-team-table td{font-size:9.5px}.v50-team-table tr.disabled{opacity:.55}.v50-role-chip,.v50-member-status{display:inline-flex;padding:5px 7px;border-radius:999px;font-size:8px;font-weight:850}.v50-role-chip{color:#6553c7;background:#f0edff}.v50-member-status.active{color:#39714d;background:#edf7f0}.v50-member-status.invited{color:#8b6125;background:#fff2d9}.v50-member-status.disabled{color:#8d5968;background:#fff0f4}.v50-team-table button{min-height:30px;padding:5px 7px;border:1px solid #ddd7e2;border-radius:6px;color:#5d4aba;background:#fff;font-size:8px;font-weight:800}.v50-owner-lock{color:#817985;font-size:8px;font-weight:800}
.v50-team-dialog{position:relative;width:min(650px,calc(100% - 28px));max-height:calc(100dvh - 34px);overflow:auto;margin:17px auto;padding:25px;border-radius:18px;background:#fff;box-shadow:0 32px 100px rgba(28,21,34,.27)}.v50-team-dialog h2{margin:5px 0;font-size:27px}.v50-team-dialog>p{margin:0 0 15px;color:#79727e;font-size:10.5px}.v50-team-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v50-team-form-grid label{display:grid;gap:5px;color:#625b67;font-size:10px;font-weight:800}.v50-team-form-grid input,.v50-team-form-grid select{min-height:42px;padding:8px 9px;border:1px solid #dcd7e1;border-radius:8px;background:#fff;font-size:11px}.v50-role-note{display:grid;gap:9px;margin-top:10px;padding:11px;border:1px solid #dfdae4;border-radius:9px;background:#faf9fb}.v50-role-note>div:first-child{display:grid;gap:2px}.v50-role-note strong{color:#6553c7;font-size:10.5px}.v50-role-note span{color:#817985;font-size:8.8px}.v50-role-note-tags{display:flex;flex-wrap:wrap;gap:4px}.v50-role-note-tags span,.v50-role-note-tags em{padding:4px 5px;border-radius:999px;color:#6553c7;background:#f0edff;font-size:7.5px;font-weight:750;font-style:normal}.v50-team-form-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:6px;align-items:center;margin-top:12px}

/* overview */
.v50-overview-empty{padding:16px;color:#817985;font-size:9.5px;text-align:center}
.v50-vendor-metrics .metric strong{font-size:22px}

/* responsive */
@media(max-width:1100px){
  .v50-schedule-layout{grid-template-columns:1fr}
  .v50-role-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .v50-global-search-results{left:12px;right:12px;width:auto;top:calc(100% + 2px)}
  .v50-schedule-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v50-calendar-days button,.v50-calendar-days>span.muted{min-height:52px}.v50-calendar-days button>small{display:none}
  .v50-upcoming-list>article{grid-template-columns:46px minmax(0,1fr)}.v50-upcoming-list>article>.v50-event-type{grid-column:2}.v50-upcoming-list>article>div:nth-child(3){grid-column:2}.v50-upcoming-list>article>div:last-child{grid-column:2}
  .v50-panel-head{align-items:stretch;flex-direction:column}.v50-panel-head label{width:100%}
  .v50-event-grid,.v50-team-form-grid{grid-template-columns:1fr}.v50-event-grid .full{grid-column:auto}
  .v50-access-preview{align-items:stretch;flex-direction:column}.v50-access-preview label{min-width:0}
  .v50-role-cards{grid-template-columns:1fr}.v50-team-toolbar{align-items:stretch;flex-direction:column}.v50-team-toolbar label{width:100%}
  .v50-team-form-actions{grid-template-columns:1fr 1fr}.v50-team-form-actions span{display:none}.v50-team-form-actions [data-v50-remove-member]{grid-column:1/-1}
  .v50-role-preview-banner{align-items:stretch;flex-direction:column;margin:6px 12px 0}
}
@media(max-width:520px){
  .v50-schedule-metrics{grid-template-columns:1fr}
  .v50-calendar-weekdays,.v50-calendar-days{gap:3px}.v50-calendar-days button{min-height:44px;padding:5px}.v50-calendar-days button>span{display:none}
  .v50-selected-day-list>article{grid-template-columns:1fr}.v50-selected-event-actions{justify-content:flex-start}
}


/* ===============================================================
   KnottyWedding v51 — Packages, service workers & resource booking
   =============================================================== */

/* Services & packages */
.v51-package-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:13px}
.v51-package-metrics article{display:grid;gap:3px;min-height:94px;align-content:center;padding:13px 14px;border:1px solid #e1dce5;border-radius:12px;background:#fff}
.v51-package-metrics span{color:#817985;font-size:9.5px}.v51-package-metrics strong{font-size:21px}.v51-package-metrics small{color:#918996;font-size:8.8px!important}
.v51-package-panel{overflow:hidden;border:1px solid #dfdae4;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(38,30,46,.03)}
.v51-package-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border-bottom:1px solid #e9e5ec}
.v51-package-toolbar>div{display:grid;gap:2px}.v51-package-toolbar strong{font-size:12px}.v51-package-toolbar small{color:#817985;font-size:9px!important}
.v51-package-toolbar label,.v51-resource-toolbar label{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:6px;width:min(330px,100%);padding:0 9px;border:1px solid #ddd8e2;border-radius:8px;background:#faf9fb}
.v51-package-toolbar svg,.v51-resource-toolbar svg{width:15px}.v51-package-toolbar input,.v51-resource-toolbar input{min-height:38px;border:0;outline:0;background:transparent;font-size:10.5px}
.v51-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px}
.v51-package-card{display:grid;align-content:start;padding:14px;border:1px solid #e1dce5;border-radius:12px;background:#fff}.v51-package-card.draft{opacity:.7}
.v51-package-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.v51-package-card-head>span{color:#6553c7;font-size:8.5px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.v51-package-card-head>em{padding:4px 6px;border-radius:999px;color:#39714d;background:#edf7f0;font-size:7.8px;font-weight:850;font-style:normal}.v51-package-card.draft .v51-package-card-head>em{color:#8b6125;background:#fff2d9}
.v51-package-card h3{margin:8px 0 5px;font-size:18px}.v51-package-card>p{min-height:48px;margin:0;color:#756e79;font-size:9.5px;line-height:1.55}.v51-package-card>strong{margin:10px 0 7px;font-size:15px}
.v51-package-facts{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.v51-package-facts span{padding:4px 6px;border-radius:999px;color:#706976;background:#f4f2f5;font-size:7.8px;font-weight:750}
.v51-package-card ul{display:grid;gap:5px;min-height:92px;margin:3px 0 12px;padding:0;list-style:none}.v51-package-card li{display:flex;align-items:center;gap:5px;color:#635c67;font-size:9px}.v51-package-card li svg{width:13px;color:#6553c7}.v51-package-card>.btn{width:100%;margin-top:auto}
.v51-package-empty{display:grid;min-height:220px;place-content:center;justify-items:center;gap:4px;color:#817985}.v51-package-empty[hidden]{display:none!important}.v51-package-empty strong{color:#4d4652;font-size:12px}.v51-package-empty span{font-size:9px}

/* Service workers */
.v51-service-team-panel{margin-top:14px;overflow:hidden;border:1px solid #dcd6e4;border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(38,30,46,.03)}
.v51-service-team-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:16px 17px;border-bottom:1px solid #e9e5ec;background:linear-gradient(125deg,#f8f5ff,#fff 68%)}
.v51-service-team-head>div{max-width:760px}.v51-service-team-head h2{margin:4px 0 4px;font-size:19px}.v51-service-team-head p{margin:0;color:#77707c;font-size:9.5px;line-height:1.55}
.v51-resource-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 12px 0}.v51-resource-summary article{display:grid;gap:2px;padding:11px;border:1px solid #e5e0e8;border-radius:10px;background:#faf9fb}.v51-resource-summary span{color:#817985;font-size:8.8px}.v51-resource-summary strong{font-size:17px}.v51-resource-summary small{color:#918996;font-size:8px!important}
.v51-resource-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px}.v51-resource-toolbar>span{max-width:590px;color:#817985;font-size:8.8px;line-height:1.5;text-align:right}
.v51-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 12px}.v51-resource-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:90px;padding:11px;border:1px solid #e1dce5;border-radius:10px;background:#fff}.v51-resource-card.inactive{opacity:.55}
.v51-resource-avatar,.v51-worker-avatar{display:grid;place-items:center;border-radius:50%;color:#6553c7;background:#f0edff;font-weight:850}.v51-resource-avatar{width:44px;height:44px;font-size:10px}.v51-worker-avatar{width:34px;height:34px;font-size:8px}
.v51-resource-copy{display:grid;gap:2px;min-width:0}.v51-resource-copy>span{color:#39714d;font-size:7.5px;font-weight:850;text-transform:uppercase}.v51-resource-card.inactive .v51-resource-copy>span{color:#8d5968}.v51-resource-copy strong{font-size:10.5px}.v51-resource-copy small{color:#6553c7;font-size:8.5px!important;font-weight:800}.v51-resource-copy p{overflow:hidden;margin:0;color:#817985;font-size:8px;white-space:nowrap;text-overflow:ellipsis}
.v51-resource-meta span{display:grid;justify-items:center;gap:1px;padding:7px;border-radius:8px;background:#faf9fb}.v51-resource-meta strong{font-size:12px}.v51-resource-meta small{color:#817985;font-size:7px!important}.v51-resource-card>button{min-height:31px;padding:5px 7px;border:1px solid #ddd7e2;border-radius:6px;color:#5d4aba;background:#fff;font-size:8px;font-weight:800}
.v51-resource-empty{padding:28px;text-align:center;color:#817985;font-size:9.5px}.v51-resource-empty[hidden]{display:none!important}

/* Shared v51 modals */
.v51-modal[hidden]{display:none!important}.v51-modal{position:fixed;z-index:6900;inset:0}.v51-modal-backdrop{position:absolute;inset:0;background:rgba(29,23,33,.45)}
.v51-modal-dialog{position:relative;width:min(720px,calc(100% - 28px));max-height:calc(100dvh - 34px);overflow:auto;margin:17px auto;padding:25px;border-radius:18px;background:#fff;box-shadow:0 32px 100px rgba(28,21,34,.27)}
.v51-modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:#f3f1f5;font-size:21px}.v51-modal-dialog h2{margin:5px 0;font-size:27px}.v51-modal-dialog>p{margin:0 36px 15px 0;color:#79727e;font-size:10.5px;line-height:1.55}
.v51-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v51-form-grid label{display:grid;gap:5px;color:#625b67;font-size:10px;font-weight:800}.v51-form-grid .full{grid-column:1/-1}.v51-form-grid input,.v51-form-grid select,.v51-form-grid textarea{min-height:42px;padding:8px 9px;border:1px solid #dcd7e1;border-radius:8px;background:#fff;font-size:11px}.v51-form-grid textarea{resize:vertical}
.v51-publish-row{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid #e2dde6;border-radius:9px;background:#faf9fb}.v51-publish-row>span{display:grid;gap:2px}.v51-publish-row small{color:#8c8490;font-size:8.5px!important}.v51-publish-row input{width:17px;min-height:17px}
.v51-modal-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:6px;align-items:center;margin-top:12px}.v51-modal-actions .danger{color:#9a5669}body.v51-modal-open{overflow:hidden}

/* Multi-worker booking form */
.v51-booking-resource-field{display:grid;gap:8px;padding:11px;border:1px solid #ded9e3;border-radius:10px;background:#faf9fb}
.v51-booking-resource-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.v51-booking-resource-head>span{display:grid;gap:2px}.v51-booking-resource-head strong{font-size:10.5px}.v51-booking-resource-head small{color:#817985;font-size:8.5px!important}.v51-booking-resource-head em{padding:4px 6px;border-radius:999px;color:#6553c7;background:#f0edff;font-size:8px;font-weight:850;font-style:normal}
.v51-booking-resource-options{display:grid;grid-template-columns:1fr 1fr;gap:6px}.v51-booking-resource-options>label{display:grid!important;grid-template-columns:16px 34px minmax(0,1fr);align-items:center;gap:7px;min-height:62px;padding:8px!important;border:1px solid #e1dce5;border-radius:9px;background:#fff;cursor:pointer}.v51-booking-resource-options>label.selected{border-color:#a99ed5;background:#f7f4ff}.v51-booking-resource-options>label.busy{opacity:.55;cursor:not-allowed}.v51-booking-resource-options input{width:15px!important;min-height:15px!important}.v51-booking-resource-options>label>span:last-child{display:grid;gap:1px}.v51-booking-resource-options strong{font-size:9.5px}.v51-booking-resource-options small{color:#6553c7;font-size:8px!important}.v51-booking-resource-options em{overflow:hidden;color:#817985;font-size:7.5px;font-style:normal;white-space:nowrap;text-overflow:ellipsis}.v51-no-workers{grid-column:1/-1;display:grid;gap:3px;padding:15px;border:1px dashed #d8d1df;border-radius:9px;text-align:center}.v51-no-workers strong{font-size:10.5px}.v51-no-workers span{color:#817985;font-size:8.5px}
.v51-booking-capacity-note{min-height:18px}.v51-booking-capacity-note span{font-size:8.5px;line-height:1.45}.v51-booking-capacity-note .warning{color:#9a6620}.v51-booking-capacity-note .success{color:#39714d}
.v47-booking-grid label>small{color:#8c8490;font-size:7.8px!important;font-weight:600}

/* Lead -> booking conversion */
.v51-confirm-booking-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:11px;border:1px solid #dcd6e5;border-radius:10px;background:linear-gradient(125deg,#f7f4ff,#fff)}.v51-confirm-booking-bar>div{display:grid;gap:2px}.v51-confirm-booking-bar span{color:#6553c7;font-size:8px;font-weight:850;text-transform:uppercase}.v51-confirm-booking-bar strong{font-size:10.5px}.v51-confirm-booking-bar small{color:#817985;font-size:8.5px!important}

/* Resource-aware calendar */
.v47-calendar-days button{align-content:start;padding-top:7px}.v47-calendar-days button>small{display:block;max-width:100%;overflow:hidden;color:inherit;font-size:7px!important;white-space:nowrap;text-overflow:ellipsis;opacity:.78}.v47-calendar-days button.booked{background:linear-gradient(145deg,#65768c,#536579)}.v51-day-booking>div:first-child{display:grid;gap:2px}.v51-day-booking p{margin:2px 0 0;color:#6553c7;font-size:8px}.v51-upcoming-booking>div:nth-child(2){display:grid;gap:2px}.v51-upcoming-booking em{color:#6553c7;font-size:8px;font-style:normal}

/* Profile preview enquiry button */
[data-v51-profile-enquire]{color:#fff!important;border-color:#6553c7!important;background:#6553c7!important}
[data-v51-profile-enquire]:hover,[data-v51-profile-enquire]:focus{color:#fff!important;background:#5947b5!important}

/* Responsive */
@media(max-width:1100px){.v51-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.v51-resource-grid{grid-template-columns:1fr}.v51-service-team-head{align-items:stretch;flex-direction:column}.v51-resource-toolbar{align-items:stretch;flex-direction:column}.v51-resource-toolbar>span{text-align:left}.v51-booking-resource-options{grid-template-columns:1fr}}
@media(max-width:700px){.v51-package-metrics,.v51-resource-summary{grid-template-columns:1fr}.v51-package-toolbar{align-items:stretch;flex-direction:column}.v51-package-toolbar label{width:100%}.v51-package-grid{grid-template-columns:1fr}.v51-form-grid{grid-template-columns:1fr}.v51-form-grid .full{grid-column:auto}.v51-modal-actions{grid-template-columns:1fr 1fr}.v51-modal-actions>span{display:none}.v51-modal-actions .danger{grid-column:1/-1}.v51-resource-card{grid-template-columns:42px minmax(0,1fr) auto}.v51-resource-meta{display:none}.v51-confirm-booking-bar{align-items:stretch;flex-direction:column}}


/* ===============================================================
   KnottyWedding v52 — Notification centre alignment/actions
   =============================================================== */
.notification-pop{overflow:hidden!important;width:min(430px,calc(100vw - 24px))!important;max-height:min(680px,calc(100dvh - 84px))!important}
.v50-notification-head{min-height:60px!important;padding:10px 12px!important;align-items:center!important}
.v52-notification-title{display:grid;gap:2px}.v52-notification-title>strong{font-size:12px!important}.v52-notification-title>small{color:#8b8490;font-size:8.5px!important;font-weight:650}
.v52-notification-head-actions{display:flex!important;align-items:center;gap:5px!important}.v52-notification-head-actions button{white-space:nowrap}
.v50-notification-list{max-height:560px;overflow:auto;background:#fff}
.v52-notification-row{display:grid;border-bottom:1px solid #ece8ef;background:#fff}.v52-notification-row.unread{background:#f8f6ff}.v52-notification-row:hover{background:#f7f5fa}
.v52-notification-main{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:66px;padding:10px 12px 6px;border:0!important;color:#4d4652!important;background:transparent!important;box-shadow:none!important;text-align:left!important}
.v52-notification-main:hover,.v52-notification-main:focus,.v52-notification-main:active{color:#4d4652!important;background:transparent!important;box-shadow:none!important}
.v52-notification-main .v50-notification-icon{width:40px;height:40px;align-self:start}.v52-notification-copy{display:grid;gap:3px;min-width:0}.v52-notification-copy strong{font-size:10.5px!important;line-height:1.35}.v52-notification-copy small{display:-webkit-box;overflow:hidden;color:#817985;font-size:9px!important;line-height:1.4;white-space:normal!important;text-overflow:initial!important;-webkit-box-orient:vertical;-webkit-line-clamp:2}.v52-notification-main time{align-self:start;padding-top:2px;color:#918996;font-size:8px;white-space:nowrap}
.v52-notification-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;padding:0 12px 9px 62px}.v52-notification-actions button{min-height:27px;padding:4px 7px;border:1px solid #ddd8e2;border-radius:6px;color:#6553c7;background:#fff;font-size:7.8px;font-weight:850}.v52-notification-actions button:hover{color:#5947b5;background:#f7f4ff}.v52-notification-actions button.danger{color:#9a5669}.v52-notification-actions button.danger:hover{background:#fff4f6}.v52-read-state{padding:4px 7px;border-radius:999px;color:#39714d;background:#edf7f0;font-size:7.8px;font-weight:850}
.v50-notification-empty{min-height:150px;place-content:center}
@media(max-width:520px){.notification-pop{right:8px!important;left:8px!important;width:auto!important}.v50-notification-head{align-items:stretch!important;flex-direction:column}.v52-notification-head-actions{justify-content:flex-end}.v52-notification-main{grid-template-columns:36px minmax(0,1fr)}.v52-notification-main time{grid-column:2}.v52-notification-actions{padding-left:58px;justify-content:flex-start}}

/* v52 notification list must override the legacy .notification-pop > div flex rule. */
.notification-pop>.v50-notification-list{
  display:grid!important;
  width:100%!important;
  padding:0!important;
  border-bottom:0!important;
  justify-content:stretch!important;
  align-items:stretch!important;
}
.notification-pop>.v50-notification-empty{
  display:grid!important;
  width:100%!important;
  padding:24px!important;
  border-bottom:0!important;
}
.v52-notification-row{width:100%!important;min-width:0}


/* ===============================================================
   KnottyWedding v53 — Couple confirmed bookings
   =============================================================== */
.v53-overview-bookings{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin:-2px 0 18px;padding:13px 15px;border:1px solid #ddd7e7;border-radius:13px;
  background:linear-gradient(120deg,#f8f6ff,#fff);
}
.v53-overview-booking-copy{display:flex;align-items:center;gap:10px;min-width:0}
.v53-booking-check{display:grid;width:38px;height:38px;place-items:center;flex:0 0 38px;border-radius:10px;color:#39714d;background:#edf7f0}
.v53-booking-check svg{width:18px}
.v53-overview-booking-copy>div{display:grid;gap:2px;min-width:0}.v53-overview-booking-copy>div>span{color:#817985;font-size:8.5px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.v53-overview-booking-copy strong{font-size:11.5px}.v53-overview-booking-copy small{overflow:hidden;color:#817985;font-size:9px!important;white-space:nowrap;text-overflow:ellipsis}
.v53-booking-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:13px}.v53-booking-metrics article{display:grid;gap:3px;min-height:94px;align-content:center;padding:13px 14px;border:1px solid #e1dce5;border-radius:12px;background:#fff}.v53-booking-metrics span{color:#817985;font-size:9.5px}.v53-booking-metrics strong{font-size:21px}.v53-booking-metrics small{color:#918996;font-size:8.8px!important}
.v53-booking-panel{overflow:hidden;border:1px solid #dfdae4;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(38,30,46,.03)}
.v53-booking-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border-bottom:1px solid #e9e5ec}.v53-booking-toolbar>div{display:grid;gap:2px}.v53-booking-toolbar strong{font-size:12px}.v53-booking-toolbar small{color:#817985;font-size:9px!important}.v53-booking-toolbar label{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:6px;width:min(350px,100%);padding:0 9px;border:1px solid #ddd8e2;border-radius:8px;background:#faf9fb}.v53-booking-toolbar svg{width:15px}.v53-booking-toolbar input{min-height:38px;border:0;outline:0;background:transparent;font-size:10.5px}
.v53-booking-list{display:grid;gap:8px;padding:12px}.v53-booking-card{display:grid;grid-template-columns:180px minmax(0,1fr) auto;align-items:center;gap:15px;min-height:150px;padding:14px;border:1px solid #e2dde6;border-radius:12px;background:#fff}.v53-booking-date{display:grid;gap:4px;padding:12px;border-radius:10px;background:#f7f5f9}.v53-booking-date>span{width:max-content;padding:4px 6px;border-radius:999px;color:#39714d;background:#edf7f0;font-size:7.8px;font-weight:850;text-transform:uppercase}.v53-booking-date>strong{font-size:11.5px;line-height:1.4}.v53-booking-date>small{color:#817985;font-size:8.8px!important}
.v53-booking-copy{display:grid;gap:3px;min-width:0}.v53-booking-copy>span{color:#6553c7;font-size:8.5px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.v53-booking-copy h2{margin:0;font-size:20px}.v53-booking-copy>p{margin:0 0 8px;color:#77707c;font-size:9.5px}.v53-booking-facts{display:grid;grid-template-columns:1fr 1.2fr;gap:7px}.v53-booking-facts>span{display:grid;gap:2px;padding:8px;border-radius:8px;background:#faf9fb}.v53-booking-facts small{color:#918996;font-size:7.8px!important}.v53-booking-facts strong{font-size:9px;line-height:1.4}
.v53-booking-actions{display:grid;gap:6px;min-width:125px}.v53-booking-actions .btn{width:100%;min-height:38px;font-size:9px}
.v53-booking-empty{display:grid;min-height:300px;place-content:center;justify-items:center;gap:5px;padding:25px;text-align:center}.v53-booking-empty[hidden]{display:none!important}.v53-booking-empty>div{display:grid;width:48px;height:48px;place-items:center;border-radius:13px;color:#6553c7;background:#f0edff}.v53-booking-empty svg{width:22px}.v53-booking-empty strong{font-size:12px}.v53-booking-empty span{color:#817985;font-size:9px}.v53-booking-empty a{margin-top:4px;color:#6553c7;font-size:9px;font-weight:850;text-decoration:none}
@media(max-width:950px){.v53-booking-card{grid-template-columns:150px minmax(0,1fr)}.v53-booking-actions{grid-column:1/-1;display:flex}.v53-booking-actions .btn{width:auto}.v53-booking-facts{grid-template-columns:1fr}}
@media(max-width:700px){.v53-overview-bookings{align-items:stretch;flex-direction:column}.v53-overview-bookings>.btn{width:100%}.v53-overview-booking-copy small{white-space:normal}.v53-booking-metrics{grid-template-columns:1fr}.v53-booking-toolbar{align-items:stretch;flex-direction:column}.v53-booking-toolbar label{width:100%}.v53-booking-card{grid-template-columns:1fr}.v53-booking-actions{grid-column:auto;display:grid}.v53-booking-actions .btn{width:100%}}


/* ===============================================================
   KnottyWedding v54 — Requested & assigned professionals
   Generic for photography, catering, planning, beauty, venue teams,
   transport, entertainment, decor and every other vendor category.
   =============================================================== */
.v54-requested-professionals{
  position:relative;
  border-color:#d8d0ec!important;
  background:#f8f6ff!important;
}
.v54-requested-professionals>em{
  color:#6553c7;
  font-size:7.5px;
  font-style:normal;
  font-weight:800;
}
.v54-booking-facts{
  grid-template-columns:1fr 1fr!important;
}
.v54-assigned-professionals{
  display:grid;
  gap:8px;
  margin-top:8px;
  padding:10px;
  border:1px solid #e1dce5;
  border-radius:10px;
  background:#faf9fb;
}
.v54-assigned-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.v54-assigned-head>span{display:grid;gap:2px}
.v54-assigned-head small{
  color:#817985;
  font-size:7.8px!important;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.v54-assigned-head strong{font-size:9.5px}
.v54-assigned-head>em{
  display:inline-flex;
  padding:4px 6px;
  border-radius:999px;
  font-size:7.5px;
  font-weight:850;
  font-style:normal;
  white-space:nowrap;
}
.v54-assigned-head>em.complete{color:#39714d;background:#edf7f0}
.v54-assigned-head>em.attention{color:#8b6125;background:#fff2d9}
.v54-professional-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}
.v54-professional-list>article{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:7px;
  min-height:55px;
  padding:7px;
  border:1px solid #e3dee7;
  border-radius:8px;
  background:#fff;
}
.v54-professional-avatar{
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  border-radius:50%;
  color:#6553c7;
  background:#f0edff;
  font-size:8px;
  font-weight:850;
}
.v54-professional-list>article>span:last-child{display:grid;gap:1px;min-width:0}
.v54-professional-list strong{font-size:9px}
.v54-professional-list small{color:#6553c7;font-size:7.8px!important;font-weight:800}
.v54-professional-list em{
  overflow:hidden;
  color:#8b8490;
  font-size:7.2px;
  font-style:normal;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.v54-professional-pending{
  grid-column:1/-1;
  display:grid;
  gap:2px;
  padding:10px;
  border:1px dashed #d8d1df;
  border-radius:8px;
  text-align:center;
}
.v54-professional-pending strong{font-size:9px}
.v54-professional-pending small{color:#817985;font-size:7.8px!important}
@media(max-width:800px){
  .v54-professional-list{grid-template-columns:1fr}
}
@media(max-width:520px){
  .v54-booking-facts{grid-template-columns:1fr!important}
  .v54-assigned-head{align-items:flex-start;flex-direction:column}
}


/* ===============================================================
   KnottyWedding v55 — Login page redesign
   =============================================================== */
.v55-login-body{
  background:#f8f7fa;
}
.v55-login-main{
  min-height:720px;
}
.v55-login-stage{
  position:relative;
  overflow:hidden;
  padding:62px 24px 70px;
  background:
    radial-gradient(circle at 6% 15%,rgba(101,83,199,.10),transparent 28%),
    radial-gradient(circle at 92% 82%,rgba(180,126,151,.08),transparent 30%),
    linear-gradient(180deg,#fbfaff,#f7f6f9);
}
.v55-login-stage:before{
  content:"";
  position:absolute;
  top:-150px;
  right:-120px;
  width:360px;
  height:360px;
  border:1px solid rgba(101,83,199,.08);
  border-radius:50%;
  box-shadow:
    0 0 0 54px rgba(101,83,199,.025),
    0 0 0 110px rgba(101,83,199,.018);
  pointer-events:none;
}
.v55-login-shell{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);
  width:min(1080px,100%);
  margin:0 auto;
  overflow:hidden;
  border:1px solid #dfdbe5;
  border-radius:24px;
  background:#fff;
  box-shadow:0 28px 80px rgba(42,34,53,.10);
}
.v55-login-intro{
  position:relative;
  display:grid;
  align-content:space-between;
  min-height:650px;
  padding:48px 42px 34px;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 100% 0,rgba(255,255,255,.13),transparent 32%),
    linear-gradient(145deg,#514195,#6957c3 54%,#735eb9);
}
.v55-login-intro:after{
  content:"";
  position:absolute;
  right:-110px;
  bottom:-150px;
  width:350px;
  height:350px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  box-shadow:0 0 0 48px rgba(255,255,255,.035),0 0 0 96px rgba(255,255,255,.02);
}
.v55-login-intro-top,
.v55-login-benefits,
.v55-login-intro-foot{
  position:relative;
  z-index:1;
}
.v55-login-kicker{
  display:inline-flex;
  width:max-content;
  margin-bottom:16px;
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  color:rgba(255,255,255,.88);
  background:rgba(255,255,255,.08);
  font-size:9px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.v55-login-intro h1{
  max-width:500px;
  margin:0;
  color:#fff;
  font-size:clamp(2.3rem,4vw,3.65rem);
  line-height:1.02;
  letter-spacing:-.045em;
}
.v55-login-intro h1 span{
  color:#e8e3ff;
}
.v55-login-intro-top>p{
  max-width:460px;
  margin:16px 0 0;
  color:rgba(255,255,255,.74);
  font-size:13px;
  line-height:1.7;
}
.v55-login-benefits{
  display:grid;
  gap:8px;
  margin:30px 0;
}
.v55-login-benefits article{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:11px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(255,255,255,.065);
  backdrop-filter:blur(8px);
}
.v55-benefit-icon{
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border-radius:10px;
  color:#fff;
  background:rgba(255,255,255,.12);
}
.v55-benefit-icon svg{width:20px;height:20px}
.v55-login-benefits article>span:last-child{
  display:grid;
  gap:3px;
}
.v55-login-benefits strong{
  color:#fff;
  font-size:10.5px;
}
.v55-login-benefits small{
  color:rgba(255,255,255,.68);
  font-size:8.8px!important;
  line-height:1.45;
}
.v55-login-intro-foot{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.14);
}
.v55-login-intro-foot>span{
  display:flex;
  align-items:center;
  gap:5px;
  color:rgba(255,255,255,.74);
  font-size:8.5px;
  font-weight:750;
}
.v55-login-intro-foot svg{
  width:14px;
  height:14px;
  color:#e8e3ff;
}

.v55-login-panel{
  display:grid;
  align-content:center;
  min-width:0;
  padding:38px 44px 28px;
  background:#fff;
}
.dash-login-card.v55-login-card{
  width:100%;
  max-width:500px;
  margin:0 auto;
  padding:0;
  gap:18px;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
.v55-login-card-head{
  display:grid;
  gap:4px;
}
.v55-login-card-head h2{
  margin:0;
  color:#332d37;
  font-size:30px;
  letter-spacing:-.025em;
}
.v55-login-card-head p{
  margin:0;
  color:#817985;
  font-size:10.5px;
  line-height:1.55;
}

.v55-workspace-fieldset{
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}
.v55-workspace-fieldset legend{
  padding:0;
  color:#49424e;
  font-size:10.5px;
  font-weight:850;
}
.v55-workspace-help{
  margin:3px 0 9px;
  color:#938c97;
  font-size:8.5px;
}
.v55-role-selector{
  gap:8px;
}
.v55-role-selector .v36-role-card-inner{
  grid-template-columns:38px minmax(0,1fr) 22px;
  min-height:74px;
  padding:10px;
  border-radius:11px;
}
.v55-role-selector .v36-role-icon{
  width:38px;
  height:38px;
  border-radius:10px;
}
.v55-role-selector .v36-role-icon .dash-icon{
  width:18px;
  height:18px;
}
.v55-role-selector .v36-role-copy strong{
  font-size:10.5px;
}
.v55-role-selector .v36-role-copy small{
  font-size:8px!important;
}
.v55-role-selector .v36-role-check{
  width:21px;
  height:21px;
}

.v55-login-fields{
  display:grid;
  gap:13px;
}
.dash-login-card.v55-login-card .v55-login-field{
  display:grid;
  gap:6px;
  margin:0;
  color:#544d59;
  font-size:9.5px;
  font-weight:850;
}
.v55-password-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.v55-password-label a{
  color:#6553c7;
  font-size:8.5px;
  font-weight:800;
  text-decoration:none;
}
.v55-password-label a:hover{text-decoration:underline}
.v55-input-shell{
  display:grid;
  grid-template-columns:20px minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  min-height:48px;
  padding:0 10px;
  border:1px solid #dcd7e2;
  border-radius:10px;
  background:#fff;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.v55-input-shell:focus-within{
  border-color:#a99ddd;
  background:#fefeff;
  box-shadow:0 0 0 3px rgba(101,83,199,.08);
}
.v55-input-shell>svg{
  width:17px;
  height:17px;
  color:#928a97;
}
.dash-login-card.v55-login-card .v55-input-shell input{
  width:100%;
  min-width:0;
  min-height:46px;
  padding:0;
  border:0;
  outline:0;
  border-radius:0;
  color:#3f3844;
  background:transparent;
  font-size:10.5px;
}
.dash-login-card.v55-login-card .v55-input-shell input::placeholder{
  color:#a39ca7;
}
.v55-password-toggle{
  min-width:38px;
  padding:5px 4px;
  border:0;
  color:#6553c7;
  background:transparent;
  font-size:8px;
  font-weight:850;
  cursor:pointer;
}
.v55-password-toggle:hover{color:#51409f}

.v55-login-submit{
  display:flex!important;
  min-height:48px!important;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:0!important;
  border-radius:10px!important;
  font-size:10.5px!important;
  box-shadow:0 10px 24px rgba(101,83,199,.16);
}
.v55-login-submit .dash-icon{width:16px;height:16px}
.v55-create-account{
  margin:-4px 0 0;
  color:#817985;
  font-size:9.5px;
  text-align:center;
}
.v55-create-account a{
  color:#6553c7;
  font-weight:850;
  text-decoration:none;
}
.v55-create-account a:hover{text-decoration:underline}

.v55-login-divider{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:9px;
  margin-top:2px;
  color:#a098a4;
  font-size:7.8px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.v55-login-divider:before,
.v55-login-divider:after{
  content:"";
  height:1px;
  background:#ece8ef;
}
.v55-demo-links{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.v55-demo-links a{
  display:grid;
  gap:2px;
  padding:9px 10px;
  border:1px solid #e1dce5;
  border-radius:9px;
  color:#4f4854;
  background:#faf9fb;
  text-decoration:none;
}
.v55-demo-links a:hover{
  border-color:#cfc6e4;
  background:#f7f4ff;
}
.v55-demo-links span{
  font-size:8.8px;
  font-weight:850;
}
.v55-demo-links small{
  color:#918a96;
  font-size:7.5px!important;
}
.v55-login-support{
  margin:18px auto 0;
  color:#8c8590;
  font-size:8.5px;
  text-align:center;
}
.v55-login-support a{
  color:#6553c7;
  font-weight:800;
  text-decoration:none;
}

@media(max-width:960px){
  .v55-login-stage{padding:44px 20px 55px}
  .v55-login-shell{
    grid-template-columns:1fr;
    width:min(720px,100%);
  }
  .v55-login-intro{
    min-height:auto;
    padding:34px;
  }
  .v55-login-intro h1{
    max-width:620px;
    font-size:clamp(2.15rem,7vw,3.3rem);
  }
  .v55-login-benefits{
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin:24px 0 20px;
  }
  .v55-login-benefits article{
    grid-template-columns:1fr;
    align-content:start;
  }
  .v55-login-panel{padding:34px}
}
@media(max-width:680px){
  .v55-login-stage{padding:24px 12px 40px}
  .v55-login-shell{border-radius:17px}
  .v55-login-intro{padding:27px 22px}
  .v55-login-intro h1{font-size:2.35rem}
  .v55-login-benefits{grid-template-columns:1fr}
  .v55-login-benefits article{grid-template-columns:38px minmax(0,1fr)}
  .v55-benefit-icon{width:38px;height:38px}
  .v55-login-panel{padding:28px 20px 22px}
  .v55-role-selector{grid-template-columns:1fr}
  .v55-role-selector .v36-role-card-inner{min-height:66px}
  .v55-demo-links{grid-template-columns:1fr}
}
@media(max-width:420px){
  .v55-login-stage{padding-right:8px;padding-left:8px}
  .v55-login-intro{padding:24px 18px}
  .v55-login-intro h1{font-size:2.05rem}
  .v55-login-panel{padding:25px 16px 20px}
  .v55-login-card-head h2{font-size:26px}
}


/* ===============================================================
   KnottyWedding v56 — Login workspace selector polish
   =============================================================== */
.v56-workspace-fieldset{
  display:grid;
  gap:0;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}
.v56-workspace-fieldset>legend{
  margin:0;
  padding:0;
  color:#47404c;
  font-size:10.5px;
  line-height:1.35;
  font-weight:850;
}
.v56-workspace-help{
  margin:4px 0 10px!important;
  color:#918a96!important;
  font-size:8.8px!important;
  line-height:1.45!important;
}
.v55-role-selector.v56-role-selector,
.v36-login-role-selector.v56-role-selector{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.v56-role-card{
  position:relative!important;
  display:block!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  cursor:pointer;
}
.v56-role-card>input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.v55-role-selector .v56-role-card-inner,
.v36-login-role-selector .v56-role-card-inner{
  position:relative!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 24px!important;
  align-items:center!important;
  gap:10px!important;
  min-height:82px!important;
  width:100%!important;
  padding:11px 12px!important;
  overflow:hidden!important;
  border:1px solid #ded9e3!important;
  border-radius:12px!important;
  color:#4b4450!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(42,34,53,.025)!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease!important;
}
.v56-role-card:hover .v56-role-card-inner{
  border-color:#c9c0dc!important;
  background:#fcfbff!important;
  box-shadow:0 7px 18px rgba(58,46,72,.055)!important;
  transform:translateY(-1px);
}
.v56-role-card>input:checked + .v56-role-card-inner{
  border-color:#7866cc!important;
  background:linear-gradient(135deg,#f7f4ff,#fff)!important;
  box-shadow:0 0 0 3px rgba(101,83,199,.08),0 9px 22px rgba(69,54,91,.06)!important;
}
.v56-role-icon{
  display:grid!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  place-items:center!important;
  margin:0!important;
  border-radius:11px!important;
  color:#6553c7!important;
  background:#f0edff!important;
}
.v56-role-card:nth-child(2) .v56-role-icon{
  color:#4f697f!important;
  background:#edf4f8!important;
}
.v56-role-icon .dash-icon{
  width:19px!important;
  height:19px!important;
}
.v56-role-copy{
  display:grid!important;
  min-width:0!important;
  gap:3px!important;
  margin:0!important;
  text-align:left!important;
}
.v56-role-title{
  display:block!important;
  overflow:hidden!important;
  color:#403944!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:850!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
.v56-role-copy small{
  display:block!important;
  overflow:hidden!important;
  margin:0!important;
  color:#88818d!important;
  font-size:8.5px!important;
  line-height:1.35!important;
  font-weight:650!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
.v56-role-check{
  display:grid!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  place-items:center!important;
  margin:0!important;
  border:1px solid #d6d0dc!important;
  border-radius:50%!important;
  color:transparent!important;
  background:#fff!important;
}
.v56-role-check svg{
  width:12px!important;
  height:12px!important;
}
.v56-role-card>input:checked + .v56-role-card-inner .v56-role-check{
  border-color:#6553c7!important;
  color:#fff!important;
  background:#6553c7!important;
}
.v56-login-trust-note{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin-top:-2px;
  padding:8px 10px;
  border:1px solid #ebe7ef;
  border-radius:8px;
  color:#827b87;
  background:#faf9fb;
  font-size:8px;
  line-height:1.4;
  text-align:center;
}
.v56-login-trust-note svg{
  width:14px;
  height:14px;
  flex:0 0 14px;
  color:#6553c7;
}
.v55-login-card .v55-login-divider,
.v55-login-card .v55-demo-links{
  display:none!important;
}
@media(max-width:680px){
  .v55-role-selector.v56-role-selector,
  .v36-login-role-selector.v56-role-selector{
    grid-template-columns:1fr!important;
  }
  .v55-role-selector .v56-role-card-inner,
  .v36-login-role-selector .v56-role-card-inner{
    min-height:70px!important;
  }
}


/* ===============================================================
   KnottyWedding v57 — Login alignment reset
   The form below intentionally uses new class names so legacy login
   styles cannot collapse labels, radios or inputs into each other.
   =============================================================== */

.v55-login-body .v55-login-panel{
  display:grid!important;
  align-content:center!important;
  padding:42px 46px 34px!important;
  background:#fff!important;
}

.v57-login-form-wrap{
  width:100%;
  max-width:520px;
  margin:0 auto;
}

.v55-login-body .v57-login-card{
  display:grid!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  gap:24px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.v57-login-header{
  display:grid!important;
  gap:5px!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
.v57-login-header .premium-eyebrow{
  margin:0 0 2px!important;
}
.v57-login-header h2{
  margin:0!important;
  color:#332d37!important;
  font-size:30px!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
}
.v57-login-header p{
  margin:0!important;
  color:#817985!important;
  font-size:11px!important;
  line-height:1.55!important;
}

.v57-workspace-section{
  display:grid!important;
  gap:11px!important;
  margin:0!important;
  padding:0!important;
}
.v57-section-heading{
  display:grid!important;
  gap:3px!important;
  margin:0!important;
}
.v57-section-heading>strong{
  color:#4a434f!important;
  font-size:10.5px!important;
  line-height:1.3!important;
  font-weight:850!important;
}
.v57-section-heading>small{
  color:#918a96!important;
  font-size:8.8px!important;
  line-height:1.4!important;
}

.v57-workspace-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}

.v57-workspace-option{
  position:relative!important;
  display:block!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  cursor:pointer!important;
}
.v57-workspace-option>input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.v57-workspace-card{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) 24px!important;
  align-items:center!important;
  gap:11px!important;
  width:100%!important;
  min-height:82px!important;
  margin:0!important;
  padding:12px!important;
  border:1px solid #ddd8e2!important;
  border-radius:12px!important;
  color:#4b4450!important;
  background:#fff!important;
  box-shadow:0 4px 13px rgba(42,34,53,.025)!important;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease!important;
}
.v57-workspace-option:hover .v57-workspace-card{
  border-color:#c8bfdc!important;
  background:#fcfbff!important;
}
.v57-workspace-option>input:checked + .v57-workspace-card{
  border-color:#7563c7!important;
  background:#f8f6ff!important;
  box-shadow:0 0 0 3px rgba(101,83,199,.08)!important;
}

.v57-workspace-icon{
  display:grid!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  border-radius:11px!important;
  color:#6553c7!important;
  background:#f0edff!important;
}
.v57-workspace-icon.professional{
  color:#4d7088!important;
  background:#edf4f8!important;
}
.v57-workspace-icon svg{
  width:20px!important;
  height:20px!important;
}

.v57-workspace-copy{
  display:grid!important;
  min-width:0!important;
  gap:3px!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
.v57-workspace-copy>strong{
  display:block!important;
  margin:0!important;
  color:#403944!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
.v57-workspace-copy>small{
  display:block!important;
  margin:0!important;
  color:#89828e!important;
  font-size:8.5px!important;
  line-height:1.35!important;
  white-space:nowrap!important;
}

.v57-workspace-check{
  display:grid!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #d8d2dd!important;
  border-radius:50%!important;
  color:transparent!important;
  background:#fff!important;
}
.v57-workspace-check svg{
  width:12px!important;
  height:12px!important;
}
.v57-workspace-option>input:checked + .v57-workspace-card .v57-workspace-check{
  border-color:#6553c7!important;
  color:#fff!important;
  background:#6553c7!important;
}

.v57-login-fields{
  display:grid!important;
  gap:16px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.v55-login-body .v57-field{
  display:grid!important;
  gap:7px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  color:#514a56!important;
  font-size:9.5px!important;
  font-weight:850!important;
  text-align:left!important;
}
.v57-field-label{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#514a56!important;
  font-size:9.5px!important;
  line-height:1.3!important;
  font-weight:850!important;
}
.v57-password-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  width:100%!important;
}
.v57-password-row>a{
  margin:0!important;
  color:#6553c7!important;
  font-size:8.5px!important;
  line-height:1.3!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.v57-password-row>a:hover{
  text-decoration:underline!important;
}

.v57-input{
  display:grid!important;
  grid-template-columns:21px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-height:50px!important;
  margin:0!important;
  padding:0 12px!important;
  overflow:hidden!important;
  border:1px solid #dcd7e2!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.v57-password-input{
  grid-template-columns:21px minmax(0,1fr) auto!important;
}
.v57-input:focus-within{
  border-color:#9e92d3!important;
  box-shadow:0 0 0 3px rgba(101,83,199,.08)!important;
}
.v57-input>svg{
  width:17px!important;
  height:17px!important;
  color:#918a96!important;
}

.v55-login-body .v57-input>input{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  color:#403944!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:10.5px!important;
  line-height:normal!important;
}
.v55-login-body .v57-input>input::placeholder{
  color:#a49da8!important;
  opacity:1!important;
}

.v57-show-password{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:42px!important;
  min-height:32px!important;
  margin:0!important;
  padding:4px 5px!important;
  border:0!important;
  border-radius:6px!important;
  color:#6553c7!important;
  background:transparent!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:850!important;
  cursor:pointer!important;
}
.v57-show-password:hover{
  background:#f4f1ff!important;
}

.v57-login-submit{
  display:flex!important;
  width:100%!important;
  min-height:50px!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  margin:0!important;
  padding:10px 16px!important;
  border-radius:10px!important;
  font-size:10.5px!important;
}
.v57-login-submit svg{
  width:16px!important;
  height:16px!important;
}
.v57-create-account{
  margin:-10px 0 0!important;
  color:#817985!important;
  font-size:9.5px!important;
  line-height:1.45!important;
  text-align:center!important;
}
.v57-create-account>a{
  color:#6553c7!important;
  font-weight:850!important;
  text-decoration:none!important;
}
.v57-create-account>a:hover{text-decoration:underline!important}

.v57-login-support{
  margin:18px 0 0!important;
  color:#8c8590!important;
  font-size:8.5px!important;
  line-height:1.4!important;
  text-align:center!important;
}
.v57-login-support>a{
  color:#6553c7!important;
  font-weight:800!important;
  text-decoration:none!important;
}

@media(max-width:680px){
  .v55-login-body .v55-login-panel{
    padding:28px 20px 23px!important;
  }
  .v57-workspace-grid{
    grid-template-columns:1fr!important;
  }
  .v57-workspace-card{
    min-height:70px!important;
  }
}
@media(max-width:420px){
  .v55-login-body .v55-login-panel{
    padding:25px 16px 20px!important;
  }
  .v57-login-header h2{
    font-size:27px!important;
  }
  .v57-workspace-card{
    grid-template-columns:40px minmax(0,1fr) 22px!important;
    gap:9px!important;
    padding:10px!important;
  }
  .v57-workspace-icon{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
  }
}

/* v69 Paper tool */
.v24-dashboard-tool-grid>a[href="invitations.html"]{background:linear-gradient(145deg,#fff,#fff7f2);border-color:#eaded6}
.v24-dashboard-tool-grid>a[href="invitations.html"]>.dash-icon{color:#a65f49}
.dash-nav>a[href="invitations.html"] .dash-icon{color:#c78369}
