:root{--bg:#f5f7fb;--surface:#fff;--text:#172033;--muted:#657089;--border:#dfe4ec;--primary:#2457d6;--primary-dark:#1946b7;--danger:#c73535;--success:#168453;--warning:#a86605;--purple:#7146c7;--radius:12px;--shadow:0 1px 2px rgba(16,24,40,.06),0 5px 18px rgba(16,24,40,.04)}
*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:15px}body{margin:0;min-height:100vh}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.sidebar{background:#14213d;color:#fff;padding:22px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;z-index:20}.brand{font-size:1.2rem;font-weight:750;padding:4px 12px 22px;letter-spacing:-.02em;color:#fff}.brand small{display:block;font-size:.7rem;color:#9fb0d2;text-transform:uppercase;letter-spacing:.09em;margin-top:3px}.nav-section{color:#7f91b5;font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:18px 12px 7px}.sidebar a{color:#cbd5e8}.sidebar .pure-menu-link{border-radius:8px;margin:2px 0;padding:10px 12px;display:flex;gap:10px;align-items:center}.sidebar .pure-menu-link:hover,.sidebar .pure-menu-link:focus,.sidebar .is-active{background:#243454;color:#fff;text-decoration:none}.nav-icon{width:20px;text-align:center}.sidebar-footer{margin-top:auto;border-top:1px solid #2d3b58;padding-top:13px}.main{min-width:0}.topbar{height:72px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:20px;padding:0 28px;position:sticky;top:0;z-index:15}.menu-toggle{display:none;border:0;background:transparent;font-size:1.4rem}.page-title{font-size:1.14rem;margin:0;white-space:nowrap}.global-search{margin-left:auto;position:relative;width:min(340px,35vw)}.global-search input{width:100%;border:1px solid var(--border);border-radius:9px;padding:9px 12px 9px 35px;background:#f8fafc}.global-search:before{content:"⌕";position:absolute;left:12px;top:6px;font-size:1.2rem;color:var(--muted)}.user-menu{display:flex;gap:9px;align-items:center;color:var(--text)}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e6edff;color:var(--primary);font-weight:750}.content{padding:26px 28px 50px;max-width:1540px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.page-head h1{font-size:1.55rem;margin:0 0 5px;letter-spacing:-.025em}.page-head p{margin:0;color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap}.pure-button{border-radius:8px;font-weight:650;background:#eef1f6;color:#27344d}.button-primary{background:var(--primary);color:#fff}.button-danger{background:#fff0f0;color:var(--danger)}.button-success{background:#e8f7f0;color:var(--success)}.button-small{padding:.52em .85em;font-size:.86rem}.button-block{width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-header{padding:17px 19px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.card-header h2,.card-header h3{margin:0;font-size:1rem}.card-body{padding:19px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric{padding:18px}.metric-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}.metric-value{font-size:1.75rem;font-weight:760;margin:9px 0 4px;letter-spacing:-.035em}.metric-note{color:var(--muted);font-size:.78rem}.metric.blue{border-top:3px solid var(--primary)}.metric.amber{border-top:3px solid #d88b16}.metric.green{border-top:3px solid var(--success)}.metric.purple{border-top:3px solid var(--purple)}.secondary-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:22px}.mini-metric{padding:13px 15px}.mini-metric strong{display:block;font-size:1.1rem;margin-top:4px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px;margin-bottom:18px}.stack{display:grid;gap:18px}.attention-list,.task-list,.timeline,.search-results{list-style:none;margin:0;padding:0}.attention-item,.task-row{display:flex;gap:11px;align-items:flex-start;padding:12px 0;border-bottom:1px solid #edf0f5}.attention-item:last-child,.task-row:last-child{border:0}.attention-dot{width:9px;height:9px;border-radius:50%;margin-top:6px;background:var(--warning);flex:none}.attention-dot.overdue{background:var(--danger)}.attention-dot.today{background:var(--primary)}.attention-dot.closing{background:var(--purple)}.attention-copy{flex:1;min-width:0}.attention-copy a{font-weight:650;color:var(--text)}.meta{color:var(--muted);font-size:.8rem;margin-top:3px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:700;background:#eef1f6;color:#526078;white-space:nowrap}.badge-new{background:#edf0f5;color:#49566d}.badge-qualified{background:#e7efff;color:#2457d6}.badge-proposal{background:#fff3dd;color:#9a5d00}.badge-closing{background:#f1eafd;color:#7043bd}.badge-won,.badge-completed{background:#e6f5ed;color:#14764a}.badge-lost,.badge-overdue{background:#fde8e8;color:#b52d2d}.badge-high{background:#fde8e8;color:#b52d2d}.badge-medium{background:#fff3dd;color:#9a5d00}.badge-low{background:#e8f1ff;color:#3361a8}.filter-bar{padding:13px;display:flex;gap:9px;align-items:end;flex-wrap:wrap;margin-bottom:16px}.filter-bar label{font-size:.76rem;color:var(--muted);display:grid;gap:4px}.filter-bar input,.filter-bar select{border:1px solid var(--border);border-radius:7px;padding:8px 9px;background:#fff}.kanban-wrap{overflow-x:auto;padding-bottom:8px}.kanban{display:grid;grid-template-columns:repeat(4,minmax(275px,1fr));gap:13px;min-width:1140px}.kanban-column{background:#edf0f5;border:1px solid #e0e5ee;border-radius:var(--radius);padding:12px;min-height:420px}.kanban-column.drag-over{outline:2px solid var(--primary);background:#e8eeff}.kanban-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:13px}.kanban-head h2{font-size:.93rem;margin:0}.kanban-subtitle{font-size:.72rem;color:var(--muted);margin-top:2px}.count{background:#fff;border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:.72rem}.pipeline-card{background:#fff;border:1px solid var(--border);border-left:3px solid #a7b0c0;border-radius:9px;padding:13px;margin-bottom:9px;box-shadow:0 1px 2px rgba(20,30,50,.04);cursor:grab}.pipeline-card[data-stage="qualified"]{border-left-color:var(--primary)}.pipeline-card[data-stage="proposal"]{border-left-color:#d88b16}.pipeline-card[data-stage="closing"]{border-left-color:var(--purple)}.pipeline-card.is-dragging{opacity:.55}.pipeline-card h3{font-size:.91rem;margin:0 0 3px}.pipeline-card h3 a{color:var(--text)}.company{font-size:.79rem;color:var(--muted)}.card-requirement{font-size:.82rem;margin:10px 0;line-height:1.4}.card-foot{display:flex;justify-content:space-between;gap:7px;align-items:flex-end;font-size:.74rem;color:var(--muted)}.empty-state{text-align:center;color:var(--muted);padding:36px 15px}.table-wrap{overflow-x:auto}.pure-table{width:100%;border:0}.pure-table th{background:#f7f8fa;color:#59657a;font-size:.73rem;text-transform:uppercase;letter-spacing:.035em}.pure-table th,.pure-table td{border-left:0;border-bottom:1px solid var(--border);padding:11px 12px;vertical-align:top}.pure-table tr:last-child td{border-bottom:0}.record-link{font-weight:680;color:var(--text)}.form-card{max-width:920px}.pure-form label{font-weight:650;color:#354158;font-size:.84rem;margin-bottom:5px}.pure-form input:not([type=checkbox]):not([type=radio]),.pure-form select,.pure-form textarea{width:100%;border:1px solid #cfd6e2;border-radius:8px;box-shadow:none;padding:.72em .75em}.pure-form textarea{min-height:100px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid .full{grid-column:1/-1}.field-label{display:inline-block}.required-marker{color:var(--danger);font-weight:700}.help{font-size:.76rem;color:var(--muted);margin-top:4px}.form-actions{display:flex;gap:9px;border-top:1px solid var(--border);padding-top:17px;margin-top:19px}.detail-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.detail-header h1{margin:0 0 6px;font-size:1.55rem}.detail-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:18px}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 24px}.info-item dt{font-size:.72rem;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:4px}.info-item dd{margin:0;line-height:1.45}.contact-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.next-action{border-left:4px solid var(--primary)}.timeline{position:relative;margin-left:7px}.timeline:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:#e1e6ef}.timeline-item{position:relative;padding:0 0 18px 29px}.timeline-dot{position:absolute;left:0;top:4px;width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid var(--primary)}.timeline-item h4{margin:0 0 3px;font-size:.88rem}.timeline-item p{margin:0;font-size:.83rem;line-height:1.45}.timeline-time{font-size:.73rem;color:var(--muted);margin-top:4px}.detail-section{margin-bottom:18px}.quick-form{background:#f8fafc;border:1px solid var(--border);border-radius:9px;padding:13px;margin-top:13px}.quick-form summary{font-weight:680;cursor:pointer}.quick-form form{margin-top:13px}.inline-form{display:inline}.status-banner{padding:12px 16px;border-radius:9px;margin-bottom:16px;background:#eef2f8}.status-banner.lost{background:#fdecec;color:#982727}.status-banner.won{background:#e8f6ef;color:#116f45}.chart-bars{display:grid;gap:12px}.chart-row{display:grid;grid-template-columns:90px 1fr 55px;gap:10px;align-items:center;font-size:.8rem}.bar-track{height:10px;border-radius:99px;background:#edf0f5;overflow:hidden}.bar{height:100%;border-radius:99px;background:var(--primary);min-width:2px}.chart-row:nth-child(2) .bar{background:#5a78d6}.chart-row:nth-child(3) .bar{background:#d88b16}.chart-row:nth-child(4) .bar{background:var(--purple)}.donut-summary{display:flex;align-items:center;gap:22px}.donut{--won:50%;width:108px;height:108px;border-radius:50%;background:conic-gradient(var(--success) 0 var(--won),var(--danger) var(--won) 100%);position:relative}.donut:after{content:"";position:absolute;inset:20px;background:#fff;border-radius:50%}.legend{display:grid;gap:8px;font-size:.82rem}.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px}.flash{padding:12px 15px;border-radius:9px;margin-bottom:18px;background:#e8f6ef;color:#116f45;border:1px solid #bee4cf}.flash.error{background:#fdecec;color:#982727;border-color:#f5c8c8}.flash.info{background:#eaf1ff;color:#264f9c;border-color:#c9dafb}.pagination{display:flex;gap:5px;margin-top:15px}.pagination a,.pagination span{padding:7px 10px;border:1px solid var(--border);border-radius:7px;background:#fff}.pagination .current{background:var(--primary);color:#fff}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.quick-actions a{text-align:center}.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:#f4f6fa}.login-brand{background:#14213d;color:#fff;padding:8vw;display:flex;flex-direction:column;justify-content:center}.login-brand h1{font-size:3rem;letter-spacing:-.05em;margin:0 0 12px}.login-brand p{color:#b9c7e0;max-width:480px;font-size:1.05rem;line-height:1.6}.login-panel{display:grid;place-items:center;padding:30px}.login-card{width:min(420px,100%);padding:28px}.login-card h2{margin:0 0 7px}.login-card form{margin-top:24px}.login-card .pure-control-group{margin-bottom:14px}.login-card .pure-control-group label{display:block;text-align:left;width:auto}.login-card .pure-control-group input{width:100%}.mobile-overlay{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body,.pure-g [class*="pure-u"]{font-family:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
button,input,select,textarea,.pure-button{font-family:inherit}
/* PureCSS fixes select height at 2.25em; allow room for the app's padding and font. */
.pure-form select{height:auto;min-height:2.85em;line-height:1.4;padding:.65em .75em;background-color:#fff;color:var(--text)}
.pure-form select option,.pure-form select optgroup{background-color:#fff;color:var(--text)}
.customer-picker{min-width:0}
.customer-combobox{position:relative}
.customer-input-row{display:flex;gap:8px;align-items:center}
.pure-form .customer-input-row input{flex:1;min-width:0;font-weight:400}
.customer-input-row button{flex:none}
.customer-popover{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:12;background:#fff;border:1px solid #c8d4e8;border-radius:10px;box-shadow:0 10px 28px rgba(20,33,61,.16);overflow:hidden}
.customer-search-feedback{margin:0;padding:10px 12px;border-bottom:1px solid var(--border);font-size:.8rem;color:var(--muted)}
.customer-results{max-height:280px;overflow-y:auto;overscroll-behavior:contain}
.customer-result{display:flex;flex-direction:column;gap:4px;text-align:left;width:100%;padding:11px 13px;border:0;border-bottom:1px solid #edf0f5;background:#fff;color:var(--text);cursor:pointer;overflow-wrap:anywhere}
.customer-result strong{font-size:.88rem}
.customer-result span,.customer-result small{font-size:.78rem;color:var(--muted)}
.customer-result:hover,.customer-result[aria-selected="true"],.customer-result:focus-visible{background:#edf4ff;outline:2px solid var(--primary);outline-offset:-2px}
.customer-result-actions{padding:8px 12px;display:flex;gap:8px}
.customer-picker [hidden]{display:none!important}
.customer-search-feedback{font-weight:400;line-height:1.5}
.customer-selection{background:#edf4ff;border-radius:7px;padding:9px 11px;color:#294c83;line-height:1.5;overflow-wrap:anywhere}
.form-grid[hidden]{display:none}
.kanban-column[data-drop-stage="new"]{background:#edf1f6;border-color:#cdd6e2}
.kanban-column[data-drop-stage="qualified"]{background:#eaf1ff;border-color:#bbcff5}
.kanban-column[data-drop-stage="proposal"]{background:#fff5df;border-color:#eed39a}
.kanban-column[data-drop-stage="closing"]{background:#f1eafd;border-color:#d6c3ef}
.kanban-column[data-column-stage="won"]{background:#e7f5ed;border-color:#b7ddc7}
.kanban-column[data-column-stage="lost"]{background:#fcecec;border-color:#efc0c0}
.kanban-column[data-column-stage="archived"]{background:#edf0f5;border-color:#cdd6e2}
.kanban-column[data-drop-stage="qualified"] .kanban-head h2{color:#204cae}
.kanban-column[data-drop-stage="proposal"] .kanban-head h2{color:#875200}
.kanban-column[data-drop-stage="closing"] .kanban-head h2{color:#6238a0}
.kanban-column[data-column-stage="won"] .kanban-head h2{color:#14764a}
.kanban-column[data-column-stage="lost"] .kanban-head h2{color:#a32929}
.kanban-column.drag-over{outline:2px solid var(--primary);outline-offset:-2px}
.kanban-opportunities{grid-template-columns:repeat(var(--columns,2),minmax(280px,1fr));min-width:0}
.board-hint{margin-bottom:14px;line-height:1.6}
.pipeline-card:not([draggable="true"]){cursor:auto}
.pipeline-card[data-stage="won"]{border-left-color:var(--success)}
.pipeline-card[data-stage="lost"]{border-left-color:var(--danger)}
.pipeline-card .card-foot{margin-top:12px}
.pure-form .date-time-field{margin:0;padding:0;border:0;min-width:0}
.pure-form .date-time-field legend{border:0;padding:0;margin:0 0 6px;font-size:.88rem;color:var(--text);width:auto}
.date-time-inputs{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:8px}
.pure-form .date-time-inputs label{font-size:.76rem;color:var(--muted);margin:0}
.date-time-inputs input{width:100%;min-width:0}
.date-time-field .help{display:block}
.date-picker{display:block;position:relative;min-width:0}
.date-picker input[data-date-input]{width:100%;min-width:0;padding-right:48px}
.date-picker-button{position:absolute;right:1px;top:1px;bottom:1px;width:44px;min-height:40px;display:grid;place-items:center;border:0;border-radius:0 7px 7px 0;background:transparent;color:var(--primary);cursor:pointer}
.date-picker-button:hover{background:#edf4ff}
.date-picker-button:focus-visible{outline:2px solid var(--primary);outline-offset:-3px}
.date-picker input.date-picker-native{position:absolute;right:0;bottom:0;width:1px;height:1px;min-height:0;margin:0;padding:0;border:0;opacity:0;pointer-events:none}
.pure-form [data-custom-source][hidden]{display:none}
#log-activity{scroll-margin-top:90px}
.task-workspace{display:grid;gap:15px;margin-top:15px}
.task-work-card{overflow:hidden}
.task-work-card.task-overdue{border-left:3px solid var(--danger)}
.task-work-content{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr);gap:24px;padding:22px}
.task-work-main h2{font-size:1.05rem;line-height:1.5;margin:12px 0 8px}
.task-description{font-size:.87rem;color:var(--muted);line-height:1.6;margin:0 0 14px;overflow-wrap:anywhere}
.task-deadline{display:flex;gap:8px;flex-wrap:wrap;font-size:.85rem;margin:14px 0 5px}
.task-deadline span{color:var(--muted)}
.task-deadline time{font-weight:600}
.task-overdue .task-deadline time{color:var(--danger)}
.task-contact{border-left:1px solid var(--border);padding-left:24px;min-width:0}
.task-contact-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--muted);margin-bottom:9px}
.contact-line{display:block;font-size:.84rem;margin-top:7px;overflow-wrap:anywhere}
.task-related{display:block;font-size:.8rem;margin-top:12px;line-height:1.5;overflow-wrap:anywhere}
.contact-quick-actions{margin-top:13px}
.task-work-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:13px 22px;border-top:1px solid var(--border);background:#fafbfd}
.task-work-actions form{margin:0}
@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,1fr)}.secondary-metrics{grid-template-columns:repeat(3,1fr)}.dashboard-grid,.detail-layout{grid-template-columns:1fr}.global-search{width:min(280px,34vw)}}
@media(max-width:760px){.task-work-content{grid-template-columns:minmax(0,1fr);gap:18px;padding:18px}.task-contact{border-left:0;border-top:1px solid var(--border);padding:16px 0 0}.task-work-actions{padding:13px 18px}.task-work-actions>.actions{width:100%;flex-wrap:wrap}}
@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-260px;width:244px;transition:left .18s ease}.nav-open .sidebar{left:0}.mobile-overlay{position:fixed;inset:0;background:rgba(12,21,39,.45);z-index:19}.nav-open .mobile-overlay{display:block}.menu-toggle{display:block}.topbar{height:62px;padding:0 14px;gap:10px}.page-title,.user-name{display:none}.global-search{width:auto;flex:1}.content{padding:18px 14px 40px}.page-head,.detail-header{align-items:stretch;flex-direction:column}.metrics{grid-template-columns:1fr 1fr;gap:9px}.secondary-metrics{grid-template-columns:1fr 1fr}.metric{padding:14px}.metric-value{font-size:1.4rem}.form-grid,.info-grid{grid-template-columns:1fr}.quick-actions{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-panel{padding:18px}.filter-bar{align-items:stretch}.filter-bar label{width:100%}.filter-bar .pure-button{width:100%}}
@media(max-width:430px){.metrics,.secondary-metrics{grid-template-columns:1fr}.user-menu .avatar{display:none}}
/* Consistent feedback for mouse, keyboard, and touch controls. */
.pure-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;max-width:100%;border:1px solid transparent;line-height:1.35;white-space:normal;text-align:center;touch-action:manipulation;transition:background-color .16s ease,box-shadow .16s ease,transform .12s ease,border-color .16s ease}
.pure-button:hover,.pure-button:focus{background-image:none;text-decoration:none}
.pure-button.button-small{min-height:40px}
.pure-button:focus-visible,.menu-toggle:focus-visible,a[data-task-detail]:focus-visible{outline:3px solid #729bff;outline-offset:3px;box-shadow:0 0 0 4px #2457d61a}
.pure-button:active:not(:disabled):not(.pure-button-disabled){background-image:none;transform:translateY(1px) scale(.98);box-shadow:inset 0 1px 3px #14213d24}
.pure-button:disabled,.pure-button-disabled,.pure-button[aria-disabled="true"]{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}
.pure-button[aria-busy="true"]{cursor:wait;opacity:.8}
.pure-button[aria-busy="true"]:before,.task-modal-loading:before{content:"";display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;flex:none;animation:control-spin .7s linear infinite}
.actions{align-items:center}
.actions form{margin:0;max-width:100%}
.form-actions{flex-wrap:wrap}
.menu-toggle{min-width:44px;min-height:44px;border-radius:8px;cursor:pointer;touch-action:manipulation}
@media(hover:hover){
  .pure-button:hover:where(:not(:disabled):not(.pure-button-disabled):not([aria-disabled="true"])){background-color:#e2e8f2;border-color:#c5d1e2;box-shadow:0 3px 8px #14213d12;transform:translateY(-1px)}
  .pure-button.button-danger:hover:where(:not(:disabled):not(.pure-button-disabled):not([aria-disabled="true"])){background-color:#fce0e0;border-color:#f2b9b9}
  .pure-button.button-success:hover:where(:not(:disabled):not(.pure-button-disabled):not([aria-disabled="true"])){background-color:#d4efdf;border-color:#a8d9bf}
  .pure-button:active:not(:disabled):not(.pure-button-disabled){transform:translateY(1px) scale(.98)}
}
.pure-button.button-primary:is(:hover,:focus-visible,:active):where(:not(:disabled):not(.pure-button-disabled):not([aria-disabled="true"])){background-color:var(--primary-dark);border-color:var(--primary-dark);color:#fff;text-decoration:none}
.task-summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 22px}
.task-summary.task-overdue{border-left:3px solid var(--danger)}
.task-summary-main{flex:1;min-width:0}
.task-summary h2{font-size:1.05rem;line-height:1.5;margin:10px 0 6px;overflow-wrap:anywhere}
.task-summary h2 a{color:var(--text)}
.task-summary-customer,.task-row .attention-copy{overflow-wrap:anywhere}
.task-summary .task-deadline{margin-top:10px}
.task-summary-actions{flex-shrink:0}
.task-modal-open{overflow:hidden}
.task-modal{padding:0;width:min(960px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 48px);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 80px #0c152740;overflow:auto;overscroll-behavior:contain}
.task-modal:not([open]){display:none}
.task-modal[open]{animation:modal-enter .18s ease-out}
.task-modal::backdrop{background:#0c1527a6}
.task-modal-header{position:sticky;top:0;z-index:1;background:var(--surface);padding:16px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px}
.task-modal-header h2{font-size:1.16rem;margin:3px 0 0}
.task-modal-close{width:44px;flex:none;font-size:1.65rem;padding:0}
.task-modal-body{min-height:160px}
.task-modal-body .task-work-card{border:0;border-radius:0;box-shadow:none}
.task-modal-body .task-work-main h2,.task-modal-body .record-link{overflow-wrap:anywhere}
.task-modal-body .task-work-actions{padding-bottom:20px}
.task-modal-loading{display:flex;justify-content:center;align-items:center;gap:10px;padding:40px 22px;color:var(--muted)}
.task-modal-error{padding:22px}
.task-modal.is-create .page-head{margin:0;padding:18px 22px 0;font-size:.88rem;line-height:1.6}
.task-modal.is-create .form-card{border:0;border-radius:0;box-shadow:none;max-width:none;margin:0}
.task-modal.is-create .card-body{padding:18px 22px 22px}
.task-modal.is-create .card-body>h2{font-size:1rem;margin-top:0}
.task-modal.is-create .card-body>hr{border:0;border-top:1px solid var(--border);margin:20px 0}
.task-modal.is-create .flash:focus{outline:2px solid var(--danger);outline-offset:3px}
.task-modal [hidden]{display:none!important}
@keyframes control-spin{to{transform:rotate(360deg)}}
@keyframes modal-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.task-summary{align-items:flex-start;flex-direction:column;gap:14px}.task-summary-actions{width:100%}}
@media(max-width:760px){.pure-button.button-small{min-height:44px}.page-head>.actions>*{flex:1}.form-actions>*{flex:1}.task-row{flex-wrap:wrap;align-items:center}.task-row .attention-copy{flex-basis:calc(100% - 100px)}.task-summary{padding:18px}.task-summary-actions>*{flex:1}.task-summary-actions form .pure-button{width:100%}.task-modal{width:calc(100% - 20px);max-height:calc(100dvh - 24px);border-radius:12px}.task-modal-header{padding:13px 16px}.task-modal .task-work-actions .actions>*{flex:1}.task-modal .task-work-actions form .pure-button{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* Shared contextual actions for Lead and Opportunity details. */
.record-actions .quick-form{margin-top:0;padding:0}
.record-actions .quick-form form{margin:0;padding:0 13px 13px}
.opportunity-outcomes{display:grid;gap:10px;min-width:0}
.record-actions summary{padding:10px 13px;min-height:44px;display:flex;align-items:center;gap:8px;list-style:none}
.record-actions summary::-webkit-details-marker{display:none}
.record-actions summary::before{content:'▸';flex:none}
.record-actions details[open]>summary::before{content:'▾'}
.record-actions summary:focus-visible{outline:2px solid var(--primary);outline-offset:4px;border-radius:4px}
.record-actions .outcome-won{background:#e8f7f0;border-color:#bee4cf}
.record-actions .outcome-won summary{color:var(--success)}
.record-actions .outcome-lost summary{color:var(--danger)}
.record-actions .stage-back{background:transparent;color:var(--muted);font-weight:500}
.record-actions .action-saving{display:none}
.record-actions form[aria-busy="true"] .action-ready{display:none}
.record-actions form[aria-busy="true"] .action-saving{display:inline}
.record-actions form{min-width:0}

/* Sales board: animated movement and clear drop feedback. */
.kanban-column{transition:background-color .18s ease,box-shadow .18s ease,opacity .18s ease}
.kanban-column .empty-state[hidden]{display:none}
.pipeline-card{transition:box-shadow .18s ease,border-color .18s ease}
.pipeline-card:focus-visible{outline:3px solid #729bff;outline-offset:3px}
.pipeline-card.pipeline-chosen{box-shadow:0 12px 28px #14213d29;border-color:#729bff;cursor:grabbing}
.pipeline-card.pipeline-ghost{opacity:.25;border:2px dashed var(--primary);background:#eaf1ff}
.pipeline-card.pipeline-floating{opacity:.95!important;box-shadow:0 18px 40px #14213d38;cursor:grabbing;z-index:1000!important;pointer-events:none}
.board-dragging .drop-denied{opacity:.45}
.board-dragging .drop-allowed{box-shadow:inset 0 0 0 2px #729bff55}
.board-dragging .drag-over{box-shadow:inset 0 0 0 2px var(--primary);background:#e8eeff}
.pipeline-card.move-saving{opacity:.65;cursor:wait}
.board-feedback{padding:10px 13px;border-radius:8px;background:#e8f6ef;color:#116f45;font-size:.85rem;margin:0 0 12px}
.board-feedback.is-error{background:#fdecec;color:#982727}
.board-feedback[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.kanban-column,.pipeline-card{transition:none!important}}

.pipeline-card[tabindex="0"]{cursor:grab}
