:root{--bg:#f4ece0;--surface:#fffaf2;--surface-2:#efe3d2;--border:#e2d3bd;--text:#3a2c20;--text-dim:#7c6a56;--text-faint:#a6917a;--accent:#8a5a34;--accent-press:#6e4527;--green:#4f7a4e;--green-dim:#3d6a3d;--amber:#b07d2b;--red:#b0472e;--red-dim:#8f381f;--radius:14px;--col:480px;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}body{min-height:100dvh}button{cursor:pointer}button,input,textarea{font-family:inherit;color:inherit}.column{width:100%;max-width:var(--col);margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;position:relative}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;background:var(--bg);border-bottom:1px solid var(--border)}.topbar .tab{flex:1 1;background:none;padding:14px 8px;font-size:15px;font-weight:600;color:var(--text-dim);border:none;border-bottom:2px solid transparent}.topbar .tab.active{color:var(--text);border-bottom-color:var(--accent)}.topbar .logout{flex:0 0 auto;padding:14px 12px;background:none;border:none;color:var(--text-faint);font-size:13px}.review-head{padding:12px 16px 4px}.review-head .counter{font-size:13px;color:var(--text-dim);letter-spacing:.2px}.review-head .topic{margin:6px 0 0;font-size:19px;font-weight:700;line-height:1.25}.badge-rework{margin-top:10px;display:block;background:rgba(176,125,43,.12);border:1px solid rgba(176,125,43,.4);color:var(--amber);border-radius:10px;padding:8px 10px;font-size:13px;line-height:1.35}.langbar{display:flex;gap:8px;padding:12px 16px 6px}.langtab{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:13px;font-weight:600;text-transform:uppercase}.langtab.active{border-color:var(--accent);color:var(--text);background:var(--surface-2)}.dot{width:9px;height:9px;border-radius:50%;background:var(--text-faint);position:relative}.dot.approved,.dot.edited{background:var(--green)}.dot.edited:after{content:"✎";position:absolute;top:-8px;right:-7px;font-size:9px;color:var(--green)}.card{margin:8px 16px 0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;position:relative}.card.approved{border-color:var(--green)}.card.rejected{border-color:var(--red)}.card-head{gap:10px;margin-bottom:8px}.avatar,.card-head{display:flex;align-items:center}.avatar{width:36px;height:36px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);justify-content:center;font-weight:700;font-size:16px;text-transform:uppercase;color:var(--text)}.handle{font-size:14px;font-weight:600}.card-chip{margin-left:auto;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px}.card-chip.approved{background:rgba(79,122,78,.15);color:var(--green)}.card-chip.rejected{background:rgba(176,71,46,.15);color:var(--red)}.body-wrap{position:relative;max-height:46vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.body-visible{font-size:15px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.body-divider{border:0;border-top:1px dashed var(--border);margin:8px 0;position:relative}.body-more-label{font-size:12px;color:var(--text-faint);margin:-2px 0 6px}.body-rest{font-size:15px;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--text-dim)}.len-counter{margin-left:auto;font-size:11px;color:var(--text-faint);background:var(--surface-2);padding:2px 8px;border-radius:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.len-counter.over{color:var(--red);font-weight:700}.rework-note{margin:10px 16px 0;font-size:13px;color:var(--text-dim);border-left:3px solid var(--red);padding-left:10px}.modeb-hint{padding:8px 16px 0;font-size:12px;color:var(--amber)}.spacer{flex:1 1}.actions{position:-webkit-sticky;position:sticky;bottom:0;display:flex;gap:12px;padding:12px 16px calc(12px + var(--safe-bottom));background:linear-gradient(to top,var(--bg) 70%,transparent)}.abtn{flex:1 1;border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:14px 8px;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;min-height:52px}.abtn:disabled{opacity:.4}.abtn.reject{color:var(--red);border-color:rgba(176,71,46,.4)}.abtn.edit{flex:0 0 64px;color:var(--text)}.abtn.approve{color:#fffaf2;background:var(--green);border-color:var(--green)}.login-wrap{flex:1 1;display:flex;flex-direction:column;justify-content:center;gap:16px;padding:24px}.login-wrap h1{font-size:22px;margin:0 0 4px;text-align:center}.login-wrap p{color:var(--text-dim);text-align:center;margin:0 0 12px;font-size:14px}.field{width:100%;padding:14px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font-size:16px}.field:focus{outline:none;border-color:var(--accent)}.btn-primary{width:100%;padding:14px;border-radius:12px;border:none;background:var(--accent);color:#fff;font-size:16px;font-weight:700}.btn-primary:disabled{opacity:.5}.error-text{color:var(--red);text-align:center;font-size:14px}.editor{position:fixed;inset:0;z-index:60;background:var(--bg);display:flex;flex-direction:column;max-width:var(--col);margin:0 auto}.editor-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.editor-head .title,.editor-head button{font-size:15px;font-weight:700}.editor-head button{background:none;border:none;padding:6px 4px}.editor-head .save{color:var(--accent)}.editor-head .save:disabled{color:var(--text-faint)}.editor-head .cancel{color:var(--text-dim)}.editor-body{flex:1 1;padding:14px 16px;display:flex;flex-direction:column}.editor-textarea{flex:1 1;width:100%;resize:none;border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:14px;font-size:16px;line-height:1.5;min-height:40vh}.editor-textarea:focus{outline:none;border-color:var(--accent)}.editor-counter{align-self:flex-end;margin-top:8px;font-size:12px;color:var(--text-faint)}.editor-counter.over{color:var(--red);font-weight:700}.sheet-backdrop{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:var(--col);background:var(--surface);border-top-left-radius:18px;border-top-right-radius:18px;padding:18px 16px calc(18px + var(--safe-bottom));border:1px solid var(--border);border-bottom:none}.sheet h3{margin:0 0 12px;font-size:16px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.chip{padding:8px 12px;border-radius:999px;background:var(--surface-2);font-size:13px}.chip,.sheet-textarea{border:1px solid var(--border)}.sheet-textarea{width:100%;min-height:90px;resize:vertical;background:var(--bg);border-radius:12px;padding:12px;font-size:15px;line-height:1.4}.sheet-textarea:focus{outline:none;border-color:var(--accent)}.sheet-actions{display:flex;gap:10px;margin-top:12px}.sheet-actions .cancel{flex:0 0 auto;padding:12px 16px;border-radius:12px;border:1px solid var(--border);background:none;color:var(--text-dim);font-weight:600}.sheet-actions .submit{flex:1 1;padding:12px;border-radius:12px;border:none;background:var(--red);color:#fff;font-weight:700}.sheet-actions .submit:disabled{opacity:.5}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(88px + var(--safe-bottom));z-index:70;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:10px 16px;display:flex;align-items:center;gap:14px;font-size:14px;box-shadow:0 6px 20px rgba(58,44,32,.18)}.toast button{background:none;border:none;color:var(--accent);font-weight:700;font-size:14px}.banner-offline{background:var(--red-dim);color:#fff;text-align:center;font-size:13px;padding:8px;font-weight:600}.modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;max-width:360px;width:100%;text-align:center}.modal h3{margin:0 0 8px;font-size:17px}.modal p{color:var(--text-dim);font-size:14px;margin:0 0 16px}.modal .btn-primary{margin-top:4px}.fullscreen-error{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center}.history{padding:8px 0 24px}.hrow{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.hrow .icon{flex:0 0 auto;width:26px;text-align:center;font-size:16px}.hrow .icon.approve{color:var(--green)}.hrow .icon.edit{color:var(--accent)}.hrow .icon.reject{color:var(--red)}.hrow .icon.undo{color:var(--text-dim)}.hrow .main{flex:1 1;min-width:0}.hrow .time{font-size:12px;color:var(--text-faint)}.hrow .topic{font-size:14px;font-weight:600}.hrow .comment{font-size:13px;color:var(--text-dim);margin-top:2px;line-height:1.35}.utility{display:flex;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);align-items:center;flex-wrap:wrap}.utility .u-btn,.utility a,.utility label{font-size:13px;color:var(--accent);background:none;border:1px solid var(--border);border-radius:10px;padding:8px 12px;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.utility input[type=file]{display:none}.utility .u-status{font-size:12px;color:var(--text-dim);border:none;padding:0}.empty-state{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px;text-align:center;color:var(--text-dim)}.empty-state .big{font-size:40px}.loading{padding:40px;text-align:center;color:var(--text-dim)}.topbar .tab{padding:14px 6px;font-size:14px}.head-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:6px}.id-badge{font-size:12px;font-weight:600;color:var(--text-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.branch-pill{display:inline-flex;align-items:center;font-weight:600;color:var(--accent);background:rgba(138,90,52,.1);border:1px solid rgba(138,90,52,.25);line-height:1.2}.branch-pill,.status-chip{font-size:12px;border-radius:999px;padding:3px 10px}.status-chip{font-weight:700}.status-chip.approved{color:var(--green);background:rgba(79,122,78,.14)}.status-chip.rework{color:var(--amber);background:rgba(176,125,43,.14)}.swipe-stage{display:flex;align-items:stretch;gap:4px;touch-action:pan-y}.swipe-stage .swipe-body{flex:1 1;min-width:0}.nav-arrow{flex:0 0 auto;width:44px;align-self:center;min-height:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;font-size:30px;line-height:1;color:var(--accent);padding:0}.nav-arrow:disabled{color:var(--text-faint);opacity:.45}.card .avatar{background:linear-gradient(135deg,#b98a5e,#8a5a34);border:none;color:#fffaf2}.card .body-more-label{color:var(--accent);font-weight:600}.hrow.clickable{cursor:pointer;-webkit-tap-highlight-color:transparent}.hrow.clickable:active{background:var(--surface-2)}.hrow .jump-hint{flex:0 0 auto;align-self:center;color:var(--text-faint);font-size:18px}.service{padding:16px;gap:20px}.service,.service-block{display:flex;flex-direction:column}.service-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;gap:10px}.service-block h3{margin:0;font-size:15px;font-weight:700}.service-block p{margin:0;font-size:13px;line-height:1.4;color:var(--text-dim)}.service-block .quoted{font-weight:600;color:var(--text)}