:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#202c3d;background:#f5f7fa;--accent:#1765cf}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #7fb9ff;outline-offset:3px}header{background:#fff;border-bottom:1px solid #e5e9ee;padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:12px}header strong{font-size:19px}header small{font-size:12px;color:#7c8796;margin-left:12px}.shell{max-width:1000px;margin:0 auto;padding:36px 24px 90px}.eyebrow{font-size:12px;letter-spacing:2px;color:#7b8796;font-weight:600}.hero{padding:35px 0 30px}h1{font-size:32px;letter-spacing:-1px;margin:12px 0}h2{font-size:23px;margin:8px 0 16px}p{line-height:1.7}.muted{color:#758294;font-size:14px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:22px}.project{min-height:200px;border-radius:18px;color:white;text-align:left;padding:28px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 9px 30px #1c355815}.project strong{font-size:25px;line-height:1.5}.project span{font-size:14px;color:#ffffffcc}.project:hover{filter:brightness(1.06)}.notice{border:1px solid #e3e8f0;border-radius:12px;padding:14px 18px;color:#697789;font-size:13px;background:#fff;margin:24px 0;line-height:1.7}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.primary{background:var(--accent);color:#fff;padding:13px 20px;border-radius:10px;font-weight:600}.secondary{background:#eef2f7;color:#3c536d;padding:12px 16px;border-radius:10px}.danger{background:#fff1e9;color:#b95d28;padding:12px 16px;border-radius:10px}.grow{flex:1}.search{width:100%;margin:22px 0 16px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.tab{background:#e9eef5;border-radius:30px;padding:10px 17px;color:#6c7c8e}.tab.active{background:#e1ecfd;color:#145bb6}.list{display:grid;gap:12px}.card{background:#fff;border:1px solid #e5eaf0;border-radius:14px;padding:22px;text-align:left;color:inherit;width:100%}.card h3{margin:12px 0;font-size:17px;font-weight:600}.card:hover{border-color:#a8bfdc}.cardtop,.cardfoot{display:flex;align-items:center;justify-content:space-between;gap:10px}.badge{border-radius:6px;padding:5px 8px;font-size:12px;background:#eef4fe;color:#3970b9}.badge.review{background:#fff1df;color:#b67422}.badge.closed{background:#e9f4ec;color:#3d8155}.badge.late{background:#ffeded;color:#bb4a4a}.tiny{font-size:12px;color:#8894a4}.panel{background:white;border:1px solid #e4e9ef;border-radius:16px;padding:26px;margin:18px 0}label{display:block;font-size:14px;font-weight:600;margin:19px 0 8px}input,textarea,select{border:1px solid #dce3eb;border-radius:9px;padding:12px;background:#fff;color:#273b52}input:not([type=file]),textarea{width:100%}textarea{min-height:88px;resize:vertical}select{max-width:100%;font-size:13px}input:focus,textarea:focus{outline:2px solid #a0c5f4;border-color:transparent}.photos{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}.photos img{height:100px;width:100px;object-fit:cover;border-radius:9px;border:1px solid #e2e8ef}.photos a{display:block}.photoitem{position:relative}.photoitem button{position:absolute;right:2px;top:2px;border-radius:50%;background:white}.upload{border:1px dashed #a7bcd7;background:#f7faff;padding:18px;border-radius:10px;font-size:14px}.upload input{padding:0;border:0;width:100%;background:transparent;margin-top:10px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.timeline{padding-left:18px;border-left:2px solid #e2eaf4;margin-left:5px}.event{padding:0 0 24px 8px;position:relative}.event:before{content:'';width:10px;height:10px;border-radius:50%;background:#8ba8cd;position:absolute;left:-24px;top:5px}.event strong{font-size:14px}.event p{font-size:14px;margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.error{color:#b23e31;font-size:14px;min-height:20px}.duplicate{background:#fff7e9;border:1px solid #edd4a5;padding:14px;border-radius:10px;margin:14px 0;font-size:14px}.empty{text-align:center;padding:48px;color:#8491a1}.deadline{display:flex;gap:24px;flex-wrap:wrap;padding:16px 0}.deadline b{display:block;font-size:17px;margin-top:6px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#22374c;color:white;padding:12px 20px;border-radius:10px;display:none;z-index:10;max-width:90vw}.footer{margin-top:35px;border-top:1px solid #e0e6ef;padding-top:18px;display:flex;gap:20px;font-size:12px;color:#8190a1}a{color:#1765cf}details summary{cursor:pointer;color:#718096;font-size:13px}.introline{display:flex;justify-content:space-between;align-items:center;gap:12px}.nowrap{white-space:nowrap} @media(max-width:620px){header{padding:16px}header strong{font-size:16px}header small{display:none}header select{max-width:160px;padding:9px}.shell{padding:20px 16px 60px}.hero{padding:24px 0}h1{font-size:28px}.projects{grid-template-columns:1fr;gap:16px}.project{min-height:166px;padding:24px}.project strong{font-size:23px}.panel{padding:18px}.fields{grid-template-columns:1fr;gap:0}.card{padding:18px}.cardfoot{align-items:flex-start}.toolbar .primary{padding:12px 14px}.introline{align-items:flex-start}h2{font-size:21px}.footer{flex-wrap:wrap}}

.cardmain{display:block;background:transparent;text-align:left;width:100%;padding:0;color:inherit}.cardactions{display:flex;justify-content:flex-end;margin-top:6px;padding:0;border:0}.cardactions button{width:auto;min-height:40px;padding:6px 10px;background:transparent;color:var(--accent);font-size:13px;font-weight:500;border-radius:7px}.cardactions button:hover{background:#eef4fe}

.closure{border-top:3px solid var(--accent);margin-top:18px}.closure h2{margin:8px 0 12px}.closure-photos .photos{margin:8px 0 12px}.closure-photos img{width:140px;height:140px}.completion-note{font-size:17px;font-weight:600;margin:8px 0;white-space:pre-wrap}.closed-note{color:#397c52;font-size:13px;margin:14px 0 0}.processing-hint,.original-details{padding:12px 0;border-bottom:1px solid #e2e8ef}.processing-hint>summary,.original-details>summary{font-size:13px;line-height:1.5}.original-body{padding-top:12px}.history-heading{font-size:15px;margin:20px 0 12px}.compact-history{padding-left:14px}.compact-history .event{padding:0 0 12px 5px}.compact-history .event:before{left:-20px;top:5px;width:8px;height:8px}.event-meta{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.compact-history .event strong{font-size:13px}.compact-history .event p{margin:3px 0;line-height:1.45;font-size:13px}.compact-history .event:last-child{padding-bottom:0}.history-photos summary{font-size:12px}.compact-history .photos img{width:64px;height:64px}.compact-history .photos{margin:6px 0}.closure .actions{margin-bottom:0}@media(max-width:620px){.closure-photos img{width:120px;height:120px}.closure .primary{flex:1}}

.list{gap:8px}.compact-card{padding:12px 14px 8px;border-radius:11px}.compact-card .badge{padding:3px 7px;font-size:11px;line-height:1.5}.compact-card .cardtop{gap:8px}.card-subject{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:7px 0 2px}.compact-card .card-subject h3{margin:0;font-size:16px;line-height:1.45;overflow-wrap:anywhere}.card-location{font-size:13px;line-height:1.45;color:#758294;overflow-wrap:anywhere}.card-location:before{content:'·';margin-right:8px;color:#a5afbb}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px}.compact-card .cardactions{margin:0;flex-shrink:0}.compact-card .cardactions button{min-height:36px;padding:5px 0 5px 12px;font-size:13px}.compact-card .card-bottom>.tiny{font-size:11px;line-height:1.4}.compact-card .cardtop>.tiny{font-size:11px;text-align:right}

/* Compact fixed navigation: project first, secondary controls quieter. */
.app-nav{position:sticky;top:0;z-index:100;min-height:52px;padding:4px 14px;gap:12px;background:#fff;border-bottom:1px solid #e9edf2;box-shadow:none}
.app-nav.has-project{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px}
.app-nav strong{font-size:15px}.nav-return{display:inline-flex;align-items:center;gap:2px;min-height:44px;padding:0;border:0;background:transparent;color:#64748b;font-size:12px;font-weight:400;white-space:nowrap;border-radius:4px}.nav-return:hover{color:#1765cf}.nav-return svg{flex-shrink:0}
.nav-project{min-width:0;text-align:left;font-size:14px;font-weight:600;line-height:1.3;color:#263447;overflow-wrap:anywhere;padding-left:12px;border-left:1px solid #e5e9ee}
.nav-person{position:relative;display:flex;align-items:center;justify-content:flex-end;min-width:48px;min-height:44px}.person-label{display:flex;flex-direction:column;gap:2px;pointer-events:none}.person-label>span{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:#526176}.person-label small{margin:0;font-size:10px;color:#98a2af;font-weight:400;line-height:1.2;display:block}.app-nav .nav-person select{position:absolute;inset:0;width:100%;height:100%;min-height:44px;max-width:none;margin:0;padding:0;opacity:0;cursor:pointer}.nav-person:focus-within{outline:2px solid #7fb9ff;outline-offset:2px;border-radius:5px}
.work-shell{padding-top:16px}@media(max-width:620px){.app-nav,.app-nav.has-project{padding:4px 12px;gap:10px;min-height:52px}.nav-project{font-size:13px;padding-left:10px}.work-shell{padding-top:14px}}

.photo-size{position:absolute;bottom:5px;left:5px;padding:2px 5px;border-radius:4px;background:#233349cc;color:#fff;font-size:10px;line-height:1.4;pointer-events:none}

.original-preview .photos{margin:8px 0 10px}.original-preview .photos a{display:block;width:100%}.original-preview .photos img{display:block;width:100%;height:auto;max-height:220px;object-fit:contain;background:#f3f5f8;border-radius:9px}.original-caption p{font-size:16px;line-height:1.5;font-weight:600;margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere}.original-caption .muted{font-size:12px}.feedback-question{margin:16px 0 10px;font-size:14px;font-weight:600}.outcome-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.outcome-actions button{min-height:44px;padding:10px 8px;font-size:14px}.result-divider{margin-top:16px;padding-top:14px;border-top:1px solid #e5e9ef}

.account-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.account-info{min-width:0;overflow-wrap:anywhere}.account-info p{margin:5px 0}.account-actions{display:flex;gap:8px;flex-shrink:0}.account-actions button{padding:8px 10px;min-height:40px;font-size:13px}.account-row form{width:100%}@media(max-width:420px){.account-row{flex-wrap:wrap}.account-actions{margin-left:auto}}

.record-tools{display:flex;justify-content:flex-end;margin:4px 0}.text-action{border:0;background:transparent;color:var(--accent);padding:6px 8px;font-size:13px;min-height:32px;cursor:pointer}.text-action.danger{color:#b13939}.edit-history{font-size:12px;color:#66758a;margin:4px 0}.edit-entry{border-left:2px solid #dce4ee;padding:6px 10px;margin:6px 0}.edit-entry p{margin:4px 0}.edit-history .photos img{width:64px;height:64px;object-fit:cover}.app-nav>strong{font-size:16px}

.check-row{display:flex;align-items:center;gap:8px;font-weight:500;margin:16px 0 8px}.check-row input{width:18px;height:18px;margin:0}.urgent-check{color:#b33a25}.board-tabs{border-bottom:1px solid #dce3ec;padding-bottom:8px}.board-tabs b{display:inline-block;margin-left:6px;font-size:12px}.board-tabs .tab{flex:1}.error{color:#b33a25}

.urgent-label{color:#b33a25;font-weight:650}
