:root{--navy:#014;--navy-mid:#293662;--navy-deep:#0c1f42;--navy-soft:#435c9f;--copper:#be7f54;--copper-hot:#f87439;--ink:#1a2543;--body-text:#656565;--muted:#888;--paper:#fff;--haze:#f5f5f5;--line:#ddd;--danger:#be202e;--ok:#0a7a3e;--display:"Montserrat", sans-serif;--body:"Montserrat", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:var(--body-text);background:var(--haze);-webkit-font-smoothing:antialiased;background-attachment:fixed;font-family:Montserrat,sans-serif;font-size:16px;font-weight:400;line-height:24px}h1,h2,h3,h4,h5,h6,.brand{letter-spacing:-.01em;color:var(--navy);font-family:Montserrat,sans-serif;font-weight:700;line-height:1.2}h1{font-size:clamp(1.85rem,4vw,2.75rem)}h2{font-size:clamp(1.45rem,3vw,2rem)}h3{font-size:1.25rem;font-weight:600}h1 strong,h2 strong,h3 strong{color:var(--copper);font-weight:700}a{color:var(--navy-mid);font-weight:400}button,input,select,textarea,label,table,.btn,.badge,.tabs button,.slot{font-family:Montserrat,sans-serif}.btn{background:var(--navy);color:#fff;cursor:pointer;letter-spacing:.03em;text-transform:uppercase;border:none;border-radius:0;justify-content:center;align-items:center;gap:.4rem;padding:.85rem 1.5rem;font-family:Montserrat,sans-serif;font-size:.8125rem;font-weight:500;text-decoration:none;transition:background .3s,color .3s;display:inline-flex}.btn:hover{background:var(--copper);color:#fff}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{color:var(--navy);border:1px solid var(--navy);background:0 0}.btn.secondary:hover{background:var(--navy);color:#fff}.btn.ghost{color:var(--ink);border:1px solid var(--line);text-transform:none;background:0 0;font-weight:500}.btn.danger{background:var(--danger)}.field{flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}.field label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:0;padding:.75rem .9rem}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy-mid);outline:2px solid #0143}.field textarea{resize:vertical;min-height:110px}.panel{border:1px solid var(--line);background:#fff;padding:1.5rem}.muted{color:var(--muted)}.error{color:var(--danger);background:#be202e0f;border:1px solid #be202e33;margin:1rem 0;padding:.75rem 1rem}.success{color:var(--ok);background:#0a7a3e14;border:1px solid #0a7a3e33;margin:1rem 0;padding:.75rem 1rem}.table{border-collapse:collapse;width:100%;font-size:.95rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.75rem .5rem}.table th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.72rem;font-weight:600}.badge{border:1px solid var(--line);text-transform:uppercase;letter-spacing:.04em;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.badge.active{border-color:var(--ok);color:var(--ok)}.badge.closed,.badge.revoked{border-color:var(--danger);color:var(--danger)}.badge.draft{color:var(--muted)}.badge.publish{border-color:var(--ok);color:var(--ok)}.badge.private{border-color:var(--copper);color:var(--copper)}.cp-visibility-filters{flex-wrap:wrap;gap:.4rem;margin-top:.75rem;display:flex}.cp-visibility-chip{border:1px solid var(--line);color:var(--navy);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:#fff;align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.75rem;font-weight:600;display:inline-flex}.cp-visibility-chip span{color:var(--muted);font-weight:500}.cp-visibility-chip.is-active{border-color:var(--navy);background:var(--navy);color:#fff}.cp-visibility-chip.is-active span{color:#fffc}.search-hit strong{flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.shell{max-width:1100px;margin:0 auto;padding:1.5rem}.topbar{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0 1.5rem;display:flex}.brand{color:var(--navy);font-size:1.15rem;text-decoration:none}.brand-logo{max-width:min(340px,70vw);height:auto}.brand-link{align-items:center;text-decoration:none;display:inline-flex}.login-hero{background:radial-gradient(800px 400px at 80% 10%,#be7f5438,#0000 55%),linear-gradient(160deg,#014 0%,#293662 55%,#0c1f42 100%);place-items:center;min-height:100vh;padding:2rem 1rem;display:grid}.login-hero .panel,.login-card{background:#fff;border:none;width:min(420px,100%);box-shadow:0 18px 50px #00000047}.login-brand{margin-bottom:.25rem}.login-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--copper);margin:1.1rem 0 .35rem;font-family:Montserrat,sans-serif;font-size:.72rem;font-weight:600}.login-card h1{color:var(--navy);margin:0 0 .35rem;font-family:Montserrat,sans-serif}.hero-logo{z-index:2;box-sizing:border-box;align-items:flex-start;width:100%;padding:1.25rem max(5.5rem,clamp(1.5rem,5vw,3.5rem)) 0 clamp(1.5rem,5vw,3.5rem);display:flex;position:relative}.hero-logo .brand-logo{flex-shrink:0;max-width:min(280px,52vw);height:auto}.grid-2{grid-template-columns:1.1fr .9fr;gap:1.5rem;display:grid}@media (width<=860px){.grid-2{grid-template-columns:1fr}}.hero-private{color:#fff;background:var(--navy);flex-direction:column;justify-content:space-between;min-height:min(78vh,720px);display:flex;position:relative;overflow:hidden}.hero-private img{object-fit:cover;opacity:.55;width:100%;height:100%;position:absolute;inset:0}.hero-private:after{content:"";background:linear-gradient(#00114459 0%,#0c1f428c 40%,#001144eb 100%);position:absolute;inset:0}.hero-copy{z-index:1;max-width:720px;padding:clamp(1.5rem,5vw,3.5rem);animation:.8s both rise;position:relative}.hero-copy .brand{color:#fff;margin:0 0 .75rem;font-size:clamp(2rem,5vw,3.4rem)}.hero-copy p{color:#ffffffe6;max-width:36ch;margin:0;font-size:1.1rem}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.section{padding:2.5rem 0;animation:.6s both fadeIn}.section h2{margin:0 0 .5rem;font-size:clamp(1.6rem,3vw,2.2rem)}.section h2:after{content:"";background:var(--copper);width:48px;height:3px;margin-top:.65rem;display:block}.slots{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6rem;display:grid}.slot{border:1px solid var(--line);cursor:pointer;text-align:center;color:var(--navy);background:#fff;flex-direction:column;gap:.2rem;padding:.7rem;font-weight:600;display:flex}.slot__meta{letter-spacing:.04em;text-transform:uppercase;opacity:.7;font-size:.7rem;font-weight:500}.slot-legend{gap:1rem;margin:0 0 .75rem;font-size:.8rem;display:flex}.slot-legend__item.available:before,.slot-legend__item.taken:before{content:"";vertical-align:middle;border:1px solid var(--line);background:#fff;width:.65rem;height:.65rem;margin-right:.4rem;display:inline-block}.slot-legend__item.taken:before{opacity:.4;background:#ccc}.slot.available:hover,.slot.selected{border-color:var(--navy);background:#0011440f}.slot.selected{background:var(--navy);color:#fff}.slot.taken{opacity:.4;cursor:not-allowed;text-decoration:line-through}.nda-scroll{white-space:pre-wrap;background:var(--haze);border:1px solid var(--line);max-height:280px;color:var(--body-text);margin-bottom:1rem;padding:1rem;font-size:.95rem;line-height:1.55;overflow:auto}.signature-pad{border:1px solid var(--line);touch-action:none;cursor:crosshair;background:#fff;border-radius:4px;width:100%;height:160px;margin-bottom:.5rem;display:block}.signature-thumb{object-fit:contain;border:1px solid var(--line);background:#fff;max-width:160px;height:48px;display:block}.inspection-dates{flex-wrap:wrap;gap:.4rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.inspection-dates li{border:1px solid var(--line);background:#fff;align-items:center;gap:.35rem;padding:.25rem .35rem .25rem .7rem;font-size:.9rem;display:flex}.tabs{flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.5rem;display:flex}.tabs button{border:1px solid var(--line);cursor:pointer;color:var(--navy-mid);text-transform:uppercase;letter-spacing:.04em;background:#fff;padding:.55rem .95rem;font-size:.8rem;font-weight:600}.tabs button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.stat-row{grid-template-columns:repeat(4,1fr);gap:.75rem;margin:1rem 0 1.5rem;display:grid}@media (width<=700px){.stat-row{grid-template-columns:repeat(2,1fr)}}.stat{border:1px solid var(--line);background:#fff;padding:1rem}.stat strong{color:var(--navy);font-family:Montserrat,sans-serif;font-size:1.6rem;font-weight:700;display:block}.accent{color:var(--copper)}.landing-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.1rem;display:grid}.landing-card{color:inherit;border:1px solid var(--line);background:#fff;text-decoration:none;transition:transform .2s,box-shadow .2s;display:block;overflow:hidden}.landing-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #0011441f}.landing-card__media{aspect-ratio:4/3;background:#e8ebf2;position:relative;overflow:hidden}.landing-card__media img{object-fit:cover;width:100%;height:100%;display:block}.landing-card__media .ph{width:100%;height:100%;color:#ffffffb3;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(160deg,#293662,#014);place-items:center;font-size:.8rem;font-weight:600;display:grid}.landing-card__body{padding:.9rem 1rem 1.1rem}.landing-card__body h3{color:var(--navy);margin:0 0 .35rem;font-size:1rem;line-height:1.35}.landing-card__meta{color:var(--muted);flex-wrap:wrap;gap:.45rem;margin-top:.75rem;font-size:.78rem;display:flex}.dashboard-stats,.dashboard-panels{margin-bottom:1.5rem}.dashboard-scroll{max-height:320px;overflow:auto}.dashboard-landings-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.dashboard-filter{min-width:min(280px,100%)}.dashboard-offers{margin-bottom:1.5rem}.landing-card__meta .landing-card__offers{color:var(--copper);font-weight:700}.landing-card__actions{flex-wrap:wrap;gap:.35rem;margin-top:.75rem;display:flex}.landing-card--clickable{cursor:pointer}.landing-card--clickable:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.landing-card__actions .chip{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--line);color:var(--navy-mid);background:#fff;border-radius:2px;padding:.25rem .5rem;font-size:.68rem;font-weight:600;text-decoration:none}.landing-card__actions .chip:hover{border-color:var(--navy);color:var(--navy)}.landing-card__cta{margin-top:.65rem;font-size:.78rem;font-weight:600}.dashboard-offers h2{color:var(--navy);font-size:1.15rem}.landing-card__badge{color:#fff;letter-spacing:.05em;text-transform:uppercase;background:#001144e0;padding:.25rem .45rem;font-size:.68rem;font-weight:600;position:absolute;top:.65rem;left:.65rem}.thumb-row{align-items:center;gap:.75rem;display:flex}.thumb-row img,.thumb{object-fit:cover;background:#e8ebf2;flex-shrink:0;width:72px;height:54px}.search-hit{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;align-items:center;gap:.75rem;width:100%;margin-bottom:.5rem;padding:.6rem;display:flex}.search-hit img,.search-hit .thumb{object-fit:cover;background:#e8ebf2;flex-shrink:0;width:84px;height:64px}.detail-hero-img{object-fit:cover;background:#e8ebf2;width:100%;max-height:320px;margin-bottom:1rem;display:block}.invite-photo{aspect-ratio:16/9;object-fit:cover;background:#e8ebf2;width:100%;margin:0 0 1rem;display:block}.guest-auth-tabs{gap:.35rem;margin-bottom:.25rem;display:flex}.guest-auth-tabs button{border:1px solid var(--line);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;color:var(--navy-mid);background:#fff;flex:1;padding:.55rem .75rem;font-family:Montserrat,sans-serif;font-size:.78rem;font-weight:600}.guest-auth-tabs button.active{background:var(--navy);border-color:var(--navy);color:#fff}.lang-switch{border:1px solid var(--line);background:#fff;display:inline-flex}.lang-switch button{cursor:pointer;letter-spacing:.06em;color:var(--navy-mid);background:0 0;border:none;padding:.4rem .65rem;font-family:Montserrat,sans-serif;font-size:.72rem;font-weight:700}.lang-switch button.active{background:var(--navy);color:#fff}.login-hero .lang-switch{z-index:2;background:#ffffff1f;border-color:#ffffff59;position:absolute;top:1.25rem;right:1.25rem}.hero-private .lang-switch{background:#ffffff1f;border-color:#ffffff59}.hero-private .hero-logo .lang-switch{position:absolute;top:1.25rem;right:clamp(1.5rem,5vw,3.5rem)}.hero-private .lang-switch button{color:#ffffffe6}.hero-private .lang-switch button.active{color:var(--navy);background:#fff}.login-hero .lang-switch button{color:#ffffffd9}.login-hero .lang-switch button.active{color:var(--navy);background:#fff}.admin-shell{background:#eef1f6;min-height:100vh;display:flex}.admin-sidebar{background:var(--navy);color:#fff;flex-direction:column;flex-shrink:0;width:260px;height:100vh;padding:1.25rem 1rem;display:flex;position:sticky;top:0;overflow-y:auto}.admin-sidebar__brand{border-bottom:1px solid #ffffff1f;margin-bottom:1.25rem;padding-bottom:1rem}.admin-sidebar__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#ffffff8c;margin:.5rem 0 0;font-size:.72rem}.admin-nav{flex-direction:column;flex:1;gap:.15rem;display:flex}.admin-nav__label{letter-spacing:.12em;text-transform:uppercase;color:#ffffff73;margin:1rem 0 .35rem;font-size:.68rem;font-weight:700}.admin-nav__label:first-child{margin-top:0}.admin-nav__link{color:#ffffffd9;border-radius:4px;padding:.55rem .65rem;font-size:.92rem;text-decoration:none;display:block}.admin-nav__link:hover{color:#fff;background:#ffffff14}.admin-nav__link.active{color:#fff;background:#ffffff24;font-weight:600}.admin-nav__landing-title{color:#ffffffa6;padding:0 .65rem .35rem;font-size:.78rem;line-height:1.35}.admin-sidebar__footer{border-top:1px solid #ffffff1f;flex-direction:column;gap:.65rem;margin-top:1rem;padding-top:1rem;display:flex}.admin-sidebar__logout{color:#ffffffd9!important;border-color:#ffffff40!important}.admin-sidebar .lang-switch{background:#ffffff14;border-color:#ffffff40}.admin-sidebar .lang-switch button{color:#ffffffd9}.admin-sidebar .lang-switch button.active{color:var(--navy);background:#fff}.admin-main{flex:1;min-width:0;overflow:auto}.admin-page{max-width:1200px;padding:1.5rem clamp(1rem,3vw,2rem) 2.5rem}.admin-page h1{color:var(--navy);margin:0 0 .35rem;font-size:1.65rem}.landing-detail-head{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:1rem;display:flex}.grid-3{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}@media (width<=900px){.grid-3{grid-template-columns:1fr}.admin-shell{flex-direction:column}.admin-sidebar{width:100%;height:auto;position:static}}.dashboard-quick{margin-bottom:1.5rem}.dashboard-quick-card{color:inherit;text-decoration:none;transition:box-shadow .15s}.dashboard-quick-card:hover{box-shadow:0 8px 24px #0011441a}.dashboard-quick-card h3{color:var(--navy);margin:0 0 .35rem;font-size:1rem}.stat-link{color:inherit;text-decoration:none;transition:background .15s}.stat-link:hover{background:#0011440a}.login-hero{position:relative}.invite-shell{background:var(--bg);min-height:100vh}.invite-shell__bar{background:var(--navy);color:#fff;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem clamp(1.5rem,5vw,3.5rem);display:flex}.invite-shell__eyebrow{letter-spacing:.12em;text-transform:uppercase;opacity:.75;margin:.35rem 0 0;font-size:.72rem;font-weight:600}.invite-shell .lang-switch{background:#ffffff1f;border-color:#ffffff59;flex-shrink:0}.invite-shell .lang-switch button{color:#ffffffd9}.invite-shell .lang-switch button.active{color:#fff;background:#fff3}.invite-preview{border:1px solid var(--line);background:#fff;overflow:hidden;box-shadow:0 8px 28px #00114414}.invite-preview__header{background:var(--navy);color:#fff;padding:1.25rem 1.5rem}.invite-preview__eyebrow{letter-spacing:.12em;text-transform:uppercase;opacity:.75;margin:.5rem 0 0;font-size:.68rem;font-weight:600}.invite-preview__body{padding:1.25rem 1.5rem 1.5rem}.invite-preview__landing{color:var(--navy);margin:0 0 .75rem;font-weight:700}.invite-preview__tabs{gap:.35rem;margin:1rem 0;display:flex}.invite-preview__tabs span{text-align:center;border:1px solid var(--line);letter-spacing:.04em;text-transform:uppercase;color:var(--navy-mid);flex:1;padding:.5rem .65rem;font-size:.72rem;font-weight:600}.invite-preview__tabs span.active{background:var(--navy);border-color:var(--navy);color:#fff}.invite-preview__link{border:1px dashed var(--line);background:#f4f6fb;margin-top:.75rem;padding:.65rem .75rem}.invite-preview__link code{word-break:break-all;color:var(--navy-mid);font-size:.78rem}.invite-link-row{gap:.5rem;margin-top:.35rem;display:flex}.invite-link-row input{flex:1;min-width:0}
