.hero-actions{display:flex;gap:9px}.text-button{border:0;background:none;color:var(--c-s-b8d9a7);font-size:11px;padding:10px 0 0;font-weight:800}.detail-actions{display:flex;gap:8px;justify-content:flex-end;margin-bottom:18px}.danger{color:var(--c-m-b85b52)!important;border-color:var(--c-m-ebd3cd)!important}.modal-backdrop{position:fixed;inset:0;background:var(--c-m-122a27a8);display:grid;place-items:center;z-index:20;padding:20px}.modal-backdrop[hidden]{display:none}.modal{background:var(--c-m-ffffff);border-radius:16px;width:min(680px,100%);max-height:90vh;overflow:auto;padding:26px 28px;box-shadow:0 25px 70px var(--c-m-102b2940)}.modal-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:23px}.modal-top h2{margin:5px 0 0}.icon-button{background:none;border:0;font-size:27px;color:var(--c-m-71877a)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;align-items:center;margin-top:18px}.modal-actions span{margin-right:auto;color:var(--c-m-b85b52);font-size:11px}.login-page{min-height:100vh;display:grid;place-items:center;background:var(--c-m-eff4ef)}.login-card{width:min(420px,calc(100% - 36px));background:var(--c-m-ffffff);padding:34px;border-radius:16px;box-shadow:0 14px 45px var(--c-m-1d47301c)}.login-card .brand strong{color:var(--c-m-18382e)}.login-card .brand small{color:var(--c-m-7b9485)}.login-card h1{margin:0 0 6px}.login-card p{color:var(--c-m-80978a);font-size:12px;margin-bottom:25px}.login-card form{display:grid;gap:14px}.login-card label{font-size:12px;font-weight:800;color:var(--c-m-526f5b)}.login-card input{display:block;width:100%;margin-top:7px;border:1px solid var(--c-m-dce8dc);border-radius:8px;padding:12px}.login-card button{width:100%}#loginError{color:var(--c-m-b85b52);font-size:12px}@media(max-width:760px){.hero-actions{flex-direction:column}.hero-actions .button{font-size:11px}.modal{padding:20px}}
.admin-page{min-height:100vh;background:var(--c-m-eff4ef)}.admin-shell{max-width:1050px;margin:auto;padding:30px 18px 70px}.admin-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px}.admin-head a{color:var(--c-m-327655)}.admin-head h1{margin:12px 0 4px}.admin-head p,.admin-card p{color:var(--c-m-72897a)}.admin-card{background:var(--c-m-ffffff);border:1px solid var(--c-m-dbe8dd);border-radius:14px;padding:26px;margin-bottom:20px}.admin-card h2{margin-top:0}.admin-card h3{margin-top:28px}.admin-list{display:grid;gap:9px}.admin-row{display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid var(--c-m-e1eae2);border-radius:9px;padding:12px 14px}.admin-row small{display:block;color:var(--c-m-7d9182);margin-top:3px}.admin-row>div:last-child{display:flex;gap:7px;flex-wrap:wrap}.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-form label{font-size:12px;font-weight:700;color:var(--c-m-526f5b)}.admin-form input,.admin-form select{display:block;width:100%;margin-top:5px;border:1px solid var(--c-m-dce8dc);border-radius:8px;padding:10px}.admin-form button{align-self:end}.admin-card [role=status]{min-height:18px;font-size:12px;color:var(--c-m-327655)}@media(max-width:700px){.admin-form{grid-template-columns:1fr}.admin-row{align-items:flex-start;flex-direction:column}}

.pw-row{display:flex;gap:6px;margin-top:6px}.pw-row input{flex:1;margin-top:0!important;font-family:Consolas,monospace}.pw-row .button{padding:8px 10px}.handout{margin-top:10px;background:var(--c-m-f4f8f1);border:1px solid var(--c-m-dce7df);border-radius:9px;padding:12px 14px;font-size:12px;line-height:1.6;white-space:pre-wrap;color:var(--c-m-30483b)}.handout button{margin-top:8px}

/* One-screen layout: the page itself never scrolls; the contact list and the
   detail card scroll inside their own panes. Phones keep normal page scrolling. */
.detail-cols{display:grid;grid-template-columns:1fr;gap:18px;margin-top:16px;padding-top:16px;border-top:1px solid var(--c-m-edf1ed)}
.detail-pane{container-type:inline-size;position:relative}
@container (min-width:720px){.detail-cols{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:26px}.work-col{border-left:1px solid var(--c-m-edf1ed);padding-left:24px}}
.work-col .form textarea{min-height:90px}
@media(min-width:761px){
  html,body{height:100%}
  .shell{height:100vh;overflow:hidden}
  .sidebar{height:100vh;overflow:auto}
  .main{display:flex;flex-direction:column;height:100vh}
  .topbar{height:44px;flex:none;padding:0 22px}
  .content{flex:1;min-height:0;display:flex;flex-direction:column;max-width:none;width:100%;margin:0;padding:12px 18px 14px}
  .hero{flex:none;margin-bottom:10px}
  .hero .eyebrow,.hero p{display:none}
  .hero h1{font-size:20px;margin:0}
  .hero .button{padding:8px 13px}
  .metrics{flex:none;gap:10px;margin-bottom:10px}
  .metric{padding:8px 14px;border-radius:11px;display:flex;align-items:baseline;gap:9px;white-space:nowrap;overflow:hidden}
  .metric .value{order:-1;font-size:19px;margin:0}
  .metric .label{font-size:11px}
  .metric .hint{margin:0;overflow:hidden;text-overflow:ellipsis}
  .workspace{flex:1;min-height:0;grid-template-rows:minmax(0,1fr)}
  .list-pane{display:flex;flex-direction:column;min-height:0}
  .pane-title{flex:none;padding:12px 16px 8px}
  .pane-title h2{font-size:15px;margin:0 0 2px}
  .filters{flex:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:0 14px 10px}
  .filters>input[type=search]{grid-column:1/-1;padding:8px 10px}
  .filter-row{display:contents}
  .filters select{grid-column:span 2;padding:7px 8px;margin:0}
  .filters .check{grid-column:span 2;margin:0;align-self:center;white-space:nowrap;overflow:hidden}
  .list{flex:1;min-height:0;max-height:none}
  .lead{padding:10px 16px;gap:10px}
  .lead.active{padding-left:13px}
  .avatar{width:32px;height:32px;border-radius:9px}
  .lead-sub{margin:3px 0 6px}
  .more{flex:none;margin:8px 16px}
  .detail-pane{overflow:auto;min-height:0;padding:16px 22px 20px}
  .detail-actions{position:absolute;top:14px;right:20px;margin:0}
  .detail-actions .button{padding:7px 11px}
  .detail-head{padding-right:220px}
  .detail-head h2{font-size:20px}
  .detail-avatar{width:46px;height:46px;font-size:20px}
  .detail-pane .divider{margin:14px 0}
  .contact-grid{gap:8px}
  .info{padding:9px 12px}
  footer{display:none}
}
.badge.social{background:var(--c-m-e8f1fb);color:var(--c-m-3f6f9e)}
@container (min-width:600px){.detail-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}.work-col{border-left:1px solid var(--c-m-edf1ed);padding-left:20px}}
@container (min-width:600px) and (max-width:899px){.detail-col .contact-grid{grid-template-columns:1fr}}
@media(min-width:761px) and (max-width:1500px){.workspace{grid-template-columns:minmax(300px,40%) minmax(0,60%)}.metric .hint{display:none}.detail-head{padding-right:200px}}

.form-error{color:var(--c-m-b3443a);font-weight:800;font-size:13px}.staff{display:flex;flex-direction:column;gap:3px;margin-top:8px;font-size:12px;color:var(--c-m-4d6656)}.staff code{background:var(--c-m-eef4ef);padding:1px 5px;border-radius:4px;font-size:11px}
.theme-picker{margin:12px 0 4px}.theme-label{font-size:10px;letter-spacing:.12em;font-weight:800;margin-bottom:7px;opacity:.75}.theme-swatches{display:flex;gap:8px;flex-wrap:wrap}.theme-swatch{width:20px;height:20px;border-radius:50%;border:2px solid transparent;padding:0;cursor:pointer;box-shadow:inset 0 0 0 1px currentColor}.theme-swatch.active{outline:2px solid currentColor;outline-offset:2px}.admin-head .theme-picker{margin:10px 0 0}
.list{overflow-x:hidden}

/* --- Pipeline / CRM ------------------------------------------------------------------------ */
.metrics.funnel{display:flex;gap:6px;align-items:stretch}
.stage{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px;background:var(--c-m-ffffff);border:1px solid var(--c-m-e7ede8);border-radius:11px;padding:8px 13px;text-align:left;cursor:pointer;color:var(--c-m-30483b);transition:border-color .15s,box-shadow .15s}
.stage:hover{border-color:var(--c-m-b8d9a7)}
.stage.active{border-color:var(--c-m-24594c);box-shadow:inset 0 0 0 1px var(--c-m-24594c);background:var(--c-m-f4f8f1)}
.stage-value{font-size:19px;font-weight:800;letter-spacing:-.03em}
.stage-label{font-size:11px;font-weight:700;color:var(--c-m-7e9389);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stage-arrow{align-self:center;color:var(--c-m-b7c5be);font-weight:800}
.stage.st-new .stage-value{color:var(--c-m-6f8178)}.stage.st-work .stage-value{color:var(--c-m-3a6aa0)}.stage.st-wait .stage-value{color:var(--c-m-a97939)}.stage.st-call .stage-value{color:var(--c-m-c0662b)}.stage.st-client .stage-value{color:var(--c-m-2e8358)}.stage.st-lost .stage-value{color:var(--c-m-a0504a)}
.badge.st-work{background:var(--c-m-e6eef8);color:var(--c-m-3a6aa0)}.badge.st-wait{background:var(--c-m-f7f0e4);color:var(--c-m-a97939)}.badge.st-call{background:var(--c-m-fbece2);color:var(--c-m-c0662b)}.badge.st-client{background:var(--c-m-e2f3e6);color:var(--c-m-2e8358)}.badge.st-lost{background:var(--c-m-f6e7e5);color:var(--c-m-a0504a)}
.avatar.st-work{background:var(--c-m-e6eef8);color:var(--c-m-3a6aa0)}.avatar.st-wait{background:var(--c-m-f7f0e4);color:var(--c-m-a97939)}.avatar.st-call{background:var(--c-m-fbece2);color:var(--c-m-c0662b)}.avatar.st-client{background:var(--c-m-d9efdf);color:var(--c-m-2e8358)}.avatar.st-lost{background:var(--c-m-f2e6e4);color:var(--c-m-a0504a)}
.lead-meta{display:inline-flex;gap:7px;align-items:center;margin-left:auto;white-space:nowrap}
.badges{align-items:center}
.who{width:21px;height:21px;border-radius:50%;background:var(--c-m-dcebdd);color:var(--c-m-2b5d44);font-size:9px;font-weight:800;display:inline-grid;place-items:center;flex:none}
.who.big{width:26px;height:26px;font-size:10px;margin-right:8px;vertical-align:middle}
.ago{font-size:10px;color:var(--c-m-9aac9f)}
.due{font-size:10px;font-weight:800;color:var(--c-m-7d9186)}.due.today{color:var(--c-m-a97939)}.due.overdue{color:var(--c-m-b3443a)}
.nav b.alert{background:var(--c-s-b3443a);color:var(--c-s-ffffff);border-radius:999px;padding:1px 7px}
.status-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:2px}
.chip{border:1px solid var(--c-m-dfe7e1);background:var(--c-m-ffffff);border-radius:999px;padding:6px 11px;font-size:11px;font-weight:800;color:var(--c-m-4d6656);cursor:pointer}
.chip:hover{border-color:var(--c-m-b8d9a7)}
.chip.active{color:var(--c-m-ffffff);border-color:transparent;background:var(--c-m-6f8178)}
.chip.active.st-work{background:var(--c-m-3a6aa0)}.chip.active.st-wait{background:var(--c-m-a97939)}.chip.active.st-call{background:var(--c-m-c0662b)}.chip.active.st-client{background:var(--c-m-2e8358)}.chip.active.st-lost{background:var(--c-m-a0504a)}
.quick-dates{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}
.quick-dates button{border:1px solid var(--c-m-dfe7e1);background:var(--c-m-f9fbf9);border-radius:6px;padding:4px 8px;font-size:10px;font-weight:800;color:var(--c-m-4d6656);cursor:pointer}
.quick-dates button:hover{border-color:var(--c-m-83b69b)}
.quick-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.quick-actions .button{padding:8px 12px;font-size:12px}
.timeline{display:flex;flex-direction:column;gap:11px;margin-top:4px}
.tl-item{display:flex;gap:10px;font-size:12px}
.tl-dot{width:9px;height:9px;border-radius:50%;margin-top:4px;flex:none;background:var(--c-m-8a9a91)}
.tl-dot.st-work{background:var(--c-m-3a6aa0)}.tl-dot.st-wait{background:var(--c-m-a97939)}.tl-dot.st-call{background:var(--c-m-c0662b)}.tl-dot.st-client{background:var(--c-m-2e8358)}.tl-dot.st-lost{background:var(--c-m-a0504a)}
.tl-meta{font-size:10px;color:var(--c-m-89a095);font-weight:700}.tl-meta a{color:var(--c-m-467c60)}
.tl-text{color:var(--c-m-30483b);line-height:1.45;overflow-wrap:anywhere}
.workspace[hidden],.summary[hidden]{display:none!important}
.summary{flex:1;min-height:0;overflow:auto;background:var(--c-m-ffffff);border:1px solid var(--c-m-e3eae5);border-radius:16px;padding:22px 26px}
.sum-head h2{margin:0 0 4px;font-size:19px}.sum-head p{margin:0;color:var(--c-m-7b8d86);font-size:12px}
.sum-progress{height:8px;background:var(--c-m-edf1ed);border-radius:99px;overflow:hidden;margin:14px 0 20px}.sum-progress span{display:block;height:100%;background:var(--c-m-2e8358);border-radius:99px}
.sum-table{width:100%;border-collapse:collapse;font-size:12px}
.sum-table th{text-align:left;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--c-m-89a095);padding:8px 10px;border-bottom:1px solid var(--c-m-edf1ed)}
.sum-table td{padding:10px;border-bottom:1px solid var(--c-m-edf1ed);color:var(--c-m-30483b)}
.sum-table td.num{font-weight:800;font-size:15px}.sum-table td.good{color:var(--c-m-2e8358)}.sum-table td.bad{color:var(--c-m-b3443a)}
.sum-table tr.off td{opacity:.55}.sum-table small{color:var(--c-m-89a095)}
@media(min-width:761px){
  .filters>input[type=search]{grid-row:1;grid-column:1/5}
  .filters .check{grid-row:1;grid-column:5/7}
}

/* Save / quick actions stay visible at the bottom of the card while it scrolls. */
.work-actions{position:sticky;bottom:-20px;z-index:3;background:var(--c-m-ffffff);margin:14px -6px 0;padding:12px 6px;border-top:1px solid var(--c-m-edf1ed);flex-wrap:wrap}
.action-buttons{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}
.action-buttons .button{padding:9px 12px}
