:root{--canvas:#f7f8fa;--surface:#fff;--text:#171923;--muted:#666d7b;--border:#e6e8ed;--accent:#56568b;--soft:#eeeef7;--green:#286c53;--danger:#b13f46;color:var(--text);background:var(--canvas);font-synthesis:none;font-family:Inter,PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:4px}:focus-visible{outline:2px solid var(--accent)}button{cursor:pointer;border:1px solid var(--border);min-height:40px;color:var(--text);background:#fff;border-radius:8px;padding:9px 14px;transition:background .12s}button:hover:not(:disabled){background:#f2f2f8}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--accent);border-color:var(--accent);color:#fff}.primary:hover:not(:disabled){background:#464678}.danger{color:var(--danger);border-color:#eacdd0}.danger-fill{color:#fff;background:var(--danger)}a{color:var(--accent);text-decoration:none}.link{min-height:28px;color:var(--accent);text-align:left;background:0 0;border:0;padding:0}.muted{color:var(--muted)}.caption,small{font-size:12px;line-height:1.65}p{line-height:1.7}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.6px;margin-bottom:10px;font-size:28px;font-weight:600}h2{margin-bottom:6px;font-size:18px;font-weight:600}h3{font-size:15px;font-weight:600}.icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round;flex-shrink:0;width:18px;height:18px}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.review-bar{color:#484872;background:#eeeef7;border-bottom:1px solid #dcdde9;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:6px 24px;font-size:12px;display:flex}.review-bar button,.review-bar select{min-height:30px;padding:4px 10px;font-size:12px}.review-bar label{align-items:center;gap:7px;display:flex}.layout{grid-template-columns:224px minmax(0,1fr);min-height:calc(100vh - 42px);display:grid}aside{border-right:1px solid var(--border);background:#fcfcfd;flex-direction:column;padding:28px 16px;display:flex}.brand{align-items:center;gap:10px;padding:0 5px;font-size:17px;font-weight:600;display:flex}.brand img{width:44px;height:44px}.brand small{color:var(--muted);margin-top:5px;font-size:10px;font-weight:400;display:block}.workspace-label{color:var(--muted);letter-spacing:1px;margin:30px 12px 16px;font-size:11px}.nav-group{color:var(--muted);margin:20px 12px 8px;font-size:11px}nav a{color:#5e6573;border-radius:8px;align-items:center;gap:11px;min-height:42px;margin-bottom:4px;padding:11px 12px;font-size:13px;display:flex}nav a.active{color:var(--accent);background:var(--soft);font-weight:600}nav a:hover{background:#f2f3f7}.identity{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:auto;padding:26px 8px 0;display:flex}.identity small{color:var(--muted);font-size:11px;display:block}.avatar{background:var(--soft);width:34px;height:34px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.content-column{min-width:0}.topbar{border-bottom:1px solid var(--border);height:64px;color:var(--muted);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:0 32px;font-size:12px;display:flex}.topbar button{font-size:12px}.mobile-toggle{display:none}.page-main{max-width:1660px;min-height:75vh;margin:0 auto;padding:32px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.page-heading p{color:var(--muted);margin:0;font-size:13px}.eyebrow{letter-spacing:2px;color:var(--accent);margin-bottom:10px;font-size:10px}.panel{border:1px solid var(--border);background:#fff;border-radius:14px;min-width:0;margin-bottom:20px;padding:24px;box-shadow:0 1px 3px #14182806}.section-top{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.section-top p{margin:0}.section-title{justify-content:space-between;align-items:center;gap:16px;margin:28px 0 16px;display:flex}.section-title h2{margin:0}.grid{gap:20px;display:grid}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.kpi{border:1px solid var(--border);background:#fff;border-radius:14px;min-width:0;padding:22px 18px}.kpi-label{color:var(--muted);justify-content:space-between;align-items:center;gap:6px;font-size:12px;display:flex}.kpi-label span{white-space:nowrap;background:#f2f3f7;border-radius:4px;padding:2px 5px;font-size:10px}.kpi strong{font-variant-numeric:tabular-nums;letter-spacing:-1px;margin:12px 0;font-size:32px;font-weight:500;display:block}.kpi small{color:var(--muted);font-size:11px}.kpi:last-child strong{color:var(--green)}.notice{color:#555e74;background:#f3f4fa;border-radius:8px;margin:16px 0;padding:13px 16px;font-size:12px;line-height:1.8}.danger-note{color:var(--danger);background:#fbecef}.table-wrap{border-radius:6px;width:100%;overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:13px}th{color:var(--muted);text-align:left;background:#f8f9fb;padding:14px;font-size:12px;font-weight:400}td{font-variant-numeric:tabular-nums;border-bottom:1px solid #edf0f4;min-height:56px;padding:16px 14px;line-height:1.6}tbody tr:hover{background:#fafbfe}tr:last-child td{border-bottom:0}td small{color:var(--muted);font-size:11px;display:block}.tag{color:#68717c;white-space:nowrap;background:#f0f2f4;border-radius:6px;padding:3px 8px;font-size:11px;display:inline-block}.tag.S{color:#286c53;background:#eaf4ee}.tag.A{color:#56568b;background:#eeeef7}.tag.B{color:#8b6528;background:#faf1df}.tag.C{color:#566b82;background:#edf1f6}.tag.red{color:var(--danger);background:#fbecef}.filters{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:22px;display:flex}.filters label{color:var(--muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.filters .search{flex:1;min-width:180px}.filters input,.filters select{min-height:40px}.advanced{margin:0 0 20px}.advanced summary{cursor:pointer;color:var(--muted);margin-bottom:16px;font-size:12px}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:22px;display:flex}.tabs button{color:#5e6573;background:#f0f2f6;border:0;font-size:12px}.tabs button.active{background:var(--soft);color:var(--accent)}input,textarea,select{color:var(--text);background:#fff;border:1px solid #dfe2e9;border-radius:8px;min-width:0;max-width:100%;padding:10px 12px}input[readonly]{color:var(--muted);background:#f5f6f8}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--accent)}textarea{resize:vertical;width:100%;min-height:110px;line-height:1.7}.field{flex-direction:column;gap:8px;font-size:13px;display:flex;position:relative}.field .required{color:var(--danger);font-size:11px;position:absolute;top:0;right:0}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-stack{gap:20px;display:grid}.checks{flex-wrap:wrap;gap:10px 16px;margin:12px 0 24px;display:flex}.checks label{align-items:center;gap:6px;min-height:32px;font-size:13px;display:flex}fieldset{border:0;margin:0;padding:0}legend{font-size:14px;font-weight:600}.empty{text-align:center;color:var(--muted);padding:52px 20px}.empty h3{color:var(--text)}.skeleton{background:#eceef3;border-radius:14px;height:150px;margin-bottom:20px}.error{color:var(--danger);font-size:13px}.modal-head{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:20px 28px;display:flex}.modal-head h2{margin:0}.icon-button{border:0;min-width:40px;padding:3px;font-size:22px}.modal-body{flex:1;min-height:0;padding:24px 28px;overflow:auto}.modal-foot{border-top:1px solid var(--border);background:#fff;flex-shrink:0;justify-content:flex-end;gap:8px;padding:18px 28px;display:flex}dialog{border:1px solid var(--border);width:640px;max-width:calc(100vw - 24px);max-height:92dvh;color:var(--text);border-radius:16px;padding:0;box-shadow:0 16px 48px #1418281a}dialog[open]{flex-direction:column;display:flex}dialog::backdrop{background:#1d21313d}dialog.drawer{border-radius:16px 0 0 16px;width:680px;height:100dvh;max-height:100dvh;margin:0 0 0 auto}.detail-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 16px;margin:24px 0;display:grid}.detail-summary dt{color:var(--muted);margin-bottom:7px;font-size:12px}.detail-summary dd{overflow-wrap:anywhere;margin:0;font-size:13px}.timeline{border-left:1px solid var(--border);margin:20px 0 8px 6px;padding-left:22px}.entry{padding-bottom:24px;position:relative}.entry:before{content:"";background:#a5a6bf;border-radius:50%;width:7px;height:7px;position:absolute;top:8px;left:-26px}.entry p{margin:6px 0}.toast{color:#fff;z-index:100;background:#25283a;border-radius:9px;max-width:90vw;padding:14px 22px;font-size:13px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.funnel{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;display:grid}.funnel strong{margin-bottom:8px;font-size:23px;font-weight:500;display:block}.funnel span{color:var(--muted);font-size:12px}.track{background:#f0f1f6;border-radius:4px;height:6px;margin-top:14px;overflow:hidden}.track i{background:#8586ae;border-radius:4px;height:100%;display:block}.bars>div{margin:18px 0}.bar-label{justify-content:space-between;gap:10px;font-size:13px;display:flex}.bar-label span:last-child{color:var(--muted);font-size:12px}.rings{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;display:grid}.ring-visual{width:156px;height:156px;margin:16px auto;position:relative}.ring-visual svg{width:100%;height:100%;transform:rotate(-90deg)}.ring-center{text-align:center;font-size:28px;position:absolute;inset:48px 0 0}.ring-center small{color:var(--muted);font-size:11px;display:block}.legend>div{justify-content:space-between;gap:10px;margin:10px 0;font-size:12px;display:flex}.legend i{border-radius:2px;width:7px;height:7px;margin-right:6px;display:inline-block}.trend{width:100%;min-width:0;height:230px}.inline-stats{flex-wrap:wrap;gap:36px;margin:20px 0;display:flex}.inline-stats strong{margin-bottom:5px;font-size:28px;font-weight:500;display:block}.inline-stats span{color:var(--muted);font-size:12px}.row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:18px 0;display:flex}.row:last-child{border:0}.row p{color:var(--muted);margin:0;font-size:12px}.diagnostic{grid-template-columns:1fr 1fr;gap:14px;display:grid}.diagnostic>div{background:#f8f9fc;border-radius:8px;padding:16px}.diagnostic p{color:var(--muted);margin:6px 0 0;font-size:12px}.learning-card{border:1px solid var(--border);border-radius:12px;flex-direction:column;align-items:flex-start;padding:24px;display:flex}.learning-card .file-icon{width:48px;height:48px;color:var(--accent);background:#f3f3f9;border-radius:10px;place-items:center;margin-bottom:24px;display:grid}.learning-card h3{margin:12px 0;line-height:1.7}.learning-card p{color:var(--muted);flex:1;font-size:12px}.learning-card .actions{margin-top:20px}.reading{white-space:pre-wrap;line-height:1.9}.login-screen{place-items:center;min-height:calc(100vh - 45px);padding:28px;display:grid}.login-card{border:1px solid var(--border);background:#fff;border-radius:16px;width:100%;max-width:450px;padding:40px}.login-card img{width:72px;height:72px;margin-bottom:24px}.login-card h1{font-size:24px}.login-card .primary{width:100%}.login-card .field{margin:24px 0}.footer{color:var(--muted);justify-content:space-between;gap:12px;padding:10px 32px 28px;font-size:11px;display:flex}.date-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.date-controls input{max-width:155px}.checklist{padding-left:22px;line-height:2}.grade-hint{color:var(--muted);font-size:12px}.skip{z-index:100;background:#fff;padding:12px;position:fixed;top:-100px;left:20px}.skip:focus{top:8px}@media (max-width:1200px){.kpis:not(.cols-4):not(.cols-3){grid-template-columns:repeat(3,minmax(0,1fr))}.grid.two{grid-template-columns:1fr}.page-main{padding:26px}.topbar{padding:0 26px}.page-heading{align-items:flex-start}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.rings{grid-template-columns:1fr}.ring-card{grid-template-columns:1fr 1.3fr;align-items:center;gap:12px;display:grid}.ring-card h3{grid-column:1/-1}.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading{flex-direction:column}.topbar .crumb{max-width:220px}.funnel{grid-template-columns:repeat(3,minmax(0,1fr))}.review-bar{flex-wrap:wrap}.review-bar>span{font-size:11px}}@media (max-width:767px){.layout{display:block}.layout>aside{display:none}.layout>aside.open{display:flex}.identity{display:none}.brand{margin-bottom:16px}.workspace-label,.nav-group{display:none}nav{grid-template-columns:1fr 1fr;gap:4px;display:grid}nav a{margin:0}.topbar{flex-wrap:wrap;height:auto;min-height:64px;padding:10px 16px}.mobile-toggle{display:inline-block}.topbar .crumb{display:none}.topbar button{padding:7px 10px;font-size:11px}.review-bar{gap:8px;padding:8px 16px}.review-bar>.actions{gap:6px}.page-main{padding:24px 16px}.page-heading{margin-bottom:24px}.page-heading h1{font-size:25px}.kpis,.kpis:not(.cols-4):not(.cols-3),.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{padding:18px 14px}.kpi strong{font-size:28px}.kpi small{font-size:10px}.panel{padding:20px 16px}.section-title{flex-direction:column;align-items:flex-start;gap:6px}.form-grid{grid-template-columns:1fr}.detail-summary{grid-template-columns:1fr 1fr}.modal-head,.modal-body,.modal-foot{padding:20px}.modal-foot{flex-wrap:wrap}dialog.drawer{border-radius:0;max-width:100vw}.grid.three,.diagnostic{grid-template-columns:1fr}.filters .search{width:100%}.footer{flex-direction:column;padding:12px 16px}.login-card{padding:28px}.section-top{gap:12px}.section-top h2{font-size:17px}.date-controls{max-width:100%}}.tag:not(.S):not(.A):not(.B):not(.C):not(.red){color:#606975}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.resource-image{object-fit:contain;max-width:100%;max-height:70vh;margin:auto;display:block}.resource-pdf{border:1px solid var(--border);border-radius:8px;width:100%;height:65vh}.button-link{border:1px solid var(--border);background:#fff;border-radius:8px;padding:9px 14px;display:inline-block}.reading,.learning-card h3,.learning-card p{overflow-wrap:anywhere}.kpi .link{text-align:left;padding:0;display:block}.ring-card .caption{grid-column:1/-1}.legend .link{font-size:12px}progress{max-width:100%;accent-color:var(--accent)}.pdf-reader canvas{border:1px solid var(--border);background:#fff;max-width:100%;height:auto;margin:14px 0}.pdf-reader{min-width:0;max-width:100%}.pdf-reader .actions{justify-content:space-between;align-items:center}.pdf-reader details{margin:12px 0}.customer-content{white-space:normal;width:260px;max-width:100%}.customer-content-trigger{text-align:left;width:100%;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-line-clamp:3;background:0 0;border:0;-webkit-box-orient:vertical;padding:0;line-height:1.8;display:-webkit-box;overflow:hidden}.customer-content-trigger small{color:var(--muted);font-size:10px;display:block}.customer-content.full{width:280px}.customer-content.full .customer-content-trigger{-webkit-line-clamp:unset;overflow:visible}.customer-hover{z-index:200;pointer-events:auto;border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border-radius:10px;width:min(420px,100vw - 24px);max-height:250px;padding:16px;font-size:13px;line-height:1.8;position:fixed;overflow:auto;box-shadow:0 10px 30px #20223826}.customer-hover strong{color:var(--muted);margin-bottom:8px;font-size:12px;display:block}.customer-list-table td[data-label=跟进记录]{min-width:270px}.customer-visit-table td{vertical-align:top}.customer-visit-table td[data-label=客户详情],.customer-visit-table td[data-label=面咨记录]{min-width:240px}.customer-reason .link{margin-top:8px}.customer-visit-table .actions{flex-direction:column;align-items:flex-start;min-width:100px}@media (max-width:767px){.mobile-follow-preview{text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;width:100%;margin:12px 0;line-height:1.7}.mobile-customer-content{overflow-wrap:anywhere;font-size:13px}.mobile-customer-content p{margin:12px 0}.customer-hover{display:none}}.customer-details-summary{white-space:pre-wrap;grid-column:1/-1;line-height:1.8}.customer-visit-table tr.customer-arrived td{background:#f3f6fb}.customer-visit-table tr.customer-arrived:hover td{background:#edf2f9}@media (max-width:767px){.customer-card.customer-arrived{background:#f3f6fb}}.sales-visit-table table{table-layout:fixed;white-space:normal;width:100%}.sales-visit-table td,.sales-visit-table th{overflow-wrap:anywhere;white-space:normal;padding:13px 8px;min-width:0!important}.sales-visit-table .customer-content,.sales-visit-table .customer-content.full{width:100%;min-width:0;max-width:100%}.sales-visit-table .customer-content-trigger{-webkit-line-clamp:2}.sales-visit-table .actions{gap:7px;min-width:0}.sales-visit-table .actions button,.sales-visit-table .appointment-edit{text-align:left;white-space:normal;padding:0}.sales-visit-table .appointment-edit small{color:var(--muted);font-size:10px}.sales-visit-table .tag{white-space:normal;overflow-wrap:anywhere;max-width:100%}.sales-visit-table .customer-content-trigger small{display:none}.sales-visit-table td .link{white-space:normal;overflow-wrap:anywhere;max-width:100%}@media (min-width:768px) and (max-width:1100px){.sales-visit-table td,.sales-visit-table th{padding:11px 5px;font-size:12px}}
.mobile-only,.mobile-bottom-nav{display:none}@media (max-width:767px){:root{font-size:15px}body{overflow-wrap:anywhere}.mobile-only{display:block}.desktop-only,.topbar .desktop-actions,.workbench-heading{display:none!important}button,.button-link,nav a,.link{min-height:44px}.icon-button{min-width:44px}input,select,textarea{min-height:48px;font-size:16px}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:20px}.checks label{min-height:44px;padding:4px 0}.tag{font-size:12px}.notice,.caption,small,.panel p{font-size:13px}.reading{font-size:16px;line-height:1.9}.review-bar{padding-top:max(8px,env(safe-area-inset-top));font-size:11px}.review-bar>span{max-width:100%}.topbar{z-index:10;background:#fffffff5;flex-wrap:nowrap;min-height:56px;padding:8px 16px;position:sticky;top:0}.mobile-page-title{color:var(--text);font-size:16px;font-weight:600}.mobile-toggle{padding:8px 12px!important;font-size:14px!important}.layout>aside.open{display:none}.page-main{padding:20px 14px 16px}.content-column{padding-bottom:calc(74px + env(safe-area-inset-bottom))}.footer{padding-bottom:12px}.toast{bottom:calc(84px + env(safe-area-inset-bottom));font-size:14px}.page-heading h1{font-size:25px}.page-heading p{font-size:14px}.panel{border-radius:16px;padding:20px 16px}.mobile-bottom-nav{z-index:30;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid var(--border);background:#fffffff7;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 18px #14182808}.mobile-bottom-nav a,.mobile-bottom-nav button{min-height:54px;color:var(--muted);background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;margin:0;padding:5px 2px;font-size:12px;display:flex}.mobile-bottom-nav .icon{width:22px;height:22px}.mobile-bottom-nav .active{background:var(--soft);color:var(--accent);font-weight:600}.mobile-more-menu{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px;display:grid}.mobile-more-menu a{background:var(--canvas);border:1px solid var(--border);min-height:52px;margin:0;padding:12px;font-size:14px}.table-wrap{outline-offset:2px;overflow:visible}table{white-space:normal;table-layout:fixed;width:100%;min-width:0;font-size:14px}thead{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}tbody{display:block}tbody tr{background:var(--surface);border:1px solid var(--border);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 16px;padding:16px;display:grid}tbody tr:last-child{border-bottom:1px solid var(--border)}td{overflow-wrap:anywhere;border:0;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:5px;min-width:0;min-height:0;padding:0;display:flex}td:before{content:attr(data-label);color:var(--muted);font-size:12px}td[colspan]{grid-column:1/-1}.table-wrap .empty{padding:20px 0}.table-wrap button,.table-wrap a{white-space:normal;max-width:100%}.table-wrap td small{font-size:13px}.customer-cards{gap:14px;display:grid}.customer-card{border:1px solid var(--border);background:#fff;border-radius:16px;min-width:0;padding:18px;box-shadow:0 2px 8px #17192304}.customer-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.customer-card h3{margin:0;font-size:18px}.customer-card h3 .link{font-size:18px;font-weight:600}.card-phone{margin:0 0 12px;font-size:16px}.card-phone a{min-height:36px;color:var(--text);font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all;align-items:center;display:inline-flex}.card-facts{grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;display:grid}.card-facts div{min-width:0}.card-facts dt{color:var(--muted);margin-bottom:4px;font-size:12px}.card-facts dd{overflow-wrap:anywhere;margin:0;font-size:14px}.card-actions{border-top:1px solid var(--border);grid-template-columns:1fr 1fr 1fr;gap:8px;padding-top:14px;display:grid}.card-actions>*{min-width:0}.card-actions button,.card-actions .button-link{text-align:center;width:100%;padding:10px 6px}.phone-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.phone-actions .button-link{justify-content:center;align-items:center;min-height:44px;display:inline-flex}.phone-actions [role=status]{width:100%;color:var(--accent);font-size:13px}.visit-card-action{width:100%;margin-top:10px}.customer-filters{grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-bottom:20px;display:grid;position:relative}.customer-filters label{width:100%;min-width:0}.customer-filters .search{grid-column:1;width:auto;min-width:0}.customer-filters .search input{width:100%}.filter-toggle{align-self:end}.customer-filters:not(.expanded)>label:not(.search),.customer-filters:not(.expanded)>button:not(.filter-toggle){display:none}.customer-filters.expanded>label:not(.search),.customer-filters.expanded>button:not(.filter-toggle){grid-column:1/-1}.filters{align-items:stretch}.filters input,.filters select{width:100%}.filters>label{min-width:0;max-width:100%}.date-controls{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.date-controls>label{min-width:0}.date-controls input,.date-controls select{width:100%;max-width:100%}dialog{max-height:min(92dvh,var(--dialog-viewport-height,92dvh));width:calc(100% - 24px);max-width:calc(100% - 24px);overflow:hidden}dialog.drawer{inset:var(--dialog-top,0px) 0 auto;width:100%;max-width:100%;height:var(--dialog-viewport-height,100dvh);max-height:var(--dialog-viewport-height,100dvh);border:0;border-radius:0;margin:0;position:fixed}.modal-head{padding:16px max(16px,env(safe-area-inset-right)) 16px max(16px,env(safe-area-inset-left));background:#fff}.modal-head h2{overflow-wrap:anywhere;font-size:20px}.modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:20px 16px;scroll-padding-bottom:24px}.modal-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));flex-wrap:nowrap;align-items:center;gap:8px}.modal-foot>button{flex:1;min-width:0}.modal-foot .detail-quick-actions{flex:3;gap:8px;min-width:0;display:flex}.detail-quick-actions>*{flex:1;min-width:0}.detail-quick-actions .button-link{width:100%}.modal-foot>.detail-quick-actions+button{flex:1}.form-grid{gap:18px}.detail-summary{grid-template-columns:1fr 1fr;gap:18px 14px}.detail-summary dd{font-size:15px}.timeline p,.timeline small{overflow-wrap:anywhere}.timeline .entry{padding-bottom:24px}.mobile-workbench{margin-bottom:26px}.mobile-workbench .section-title{flex-direction:row;align-items:center;gap:10px;margin:4px 0 18px}.mobile-workbench h1{margin:0;font-size:20px}.mobile-workbench h3{margin:24px 0 14px;font-size:17px}.mobile-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.mobile-summary a{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:16px;flex-direction:column;align-items:center;padding:18px 8px;display:flex}.mobile-summary strong{color:var(--accent);font-size:28px;font-weight:600}.mobile-summary span{text-align:center;margin-top:8px;font-size:12px}.mobile-shortcuts{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;display:grid}.mobile-shortcuts a{background:var(--soft);min-height:50px;color:var(--accent);border-radius:12px;justify-content:center;align-items:center;font-size:14px;display:flex}.learning-card{padding:20px}.learning-card h3{font-size:17px}.learning-card p{font-size:14px}.learning-card .file-icon{margin-bottom:12px}.learning-card .actions{width:100%}.learning-card .actions button{flex:1}.resource-image{max-height:60dvh}.pdf-reader .actions{gap:8px}.pdf-reader .actions input{max-width:72px}.pdf-reader .actions button{padding:10px}.login-screen{min-height:100dvh;padding:20px 16px}.login-card{padding:28px 22px}.login-card .field{margin:20px 0}button:active,.button-link:active,.mobile-bottom-nav a:active{filter:brightness(.97)}.project-stage-bar{display:none}.topbar{padding-top:max(8px,env(safe-area-inset-top))}.modal-head{padding-top:max(16px,env(safe-area-inset-top))}dialog{height:var(--dialog-content-height,auto);max-height:92vh;max-height:min(92dvh,calc(var(--dialog-viewport-height,100dvh) - 32px))}dialog:not(.drawer){top:calc(var(--dialog-top,0px) + var(--dialog-viewport-height,100vh)/2);margin:0 auto;position:fixed;bottom:auto;transform:translateY(-50%)}dialog>.modal-body{flex:auto;min-height:0;overflow:hidden auto}}.modal-content{display:contents}@media (max-width:767px){.modal-content{width:100%;min-width:0;display:flow-root}.modal-content .form-stack{grid-template-columns:minmax(0,1fr);align-content:start;min-width:0}.modal-content .field{min-width:0}.modal-content input:not([type=checkbox]):not([type=radio]),.modal-content select,.modal-content textarea{width:100%;min-width:0;max-width:100%}.modal-content input[type=file]{font-size:14px;overflow:hidden}.login-screen{padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom))}.login-card input{touch-action:manipulation}}
