:root{--color-bg:#f3f6f4;--color-surface:#fff;--color-surface-muted:#eef2ef;--color-text:#1d2925;--color-text-muted:#66736e;--color-border:#d9e1dd;--color-border-strong:#b7c5bf;--color-primary:#176b52;--color-primary-hover:#115741;--color-primary-soft:#e3f2ec;--color-accent:#c67924;--color-accent-soft:#fff1df;--color-danger:#b53a35;--color-danger-hover:#942e2a;--color-danger-soft:#fdecea;--color-warning:#8b5b18;--color-warning-soft:#fff4d8;--color-focus:#207dbe;--shadow-sm:0 1px 2px #15282014;--shadow-md:0 10px 28px #15282024;--radius-xs:3px;--radius-sm:5px;--radius-md:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:40px;--motion-fast:.15s ease;--motion-base:.22s ease}*{box-sizing:border-box}html{background:var(--color-bg)}body{min-width:320px;min-height:100vh;color:var(--color-text);background:var(--color-bg);letter-spacing:0;text-rendering:optimizelegibility;margin:0;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,Arial,sans-serif;font-size:15px;line-height:1.55}button,input,textarea,select{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid color-mix(in srgb, var(--color-focus) 35%, transparent);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);min-height:44px;transition:background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast), transform var(--motion-fast);border:1px solid #0000;padding:9px 16px;font-weight:650;line-height:1.2;display:inline-flex}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{opacity:.55}.button-primary{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.button-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.button-secondary{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border-strong)}.button-secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.button-danger{color:#fff;background:var(--color-danger);border-color:var(--color-danger)}.button-danger:hover:not(:disabled){background:var(--color-danger-hover);border-color:var(--color-danger-hover)}.button-block{width:100%}.button-icon-text{padding-inline:12px}.icon-button{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--color-text-muted);transition:color var(--motion-fast), background var(--motion-fast), border-color var(--motion-fast);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-muted);border-color:var(--color-border)}.eyebrow{margin:0 0 var(--space-1);color:var(--color-primary);text-transform:uppercase;letter-spacing:0;font-size:12px;font-weight:750;line-height:1.4}.alert{align-items:flex-start;gap:var(--space-2);border-radius:var(--radius-sm);border:1px solid;padding:11px 13px;font-size:14px;display:flex}.alert-error{color:#812925;background:var(--color-danger-soft);border-color:#efb8b4}.alert-neutral{color:#47554f;background:var(--color-surface-muted);border-color:var(--color-border)}.auth-page{background:var(--color-surface);grid-template-columns:minmax(300px,42%) minmax(420px,58%);min-height:100vh;display:grid}.auth-brand-panel{color:#f7fffb;border-right:8px solid var(--color-accent);background:#164f40;flex-direction:column;justify-content:space-between;min-height:100vh;padding:48px;display:flex}.auth-brand-lockup{align-items:center;gap:var(--space-3);display:flex}.auth-brand-lockup strong{font-size:20px;display:block}.auth-brand-lockup span{color:#cce3da;font-size:13px;display:block}.auth-brand-icon{width:52px;height:52px;color:var(--color-primary);border-radius:var(--radius-md);background:#f7fffb;place-items:center;display:grid}.auth-brand-index{align-items:end;gap:var(--space-3);color:#dcece6;grid-template-columns:auto 1fr;display:grid}.auth-brand-index span:first-child{color:#fff;font-size:56px;font-weight:760;line-height:1}.auth-brand-index i{background:#6fa291;align-self:center;height:1px}.auth-brand-index span:last-child{color:#b7d3c9;grid-column:2;font-size:12px}.auth-form-panel{place-items:center;padding:48px 24px;display:grid}.auth-form-wrap{width:min(100%,420px)}.auth-mark{width:44px;height:44px;margin-bottom:var(--space-5);border-radius:var(--radius-md);color:var(--color-accent);background:var(--color-accent-soft);place-items:center;display:grid}.auth-form-wrap h1{margin:0;font-size:30px;line-height:1.25}.auth-subtitle{margin:var(--space-2) 0 var(--space-6);color:var(--color-text-muted)}.auth-form{gap:var(--space-4);margin-top:var(--space-4);display:grid}.auth-switch{margin:var(--space-5) 0 0;color:var(--color-text-muted);text-align:center}.auth-switch a{margin-left:var(--space-2);color:var(--color-primary);font-weight:650}.auth-switch a:hover{text-decoration:underline}.input-with-icon,.password-input{align-items:center;display:flex;position:relative}.input-with-icon>svg{color:var(--color-text-muted);pointer-events:none;position:absolute;left:13px}.input-with-icon input{padding-left:40px}.password-input input{padding-right:48px}.password-input .icon-button{position:absolute;right:3px}.field{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.field-label{color:#34423d;font-size:13px;font-weight:680}.field-label b{color:var(--color-danger);margin-left:3px}.field input,.field textarea,.field select,.search-box input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--color-text);background:var(--color-surface);transition:border-color var(--motion-fast), box-shadow var(--motion-fast), background var(--motion-fast);padding:10px 12px}.field textarea{resize:vertical;min-height:88px;line-height:1.55}.field input:hover:not(:disabled),.field textarea:hover:not(:disabled),.field select:hover:not(:disabled){border-color:#91a59c}.field input:focus,.field textarea:focus,.field select:focus,.search-box input:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-focus) 16%, transparent);outline:none}.field input:disabled,.field textarea:disabled,.field select:disabled{color:#68736f;background:var(--color-surface-muted)}.field small{color:var(--color-text-muted);font-size:12px}.field-error input,.field-error textarea,.field-error select{border-color:var(--color-danger)}.field .field-message{color:var(--color-danger)}.field-wide{grid-column:1/-1}.inline-hint{color:var(--color-warning);margin:0;font-size:13px}.app-frame{min-height:100vh}.app-header{z-index:30;border-bottom:1px solid var(--color-border);background:#fffffff7;height:64px;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:var(--space-4);width:min(100% - 32px,1120px);height:100%;margin:0 auto;display:flex}.header-brand-group,.app-brand,.user-menu,.user-identity{align-items:center;display:flex}.header-brand-group{gap:var(--space-2)}.app-brand{gap:10px;font-size:16px;font-weight:760}.brand-icon{border-radius:var(--radius-sm);color:#fff;background:var(--color-primary);place-items:center;width:34px;height:34px;display:grid}.user-menu{gap:var(--space-2)}.user-identity{color:var(--color-text-muted);gap:7px}.user-identity span{color:var(--color-text);font-weight:620}.user-identity small{border-radius:var(--radius-xs);min-width:26px;color:var(--color-primary);background:var(--color-primary-soft);text-align:center;padding:1px 5px}.header-back{margin-left:-8px}.page{width:min(100% - 32px,920px);padding:var(--space-6) 0 80px;margin:0 auto}.list-page{width:min(100% - 32px,980px)}.page-heading-row,.editor-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-5);display:flex}.page h1{margin:0;font-size:28px;line-height:1.25}.page-subtitle{color:var(--color-text-muted);margin:5px 0 0}.list-tools{gap:var(--space-4);margin:var(--space-6) 0 var(--space-4);grid-template-columns:minmax(0,1fr) minmax(240px,320px);display:grid}.segmented{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);scrollbar-width:none;gap:2px;min-width:0;padding:3px;display:flex;overflow-x:auto}.segmented::-webkit-scrollbar{display:none}.segmented button{border-radius:var(--radius-xs);min-height:36px;color:var(--color-text-muted);white-space:nowrap;background:0 0;border:0;flex:1 0 auto;padding:6px 13px}.segmented button:hover{color:var(--color-text)}.segmented button[aria-selected=true]{color:var(--color-primary);background:var(--color-surface);box-shadow:var(--shadow-sm);font-weight:680}.search-box{align-items:center;min-width:0;display:flex;position:relative}.search-box svg{color:var(--color-text-muted);position:absolute;left:12px}.search-box input{min-height:44px;padding-left:39px}.record-list{gap:var(--space-2);display:grid}.record-item{align-items:center;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-height:92px;transition:border-color var(--motion-fast), box-shadow var(--motion-fast), transform var(--motion-fast);grid-template-columns:42px minmax(0,1fr) 24px;padding:16px 14px;display:grid}.record-item:hover{box-shadow:var(--shadow-sm);border-color:#a8bbb3;transform:translateY(-1px)}.record-icon{width:40px;height:40px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:var(--radius-sm);place-items:center;display:grid}.record-main{gap:7px;min-width:0;display:grid}.record-title-row{align-items:center;gap:var(--space-3);display:flex}.record-title-row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:16px;overflow:hidden}.record-meta{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:13px;display:flex}.record-chevron{color:#97a49f}.record-skeleton{border-radius:var(--radius-sm);background:#e6ece8;height:92px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.55}}.status-badge{border-radius:var(--radius-xs);flex:none;align-items:center;min-height:24px;padding:2px 8px;font-size:12px;font-weight:680;display:inline-flex}.status-草稿{color:#765018;background:var(--color-warning-soft)}.status-已提交{color:#0d6249;background:var(--color-primary-soft)}.status-作废{color:#6b4b67;background:#f2e9f1}.status-已删除{color:#8d302c;background:var(--color-danger-soft)}.empty-state,.center-state{text-align:center;align-content:center;justify-items:center;display:grid}.empty-state{min-height:360px;padding:var(--space-7) var(--space-4);border-top:1px solid var(--color-border)}.empty-state h2{margin:var(--space-4) 0 var(--space-1);font-size:19px}.empty-state p,.center-state p{margin:0 0 var(--space-5);color:var(--color-text-muted)}.empty-icon{border-radius:var(--radius-md);width:52px;height:52px;color:var(--color-accent);background:var(--color-accent-soft);place-items:center;display:grid}.center-state{min-height:100vh;padding:var(--space-5)}.editor-page{padding-bottom:118px}.editor-heading{margin-bottom:var(--space-5);position:relative}.editor-status-row{align-items:center;gap:var(--space-3);min-height:28px;margin-bottom:var(--space-2);display:flex}.save-status{color:var(--color-text-muted);font-size:12px}.more-wrap{position:relative}.action-menu{z-index:25;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:190px;box-shadow:var(--shadow-md);padding:5px;position:absolute;top:calc(100% + 6px);right:0}.action-menu button{border-radius:var(--radius-xs);width:100%;min-height:42px;color:var(--color-text);text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:8px 10px;display:flex}.action-menu button:hover{background:var(--color-surface-muted)}.action-menu .danger-text{color:var(--color-danger)}.step-tabs{z-index:20;margin:var(--space-5) 0 0;border-block:1px solid var(--color-border);background:#f3f6f4f7;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid;position:sticky;top:64px}.step-tab{justify-content:center;align-items:center;gap:var(--space-2);min-width:0;min-height:58px;color:var(--color-text-muted);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:8px 10px 5px;display:flex}.step-tab:hover:not(:disabled){color:var(--color-text)}.step-tab[aria-selected=true]{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:700}.step-index{border:1px solid;border-radius:50%;flex:none;place-items:center;width:23px;height:23px;font-size:12px;display:inline-grid}.form-surface{min-height:460px;padding:var(--space-6) 0 0}.section-heading{margin-bottom:var(--space-5)}.section-heading.compact{margin-bottom:var(--space-4)}.section-heading h2{margin:0 0 var(--space-1);font-size:21px}.section-heading h3{margin:0;font-size:17px}.section-heading p{color:var(--color-text-muted);margin:0}.section-divider{height:1px;margin:var(--space-6) 0;background:var(--color-border)}.form-grid{gap:var(--space-5) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.choice-field{min-width:0}.choice-grid{gap:var(--space-2);flex-wrap:wrap;display:flex}.choice-button{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);min-height:40px;color:var(--color-text);background:var(--color-surface);align-items:center;gap:7px;padding:7px 11px;display:inline-flex}.choice-button:hover:not(:disabled){border-color:var(--color-primary)}.choice-button[data-selected=true]{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-soft);font-weight:650}.choice-button:disabled{opacity:.7}.choice-check{border-radius:var(--radius-xs);border:1px solid;place-items:center;width:17px;height:17px;display:grid}.review-sections{border-top:1px solid var(--color-border)}.review-section{padding:var(--space-5) 0;border-bottom:1px solid var(--color-border)}.review-section h3{margin:0 0 var(--space-4);font-size:16px}.review-section dl{gap:var(--space-4) var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.review-section dl div{min-width:0}.review-section dt{color:var(--color-text-muted);font-size:12px}.review-section dd{overflow-wrap:anywhere;margin:4px 0 0}.review-section dd[data-empty=true]{color:#929c98}.editor-footer{z-index:29;padding:12px max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));border-top:1px solid var(--color-border);background:#fffffffa;position:fixed;bottom:0;left:0;right:0}.editor-footer-inner{justify-content:flex-end;gap:var(--space-3);width:min(100%,920px);min-height:44px;margin:0 auto;display:flex}.dialog-backdrop{z-index:100;background:#121f1a8f;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.dialog{border:1px solid var(--color-border);border-radius:var(--radius-md);width:min(100%,480px);max-height:calc(100vh - 36px);padding:var(--space-5);background:var(--color-surface);box-shadow:var(--shadow-md);overflow-y:auto}.dialog-header{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:40px minmax(0,1fr) 40px;align-items:start;display:grid}.dialog-header h2{margin:0;font-size:19px}.dialog-header p{color:var(--color-text-muted);margin:4px 0 0;font-size:13px}.danger-icon{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--color-danger);background:var(--color-danger-soft);place-items:center;display:grid}.check-row{margin-top:var(--space-4);color:#5e4a48;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:9px;font-size:13px;display:grid}.check-row input{width:18px;height:18px;accent-color:var(--color-danger);margin:2px 0 0}.dialog-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5);display:flex}@media (max-width:760px){body{font-size:15px}input,textarea,select{font-size:16px}.auth-page{background:var(--color-surface);display:block}.auth-brand-panel{border-right:0;border-bottom:4px solid var(--color-accent);min-height:auto;padding:18px 20px}.auth-brand-icon{width:40px;height:40px}.auth-brand-lockup strong{font-size:17px}.auth-brand-index{display:none}.auth-form-panel{align-items:start;min-height:calc(100vh - 81px);padding:42px 20px}.auth-form-wrap h1{font-size:26px}.header-inner{width:calc(100% - 20px)}.user-identity>svg,.user-identity>span{display:none}.page,.list-page{width:calc(100% - 24px);padding-top:var(--space-5)}.page h1{font-size:24px}.page-heading-row{align-items:center;gap:var(--space-3)}.page-heading-row .button{padding-inline:12px}.list-tools{gap:var(--space-3);margin-top:var(--space-5);grid-template-columns:1fr}.segmented button{flex:none}.record-item{grid-template-columns:38px minmax(0,1fr) 20px;padding-inline:11px}.record-icon{width:36px;height:36px}.record-meta{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;display:grid}.record-meta time{grid-column:1/-1}.editor-heading{gap:var(--space-3)}.step-tabs{scrollbar-width:none;grid-template-columns:repeat(4,minmax(116px,1fr));margin-inline:-12px;overflow-x:auto}.step-tabs::-webkit-scrollbar{display:none}.step-tab{justify-content:flex-start;padding-inline:12px}.form-surface{padding-top:var(--space-5)}.form-grid{gap:var(--space-4);grid-template-columns:1fr}.field-wide{grid-column:auto}.review-section dl{gap:var(--space-3);grid-template-columns:1fr}.editor-footer-inner{grid-template-columns:1fr 1.25fr;display:grid}.editor-footer-inner .button:only-child{grid-column:1/-1}.dialog{padding:20px}.dialog-actions{grid-template-columns:1fr 1.4fr;display:grid}}@media (max-width:420px){.app-brand span:last-child{display:none}.record-title-row{justify-content:space-between;align-items:flex-start}.choice-button{flex:1 0 calc(50% - 4px);justify-content:flex-start}.dialog-header{gap:var(--space-2);grid-template-columns:36px minmax(0,1fr) 36px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
