/* Charcoal workspace inspired by the supplied CRM references. Public pages keep their theme. */
body:has(.crm-shell){--navy:#151719;--ink:#f4f4f5;--muted:#acafb5;--line:#36393e;--bg:#111214;--blue:#6aafff;--cyan:#6aafff;--shadow:0 12px 35px #0002;background:#111214;color:#f4f4f5;color-scheme:dark}
.crm-shell{min-height:100vh;background:#111214;color:#f4f4f5;--navy:#151719;--ink:#f4f4f5;--muted:#acafb5;--line:#36393e;--bg:#111214;--blue:#6aafff}
.crm-shell .sidebar{background:#17181a;border-right:1px solid #303236;width:248px;padding:26px 18px;overflow-y:auto;position:fixed;top:0;bottom:0}
.crm-shell .workspace-main{margin-left:248px;min-width:0;background:#111214}.crm-shell .brand{font-size:27px;letter-spacing:-1px}.crm-shell .brand span{color:#f4f4f5}.crm-shell .brand-mark i{background:#69acfa}.crm-shell .workspace-card{background:#232527;border:1px solid #33363a;margin:28px 0 24px;padding:12px}.crm-shell .workspace-card small{color:#aaa;font-size:11px}.crm-shell .workspace-card strong{color:#f4f4f5;font-size:12px}.crm-shell .avatar{background:#353d48;color:#a5ceff;flex-shrink:0}.crm-shell .nav-label{font-size:9px;letter-spacing:1.3px;margin:23px 10px 10px;color:#858991}.crm-shell .side-nav{gap:4px}.crm-shell .side-nav button{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:9px;color:#bfc2c8;font-size:12px;font-weight:500}.crm-shell .side-nav button svg{width:19px;height:19px;flex:none}.crm-shell .side-nav button:hover{background:#272a2e;color:#fff}.crm-shell .side-nav button.active{background:#23384d;color:#a8d1ff}.crm-shell .crm-settings{margin:24px 8px 0;font-size:11px}.crm-shell .topbar{background:#17181a;border-bottom:1px solid #303236;padding:21px 32px;color:#bfc2c8;gap:12px}.crm-shell .topbar b{color:#f3f3f3}.crm-shell .topbar button{color:#c4c6cc}.crm-shell .data-view{max-width:1540px;padding:32px;margin:auto}.crm-shell .view-heading{align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:28px}.crm-shell h1{font-size:29px;letter-spacing:-.7px}.crm-shell h2{font-size:18px;font-weight:600;letter-spacing:-.2px}.crm-shell p{line-height:1.6}.crm-shell .view-heading p{font-size:13px;color:#aeb2b9}.crm-shell .eyebrow{color:#80b9fb;font-size:9px}.crm-shell .panel{background:#1b1d20;border:1px solid #33363b;border-radius:16px;box-shadow:none;padding:24px;margin-bottom:20px}.crm-shell .panel>p,.crm-shell .panel>small{color:#aeb2b9;font-size:12px}.crm-shell .button.primary{background:#337dbe;color:#fff;box-shadow:none}.crm-shell .button.ghost,.crm-shell select{background:#25282c;color:#e4e6ea;border:1px solid #42464d}.crm-shell select{border-radius:8px;padding:9px;font-size:12px;max-width:100%}.crm-shell .button{font-size:11px;padding:10px 13px}.crm-shell .stage-pill{background:#293139;color:#c0d7e9;border:1px solid #414d59;margin:7px 0}.crm-shell .empty{color:#a6abb4;background:#24272b;border:1px dashed #44484e;border-radius:10px;font-size:12px;line-height:1.6}.crm-shell .field input,.crm-shell .field select,.crm-shell .field textarea{background:#26292e;color:#f4f4f5;border:1px solid #464b53}.crm-shell .field{color:#b7bdc6}.crm-shell .property-card,.crm-shell .team-card,.crm-shell .metric,.crm-shell .task-row,.crm-shell .appointment-card,.crm-shell .creative-job,.crm-shell .studio-asset,.crm-shell .integration-card{background:#222529;border-color:#3a3f46;color:#f3f3f4}.crm-shell .property-art{background-color:#313944}.crm-shell .property-info strong,.crm-shell .metric strong{color:#f4f4f5}.crm-shell .table-head,.crm-shell .table-row{border-color:#393e44;background:transparent}.crm-shell .studio-tabs{background:#23272d}.crm-shell .studio-tabs button{color:#bec7d4}.crm-shell .studio-tabs button.active{background:#354356;color:#fff}.crm-shell .studio-facts span,.crm-shell .setup-note,.crm-shell .manager-answer{background:#272d35;color:#bac9da;border-color:#3e4b5b}.crm-shell .studio-property-picker select{background:#25282c}.crm-shell .drop-zone{background:#25292e;border-color:#4a535f}.crm-shell .studio-file{background:#303a47;color:#c6dcfa}
body:has(.crm-shell) .modal{background:#202327;color:#f4f4f5;border:1px solid #42474f;border-radius:16px;max-height:88vh;overflow:auto}body:has(.crm-shell) .modal .field{color:#bfc5ce}body:has(.crm-shell) .modal input,body:has(.crm-shell) .modal select,body:has(.crm-shell) .modal textarea{background:#2a2e34;color:#f4f4f5;border-color:#4b535f}body:has(.crm-shell) .modal .button.ghost{background:#2c3138;color:#e8edf5;border-color:#464f5c}body:has(.crm-shell) .modal .button.primary{background:#337dbe}body:has(.crm-shell) .modal p{color:#bac2cf;font-size:13px}body:has(.crm-shell) .modal .form-error{color:#ff9f9f}body:has(.crm-shell) .modal-close{color:#ccc}.crm-shell button:focus-visible,.crm-shell a:focus-visible,.crm-shell input:focus-visible,.crm-shell select:focus-visible{outline:2px solid #8cc7ff;outline-offset:3px}
.crm-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}.crm-metric{background:#242628;border:1px solid #33363b;padding:23px 24px;border-radius:18px}.crm-metric>span{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#b2b6be;font-size:13px}.crm-metric svg{width:24px;height:24px;color:#a1a5ac}.crm-metric strong{display:block;font:600 43px/1.2 'DM Sans',sans-serif;margin-top:19px;letter-spacing:-1px}.crm-two{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.crm-bars{display:grid;gap:19px;margin-top:26px}.crm-bars>div{display:grid;grid-template-columns:145px 1fr 25px;align-items:center;gap:12px;font-size:11px;color:#c7ccd4}.crm-bars i{height:12px;background:#303439;border-radius:20px;overflow:hidden}.crm-bars i b{display:block;height:100%;background:#387fbc;border-radius:20px;min-width:0}.crm-bars strong{text-align:right;color:#e5ebf4}.crm-alert{display:grid;grid-template-columns:54px 1fr;gap:6px 14px;align-items:center;margin:24px 0}.crm-alert strong{font-size:35px;color:#fb7373;grid-row:span 2}.crm-alert span{font-size:12px;color:#bec4ce}.crm-alert button{border:0;background:none;color:#7bbcff;text-align:left;padding:0;font-size:12px;cursor:pointer}.crm-small-links{display:grid;gap:9px}.crm-small-links button{padding:11px;background:#272c33;color:#c5d6ee;text-align:left;border:1px solid #3b444f;border-radius:8px;font-size:11px;cursor:pointer}.crm-money{display:flex;gap:26px;align-items:start;padding:16px 0;flex-wrap:wrap}.crm-money+ .crm-money{border-top:1px solid #363b43}.crm-money>small{color:#7db8fb;background:#273646;padding:5px 8px;border-radius:6px;font-size:10px}.crm-money>div{flex:1;min-width:160px}.crm-money span{display:block;font-size:11px;color:#b5bdca}.crm-money b{display:block;font-size:23px;letter-spacing:-.4px;color:#f1f4f9;margin-top:8px}.crm-control h2{display:flex;align-items:center;gap:10px}.crm-control h2 svg{width:22px;height:22px}.crm-shortcuts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:24px}.crm-shortcuts button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:125px;border:1px solid #373c43;border-radius:12px;background:#25282c;color:#e8ebf1;font-size:12px;cursor:pointer;transition:background .15s,transform .15s}.crm-shortcuts button:hover{background:#303b49;transform:translateY(-2px)}.crm-shortcuts svg{width:29px;height:29px;color:#abb9ca}.crm-toolbar{display:flex;gap:12px;align-items:center;margin:0 0 22px;flex-wrap:wrap}.crm-toolbar input{padding:12px 14px;min-width:270px;border-radius:9px;background:#25292f;color:#f2f4f7;border:1px solid #414852;font-size:12px}.crm-toolbar span{font-size:12px;color:#a7afbc}.crm-board{display:flex;gap:14px;overflow-x:auto;padding-bottom:22px;scroll-snap-type:x proximity}.crm-column{min-width:260px;max-width:260px;background:#1b1e22;border:1px solid #333941;border-radius:13px;padding:12px;scroll-snap-align:start}.crm-column>header{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#d2dae5;font-weight:600;padding:6px 2px 16px;min-height:50px;line-height:1.4}.crm-column>header b{border-radius:12px;background:#353d48;min-width:23px;height:23px;text-align:center;padding:3px}.crm-column.won{border-color:#275442}.crm-column.won>header{color:#7bc8a5}.crm-column-empty{font-size:11px;color:#828d9d;text-align:center;padding:25px 8px}.crm-pipeline-card{background:#272c33;border:1px solid #404854;border-radius:10px;padding:15px;margin:0 0 12px}.crm-pipeline-card>b{font-size:14px;color:#edf1f8;display:block}.crm-pipeline-card small{display:block;color:#acb7c7;font-size:10px;line-height:1.6;margin-top:5px}.crm-pipeline-card p{color:#c4d7f1;font-size:11px;margin:14px 0}.crm-next{padding:10px;background:#202630;border-radius:7px;color:#c2ccda;font-size:10px;margin:12px 0}.crm-next.overdue{border-left:2px solid #e26c6c}.crm-stage-label{font-size:9px;color:#abb6c7;display:grid;gap:5px}.crm-stage-label select{font-size:10px;width:100%}.crm-pipeline-card .card-actions{margin:12px 0 0}.crm-list>article{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #383f48;flex-wrap:wrap}.crm-list>article:last-child{border-bottom:0}.crm-list b{font-size:14px;color:#e9edf5}.crm-list small{display:block;font-size:11px;color:#a7b2c2;margin-top:7px}.crm-list p{font-size:12px;color:#bcc9dc;margin-bottom:0}.crm-admin-links{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}.crm-admin-links button{padding:26px;display:flex;flex-direction:column;gap:17px;align-items:start;background:#24292f;border:1px solid #3d4651;border-radius:15px;color:#e4eaf4;cursor:pointer}.crm-admin-links svg{width:28px;height:28px;color:#8dbbf3}.crm-admin-links span{font-size:11px;color:#a4bddf}.crm-history{font-size:11px;display:grid;gap:12px;margin:18px 0}.crm-history>div{display:grid;gap:5px;border-left:2px solid #48556a;padding-left:13px}.crm-history b{color:#bcc9dc;font-size:11px}.crm-history span{color:#e0e6ef}.crm-history small{color:#8b9bb0}
.crm-mobile-toggle{display:none}.crm-mobile-brand{display:flex;align-items:center;justify-content:space-between;gap:15px}
@media(min-width:1550px){.crm-shell .data-view{padding:40px 48px}.crm-metric{padding:28px}.crm-metric strong{font-size:49px}}
@media(max-width:1150px){.crm-metrics{grid-template-columns:repeat(2,1fr)}.crm-shortcuts{grid-template-columns:repeat(4,1fr)}.crm-two{grid-template-columns:1fr}.crm-shell .data-view{padding:25px}.crm-bars>div{grid-template-columns:145px 1fr 25px}}
@media(max-width:800px){.crm-shell .sidebar{position:static;width:auto;padding:18px;max-height:none}.crm-shell{display:block}.crm-shell .workspace-main{margin-left:0}.crm-shell .workspace-card,.crm-shell .nav-label,.crm-shell .crm-settings{display:none}.crm-shell .side-nav{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.crm-shell .side-nav button{font-size:10px;padding:8px}.crm-shell .side-nav button svg{width:15px;height:15px}.crm-shell .topbar{padding:16px 20px}.crm-shell .topbar-right>span{display:none}.crm-shell .data-view{padding:22px 18px}.crm-shell h1{font-size:26px}.crm-shortcuts{grid-template-columns:repeat(3,1fr)}.crm-admin-links{grid-template-columns:1fr}.crm-money{gap:15px}.crm-money b{font-size:20px}.crm-list>article{align-items:start;flex-direction:column}.crm-column{min-width:270px;max-width:270px}}
@media(max-width:440px){.crm-metrics{gap:10px}.crm-metric{padding:18px 14px;border-radius:14px}.crm-metric>span{font-size:11px}.crm-metric strong{font-size:35px}.crm-metric svg{width:18px;height:18px}.crm-shortcuts button{font-size:10px;min-height:115px}.crm-bars>div{grid-template-columns:110px 1fr 20px;gap:8px;font-size:10px}.crm-toolbar input{min-width:0;width:100%}.crm-shell .panel{padding:18px}}

@media(max-width:800px){.crm-shell .sidebar .side-nav{display:none}.crm-shell .sidebar.mobile-open .side-nav{display:flex;flex-direction:row}.crm-shell .sidebar.mobile-open .side-nav button{width:auto}.crm-mobile-toggle{display:inline-flex;align-items:center;padding:9px 12px;border:1px solid #485262;background:#272e38;border-radius:8px;color:#e7edf7;font-size:12px}.crm-shell .brand>span{display:inline}.crm-shell .topbar{margin:0}.crm-shell .sidebar .brand{font-size:23px}}

.crm-shell .workspace-main{width:calc(100% - 248px);padding:0 0 40px}.crm-shell .brand{margin-bottom:0;justify-content:flex-start}
@media(max-width:800px){.crm-shell .workspace-main{width:100%;padding:0 0 25px}.crm-shell .brand>span{font-size:23px}.crm-shell .brand-mark{display:flex;flex-direction:row;gap:2px}.crm-shell .sidebar{display:block}.crm-shell .topbar{width:100%}}

.crm-shell .brand>span.brand-mark{display:flex;flex-direction:row;min-width:22px;width:22px;height:27px;align-items:flex-end}.crm-shell .brand-mark i{flex:none;width:5px}

/* Beta: readable controls and conversations grouped by contact. */
.crm-shell .side-nav button,.crm-shell .button,.crm-shell .field,.crm-shell input,.crm-shell select,.crm-shell textarea,.crm-shell .panel p{font-size:16px;line-height:1.5}
.crm-shell small,.crm-shell .crm-list small,.crm-shell .crm-money span,.crm-shell .crm-pipeline-card small,.crm-shell .crm-next,.crm-shell .crm-stage-label,.crm-shell .crm-column-empty{font-size:14px;line-height:1.5}
.crm-shell .crm-bars>div{font-size:14px;grid-template-columns:minmax(150px,1fr) 2fr 30px}
.crm-shell .crm-column{min-height:0;align-self:start}.crm-shell .crm-column>header{font-size:15px}.crm-shell .crm-stage-label select{font-size:15px}
body:has(.crm-shell) .modal .field,body:has(.crm-shell) .modal input,body:has(.crm-shell) .modal select,body:has(.crm-shell) .modal textarea,body:has(.crm-shell) .modal p{font-size:16px;line-height:1.5}
.crm-conversations{display:grid;gap:14px;margin-top:20px}.crm-conversation{border:1px solid #485262;border-radius:12px;padding:16px}.crm-conversation summary{cursor:pointer;font-size:16px}.crm-conversation summary span{margin-left:16px;color:#bac9da;font-size:14px}.crm-chat{display:grid;gap:12px;margin-top:18px}.crm-message{padding:12px 16px;border-radius:12px;background:#29313c;max-width:90%;white-space:pre-wrap;overflow-wrap:anywhere}.crm-message.outbound{justify-self:end;background:#173e42}.crm-message p{margin:6px 0}
@media(max-width:600px){.crm-shell .crm-bars>div{grid-template-columns:110px 1fr 25px}.crm-message{max-width:100%}}

.crm-shell select,body:has(.crm-shell) .modal select{color-scheme:dark;border:1px solid #526074;border-radius:8px;padding:10px 12px;min-height:44px}
.crm-shell option,body:has(.crm-shell) .modal option{background:#25292f;color:#f3f6fa}
.crm-shell .workspace-card{width:100%;text-align:left;cursor:pointer;font-family:inherit;color:inherit}.crm-shell .workspace-card:hover{border-color:#8cc7ff}
.crm-shell button:disabled{opacity:.65;cursor:wait}
.crm-shell .data-view{animation:beta-enter .15s ease-out}
@keyframes beta-enter{from{opacity:.6;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.crm-shell .data-view{animation:none}.crm-shell *{scroll-behavior:auto}}

body:has(.crm-shell) .modal table,body:has(.crm-shell) .modal th,body:has(.crm-shell) .modal td{font-size:15px!important;line-height:1.5}.crm-shell .asset-actions button,.crm-shell .asset-actions a,.crm-shell .studio-asset b{font-size:14px;line-height:1.5}
/* November CRM revision: compact phases, single primary action, drawers and explicit states. */
.crm-phase-pills,.wizard-steps{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.crm-phase-pills button[aria-pressed="true"],.wizard-steps button[aria-current="step"]{outline:2px solid #20cbd5;background:#164653;color:#fff}
.crm-compact-list{display:grid;gap:12px}.crm-compact-list .crm-pipeline-card{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px;margin:0}.crm-compact-list .card-actions{grid-column:1/-1}
.crm-phase-board{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important;gap:16px}.crm-phase-board .crm-column{width:auto;min-width:0}
.crm-card-menu{position:relative}.crm-card-menu summary{cursor:pointer;min-height:44px;padding:10px 14px;border:1px solid #64748b;border-radius:8px;font-size:16px}.crm-card-menu[open]{display:grid;gap:8px;min-width:200px}.crm-card-menu .button{display:block;width:100%;text-align:left}.crm-card-menu summary:focus-visible{outline:3px solid #22cbd6}
.crm-next.overdue{border-left:4px solid #ffb060;padding:8px;color:#ffd2aa;background:#453326}.crm-column-empty{padding:16px}.crm-phase-board header{min-height:44px}
.modal-backdrop:has(>.crm-drawer),.modal-backdrop:has(>.property-drawer){justify-content:flex-end;padding:0;background:rgba(0,0,0,.28)}
.modal.crm-drawer,.modal.property-drawer{width:min(740px,92vw);max-width:740px;height:100dvh;max-height:100dvh;border-radius:16px 0 0 16px;margin:0;overflow-y:auto;padding:28px}
.wizard-list{padding:0;list-style:none;display:grid;gap:12px}.wizard-list li{display:grid;gap:6px;padding:12px;border:1px solid #64748b;border-radius:8px}.wizard-checklist li{padding:10px}.property-drawer .project-gallery img{width:100%;max-height:160px;object-fit:contain}.wizard-steps button{min-height:44px}.modal #wizard-error{color:#ffbeae;overflow-wrap:anywhere}
.crm-pipeline-card .stage-pill{width:fit-content}.crm-toolbar label{display:flex;align-items:center;gap:8px}.crm-toolbar input[type="checkbox"]{width:22px;min-width:22px}
@media(max-width:700px){.crm-phase-board{grid-template-columns:1fr!important}.crm-compact-list .crm-pipeline-card{grid-template-columns:1fr}.modal.crm-drawer,.modal.property-drawer{width:100vw;max-width:100vw;border-radius:0;padding:20px}.crm-toolbar{flex-wrap:wrap}}

.property-art.has-cover::after{content:none!important}

.crm-phase-board .crm-column{max-width:none}.crm-compact-list .crm-pipeline-card{grid-template-columns:1fr;gap:8px}.crm-pipeline-card .crm-next{margin:0;font-size:14px}.crm-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.crm-card-heading b{font-size:17px}.crm-card-contact{display:flex;gap:8px 20px;flex-wrap:wrap;color:#cbd5e1;font-size:14px}.crm-card-contact span{overflow-wrap:anywhere}.crm-shell .crm-card-contact span{font-size:14px}.crm-pipeline-card .card-actions{margin:0}.crm-pipeline-card .stage-pill{font-size:14px}
