:root{font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif;color:#0b2546;background:#eaf4ff;font-synthesis:none;--navy: #092547;--blue: #1879de;--blue-soft: #edf7ff;--muted: #74859a;--line: #d9e4ef;--surface: rgba(255,255,255,.96);--success: #20a665;--danger: #c75353}*{box-sizing:border-box}html{min-width:320px;background:#eaf4ff;scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:#eaf4ff;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding-bottom:46px;background:#eff8ff url(/brand/mobile-background.png) center top / cover fixed no-repeat}.topbar{height:72px;display:flex;align-items:center;padding:0 20px;background:#fffffff2;border-bottom:1px solid rgba(208,224,239,.9);box-shadow:0 4px 20px #1044740a}.brand-lockup{display:flex;min-width:0;align-items:center;gap:9px}.brand-lockup>i{width:1px;height:25px;flex:0 0 auto;margin:0 2px;background:#c7d2de}.brand-mark{width:43px;height:43px;display:grid;place-items:center;border-radius:11px;color:#fff;background:var(--blue)}.brand-image{width:44px;height:44px;flex:0 0 auto;object-fit:contain}.brand-name,.brand-site{margin:0;white-space:nowrap}.brand-name{color:var(--navy);font-size:20px;font-weight:800;letter-spacing:.025em}.brand-site{overflow:hidden;color:#263a52;font-size:13px;font-weight:500;text-overflow:ellipsis}.layout{width:min(100%,920px);margin:0 auto;padding:38px 16px 0}.sidebar{min-width:0}.sidebar-intro{margin:0 8px 24px}.sidebar-intro h1{margin:0 0 7px;color:var(--navy);font-size:34px;line-height:1.16;letter-spacing:-.045em}.sidebar-intro p{margin:0;color:#52677f;font-size:15px;line-height:1.6}.form-nav{display:grid;overflow:hidden;margin-bottom:24px;border:1px solid rgba(217,229,241,.72);border-radius:17px;background:#fffffff2;box-shadow:0 16px 42px #2a609117}.nav-item{position:relative;display:flex;min-width:0;min-height:78px;align-items:center;gap:14px;width:100%;padding:12px 16px 12px 19px;border:0;border-bottom:1px solid #e5edf5;color:var(--navy);background:transparent;text-align:left;transition:background-color .18s ease}.nav-item:last-child{border-bottom:0}.nav-item:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:transparent}.nav-item:hover{background:#f8fbfe}.nav-item.is-active{background:linear-gradient(90deg,#e9f5ff,#f7fbff)}.nav-item.is-active:before{background:var(--blue)}.nav-icon{width:34px;height:34px;display:grid;flex:0 0 auto;place-items:center;color:#0c2a4c}.nav-item.is-active .nav-icon{color:var(--blue)}.nav-copy{min-width:0;flex:1}.nav-copy strong{display:block;overflow:hidden;font-size:17px;font-weight:700;white-space:nowrap;text-overflow:ellipsis}.nav-status{flex:0 0 auto;min-width:68px;padding:6px 10px;border-radius:999px;color:#7f8da0;background:#eef2f6;font-size:12px;font-weight:700;text-align:center}.nav-item.is-active .nav-status:not(.done){color:#fff;background:linear-gradient(135deg,#2389eb,#1672d6)}.nav-status.done{color:#fff;background:linear-gradient(135deg,#28b872,#15995a)}.nav-arrow{flex:0 0 auto;color:#8a9aab}.content{min-width:0}.form-card{padding:25px 20px 22px;border:1px solid rgba(217,229,241,.78);border-radius:18px;background:var(--surface);box-shadow:0 18px 48px #2a609117}.form-card-heading{display:flex;align-items:flex-start;gap:12px;margin:0 0 27px}.form-card-heading>span{width:5px;height:32px;flex:0 0 auto;border-radius:999px;background:var(--blue)}.form-card-heading h2{margin:-1px 0 3px;color:var(--navy);font-size:22px;line-height:1.35;letter-spacing:-.02em}.form-card-heading p{margin:0;color:#8b9aad;font-size:12px}.form-error{display:flex;align-items:flex-start;gap:9px;margin-bottom:22px;padding:12px 14px;border:1px solid #efd0ce;border-radius:9px;color:#a1433d;background:#fff7f6;font-size:12px;line-height:1.5}.form-section+.form-section{margin-top:34px}.section-heading{display:flex;align-items:center;gap:11px;margin-bottom:20px;color:var(--navy);font-size:17px;font-weight:800}.section-heading:before{content:"";width:4px;height:23px;border-radius:99px;background:var(--blue)}.section-heading i{height:1px;flex:1;background:#e7edf3}.field-grid{display:grid;gap:0}.field{display:block;min-width:0;margin-bottom:20px}.field-label{display:block;margin-bottom:9px;color:#142c49;font-size:14px;font-weight:650}.field-label em,.required{color:var(--danger);font-style:normal}.field-hint{display:block;margin:-4px 0 8px;color:#93a1b1;font-size:11px;line-height:1.5}.field-error{display:block;margin-top:6px;color:#ad3636;font-size:12px}.text-input[aria-invalid=true]{border-color:var(--danger)}.text-input{width:100%;height:50px;padding:0 14px;border:1px solid #d2dfeb;border-radius:9px;outline:none;color:#142c49;background:#ffffffd6;transition:border-color .18s ease,box-shadow .18s ease}.text-input::placeholder{color:#a3b0bf}.text-input:focus{border-color:#5aa7eb;box-shadow:0 0 0 3px #1879de1a}.date-input.is-empty:not(:focus)::-webkit-datetime-edit{color:transparent}.choice-row{display:flex;gap:10px}.choice{display:flex;flex:1;align-items:center;gap:9px;height:50px;padding:0 14px;border:1px solid #d2dfeb;border-radius:9px;color:#52677f;background:#fff;font-size:14px}.choice input{accent-color:var(--blue)}.field-stack{display:grid}.upload-box,.signature-box{position:relative;display:flex;min-height:132px;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:100%;padding:20px;border:1px dashed #bcd1e3;border-radius:10px;color:#60778c;background:#f5faff;text-align:center}.file-input-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.upload-icon,.signature-box svg{color:#5b99cf}.upload-box strong,.signature-box strong{max-width:85%;overflow:hidden;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.upload-box small,.signature-box small{color:#94a5b5;font-size:11px}.upload-state.uploading{color:#355f8c}.upload-state.uploaded{color:#187d50}.upload-state.failed{color:#ad3636}.upload-actions{display:flex;gap:8px}.upload-actions button{min-height:35px;padding:0 11px;border:1px solid #cbddea;border-radius:7px;color:#3879ad;background:#fff;font-size:12px}.upload-actions button:hover{border-color:#5aa7eb;color:var(--blue)}.upload-preview{width:72px;height:52px;object-fit:cover;border-radius:7px}.upload-clear{position:absolute;top:9px;right:9px;z-index:2;display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid #d7e0e8;border-radius:50%;color:#6d8192;background:#fff}.signature-box{border-style:solid;cursor:pointer}.signature-box.signed{color:var(--success);border-color:#a7d6c5;background:#f2faf6}.signature-box.signed svg{color:var(--success)}.location-button{display:flex;align-items:center;gap:9px;width:100%;min-height:50px;padding:10px 14px;border:1px solid #d2dfeb;border-radius:9px;color:#60798e;background:#f5faff;text-align:left}.location-button.location-ready{color:var(--success);border-color:#a7d6c5;background:#f2faf6}.agreement-panel{margin-bottom:30px;padding:22px 18px;border:1px solid #eadfcd;border-radius:12px;background:#fffaf2}.agreement-kicker{color:#9f6b32;font-size:11px;font-weight:800;letter-spacing:.1em}.agreement-panel h3{margin:9px 0 6px;color:#443329;font-size:21px}.agreement-lead{color:#7b695a;font-size:13px}.agreement-panel ol{display:grid;gap:9px;margin:18px 0;padding-left:20px;color:#98463f;font-size:12px;line-height:1.75}.agreement-panel>p:last-child{margin:0;color:#675a50;font-size:12px;line-height:1.8}.agreement-clauses{margin-top:22px;padding-top:15px;border-top:1px solid #eadfcd;color:#564b44}.agreement-clauses h4{margin:17px 0 6px;color:#443329;font-size:13px}.agreement-clauses p{margin:0 0 10px;font-size:12px;line-height:1.8}.account-table{display:grid;grid-template-columns:105px 1fr;overflow:hidden;border:1px solid #d2dfeb;border-radius:9px}.account-table div,.account-table input{min-width:0;min-height:49px;padding:13px;border:0;border-bottom:1px solid #dbe5ee;outline:none;font-size:13px}.account-table div{color:#4d6479;background:#f2f7fb}.account-table input{color:#142c49;background:#fff}.account-table div:nth-last-of-type(-n+1),.account-table input:last-child{border-bottom:0}.form-footer{display:flex;align-items:stretch;flex-direction:column;gap:14px;margin-top:10px;padding-top:24px;border-top:1px solid #e5edf4}.form-footer p{margin:0;color:#8b9bac;font-size:11px;line-height:1.6}.submit-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;height:52px;border:0;border-radius:9px;color:#fff;background:linear-gradient(135deg,#2188e8,#116dce);font-size:16px;font-weight:800;box-shadow:0 10px 22px #1879de38;transition:transform .18s ease,filter .18s ease}.submit-button:hover:not(:disabled){filter:brightness(.97);transform:translateY(-1px)}.submit-button:disabled{cursor:wait;opacity:.62}.toast{position:fixed;z-index:20;right:16px;bottom:18px;left:16px;display:flex;align-items:center;justify-content:center;gap:9px;padding:13px 16px;border:1px solid #b6dfcf;border-radius:10px;color:#1e765b;background:#f0fbf6;box-shadow:0 16px 35px #16384c24;font-size:13px;font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:16px;background:#0925477a}.signature-modal{width:min(720px,100%);padding:19px;border:1px solid #dbe3e8;border-radius:15px;background:#fff;box-shadow:0 24px 60px #09254740}.modal-heading,.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.modal-heading{margin-bottom:15px}.modal-heading strong,.modal-heading small{display:block}.modal-heading strong{color:var(--navy);font-size:16px}.modal-heading small{margin-top:4px;color:var(--muted);font-size:11px}.modal-heading button,.modal-actions button{height:38px;padding:0 14px;border:1px solid #d2e0e6;border-radius:8px;color:#5f7783;background:#fff;font-size:12px}.signature-modal canvas{display:block;width:100%;height:auto;min-height:190px;margin-bottom:17px;border:1px dashed #b8ccd5;border-radius:9px;background:#fbfdfd;touch-action:none}.modal-actions{justify-content:flex-end}.modal-actions .modal-save{color:#fff;border-color:var(--blue);background:var(--blue)}.modal-actions .modal-save:disabled{cursor:not-allowed;opacity:.45}.admin-shell{min-height:100vh;color:#172f4c;background:#eff5fa}.admin-topbar{min-height:72px;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border-bottom:1px solid var(--line)}.connection{display:flex;align-items:center;gap:8px;color:#8594a3;font-size:11px}.connection span{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#bbc5ca}.connection.online{color:var(--success)}.connection.online span{background:var(--success);box-shadow:0 0 0 4px #228a681a}.admin-content{width:min(100%,1040px);margin:0 auto;padding:36px 16px 70px}.admin-heading{display:flex;align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:24px}.eyebrow{color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.14em}.admin-heading h1{margin:8px 0 5px;color:var(--navy);font-size:30px;letter-spacing:-.04em}.admin-heading p{margin:0;color:#7d8fa0;font-size:13px}.admin-actions{display:flex;width:100%;gap:9px}.admin-actions button{flex:1;min-height:40px;padding:0 12px;border:1px solid #d2e0e6;border-radius:8px;color:#5f7783;background:#fff;font-size:12px}.admin-actions button.active{color:var(--blue);border-color:#b7d9eb;background:var(--blue-soft)}.monitor-card{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 18px 40px #16384c0f}.monitor-card-head{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #e8eef0}.monitor-card-head strong,.monitor-card-head small{display:block}.monitor-card-head strong{color:var(--navy);font-size:16px}.monitor-card-head small{margin-top:5px;color:#9aa7ad;font-size:11px}.monitor-card-head>span{color:var(--blue);font-size:12px;font-weight:800}.event-list{display:grid}.event-row{display:flex;align-items:flex-start;gap:12px;padding:16px;border-bottom:1px solid #eef2f3}.event-row:last-child{border-bottom:0}.event-mark{display:grid;place-items:center;width:32px;height:32px;flex:0 0 auto;color:var(--success);border-radius:9px;background:#e6f5ee}.event-row>div:nth-child(2){min-width:0;flex:1}.event-row strong,.event-row small{display:block}.event-row strong{color:#334b59;font-size:13px}.event-row small{overflow-wrap:anywhere;margin-top:4px;color:#98a5ab;font-size:10px}.event-state{display:none;color:var(--success);font-size:11px;font-weight:700}.empty-monitor{display:grid;place-items:center;gap:10px;padding:80px 20px;color:#a2afb4;text-align:center}.empty-monitor strong{color:#697e88;font-size:14px}.empty-monitor p{margin:0;font-size:12px}.admin-toast{position:fixed;top:88px;right:16px;left:16px;display:flex;align-items:center;justify-content:center;gap:9px;padding:14px 18px;border:1px solid #b6dfcf;border-radius:9px;color:#1e765b;background:#f0fbf6;box-shadow:0 16px 35px #16384c24;font-size:13px;font-weight:700}button:focus-visible,input:focus-visible{outline:3px solid rgba(24,121,222,.22);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}@media(max-width:699px){.layout{padding-top:30px}.sidebar-intro{margin-bottom:20px}.mobile-group{overflow:clip;margin-bottom:20px;border:1px solid rgba(217,229,241,.72);border-radius:17px;background:#fffffff5;box-shadow:0 16px 42px #2a609117}.mobile-group h2{margin:0;padding:16px 20px;border-bottom:1px solid #e1ecf5;color:var(--navy);background:#edf7ff;font-size:19px;line-height:1.3}.mobile-group h2:before{content:"";display:inline-block;width:4px;height:22px;margin-right:12px;border-radius:99px;background:var(--blue);vertical-align:-5px}.mobile-item+.mobile-item{border-top:1px solid #e5edf5}.mobile-item{scroll-margin-top:12px}.mobile-item .nav-item{min-height:76px;border-bottom:0}.mobile-item .nav-item.is-active .nav-arrow{transform:rotate(-90deg)}.mobile-inline-form{border-top:1px solid #e5edf5}.mobile-inline-actions{position:sticky;z-index:5;top:0;display:flex;justify-content:flex-end;padding:2px 16px;border-bottom:1px solid #e5edf5;background:#fff}.mobile-inline-actions button,.mobile-collapse-bottom{min-height:40px;padding:0 8px;border:0;color:var(--blue);background:transparent;font-size:13px;font-weight:700}.mobile-inline-form .form-card{padding:6px 18px 16px;border:0;border-radius:0;background:transparent;box-shadow:none}.mobile-inline-form .form-card-heading{display:none}.mobile-collapse-bottom{display:block;margin:0 auto 14px}}@media(min-width:700px){.topbar{height:84px;padding:0 max(28px,calc((100vw - 920px)/2))}.brand-image{width:50px;height:50px}.brand-name{font-size:23px}.brand-site{font-size:15px}.layout{padding:50px 28px 0}.form-card{padding:34px 36px 31px}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.nav-item{min-height:84px;padding-inline:25px}.nav-copy strong{font-size:18px}.toast{right:28px;bottom:28px;left:auto}.admin-heading{align-items:flex-end;flex-direction:row;justify-content:space-between}.admin-actions{width:auto}.admin-actions button{flex:none}.event-state{display:block}.admin-toast{right:28px;left:auto}}@media(min-width:1024px){.layout{width:min(100%,1180px);display:grid;grid-template-columns:370px minmax(0,1fr);align-items:start;gap:28px;padding-top:56px}.sidebar{position:sticky;top:28px}.sidebar-intro{margin-top:3px}.form-nav{margin-bottom:0}.sidebar-intro h1{color:#fff;text-shadow:0 2px 10px rgba(5,35,72,.34)}.sidebar-intro p{color:#ffffffd1;text-shadow:0 1px 6px rgba(5,35,72,.3)}}@media(max-width:380px){.topbar{padding-inline:14px}.brand-image{width:39px;height:39px}.brand-name{font-size:17px}.brand-site{font-size:11px}.brand-lockup{gap:7px}.layout{padding-inline:12px}.nav-item{gap:10px;padding-right:12px;padding-left:15px}.nav-copy strong{font-size:15px}.nav-status{min-width:61px;padding-inline:8px}}
