:root{color:#23312d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f6f4;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}button,a{-webkit-tap-highlight-color:transparent}:root{--ink:#18332b;--muted:#66756f;--line:#e1e7e3;--canvas:#f4f6f4}.hidden{display:none!important}.app-shell{min-height:100vh}.app-sider{border-right:1px solid var(--line);height:100vh;top:0;position:sticky!important}.app-sider .ant-layout-sider-children{flex-direction:column;display:flex}.brand{align-items:center;gap:12px;height:88px;padding:0 24px;display:flex}.brand-mark,.auth-brand span{color:#fff;background:#163f35;border-radius:10px;place-items:center;width:38px;height:38px;font-family:Georgia,serif;font-size:22px;display:grid}.brand .ant-typography{margin:0;line-height:1.45;display:block}.brand .ant-typography-secondary{font-size:12px}.app-sider .ant-menu{padding:10px 12px;border:0!important}.sider-footer{border-top:1px solid var(--line);margin-top:auto;padding:22px 24px}.app-header{z-index:5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;justify-content:space-between;align-items:center;height:72px;padding:0 28px;display:flex;position:sticky;top:0}.header-actions{align-items:center;gap:10px;display:flex}.user-avatar{color:#145c46;background:#dcebe5}.app-content{background:var(--canvas);min-width:0}.page-container{box-sizing:border-box;width:min(1240px,100%);min-height:calc(100vh - 72px);margin:0 auto;padding:48px clamp(20px,4vw,64px) 120px;animation:.35s ease-out both page-enter}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px;display:flex}.page-heading.compact{align-items:flex-start}.page-heading h1.ant-typography{color:var(--ink);letter-spacing:-.03em;margin:4px 0;font-family:Georgia,Songti SC,serif;font-size:clamp(36px,5vw,58px);font-weight:500}.eyebrow{color:#518173;letter-spacing:.16em;font-size:11px;font-weight:700;display:block}.natural-search{margin-bottom:28px}.natural-search .ant-input-affix-wrapper{border-color:#cbd8d2;max-width:760px;min-height:52px;box-shadow:0 8px 28px #18332b0d}.natural-search>.ant-typography{margin-top:8px;font-size:12px;display:block}.visit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0 28px;display:grid}.visit-card{border-color:var(--line);transition:transform .2s,box-shadow .2s;overflow:hidden}.visit-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px #1b3d3214}.visit-card-date{color:#167a5b;margin-bottom:20px}.visit-card-date time{letter-spacing:.03em;font-family:Georgia,serif;font-size:20px;font-weight:600}.visit-card h4{min-height:48px;margin-bottom:20px}.visit-meta{grid-template-columns:70px 1fr;gap:10px 14px;margin-bottom:20px;display:grid}.empty-panel{place-items:center;min-height:420px;display:grid}.upload-layout{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-card,.form-actions{grid-column:1/-1}.form-grid{grid-template-columns:1fr 1fr;gap:0 18px;display:grid}.full-width{width:100%}.upload-card .ant-upload-drag{background:#f8faf8;border-color:#c8d6d0;min-height:170px}.file-tiles{gap:8px;margin-top:14px;display:grid}.file-tile{border-bottom:1px solid var(--line);grid-template-columns:48px minmax(0,1fr) 34px;align-items:center;gap:12px;padding:8px;display:grid}.file-tile img{object-fit:cover;border-radius:6px;width:48px;height:48px}.file-tile>.anticon{color:#be5547;font-size:28px}.form-actions{justify-content:flex-end;gap:12px;display:flex}.process-card{text-align:center;max-width:820px;margin:60px auto}.process-card .ant-progress{margin:32px 0 14px}.detail-section{border-color:var(--line);margin-bottom:18px}.history-text{color:#44544e;white-space:pre-wrap;max-width:880px;font-size:16px;line-height:1.9;margin:0!important}.parsed-sections{grid-template-columns:minmax(0,1fr);gap:18px;margin-bottom:18px;display:grid}.parsed-card{border-color:var(--line);min-width:0}.parsed-document+.parsed-document{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.parsed-document>.ant-btn-link{margin-top:16px;padding-inline:0}.pdf-preview-modal .ant-modal-content{padding:18px}.pdf-preview-body{border:1px solid var(--line);background:#eef2ef;border-radius:8px;min-height:min(70vh,760px);overflow:hidden}.pdf-preview-body iframe{background:#fff;border:0;width:100%;height:min(70vh,760px);display:block}.pdf-preview-loading{height:min(70vh,760px)}.image-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.image-gallery figure{margin:0}.image-gallery .ant-image,.image-gallery img{aspect-ratio:4/3;object-fit:cover;border-radius:8px;width:100%}.image-gallery figcaption{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:12px;overflow:hidden}.detail-page{padding-bottom:170px;animation:none}.document-name{overflow-wrap:anywhere;margin-bottom:12px;display:block}.visit-actions{z-index:6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border:1px solid #c9d8d2;border-radius:16px;gap:12px;padding:16px;display:flex;position:fixed;bottom:16px;right:24px;box-shadow:0 14px 38px #18332b24}.auth-page{background:#f7f8f6;grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.auth-story{color:#fff;background:#153c32;flex-direction:column;justify-content:space-between;min-height:100vh;padding:clamp(34px,6vw,76px);display:flex}.auth-brand{align-items:center;gap:12px;font-weight:600;display:flex}.auth-brand span{color:#153c32;background:#d8e8df}.auth-story h1.ant-typography{color:#fff;max-width:700px;margin:18px 0 0;font-family:Georgia,Songti SC,serif;font-size:clamp(42px,5vw,72px);font-weight:400;line-height:1.15}.auth-kicker,.auth-footnote{color:#aac6bb;letter-spacing:.16em}.auth-panel{place-items:center;padding:36px;display:grid}.auth-form-wrap{width:min(460px,100%)}.auth-form-wrap h2{margin-bottom:6px;font-family:Georgia,Songti SC,serif;font-size:38px;font-weight:500}.auth-form-wrap .ant-alert{margin-top:20px}.auth-form-wrap .ant-form{margin-top:30px}.auth-switch{text-align:center;margin-top:22px;display:block}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}}@media (width<=1000px){.visit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-page{grid-template-columns:1fr}.auth-story{min-height:320px;padding:32px}.auth-story h1.ant-typography{max-width:760px;font-size:42px}.auth-footnote{display:none}.auth-panel{padding:48px 24px}}@media (width<=760px){.app-header{height:64px;padding:0 14px}.header-actions .ant-btn{font-size:0}.page-container{min-height:calc(100vh - 64px);padding:30px 16px 110px}.page-heading{align-items:flex-start}.page-heading h1.ant-typography{font-size:38px}.natural-search .ant-input-affix-wrapper{width:100%;max-width:none}.visit-grid,.upload-layout,.form-grid{grid-template-columns:1fr}.form-card,.form-actions{grid-column:auto}.image-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-page{padding-bottom:calc(190px + env(safe-area-inset-bottom))}.visit-actions{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;display:grid}.visit-actions .ant-btn{width:100%;padding-inline:8px}.auth-story{min-height:260px}.auth-story h1.ant-typography,.auth-form-wrap h2{font-size:32px}}@media (prefers-reduced-motion:reduce){.page-container{animation:none}.visit-card{transition:none}}
