:root{--bg:#070909;--panel:#101313;--line:#2a302d;--gold:#d4a14b;--text:#f4f1e8;--muted:#929b96}
*{box-sizing:border-box}
html{max-width:100%;overflow-x:hidden}
body{margin:0;max-width:100%;overflow-x:hidden;background:var(--bg);color:var(--text);font:14px Arial,sans-serif}
button,input,select,textarea{font:inherit}
aside{position:fixed;inset:0 auto 0 0;width:220px;padding:26px 18px;border-right:1px solid var(--line);background:#0d1010;display:flex;flex-direction:column}
aside img{width:150px;margin:0 auto 38px}
nav{display:grid;gap:7px}
nav button,#logout{border:0;border-radius:10px;background:transparent;color:#aeb5b1;text-align:left;padding:13px;cursor:pointer}
nav button small{color:#6e7772;margin-right:12px}
nav button:hover,nav button.active{background:#292318;color:#edbd62}
#logout{margin-top:auto;border:1px solid var(--line)}
#app{margin-left:220px;padding:34px;min-height:100vh}
.kicker{color:var(--gold);font-size:11px;letter-spacing:.18em}
.head{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}
.head h1{font-size:34px;font-weight:400;letter-spacing:.08em}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.grid.two{grid-template-columns:repeat(2,1fr)}
.card{border:1px solid var(--line);border-radius:17px;background:var(--panel);padding:22px}
.metric strong{display:block;color:var(--gold);font-size:30px;margin:20px 0 8px}
.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:16px;margin-bottom:16px}
.dashboard-profile,.dashboard-focus{position:relative;overflow:hidden;min-height:220px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#141817 0%,#0d1010 72%);padding:28px}
.dashboard-profile::after,.dashboard-focus::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,#d4a14b24 0%,transparent 68%);pointer-events:none}
.dashboard-profile::after{right:-100px;bottom:-150px}.dashboard-focus::after{left:-120px;top:-150px}
.dashboard-profile{display:flex;align-items:center;gap:24px}
.dashboard-avatar{position:relative;z-index:1;display:grid;place-items:center;width:116px;height:116px;flex:0 0 116px;border:1px solid #d4a14b80;border-radius:28px;background:linear-gradient(145deg,#201b14,#0c0f0e);box-shadow:0 20px 45px #0007;color:var(--gold);font-size:32px;letter-spacing:.08em;overflow:hidden}
.dashboard-avatar img{width:100%;height:100%;object-fit:cover}
.dashboard-profile>div:last-child,.dashboard-focus>div{position:relative;z-index:1}.dashboard-profile h2{margin:6px 0 9px;font-size:28px;font-weight:400;letter-spacing:.04em}.dashboard-profile>div>p:not(.dashboard-eyebrow){max-width:620px;margin:0;color:var(--muted);line-height:1.6}
.dashboard-eyebrow{margin:0;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.18em}
.dashboard-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:19px}.dashboard-tags span{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#080a0a9c;color:#c2c9c5;font-size:10px}
.dashboard-focus{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-focus h3{margin:7px 0;font-size:21px;font-weight:400}.dashboard-focus p{margin:0 0 9px;color:#f2d397}.dashboard-focus small{color:var(--muted)}
.dashboard-metrics{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px}
.dashboard-metric{position:relative;min-height:145px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--panel);transition:transform .2s,border-color .2s,box-shadow .2s}.dashboard-metric:hover{transform:translateY(-3px);border-color:#d4a14b70;box-shadow:0 16px 32px #0004}.dashboard-metric>span{position:absolute;right:15px;top:14px;color:#5e655f;font-size:10px}.dashboard-metric small{display:block;padding-right:24px;color:#aeb6b1;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.dashboard-metric strong{display:block;margin:20px 0 7px;color:var(--gold);font-size:25px;font-weight:500}.dashboard-metric p{margin:0;color:var(--muted);font-size:10px;line-height:1.4}
.dashboard-section{margin-top:16px;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}
.dashboard-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.dashboard-section-head h2{margin:5px 0 0;font-size:22px;font-weight:400;letter-spacing:.05em}.dashboard-section-head>span{padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:10px}
.goal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:13px}.goal-card{padding:18px;border:1px solid #2e3531;border-radius:16px;background:linear-gradient(145deg,#121615,#0b0e0d)}.goal-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.goal-card-head h3{margin:0 0 5px;font-size:14px}.goal-card-head p{margin:0;color:var(--muted);font-size:11px}.goal-card-head>span{color:var(--gold);font-size:12px;white-space:nowrap}
.goal-arc{position:relative;width:min(220px,100%);height:124px;margin:14px auto 0}.goal-arc svg{display:block;width:100%;height:100%;overflow:visible;fill:none}.goal-arc path{stroke-width:14;stroke-linecap:round}.goal-arc-track{stroke:#282e2b}.goal-arc-progress{stroke:url(#none);stroke:var(--gold);filter:drop-shadow(0 0 7px #d4a14b55);animation:goal-arc-reveal .8s ease-out both}.goal-arc>div{position:absolute;left:50%;bottom:4px;display:grid;transform:translateX(-50%);text-align:center}.goal-arc>div strong{color:var(--text);font-size:25px}.goal-arc>div span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.goal-values{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.goal-values>div{padding:10px;border:1px solid var(--line);border-radius:10px;background:#080a0a}.goal-values small,.goal-values strong{display:block}.goal-values small{margin-bottom:5px;color:var(--muted);font-size:9px;text-transform:uppercase}.goal-values strong{color:#e9c27b;font-size:12px}.goal-period{margin:12px 0 0;color:var(--muted);font-size:9px;text-align:center}
.dashboard-table{overflow:auto}.dashboard-table table{min-width:680px}.dashboard-table th{font-size:9px;text-transform:uppercase;letter-spacing:.1em}.dashboard-table td{color:#cbd1cd}.status-chip{display:inline-block;padding:5px 8px;border-radius:999px;background:#d4a14b16;color:var(--gold);font-size:9px;text-transform:uppercase}.dashboard-empty{grid-column:1/-1;margin:0;padding:40px 15px;color:var(--muted);text-align:center}
@keyframes goal-arc-reveal{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
.muted,.card small{color:var(--muted)}
.section{margin-top:18px}
.section h2{font-weight:400;letter-spacing:.08em}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.btn,button.primary{border:1px solid var(--gold);border-radius:9px;background:transparent;color:var(--gold);padding:11px 16px;cursor:pointer}
.btn.primary,button.primary{background:var(--gold);color:#080909;font-weight:700}
.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
label{display:grid;gap:7px;color:#d6c59f;font-size:11px;letter-spacing:.08em}
input,select,textarea{width:100%;border:1px solid #343b37;border-radius:8px;background:#090b0b;color:white;padding:12px}
img,video{max-width:100%}
textarea{min-height:110px}
.wide{grid-column:1/-1}
table{width:100%;border-collapse:collapse}
th,td{padding:13px;border-bottom:1px solid var(--line);text-align:left}
th{color:var(--gold);font-size:11px}
.kanban{display:grid;grid-template-columns:repeat(6,minmax(230px,1fr));gap:12px;overflow:auto}
.column{border:1px solid var(--line);border-radius:14px;min-height:420px;padding:12px;transition:border-color .18s,background .18s}
.column.drag-over{border-color:var(--gold);background:#d4a14b0d}
.lead{border:1px solid #353b38;background:#151918;border-radius:11px;padding:13px;margin:10px 0;cursor:grab}
.lead:active{cursor:grabbing}
.lead.dragging{opacity:.45}
.lead.overdue{border-color:#ce664f}
.crm-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.crm-toolbar>div{display:flex;align-items:baseline;gap:7px;padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.crm-toolbar>div.warning{border-color:#ce664f;color:#ff9a88}
.crm-toolbar strong{color:var(--gold);font-size:20px}.crm-toolbar span{color:var(--muted);font-size:11px}.crm-toolbar p{margin:0 0 0 auto;color:var(--muted);font-size:11px}
.crm-canvas{padding-bottom:8px}.crm-column-head{display:flex;align-items:center;justify-content:space-between;color:var(--gold)}
.crm-column-head span{display:grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:10px}
.lead-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.lead-title>span{color:var(--gold);font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.lead>small{display:block;margin-top:5px;color:var(--muted)}.lead>p{margin:10px 0;line-height:1.45;overflow-wrap:anywhere}
.lead-prompt{margin:10px 0;padding:9px;border-left:2px solid var(--gold);background:#d4a14b0a;color:#c9c4b9;font-size:10px;line-height:1.45}
.lead.overdue .lead-prompt{border-color:#ce664f;color:#ff9a88;background:#ce664f0b}
.lead-document-progress{height:5px;margin:10px 0;border-radius:8px;background:#282d2a;overflow:hidden}.lead-document-progress i{display:block;height:100%;background:var(--gold)}
.lead label{margin-top:9px}.lead select{padding:8px}.lead .manage-lead{width:100%;margin-top:10px}
.lead .delete-lead{width:100%;margin-top:8px}
.crm-detail h2{margin:4px 0 10px;font-size:26px;font-weight:400}.crm-contact{display:flex;gap:9px 18px;flex-wrap:wrap;margin-bottom:20px;color:var(--muted)}
.crm-contact a{color:var(--gold);text-decoration:none}.crm-documents,.crm-history{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.crm-documents.disabled{padding:18px;border:1px solid #8d6b35;border-radius:11px;background:#d4a14b0a}.crm-documents.disabled h3{margin-top:0}.crm-documents.disabled p{color:var(--muted);line-height:1.55}
.crm-document-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}.crm-document-heading h3,.crm-history h3{margin:0 0 5px;font-weight:400;letter-spacing:.06em}.crm-document-heading p{margin:0;color:var(--muted);font-size:11px}
.crm-document-heading>span{padding:7px 10px;border-radius:999px;background:#82552b;color:#ffd29a;font-size:9px;text-transform:uppercase}.crm-document-heading>span.complete{background:#315c40;color:#adf0c2}
.crm-document-row{display:grid;grid-template-columns:minmax(170px,1fr) minmax(0,1.5fr);align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}
.crm-document-row>div:first-child strong,.crm-document-row>div:first-child small{display:block}.crm-document-row>div:first-child small{margin-top:5px;color:var(--muted)}
.crm-document-row.approved>div:first-child small{color:#8bd0a1}.crm-document-row.rejected>div:first-child small{color:#ff8b78}
.crm-document-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px;flex-wrap:wrap}.crm-document-actions .btn{padding:8px 10px;font-size:10px;text-decoration:none}
.crm-upload-label{position:relative;display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border:1px solid var(--gold);border-radius:7px;color:var(--gold);cursor:pointer;font-size:9px;letter-spacing:.04em;overflow:hidden}.crm-upload-label input{position:absolute;inset:0;opacity:0;cursor:pointer}
.crm-decision-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.crm-decision-actions button:disabled{opacity:.4;cursor:not-allowed}
.crm-history>div{display:grid;grid-template-columns:minmax(120px,.5fr) minmax(180px,1.5fr) auto;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:11px}.crm-history span,.crm-history time{color:var(--muted)}.crm-history time{white-space:nowrap}
.property-media{display:flex;gap:10px;flex-wrap:wrap}
.property-media img,.property-media video{width:150px;height:100px;object-fit:cover;border:1px solid var(--line);border-radius:9px}
.media-order-section{border-top:1px solid var(--line);padding-top:12px}
.media-order-section h3{margin:0 0 5px;font-size:14px;letter-spacing:.06em}
.ordered-media .media-item{position:relative;margin:0;padding:8px;border:1px solid var(--line);border-radius:11px;background:#0b0e0d;cursor:grab}
.ordered-media .media-item.dragging{opacity:.45}
.ordered-media figcaption{color:var(--muted);font-size:11px;margin:6px 0}
.media-order-number{position:absolute;top:13px;left:13px;z-index:1;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--gold);color:#080909;font-weight:700}
.media-order-actions,.advisor-admin-actions{display:flex;gap:8px;flex-wrap:wrap}
.media-order-actions button,.pending-file button{border:1px solid var(--gold);border-radius:6px;background:transparent;color:var(--gold);cursor:pointer}
.media-order-actions button:disabled,.pending-file button:disabled{opacity:.35;cursor:default}
.file-selection{display:block;margin-top:2px}
.pending-file-list{display:grid;gap:5px;margin-top:3px}
.pending-file{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px;border:1px solid var(--line);border-radius:7px;color:var(--text);font-size:11px;letter-spacing:0}
.pending-file>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pending-file button{width:27px;height:25px;margin-left:4px}
.advisor-card-admin{display:flex;align-items:flex-start;gap:18px}
.advisor-card-admin>img{width:100px;height:100px;flex:0 0 100px;object-fit:cover;border-radius:50%;background:#191d1b}
.advisor-card-admin>div{display:grid;gap:7px}
.advisor-card-admin h3,.advisor-card-admin p{margin:0}
.advisor-card-admin .btn{margin-top:8px;width:max-content}
.advisor-goal{color:#d6c59f!important;margin-top:3px}
.advisor-admin-actions{margin-top:10px}
.advisor-admin-actions .btn{margin-top:0}
.btn.danger{border-color:#ce664f;color:#ff8b78}
.gauge{height:10px;border-radius:20px;background:#292e2c;overflow:hidden;margin-top:13px}
.gauge i{display:block;height:100%;background:linear-gradient(90deg,#e86658,#d4a14b,#66ac7e)}
#modal{position:fixed;inset:0;background:#000a;display:grid;place-items:center;padding:20px;z-index:20}
#modal[hidden]{display:none}
#modal>section{position:relative;width:min(900px,100%);max-height:92vh;overflow:auto;background:#111515;border:1px solid var(--gold);border-radius:20px;padding:28px}
.close{position:absolute;right:15px;top:12px;background:none;border:0;color:white;font-size:28px}
.login{min-height:100vh;display:grid;place-items:center}
.login form{width:min(420px,90vw);padding:36px;border:1px solid var(--line);border-radius:22px;background:var(--panel);display:grid;gap:18px}
.login img{width:110px;margin:auto}
.login h1{text-align:center;font-weight:400}
.login button{padding:13px;background:var(--gold);border:0;border-radius:9px}
.password-wrap{position:relative;display:block}
.password-wrap input{padding-right:50px}
.password-wrap .password-toggle{position:absolute;top:50%;right:6px;width:38px;height:38px;padding:0;display:grid;place-items:center;transform:translateY(-50%);border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}
.password-wrap .password-toggle:hover,.password-wrap .password-toggle:focus-visible{color:var(--gold);background:#d4a14b12}
.password-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.notice{color:#ff806f}
.empty{text-align:center;color:var(--muted);padding:60px 15px}
@media(max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.head{gap:18px;flex-wrap:wrap}#modal>section{width:min(760px,100%)}}
@media(max-width:1250px){.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.dashboard-hero{grid-template-columns:1fr}.dashboard-focus{min-height:190px}}
@media(max-width:720px){aside{position:static;width:auto;height:auto;padding:18px}aside img{margin-bottom:15px}nav{grid-template-columns:repeat(2,minmax(0,1fr))}#logout{margin-top:15px}#app{margin:0;padding:18px}.grid,.grid.two,.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.advisor-card-admin{flex-direction:column}.head h1{font-size:28px}.card{padding:18px}.kanban{grid-template-columns:repeat(6,minmax(82vw,1fr))}#modal{padding:10px}#modal>section{padding:24px 16px;border-radius:15px}.property-media img,.property-media video{width:calc(50% - 5px);height:auto;aspect-ratio:3/2}.actions>.btn,.actions>button{max-width:100%}}
@media(max-width:720px){.dashboard-profile{align-items:flex-start;padding:22px;flex-direction:column}.dashboard-avatar{width:92px;height:92px;flex-basis:92px;border-radius:22px}.dashboard-focus{padding:22px}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-section{padding:18px}.dashboard-section-head{align-items:flex-start;flex-direction:column}.goal-grid{grid-template-columns:1fr}}
@media(max-width:720px){.crm-toolbar p{width:100%;margin-left:0}.crm-document-row{grid-template-columns:1fr}.crm-document-actions{justify-content:flex-start}.crm-history>div{grid-template-columns:1fr}.crm-history time{white-space:normal}}
@media(max-width:420px){nav{grid-template-columns:1fr 1fr;gap:4px}nav button,#logout{padding:11px 9px}#app{padding:14px}.login form{padding:26px 20px}.advisor-card-admin>img{width:86px;height:86px;flex-basis:86px}.property-media img,.property-media video{width:100%}.crm-toolbar>div{width:100%}.crm-decision-actions>*{width:100%}}
@media(max-width:420px){.dashboard-metrics{grid-template-columns:1fr}.dashboard-focus{align-items:flex-start;flex-direction:column}.dashboard-focus .goal-arc{margin-left:auto;margin-right:auto}}
