@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-700.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Prata;src:url('/assets/fonts/prata-400.ttf') format('truetype');font-weight:400;font-display:swap}

:root{--forest:#17382f;--forest-deep:#0f2922;--forest-soft:#245044;--paper:#f4eddf;--cream:#fffaf0;--ink:#211d19;--muted:#73695f;--wine:#571625;--coral:#dc6246;--line:rgba(33,29,25,.16);--shadow:0 24px 70px rgba(23,19,15,.12);--sans:Manrope,Arial,sans-serif;--serif:Prata,Georgia,serif}
*{box-sizing:border-box}
html{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 94% 6%,rgba(220,98,70,.08),transparent 28rem),var(--paper)}
button,input,select,textarea{font:inherit}
button,a{touch-action:manipulation}
a{color:inherit}
button{border:0}

.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:12px clamp(20px,4vw,64px);background:rgba(244,237,223,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}
.topbar__brand{display:flex;align-items:center;gap:18px;text-decoration:none}
.topbar__brand strong{font-family:var(--serif);font-size:25px;font-weight:400;letter-spacing:-.06em}
.topbar__brand span{padding-left:18px;border-left:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.topbar__right{display:flex;align-items:center;gap:20px}
.secure-state{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}
.secure-state i{width:7px;height:7px;border-radius:50%;background:#2e8b62;box-shadow:0 0 0 4px rgba(46,139,98,.12)}
.ghost-button{padding:10px 0;background:none;border-bottom:1px solid var(--ink);color:var(--ink);font-size:12px;font-weight:700;text-transform:uppercase;cursor:pointer}

.workspace{width:min(1600px,100%);margin:0 auto;padding:clamp(34px,5vw,72px) clamp(18px,4vw,64px) 80px}
.dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:34px}
.eyebrow{margin:0 0 13px;color:var(--wine);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}
h1{max-width:800px;margin:0;font-size:clamp(44px,6vw,82px);line-height:.98}
h2{margin:0;font-size:clamp(31px,3vw,46px);line-height:1.06}
.muted{margin:15px 0 0;color:var(--muted);font-size:15px}
.today{display:grid;gap:6px;min-width:170px;padding:19px 22px;background:var(--forest);color:var(--cream)}
.today span{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:.65}
.today strong{font-family:var(--serif);font-size:23px;font-weight:400}

.metrics{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);background:rgba(255,250,240,.42)}
.metrics article{display:grid;gap:14px;min-height:122px;padding:22px;border-right:1px solid var(--line)}
.metrics article:last-child{border-right:0}
.metrics span{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.metrics strong{font-family:var(--serif);font-size:36px;font-weight:400;line-height:1}
.metrics__accent{background:var(--wine);color:var(--cream)}
.metrics__accent span{color:inherit;opacity:.65}

.crm-grid{display:grid;grid-template-columns:minmax(0,1fr);margin-top:28px;border-top:1px solid var(--line)}
.crm-grid.has-detail{grid-template-columns:minmax(520px,1.35fr) minmax(380px,.65fr);gap:28px}
.lead-index{min-width:0}
.filters{display:grid;grid-template-columns:minmax(240px,1fr) 180px 170px auto;gap:10px;padding:20px 0}
.filters label,.lead-edit label,.login-form label{display:grid;gap:7px}
.filters label>span,.lead-edit label>span,.login-form label>span{font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:0;background:var(--cream);color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}
input,select{height:48px;padding:0 14px}
textarea{padding:13px 14px;line-height:1.5;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--forest-soft);box-shadow:0 0 0 3px rgba(36,80,68,.1)}
.filters button,.lead-edit button,.login-form button{align-self:end;min-height:48px;padding:0 22px;background:var(--forest);color:var(--cream);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:background .2s,transform .2s}
.filters button:hover,.lead-edit button:hover,.login-form button:hover{background:var(--forest-soft)}
.filters button:active,.lead-edit button:active,.login-form button:active{transform:translateY(1px)}
.lead-list-head{display:flex;justify-content:space-between;padding:13px 2px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.lead-list{display:grid}
.lead-card{display:grid;grid-template-columns:70px 106px minmax(150px,1.2fr) minmax(150px,.8fr) minmax(190px,1fr) 110px;align-items:center;gap:14px;min-height:84px;padding:13px 16px;border-bottom:1px solid var(--line);text-decoration:none;transition:background .18s,color .18s,transform .18s}
.lead-card:hover,.lead-card.is-active{background:var(--cream);transform:translateX(3px)}
.lead-card__type{font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.lead-card strong{font-family:var(--serif);font-size:19px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lead-card__phone,.lead-card__desired{color:var(--muted);font-size:13px}
.lead-card small{color:var(--muted);font-size:10px;text-align:right}
.status{justify-self:start;padding:7px 9px;border:1px solid var(--line);color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.status[data-status=new]{border-color:rgba(220,98,70,.45);background:rgba(220,98,70,.1);color:#9d3b25}
.status[data-status=contacted]{border-color:rgba(36,80,68,.38);background:rgba(36,80,68,.08);color:var(--forest)}
.status[data-status=confirmed]{border-color:#2e8b62;background:rgba(46,139,98,.1);color:#14603e}
.status[data-status=closed]{opacity:.62}

.lead-detail{position:sticky;top:104px;align-self:start;max-height:calc(100vh - 126px);overflow:auto;padding:28px;background:var(--forest-deep);color:var(--cream);box-shadow:var(--shadow)}
.lead-detail__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.14)}
.lead-detail .eyebrow{color:#ff997e}
.detail-close{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.25);border-radius:50%;font-size:25px;text-decoration:none}
.contact-actions{display:grid;grid-template-columns:repeat(3,1fr);margin:22px 0;border:1px solid rgba(255,255,255,.18)}
.contact-actions a{padding:14px 8px;border-right:1px solid rgba(255,255,255,.18);font-size:10px;font-weight:700;letter-spacing:.08em;text-align:center;text-decoration:none;text-transform:uppercase}
.contact-actions a:last-child{border-right:0}
.contact-actions a:hover{background:var(--cream);color:var(--ink)}
.lead-facts{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:1px solid rgba(255,255,255,.14);border-left:1px solid rgba(255,255,255,.14)}
.lead-facts div{min-height:84px;padding:15px;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.lead-facts__wide{grid-column:1/-1}
.lead-facts dt{margin-bottom:8px;color:rgba(255,255,255,.5);font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.lead-facts dd{margin:0;font-size:14px;line-height:1.5}
.lead-facts a{text-decoration-thickness:1px;text-underline-offset:4px}
.lead-edit{display:grid;gap:16px;margin-top:24px}
.lead-edit label>span{color:rgba(255,255,255,.65)}
.lead-edit input,.lead-edit select,.lead-edit textarea{border-color:rgba(255,255,255,.18);background:#17382f;color:var(--cream)}
.lead-edit button{background:var(--cream);color:var(--ink)}
.lead-edit button:hover{background:#eadfce}
.delete-form{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}
.delete-form button{padding:0;background:none;color:#ffab96;font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:5px;cursor:pointer}

.empty-state{display:grid;place-items:center;min-height:360px;padding:48px;text-align:center}
.empty-state span{font-family:var(--serif);font-size:18px;color:var(--coral)}
.empty-state h2{margin-top:18px}
.empty-state p{max-width:360px;color:var(--muted)}
.alert{padding:13px 16px;border:1px solid var(--line);font-size:13px}
.alert--success{border-color:rgba(46,139,98,.35);background:rgba(46,139,98,.08);color:#14603e}
.alert--error{border-color:rgba(157,59,37,.28);background:rgba(157,59,37,.07);color:#8d321f}

.login-page{display:grid;place-items:center;background:var(--forest-deep)}
.login-shell{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);width:min(1040px,calc(100% - 40px));min-height:630px;margin:50px auto;background:var(--paper);box-shadow:0 38px 100px rgba(0,0,0,.28)}
.login-brand{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:54px;background:linear-gradient(160deg,rgba(87,22,37,.96),rgba(59,14,27,.98));color:var(--cream);overflow:hidden}
.login-brand:after{content:'8';position:absolute;right:-32px;bottom:-120px;color:rgba(255,255,255,.04);font-family:var(--serif);font-size:460px;line-height:1}
.brand-mark{position:relative;z-index:1;font-family:var(--serif);font-size:42px;letter-spacing:-.08em}
.login-brand p{position:relative;z-index:1;margin:-180px 0 0;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;opacity:.7}
.login-brand blockquote{position:relative;z-index:1;margin:0;font-family:var(--serif);font-size:28px;line-height:1.35}
.login-card{display:flex;flex-direction:column;justify-content:center;padding:clamp(38px,7vw,86px)}
.login-card h1{font-size:clamp(40px,5vw,64px)}
.login-form{display:grid;gap:18px;margin-top:35px}
.login-form button{margin-top:4px;background:var(--wine)}
.login-form button:hover{background:#702035}
.login-card small{margin-top:24px;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}

@media(max-width:1180px){.crm-grid.has-detail{grid-template-columns:minmax(430px,1fr) minmax(350px,.8fr)}.lead-card{grid-template-columns:64px 100px 1fr 150px 100px}.lead-card__phone{display:none}.metrics{grid-template-columns:repeat(5,minmax(120px,1fr));overflow:auto}}
@media(max-width:900px){.dashboard-head{align-items:flex-start}.today{display:none}.crm-grid.has-detail{display:block}.lead-detail{position:relative;top:auto;max-height:none;margin-top:24px}.filters{grid-template-columns:1fr 1fr}.search{grid-column:1/-1}.lead-card{grid-template-columns:64px 96px 1fr 110px}.lead-card__desired{display:none}.login-shell{grid-template-columns:1fr;min-height:0;max-width:560px}.login-brand{display:none}.login-card{min-height:600px}}
@media(max-width:620px){.topbar{min-height:64px;padding:10px 16px}.topbar__brand span,.secure-state{display:none}.workspace{padding:30px 14px 90px}.dashboard-head{margin-bottom:24px}h1{font-size:46px}.metrics{grid-template-columns:repeat(5,116px);margin-inline:-14px;border-inline:0}.metrics article{min-height:105px;padding:17px}.metrics strong{font-size:31px}.filters{grid-template-columns:1fr;padding:18px 0}.search{grid-column:auto}.filters button{width:100%}.lead-list-head span:last-child{display:none}.lead-card{grid-template-columns:58px 1fr auto;gap:8px;min-height:100px;padding:14px 4px}.lead-card .status{grid-column:3;grid-row:1}.lead-card strong{grid-column:2/4;font-size:18px}.lead-card__phone{display:block;grid-column:2/4}.lead-card__desired{display:block;grid-column:2/4}.lead-card small{grid-column:2/4;text-align:left}.lead-detail{margin-inline:-14px;padding:24px 18px}.contact-actions{grid-template-columns:1fr}.contact-actions a{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.contact-actions a:last-child{border-bottom:0}.lead-facts{grid-template-columns:1fr}.lead-facts__wide{grid-column:auto}.login-shell{width:calc(100% - 24px);margin:12px}.login-card{min-height:calc(100vh - 24px);padding:32px 24px}.login-card h1{font-size:42px}}
@media(prefers-reduced-motion:no-preference){.metrics article,.lead-card,.lead-detail{animation:enter .45s both}.metrics article:nth-child(2){animation-delay:.04s}.metrics article:nth-child(3){animation-delay:.08s}.metrics article:nth-child(4){animation-delay:.12s}.metrics article:nth-child(5){animation-delay:.16s}@keyframes enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}}
