/* Shared presentation layer. Business data and permissions stay in their modules. */
:root{--ink:#1d2c3c;--muted:#647487;--accent:#147d78;--line:#e1e7ed;--canvas:#f3f5f8;--green:#147d78;--border:#e1e7ed;color:var(--ink);background:var(--canvas);font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px}
button,input,select,textarea{font:inherit}button,.button-link{border-radius:9px;background:var(--accent);border-color:var(--accent);font-weight:600;transition:background .15s,box-shadow .15s}button:hover{filter:brightness(.96)}button.quiet,.secondary,.button-link.secondary{color:#405267;background:#fff;border-color:#d5dee7}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #4daea7;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #78bcb7;outline-offset:1px;border-color:var(--accent)}input,select,textarea{color:var(--ink);border-color:#ccd6e0;border-radius:8px}input::placeholder{color:#7b8897}.muted,small{color:var(--muted)}h1,h2,h3{color:var(--ink);letter-spacing:-.35px}h2{font-size:20px}.eyebrow{color:#657b91;letter-spacing:1.5px;font-weight:600}.panel{border-color:var(--line);border-radius:14px;box-shadow:0 3px 12px #1d354004}.actions{gap:9px}.actions h2{margin-right:auto}.platform-app form{box-shadow:none}.platform-app header{position:relative;z-index:4;border-color:var(--line);padding:14px 28px;min-height:74px;gap:18px}.brand{display:flex;align-items:center;gap:11px;letter-spacing:-.3px;color:var(--ink)}.brand-mark{width:34px;height:34px;background:#20354a;color:#fff!important;display:grid;place-items:center;border-radius:10px;font-size:17px;font-weight:600}.platform-app #account{font-size:12px;color:var(--muted)}.account-menu{position:relative}.account-menu summary{list-style:none;padding:10px 14px;border:1px solid var(--line);border-radius:9px;cursor:pointer;font-size:13px}.account-menu summary::-webkit-details-marker{display:none}.account-menu>div{position:absolute;right:0;top:49px;background:#fff;padding:8px;width:160px;box-shadow:0 14px 45px #152b4322;border:1px solid var(--line);border-radius:12px;display:grid;gap:5px}.account-menu button{width:100%;border:0;text-align:left}.platform-app .layout{grid-template-columns:208px minmax(0,1fr);min-height:calc(100vh - 74px)}.platform-app aside{background:#1d2e40;border:0;padding:27px 14px;color:#c1cfdd}.platform-app aside>.eyebrow{color:#98acbf;padding:0 14px;margin:0 0 17px;font-size:11px}.platform-app #units{gap:7px}.platform-app #units button{color:#bdccda;font-size:14px;padding:13px 16px;border-radius:9px;position:relative;line-height:1.4}.platform-app #units button.active{background:#32465a;color:#fff;font-weight:650}.platform-app #units button.active:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;background:#6fd1c7;border-radius:2px}.platform-app .schedule{margin-top:29px;padding:22px 14px;border-color:#ffffff18}.platform-app .schedule strong{font-size:17px;color:#e1eaf2;font-weight:600}.platform-app .schedule p,.platform-app .schedule small{color:#9bb0c1;font-size:12px;line-height:1.8}.admin-navigation{margin-top:20px;border-top:1px solid #ffffff18;padding:20px 4px}.admin-navigation summary{list-style:none;font-size:11px;color:#98acbf;padding:0 10px;cursor:pointer}.admin-navigation summary:after{content:"⌄";float:right}.admin-navigation>div{display:grid;gap:5px;margin-top:12px}.platform-app .admin-navigation button{background:transparent;border:0;color:#b9cada;text-align:left;font-size:13px;padding:11px 12px;font-weight:500}.platform-app .admin-navigation button:hover{background:#ffffff0c;color:white}.platform-app main,.platform-app .media-unit main,.platform-app .workflow-unit main{padding:22px 26px 32px}.platform-app .heading{margin:0 0 18px;min-height:40px}.platform-app .heading .eyebrow{font-size:10px;margin:0 0 6px}.platform-app .heading h1,.platform-app .workflow-unit .heading h1{font-size:24px;margin:0}.platform-app .heading button{font-size:12px;padding:9px 13px}.platform-app #notice:empty{display:none}.platform-app #dashboard{border:0;border-radius:0;background:transparent}.platform-app [data-view]:not([data-view=dashboard]):not([data-view=report]) .heading>.actions{display:none}.platform-app .media-nav{background:#e3e9ee}.platform-app .media-nav button{color:#516579}.platform-app .media-nav button.active{color:var(--accent)}.platform-app #users-panel,.platform-app #wecom-panel{margin:0;padding:27px}.platform-app th{background:#f7f9fb;color:#5a6b7d;font-size:12px;padding:15px 12px;border-bottom:1px solid var(--line)}.platform-app td{padding:16px 12px;border-color:#edf1f5;font-size:13px;white-space:normal}.platform-app td button{font-size:12px;padding:8px 10px}.platform-app .table-wrap{border:1px solid var(--line);border-radius:11px;margin-top:22px}.platform-app #users-panel>p{line-height:1.9;max-width:820px}.platform-app #users-list td:first-child{font-weight:650}.platform-app #jobs-content p{background:#f7f9fb;padding:14px;border:1px solid var(--line);border-radius:8px;line-height:1.7}.platform-app dialog{border-color:var(--line);border-radius:16px;box-shadow:0 25px 100px #162c4533}.platform-app dialog::backdrop{background:#172a42a6}.platform-app .dialog-form{width:min(490px,92vw);padding:28px}.platform-app .dialog-form h2{margin:0 0 18px}.platform-app .dialog-form input,.platform-app .dialog-form select{width:100%;min-height:44px}.platform-app .dialog-form .actions button{width:auto}.platform-app .dialog-form .check input{width:18px;min-height:18px}.onboarding-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 30px}.onboarding-steps article{background:#f6f8fb;border:1px solid var(--line);border-radius:11px;padding:18px}.onboarding-steps b{display:block;color:var(--accent);font-size:12px;letter-spacing:1px;margin-bottom:12px}.onboarding-steps strong{font-size:15px}.onboarding-steps p{color:var(--muted);font-size:12px;line-height:1.8;margin:10px 0 0}.binding-layout{display:grid;grid-template-columns:minmax(250px,350px) minmax(0,1fr);gap:28px}.binding-layout .dialog-form{border:1px solid var(--line);border-radius:12px;width:100%;padding:22px;background:#fafbfc}.binding-layout h3{margin:0;font-size:16px}.binding-layout p,.binding-layout small{line-height:1.8}.binding-layout .table-wrap{margin-top:18px}.connection-details{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.connection-details summary{cursor:pointer;color:var(--muted)}.connection-details pre{background:#f6f8fa;padding:16px;border-radius:9px;font-size:12px;line-height:2}.connection-details .button-link{display:inline-block;text-decoration:none;padding:10px 14px;color:white}.connection-details p{font-size:12px;line-height:1.8}.platform-app .signin{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:5vh 8vw;background:#f7f9fb;align-items:center}.login-intro{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;color:#3d6074;max-width:540px;padding:28px 0}.login-intro .brand{font-size:18px}.login-intro h1{font-size:46px;line-height:1.45;font-weight:620;letter-spacing:-1.6px;margin:18px 0}.login-intro>div>p:not(.eyebrow){font-size:15px;line-height:2;color:#667b8b}.intro-graphic{margin-top:36px;width:85%;color:#318d87}.login-intro>small{font-size:11px;letter-spacing:1px;color:#8092a1}.platform-app #login-form{width:100%;max-width:460px;justify-self:end;background:white;padding:42px;border:1px solid #e0e7ef;border-radius:20px;box-shadow:0 20px 80px #243d5510}.platform-app #login-form h1{font-size:25px;margin:10px 0 12px}.platform-app #login-form label{font-size:13px;margin:20px 0}.platform-app #login-form input{min-height:48px}.platform-app #login-form button{display:flex;align-items:center;justify-content:space-between;font-size:14px;min-height:49px}.wecom-login-link{display:flex;align-items:center;justify-content:center;background:#eaf5f3;color:#156e67;border:1px solid #c5e0dc;border-radius:9px;font-weight:650;padding:14px;margin:25px 0 9px}.platform-app #wecom-login-hint{font-size:11px;line-height:1.8;margin:0}.login-divider{display:flex;align-items:center;gap:14px;color:#7e8c9b;font-size:11px;margin:23px 0}.login-divider:before,.login-divider:after{content:"";height:1px;flex:1;background:var(--line)}.login-help{display:block;text-align:center;font-size:11px;line-height:1.8;margin-top:22px}
/* Delivery workspace: compact on desktop, forms and record cards on mobile. */
.delivery-app{background:var(--canvas)}.delivery-app main{max-width:1800px;padding:5px 0 24px}.delivery-app:not(.embedded-delivery) main{padding:24px}.delivery-app .page-heading{margin-bottom:20px;align-items:start}.delivery-app h1{font-size:25px;margin:8px 0}.delivery-app .subtitle{font-size:12px;color:var(--muted)}.delivery-app .identity{color:#6b7c8f}.delivery-app .tools button{font-size:12px;padding:10px 13px}.delivery-app .workspace-nav{background:#e5ebf0;border-color:#dae2e9;padding:5px;margin-bottom:18px;border-radius:11px}.delivery-app .workspace-nav button{color:#576c7f;min-width:92px;font-size:13px;padding:10px 18px}.delivery-app .workspace-nav button.active{color:#147d78;background:#fff;box-shadow:0 2px 7px #1b324511}.delivery-app .filters{border-radius:13px;padding:17px;gap:10px;border-color:var(--line);box-shadow:0 2px 8px #1d354003}.delivery-app .filters label{font-size:11px;color:#68798b;min-width:130px}.delivery-app .filters input,.delivery-app .filters select{font-size:13px;min-height:42px}.delivery-app .filters button{font-size:12px;height:42px}.delivery-app .kpis{gap:12px}.delivery-app .kpi{padding:20px 22px;border-color:var(--line);border-radius:13px;box-shadow:0 3px 12px #1d354004}.delivery-app .kpi:first-child{background:#243c52;border-color:#243c52;color:#fff}.delivery-app .kpi-label{font-size:13px;color:#53697e}.delivery-app .kpi-value{font-size:32px;letter-spacing:-1px;font-weight:650;margin:11px 0 7px}.delivery-app .kpi:first-child .kpi-label,.delivery-app .kpi:first-child small{color:#c1d3e0}.delivery-app .kpi small{font-size:11px;color:#6a7d8d}.delivery-app .workspace-heading{margin:25px 0 16px}.delivery-app .scope-note{color:#6f8090}.delivery-app .rate-card{padding:21px;border-color:var(--line);border-radius:13px}.delivery-app .rate-heading h3{font-size:14px;color:#3a5065}.delivery-app .rate-heading strong{color:#147d78;font-size:27px}.delivery-app .rate-card p{font-size:12px;color:#536a7d}.delivery-app .progress{height:6px;background:#e8eef2;margin:18px 0 12px}.delivery-app .progress span{background:#2b9690}.delivery-app .section-heading{padding:20px 22px}.delivery-app .section-heading h2{font-size:17px}.delivery-app .insurer-row b{color:#147d78}.delivery-app th{background:#f5f8fb;color:#5a6d80}.delivery-app td{border-color:#edf1f5}.delivery-app .tag{background:#e8f4f1;color:#246e61}.delivery-app .tag.amber{background:#fff2da;color:#8c681d}.delivery-app .tag.gray{background:#edf1f5;color:#64778a}.delivery-app #master-register>summary{border-color:var(--line);color:#36536b;border-radius:12px;padding:18px}.delivery-app .task-filter button{color:#577086;border-color:var(--line)}.delivery-app .task-filter button.active{background:#e4f2ef;color:#1d7368;border-color:#a6cfc7}.delivery-app .tabs button{color:#6b7c8f}.delivery-app .tabs button.active{color:#147d78;border-color:#147d78}.delivery-app .form-note,.delivery-app .rule-note{background:#f0f5f8;color:#577085}.delivery-app .form-grid .section-label{color:#237d78;border-color:var(--line)}.delivery-app .calculation-preview{border-color:#b5d8d1;background:#edf7f3;color:#226b60}.delivery-app dialog{border-color:var(--line);border-radius:16px}.delivery-app .dialog-heading{background:white}.delivery-app .dialog-actions{position:sticky;bottom:-24px;background:white;padding-bottom:15px;z-index:3}.embedded-delivery dialog[open]{position:fixed;top:var(--dialog-top,12px);bottom:auto;margin:0 auto;max-height:var(--dialog-height,85vh)}
@media(min-width:1500px){.platform-app .layout{grid-template-columns:224px minmax(0,1fr)}.platform-app main,.platform-app .workflow-unit main{padding:26px 34px}.delivery-app .rate-heading{display:flex}.delivery-app .rate-heading strong{margin:0}}
@media(max-width:1100px){.binding-layout{grid-template-columns:1fr}.platform-app .signin{padding:6vh 5vw;gap:6vw}.login-intro h1{font-size:36px}.platform-app #login-form{padding:32px}.delivery-app .page-heading{flex-wrap:wrap}.delivery-app .page-heading .tools{max-width:none;justify-content:flex-start}.delivery-app .identity{flex-basis:auto}}
@media(max-width:800px){.platform-app header{padding:12px 16px;min-height:64px;gap:9px;flex-wrap:nowrap}.platform-app header .brand{flex:1 1 auto;font-size:16px;gap:8px;white-space:nowrap}.brand-mark{width:29px;height:29px;font-size:14px;border-radius:8px}.platform-app header #account{flex:0 1 auto;max-width:125px;font-size:10px;text-align:right;line-height:1.6;overflow-wrap:anywhere}.account-menu summary{font-size:11px;padding:8px 9px;white-space:nowrap}.account-menu>div{top:40px}.platform-app .layout{display:block}.platform-app aside{padding:8px 12px;background:white;border-bottom:1px solid var(--line)}.platform-app aside>.eyebrow,.platform-app .schedule{display:none}.platform-app #units{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.platform-app #units button{flex:0 0 auto;font-size:12px;color:#65798d;padding:11px 13px;border-radius:9px}.platform-app #units button.active{background:#e8f3f1;color:#14766e}.platform-app #units button.active:before{display:none}.admin-navigation{border:0;padding:6px 0 0;margin:0}.admin-navigation summary{color:#657a8d;padding:7px 12px;font-size:11px;display:inline-block}.admin-navigation summary:after{margin-left:12px}.admin-navigation>div{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0}.platform-app .admin-navigation button{font-size:11px;color:#435d74;padding:9px 11px;background:#f2f5f8}.platform-app main,.platform-app .media-unit main,.platform-app .workflow-unit main{padding:16px 12px 28px}.platform-app .heading{align-items:center;gap:10px;margin-bottom:16px}.platform-app .heading h1,.platform-app .workflow-unit .heading h1{font-size:21px}.platform-app .heading .actions{max-width:none;gap:5px}.platform-app .heading button{font-size:11px;padding:9px 10px;min-height:36px}.platform-app .heading .eyebrow{display:none}.platform-app #users-panel,.platform-app #wecom-panel{padding:18px 14px;border-radius:12px}.platform-app .panel>p{font-size:12px;line-height:1.9}.platform-app .panel h2{font-size:18px}.platform-app .onboarding-steps{grid-template-columns:1fr;gap:8px;margin:20px 0}.onboarding-steps article{padding:13px 15px;display:grid;grid-template-columns:30px 1fr;gap:4px 8px}.onboarding-steps b{margin:0;grid-row:1/3}.onboarding-steps p{margin:0}.onboarding-steps strong{font-size:13px}.binding-layout{gap:24px}.binding-layout .dialog-form{padding:16px}.platform-app #users-panel table,.platform-app #wecom-panel table{display:block}.platform-app #users-panel thead,.platform-app #wecom-panel thead{display:none}.platform-app #users-panel tbody,.platform-app #wecom-panel tbody{display:grid;gap:12px}.platform-app #users-panel tr,.platform-app #wecom-panel tr{display:block;border:1px solid var(--line);border-radius:11px;padding:13px}.platform-app #users-panel td,.platform-app #wecom-panel td{display:flex;justify-content:space-between;align-items:center;gap:10px;border:0;padding:6px 0;overflow-wrap:anywhere}.platform-app #users-panel td:before,.platform-app #wecom-panel td:before{content:attr(data-label);color:var(--muted);font-size:11px;min-width:55px;font-weight:400}.platform-app #users-panel .table-wrap,.platform-app #wecom-panel .table-wrap{border:0;overflow:visible;margin-top:17px}.platform-app td button{min-height:38px}.platform-app .signin{display:block;padding:36px 18px;background:#f1f5f8}.login-intro{padding:0 8px 24px;max-width:none}.login-intro>div,.login-intro>small{display:none}.login-intro .brand{font-size:17px}.platform-app #login-form{max-width:480px;margin:auto;padding:28px 24px;border-radius:17px}.platform-app #login-form h1{font-size:24px}.platform-app .dialog-form{width:100%;padding:22px}.platform-app dialog{width:calc(100vw - 20px);max-width:500px;max-height:88dvh}.platform-app .dialog-form .actions{display:flex}.platform-app .dialog-form .actions button{flex:1;min-height:44px}.platform-app input,.platform-app select{font-size:16px}.platform-app .source-form{padding:16px}.delivery-app main,.delivery-app:not(.embedded-delivery) main{padding:0 0 20px}.delivery-app:not(.embedded-delivery) main{padding:16px}.delivery-app .page-heading{display:block;margin:0 0 16px}.delivery-app .page-heading>.tools{gap:7px;margin-top:12px}.delivery-app .page-heading h1{font-size:22px;margin:6px 0}.delivery-app .page-heading .eyebrow{font-size:10px}.delivery-app .subtitle{font-size:11px;line-height:1.9;max-width:90%}.delivery-app .identity{font-size:10px;flex-basis:100%;text-align:left}.delivery-app .tools button{font-size:11px;min-height:40px;padding:9px 11px}.delivery-app #create-button{margin-left:auto}.delivery-app .workspace-nav{width:100%;gap:2px;padding:4px;border-radius:10px}.delivery-app .workspace-nav button{flex:1;min-width:0;padding:11px 4px;font-size:13px;min-height:42px}.delivery-app .filters{padding:13px;gap:9px}.delivery-app .filters label{min-width:0;width:calc(50% - 5px);font-size:11px}.delivery-app .filters input,.delivery-app .filters select{font-size:14px;min-height:44px;padding:10px 8px}.delivery-app .filters .search-field{width:100%;min-width:0;order:-1;flex:auto}.delivery-app .filters button{min-height:42px;flex:1;font-size:11px;order:3;padding:8px}.delivery-app .filters label:has(#brand){flex:1;width:100%}.delivery-app .workspace-heading{display:block;margin:22px 0 14px}.delivery-app .workspace-heading h2{font-size:19px}.delivery-app .workspace-heading .tools{justify-content:start;gap:7px;margin-top:12px}.delivery-app .workspace-heading .button-link{font-size:11px;min-height:38px;padding:9px}.delivery-app .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.delivery-app .kpi{padding:16px 14px;border-radius:11px}.delivery-app .kpi-label{font-size:11px}.delivery-app .kpi-value{font-size:26px;margin:11px 0 7px}.delivery-app .kpi small{font-size:10px;line-height:1.8}.delivery-app .rate-grid{grid-template-columns:1fr;gap:9px;margin:14px 0}.delivery-app .rate-card{padding:17px;border-radius:11px}.delivery-app .rate-heading{display:flex;align-items:center}.delivery-app .rate-heading h3{font-size:13px}.delivery-app .rate-heading strong{font-size:24px;margin:0}.delivery-app .rate-card p{font-size:11px;margin-bottom:6px}.delivery-app .rate-card small{font-size:10px}.delivery-app .charts-grid{display:block}.delivery-app .section-heading{padding:18px 16px;gap:10px;flex-wrap:wrap}.delivery-app .section-heading h2{font-size:16px}.delivery-app .section-heading p{font-size:11px}.delivery-app .table-scroll tbody{padding:0 12px 12px}.delivery-app .panel .table-scroll tr{border-color:var(--line);padding:15px;border-radius:11px;background:#fbfcfd}.delivery-app .panel .table-scroll td:last-child button{font-size:12px;min-height:39px;padding:9px 13px}.delivery-app .work-table td{line-height:1.9}.delivery-app .work-table td:before{font-size:11px}.delivery-app .register-filters label{min-width:110px}.delivery-app .register-filters select{min-height:42px}.delivery-app .model-layout{padding:6px 16px 22px;gap:16px}.delivery-app .donut{width:112px;height:112px}.delivery-app .donut>div{width:82px;height:82px}.delivery-app .donut strong{font-size:24px}.delivery-app .legend>div{font-size:11px;gap:5px}.delivery-app .info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.delivery-app .form-grid{grid-template-columns:1fr;gap:18px}.delivery-app .form-grid label{font-size:12px}.delivery-app .form-grid input,.delivery-app .form-grid select,.delivery-app .form-grid textarea{font-size:16px;min-height:46px}.delivery-app .form-grid .check input{min-height:19px;width:19px}.delivery-app dialog{width:calc(100vw - 16px);border-radius:14px}.delivery-app dialog form{padding:19px}.delivery-app .dialog-heading h2{font-size:18px}.delivery-app .dialog-actions{bottom:-20px;padding-bottom:12px}.delivery-app .dialog-actions button{flex:1;min-height:46px}.delivery-app .icon-button{min-width:44px;min-height:44px}.delivery-app .form-note{font-size:11px}.delivery-app .detail-top{margin-top:5px}.delivery-app .vehicle-banner{padding:18px}.delivery-app .tabs button{padding:12px;font-size:12px}.delivery-app #master-register>summary{font-size:12px;line-height:1.8;padding:16px}.delivery-app #master-count{font-size:10px;display:block;margin:5px 0 0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:800px){.platform-app header #account{order:1}.platform-app header .account-menu{order:2}.platform-app .account-menu>div{min-width:160px}.delivery-app .form-grid input[type=checkbox]{min-height:19px}}
