:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media(max-width:1024px){:root{font-size:16px}}@media(prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media(max-width:1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media(max-width:1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}@font-face{font-family:"FangSong";src:local("FangSong"),local(FangSong_GB2312),local(STFangSong),local(仿宋),local(仿宋_GB2312);font-display:swap}:root{--primary-color:#4a7c59;--primary-dark:#3a6348;--primary-light:#e8f4ea;--secondary-color:#f5f0e8;--text-color:#2b2b2b;--text-light:#6b6b6b;--text-lighter:#9b9b9b;--background-color:#fdfcfa;--background-alt:#f5f0e8;--border-color:#e0dcd6;--accent-color:#c9372c;--accent-light:#f5e6e6;--success-color:#6b8e7b;--success-light:#e8f0ec;--pending-color:#c9a87c;--pending-light:#f5efe6;--shadow:0 2px 12px #0000000f;--shadow-lg:0 8px 24px #00000014;--border-radius:16px;--border-radius-sm:12px;--border-radius-xs:8px;--transition:all .4s cubic-bezier(.4, 0, .2, 1);--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--font-family-sans:"FangSong", "STFangSong", "仿宋", "仿宋_GB2312", "FangSong_GB2312", serif;--font-family-serif:"FangSong", "STFangSong", "仿宋", "仿宋_GB2312", "FangSong_GB2312", serif;--font-family-calligraphy:"FangSong", "STFangSong", "仿宋", "仿宋_GB2312", "FangSong_GB2312", serif;--font-size-title:36px;--font-size-subtitle:24px;--font-size-body:16px;--font-size-caption:14px;--font-size-small:12px}@media(prefers-color-scheme:dark){:root{--primary-color:#5a8c69;--primary-dark:#4a7c59;--primary-light:#2a3a32;--secondary-color:#2c2c2e;--text-color:#e8e8e8;--text-light:#a0a0a0;--text-lighter:#707070;--background-color:#1c1c1e;--background-alt:#2c2c2e;--border-color:#3a3a3c;--accent-color:#e9473c;--accent-light:#3a2828;--success-color:#7a9e7e;--success-light:#2a3a2c;--pending-color:#d4b896;--pending-light:#3a3228;--shadow:0 2px 12px #0000004d;--shadow-lg:0 8px 24px #0006}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-calligraphy);background-color:var(--background-alt);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3ClinearGradient id='inkFlow' x1='0%25' y1='0%25' x2='100%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%23F5F0E8' stop-opacity='1'/%3E%3Cstop offset='50%25' stop-color='%23E8F4EA' stop-opacity='0.3'/%3E%3Cstop offset='100%25' stop-color='%23F5F0E8' stop-opacity='1'/%3E%3C/linearGradient%3E%3Cfilter id='inkFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.03' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.1 0'/%3E%3C/filter%3E%3C/defs%3E%3Crect width='100%25' height='100%25' fill='url(%23inkFlow)'/%3E%3Crect width='100%25' height='100%25' filter='url(%23inkFilter)'/%3E%3Cpath d='M0,80% Q25%,70% 50%,75% T100%,80%' stroke='rgba(74,124,89,0.1)' stroke-width='2' fill='none'/%3E%3Cpath d='M0,75% Q25%,65% 50%,70% T100%,75%' stroke='rgba(74,124,89,0.08)' stroke-width='2' fill='none'/%3E%3Cpath d='M30%,30% Q40%,25% 50%,30% T70%,35%' stroke='rgba(74,124,89,0.06)' stroke-width='1' fill='none'/%3E%3Cpath d='M20%,25% Q40%,20% 60%,25% T80%,30%' stroke='rgba(74,124,89,0.04)' stroke-width='1' fill='none'/%3E%3Ccircle cx='85%' cy='20%' r='2' fill='rgba(74,124,89,0.1)'/%3E%3Ccircle cx='88%' cy='22%' r='1.5' fill='rgba(74,124,89,0.08)'/%3E%3Ccircle cx='82%' cy='21%' r='1' fill='rgba(74,124,89,0.06)'/%3E%3C/svg%3E");line-height:1.7;transition:background-color .3s,color .3s}#root{flex-direction:column;min-height:100vh;display:flex}.app{width:100%;max-width:600px;padding:var(--spacing-md);flex-direction:column;flex:1;margin:0 auto;display:flex;position:relative}.app-footer{text-align:center;padding:var(--spacing-lg) 0;margin-top:var(--spacing-xl)}.app-footer a{color:var(--text-lighter);font-size:var(--font-size-small);transition:var(--transition);letter-spacing:.1em;font-family:var(--font-family-calligraphy);text-decoration:none}.app-footer a:hover{color:var(--primary-color);text-decoration:underline}.app-header{text-align:center;padding:var(--spacing-xl) 0;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;border-radius:var(--border-radius);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.app-header:before{content:"";opacity:.3;z-index:0;background-image:url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cfilter id='inkBrush'%3E%3CfeTurbulence type='turbulence' baseFrequency='0.01' numOctaves='2'/%3E%3CfeColorMatrix type='matrix' values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.05 0'/%3E%3C/filter%3E%3C/defs%3E%3Crect width='100%25' height='100%25' filter='url(%23inkBrush)'/%3E%3C/svg%3E");width:100%;height:100%;position:absolute;top:0;left:0}.app-header:after{content:"";opacity:.6;z-index:0;background-image:url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0,40 Q50,20 100,40 T200,40 T300,40 T400,40 T500,40 T600,40' stroke='rgba(255,255,255,0.3)' stroke-width='1' fill='none'/%3E%3Cpath d='M0,35 Q50,15 100,35 T200,35 T300,35 T400,35 T500,35 T600,35' stroke='rgba(255,255,255,0.2)' stroke-width='1' fill='none'/%3E%3C/svg%3E");width:100%;height:40px;position:absolute;bottom:10px;left:0}.app-header h1{font-size:var(--font-size-title);letter-spacing:.3em;z-index:1;font-weight:400;font-family:var(--font-family-calligraphy);text-shadow:2px 2px 4px #0003;color:#f5f0e8;margin:0;position:relative}.app-header h1:after{content:"";background:linear-gradient(90deg,#0000,#f5f0e8cc,#0000);width:80px;height:2px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.app-main{flex:1}.home-container{gap:var(--spacing-xl);background-color:var(--background-color);border-radius:var(--border-radius);min-height:400px;padding:var(--spacing-xl);box-shadow:var(--shadow);border:1px solid var(--border-color);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.home-container:before{content:"";background:linear-gradient(90deg,transparent,var(--primary-color),transparent);opacity:.6;height:2px;position:absolute;top:0;left:0;right:0}.home-container:after{content:"";opacity:.5;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cfilter id='inkSplash'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.03' numOctaves='2'/%3E%3CfeColorMatrix type='matrix' values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.03 0'/%3E%3C/filter%3E%3C/defs%3E%3Crect width='100%25' height='100%25' filter='url(%23inkSplash)'/%3E%3C/svg%3E");height:100px;position:absolute;bottom:0;left:0;right:0}.stats-container{gap:var(--spacing-md);width:100%;margin-bottom:var(--spacing-xl);grid-template-columns:repeat(3,1fr);display:grid}.stat-card{background:var(--background-color);border-radius:var(--border-radius-sm);padding:var(--spacing-lg);text-align:center;box-shadow:var(--shadow);border:1px solid var(--border-color);transition:var(--transition);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg,transparent,var(--primary-color),transparent);opacity:.6;height:1px;position:absolute;top:0;left:0;right:0}.stat-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light);transform:translateY(-2px)}.stat-number{color:var(--primary-color);margin-bottom:var(--spacing-xs);font-size:32px;font-weight:400;font-family:var(--font-family-calligraphy);letter-spacing:.1em;display:inline-block;position:relative}.stat-number:after{content:"";background:linear-gradient(90deg,transparent,var(--primary-color),transparent);opacity:.6;width:30px;height:1px;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}.stat-label{font-size:var(--font-size-caption);color:var(--text-light);letter-spacing:.05em;font-family:var(--font-family-calligraphy);margin-top:var(--spacing-sm)}.home-actions{gap:var(--spacing-md);width:100%;max-width:300px;margin-top:var(--spacing-lg);flex-direction:column;display:flex}.primary-button{background-color:var(--primary-color);color:#fff;font-size:var(--font-size-body);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;gap:var(--spacing-sm);letter-spacing:.1em;min-width:240px;min-height:56px;font-weight:400;font-family:var(--font-family-calligraphy);background-image:linear-gradient(135deg,var(--primary-color),var(--primary-dark));touch-action:manipulation;-webkit-user-select:none;user-select:none;border:none;border-radius:24px;padding:18px 32px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #4a7c594d}.primary-button:before{content:"";width:100%;height:100%;transition:var(--transition);background:linear-gradient(90deg,#0000,#fff3,#0000);position:absolute;top:0;left:-100%}.primary-button:hover:before{left:100%}.primary-button:hover{background-image:linear-gradient(135deg,var(--primary-dark),var(--primary-color));transform:translateY(-2px);box-shadow:0 8px 20px #4a7c5966}.primary-button:active{transform:translateY(0);box-shadow:0 4px 12px #4a7c594d}.secondary-button{color:var(--text-color);border:1.5px solid var(--border-color);font-size:var(--font-size-caption);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;gap:var(--spacing-sm);letter-spacing:.1em;min-width:100px;min-height:44px;font-weight:400;font-family:var(--font-family-calligraphy);touch-action:manipulation;-webkit-user-select:none;user-select:none;background-color:#0000;border-radius:20px;padding:12px 24px;display:flex;position:relative;overflow:hidden}.list-actions .secondary-button{min-width:80px;font-size:var(--font-size-caption);min-height:40px;padding:10px 16px}.secondary-button:hover{background-color:var(--secondary-color);border-color:var(--primary-color);box-shadow:var(--shadow);transform:translateY(-2px)}.secondary-button:active{box-shadow:none;transform:translateY(0)}.danger-button{color:var(--accent-color);border:1.5px solid var(--accent-color);border-radius:var(--border-radius-sm);cursor:pointer;transition:var(--transition);letter-spacing:.05em;font-size:10px;font-weight:400;font-family:var(--font-family-calligraphy);touch-action:manipulation;-webkit-user-select:none;user-select:none;background-color:#0000;justify-content:center;align-items:center;gap:4px;min-height:32px;padding:6px 12px;display:flex}.danger-button:hover{background-color:var(--accent-light);transform:translateY(-1px)}.danger-button:active{transform:translateY(0)}.form-container{background-color:var(--background-color);border-radius:var(--border-radius);padding:var(--spacing-md);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;justify-content:space-between;min-height:80vh;animation:.4s ease-out slideIn;display:flex;position:relative;overflow:hidden}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-container:before{content:"";background:linear-gradient(90deg,transparent,var(--primary-color),transparent);opacity:.6;height:2px;position:absolute;top:0;left:0;right:0}.form-container:after{content:"";opacity:.4;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cfilter id='inkForm'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.03' numOctaves='2'/%3E%3CfeColorMatrix type='matrix' values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.02 0'/%3E%3C/filter%3E%3C/defs%3E%3Crect width='100%25' height='100%25' filter='url(%23inkForm)'/%3E%3C/svg%3E");height:80px;position:absolute;bottom:0;left:0;right:0}.form-header{margin-bottom:var(--spacing-lg);text-align:center}.form-header h2{font-size:var(--font-size-subtitle);margin-bottom:var(--spacing-sm);color:var(--text-color);letter-spacing:.1em;font-weight:400;font-family:var(--font-family-calligraphy);display:inline-block;position:relative}.form-header h2:after{content:"";background:linear-gradient(90deg,transparent,var(--primary-color),transparent);opacity:.6;width:60px;height:1px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.progress-bar{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:0 var(--spacing-md);display:flex}.progress-step{background-color:var(--secondary-color);height:4px;transition:var(--transition);border-radius:2px;flex:1;position:relative}.progress-step:after{content:"";background-color:var(--secondary-color);width:8px;height:8px;transition:var(--transition);border-radius:50%;position:absolute;top:50%;right:-4px;transform:translateY(-50%)}.progress-step:last-child:after{display:none}.progress-step.active{background-color:var(--primary-color)}.progress-step.active:after{background-color:var(--primary-color);box-shadow:0 0 0 4px #4a7c5933}.form-step{margin-bottom:var(--spacing-lg);flex-direction:column;flex:1;justify-content:space-between;animation:.3s ease-out fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.form-step h3{font-size:var(--font-size-body);margin-bottom:var(--spacing-md);text-align:center;color:var(--text-color);letter-spacing:.05em;font-weight:400;font-family:var(--font-family-calligraphy)}.form-step input,.form-step textarea,.form-step select{border:1.5px solid var(--border-color);border-radius:var(--border-radius);width:100%;font-size:var(--font-size-body);transition:var(--transition);background-color:var(--background-color);color:var(--text-color);font-family:var(--font-family-calligraphy);touch-action:manipulation;box-sizing:border-box;min-height:44px;padding:12px 16px}.form-step input:focus,.form-step textarea:focus,.form-step select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #4a7c591a}.form-step textarea{resize:vertical;box-sizing:border-box;min-height:80px;line-height:1.6}.date-options{gap:var(--spacing-xs);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.date-option{border:1.5px solid var(--border-color);border-radius:var(--border-radius-sm);text-align:center;cursor:pointer;min-width:80px;transition:var(--transition);font-size:var(--font-size-caption);background-color:var(--background-color);letter-spacing:.05em;font-weight:400;font-family:var(--font-family-calligraphy);touch-action:manipulation;-webkit-user-select:none;user-select:none;box-sizing:border-box;flex:1;justify-content:center;align-items:center;min-height:44px;padding:12px 8px;display:flex}.date-option:hover{border-color:var(--primary-color);background-color:var(--primary-light)}.date-option.active{border-color:var(--primary-color);background-color:var(--primary-color);color:#fff}.template-container{margin-bottom:var(--spacing-md)}.template-header{margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.template-header h4{font-size:var(--font-size-small);color:var(--text-light);text-transform:uppercase;letter-spacing:.1em;font-weight:400;font-family:var(--font-family-calligraphy)}.add-template{color:var(--primary-color);font-size:var(--font-size-caption);cursor:pointer;transition:var(--transition);align-items:center;gap:var(--spacing-xs);letter-spacing:.05em;font-weight:400;font-family:var(--font-family-calligraphy);background:0 0;border:none;display:flex}.add-template:hover{text-decoration:underline}.template-options{gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.template-input-container{box-sizing:border-box;align-items:stretch;gap:8px;width:100%;margin-top:12px;display:flex}.template-input{border:1.5px solid var(--border-color);border-radius:var(--border-radius-sm);background-color:var(--background-color);color:var(--text-color);font-size:var(--font-size-caption);font-family:var(--font-family-calligraphy);touch-action:manipulation;flex:1;padding:12px 16px;box-sizing:border-box!important;flex-grow:1!important;min-width:0!important;max-width:none!important;height:44px!important}.template-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #4a7c591a}.template-add-button{width:80px!important;font-size:var(--font-size-caption)!important;box-sizing:border-box!important;flex-grow:0!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;min-width:80px!important;max-width:80px!important;height:44px!important;padding:0 16px!important;display:flex!important}.template-option{border:1.5px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;transition:var(--transition);font-size:var(--font-size-caption);background-color:var(--background-color);align-items:center;gap:var(--spacing-xs);letter-spacing:.02em;font-weight:400;font-family:var(--font-family-calligraphy);touch-action:manipulation;-webkit-user-select:none;user-select:none;min-height:44px;padding:12px 18px;display:flex}.template-option:hover{border-color:var(--primary-color);background-color:var(--primary-light)}.template-option.active{border-color:var(--primary-color);background-color:var(--primary-color);color:#fff}.template-option .remove-template{color:inherit;cursor:pointer;width:16px;height:16px;transition:var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:16px;display:flex}.template-option .remove-template:hover{background-color:#fff3;transform:scale(1.1)}.form-actions{gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--border-color);margin-bottom:var(--spacing-sm);flex-direction:column;display:flex}.list-container{background-color:var(--background-color);border-radius:var(--border-radius);padding:var(--spacing-md);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:.4s ease-out slideIn;position:relative;overflow:hidden}.list-container:before{content:"";background:linear-gradient(90deg,transparent,var(--primary-color),transparent);opacity:.6;height:2px;position:absolute;top:0;left:0;right:0}.list-container:after{content:"";opacity:.4;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cfilter id='inkList'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.03' numOctaves='2'/%3E%3CfeColorMatrix type='matrix' values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.02 0'/%3E%3C/filter%3E%3C/defs%3E%3Crect width='100%25' height='100%25' filter='url(%23inkList)'/%3E%3C/svg%3E");height:80px;position:absolute;bottom:0;left:0;right:0}.list-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color);flex-direction:column;align-items:flex-start;width:100%;display:flex}.list-header h2{font-size:var(--font-size-subtitle);color:var(--text-color);letter-spacing:.1em;font-weight:400;font-family:var(--font-family-calligraphy);display:inline-block;position:relative}.list-header h2:after{content:"";background:linear-gradient(90deg,var(--primary-color),transparent);opacity:.6;width:60px;height:1px;position:absolute;bottom:-8px;left:0}.list-actions{gap:var(--spacing-sm);width:100%;margin-top:var(--spacing-xs);flex-wrap:wrap;align-items:center;display:flex}.date-range-picker{align-items:center;gap:var(--spacing-xs);width:100%;margin-bottom:var(--spacing-xs);flex-wrap:wrap;display:flex}.date-input{border:1.5px solid var(--border-color);border-radius:var(--border-radius-sm);background-color:var(--background-color);min-width:100px;color:var(--text-color);font-size:var(--font-size-caption);font-family:var(--font-family-calligraphy);touch-action:manipulation;flex:1;min-height:40px;padding:10px 12px}.sort-select{border:1.5px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-caption);background-color:var(--background-color);cursor:pointer;transition:var(--transition);font-family:var(--font-family-calligraphy);min-width:120px;min-height:40px;padding:10px 12px}.date-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #4a7c591a}.date-separator{color:var(--text-light);font-size:var(--font-size-caption);font-family:var(--font-family-calligraphy);white-space:nowrap;margin:0 4px}.record-count{font-size:var(--font-size-caption);color:var(--text-light);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-color);font-family:var(--font-family-calligraphy);letter-spacing:.05em}.sort-select{border:1.5px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-caption);background-color:var(--background-color);cursor:pointer;transition:var(--transition);font-family:var(--font-family-calligraphy);color:var(--text-color);padding:12px 16px}.sort-select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #4a7c591a}.empty-state{text-align:center;padding:var(--spacing-xl) var(--spacing-md);color:var(--text-light);background-color:var(--background-alt);border-radius:var(--border-radius);border:1.5px dashed var(--border-color);position:relative;overflow:hidden}.empty-state:before{content:"";margin-bottom:var(--spacing-lg);opacity:.5;font-size:48px;display:block}.empty-state p{margin-bottom:var(--spacing-lg);font-size:var(--font-size-body);letter-spacing:.05em;font-family:var(--font-family-calligraphy)}.records-list{gap:var(--spacing-xs);flex-direction:column;display:flex}.record-item{border:1.5px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-xs);margin-bottom:var(--spacing-xs);transition:var(--transition);background-color:var(--background-color);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:.4s ease-out slideIn;position:relative;overflow:hidden}.record-item:before{content:"";background-color:var(--primary-color);width:3px;height:100%;transition:var(--transition);opacity:.7;position:absolute;top:0;left:0}.record-item:after{content:"";opacity:.3;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cfilter id='inkRecord'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.05' numOctaves='2'/%3E%3CfeColorMatrix type='matrix' values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.02 0'/%3E%3C/filter%3E%3C/defs%3E%3Crect width='100%25' height='100%25' filter='url(%23inkRecord)'/%3E%3C/svg%3E");width:100px;height:60px;position:absolute;bottom:0;right:0}.record-item:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light);transform:translateY(-2px)}.record-item.reimbursed{background-color:var(--success-light);border-color:var(--success-color);position:relative}.record-item.reimbursed:before{background-color:var(--success-color)}.record-item.reimbursed:after{content:"已报销";background-color:var(--success-color);color:#fff;letter-spacing:.1em;font-size:10px;font-weight:700;font-family:var(--font-family-calligraphy);z-index:2;text-shadow:0 1px 1px #0000004d;border:1px solid #ffffff4d;padding:4px 40px;position:absolute;top:50%;right:-30px;transform:rotate(45deg)translateY(-50%);box-shadow:0 2px 4px #0003}.record-content{z-index:1;position:relative}.record-delete-btn{position:absolute;top:4px;right:4px;z-index:2;width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:var(--text-lighter);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);opacity:.3;padding:0}.record-delete-btn:hover{opacity:1;background:var(--accent-light);color:var(--accent-color)}.record-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:4px;margin-bottom:4px;display:flex}.record-header h3{font-size:var(--font-size-caption);color:var(--text-color);letter-spacing:.02em;font-weight:400;font-family:var(--font-family-calligraphy);flex:1;margin:0;line-height:1.3}.record-date{color:var(--text-light);background-color:var(--secondary-color);border-radius:var(--border-radius-sm);white-space:nowrap;letter-spacing:.02em;font-size:10px;font-weight:400;font-family:var(--font-family-calligraphy);align-items:center;height:20px;padding:2px 6px;display:flex}.record-meta{flex-wrap:wrap;gap:4px;margin-bottom:4px;display:flex}.record-people{color:var(--text-light);background-color:var(--primary-light);border-radius:var(--border-radius-sm);letter-spacing:.02em;font-size:10px;font-weight:400;font-family:var(--font-family-calligraphy);white-space:nowrap;text-overflow:ellipsis;align-items:center;max-width:100%;height:20px;padding:2px 6px;display:flex;overflow:hidden}.record-event{color:var(--text-color);background-color:var(--background-alt);border-radius:var(--border-radius-sm);border-left:2px solid var(--primary-light);letter-spacing:.02em;font-size:11px;line-height:1.4;font-family:var(--font-family-calligraphy);align-items:center;min-height:32px;margin-bottom:4px;padding:4px;display:flex}.record-actions{border-top:1px solid var(--border-color);flex-direction:column;gap:4px;padding-top:4px;display:flex}.record-status{background-color:var(--background-alt);border-radius:var(--border-radius);flex:1;align-items:center;gap:4px;min-width:120px;padding:2px 6px;font-weight:400;display:flex}.status-toggle{width:56px;height:32px;display:inline-block;position:relative}.status-toggle input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:var(--secondary-color);transition:var(--transition);border-radius:32px;position:absolute;top:0;right:0;bottom:0;left:0}.toggle-slider:before{content:"";width:24px;height:24px;transition:var(--transition);background-color:#fff;border-radius:50%;position:absolute;bottom:4px;left:4px;box-shadow:0 2px 4px #0000001a}input:checked+.toggle-slider{background-color:var(--success-color)}input:checked+.toggle-slider:before{transform:translate(24px)}.status-text{letter-spacing:.02em;min-width:40px;font-size:10px;font-weight:400;font-family:var(--font-family-calligraphy)}.status-text.completed{color:var(--success-color)}.status-text.pending{color:var(--pending-color)}.icon{justify-content:center;align-items:center;font-size:18px;display:inline-flex}.footer-notice{font-size:var(--font-size-body);color:var(--text-light);margin-bottom:var(--spacing-md);text-align:center;letter-spacing:.05em;font-family:var(--font-family-calligraphy);line-height:1.6}.about-button{color:var(--text-lighter);font-size:var(--font-size-small);transition:var(--transition);letter-spacing:.1em;font-family:var(--font-family-calligraphy);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none}.about-button:hover{color:var(--primary-color);text-decoration:underline}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.modal-content{background-color:var(--background-color);border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:400px;max-width:95%;margin:var(--spacing-sm);position:relative}.modal-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-size:var(--font-size-subtitle);color:var(--text-color);letter-spacing:.1em;font-weight:400;font-family:var(--font-family-calligraphy);margin:0}.close-button{cursor:pointer;color:var(--text-light);transition:var(--transition);font-size:24px;font-family:var(--font-family-calligraphy);touch-action:manipulation;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.close-button:hover{color:var(--text-color);transform:scale(1.1)}.modal-body{margin-bottom:var(--spacing-xl)}.modal-body p{margin-bottom:var(--spacing-md);font-size:var(--font-size-body);color:var(--text-color);letter-spacing:.05em;font-family:var(--font-family-calligraphy);line-height:1.6}.modal-footer{justify-content:center;display:flex}.modal-footer .primary-button{min-width:120px}@media(max-width:480px){.app{padding:var(--spacing-sm)}.app-header h1{font-size:28px}.home-container,.form-container,.list-container{padding:var(--spacing-lg)}.form-actions{flex-direction:column}.primary-button,.secondary-button{width:100%}.record-header{align-items:flex-start;gap:var(--spacing-sm);flex-direction:column}.record-meta{flex-direction:column;align-items:flex-start}.record-actions{flex-direction:column;align-items:stretch}.date-options{flex-direction:column}.date-option{width:100%}.stats-container{grid-template-columns:repeat(3,1fr)}}@media(max-width:320px){.app{padding:var(--spacing-xs)}.app-header{padding:var(--spacing-md) 0;margin-bottom:var(--spacing-lg)}.app-header h1{letter-spacing:.2em;font-size:22px}.home-container{min-height:300px;padding:var(--spacing-sm);gap:var(--spacing-lg)}.form-container,.list-container{padding:var(--spacing-sm)}.form-header h2,.list-header h2{font-size:18px}.form-step h3{margin-bottom:var(--spacing-md);font-size:16px}.primary-button,.secondary-button{min-width:100%;height:56px;padding:18px 32px;font-size:16px}.form-actions{gap:var(--spacing-sm)}.stat-number{font-size:24px}.stat-label{font-size:12px}.record-item{padding:var(--spacing-sm)}.record-header h3{font-size:14px}.record-date,.record-people{padding:4px 8px;font-size:12px}.record-event{padding:var(--spacing-sm);font-size:14px}.date-options{gap:var(--spacing-xs)}.date-option{min-height:48px;padding:12px;font-size:14px}.template-options{gap:var(--spacing-xs)}.template-option{min-height:44px;padding:10px 14px;font-size:14px}.form-step input,.form-step textarea{min-height:56px;padding:16px 20px;font-size:16px}.form-step textarea{min-height:120px}.modal-content{padding:var(--spacing-md);margin:var(--spacing-sm)}.modal-header h3{font-size:18px}.modal-body p{font-size:14px}.modal-footer .primary-button,.modal-footer .secondary-button{min-width:100%}}@media(min-width:414px)and (max-width:480px){.app{padding:var(--spacing-md)}.app-header h1{font-size:32px}.home-container{padding:var(--spacing-xl);min-height:400px}.form-container,.list-container{padding:var(--spacing-xl)}.form-header h2,.list-header h2{font-size:24px}.form-step h3{font-size:20px}.primary-button,.secondary-button{min-width:280px;height:56px;padding:18px 32px;font-size:16px}.form-actions{gap:var(--spacing-md)}.stat-number{font-size:36px}.stat-label{font-size:14px}.record-item{padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.record-header h3{font-size:18px}.record-date,.record-people{padding:6px 12px;font-size:14px}.record-event{padding:var(--spacing-md);font-size:16px}.date-options{gap:var(--spacing-sm)}.date-option{min-height:52px;padding:14px;font-size:14px}.template-options{gap:var(--spacing-sm)}.template-option{min-height:48px;padding:12px 16px;font-size:14px}.form-step input,.form-step textarea{min-height:56px;padding:16px 20px;font-size:16px}.form-step textarea{min-height:140px}.modal-content{max-width:400px;padding:var(--spacing-lg)}.modal-header h3{font-size:20px}.modal-body p{font-size:16px}.home-actions button{min-height:56px;padding:18px 32px;font-size:16px}.stats-container{grid-template-columns:repeat(3,1fr)}}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);text-align:left}.form-header h2{margin:0}.form-header-actions{display:flex;gap:8px}.text-btn{background:none;border:none;color:var(--text-light);font-size:var(--font-size-caption);font-family:var(--font-family-calligraphy);cursor:pointer;letter-spacing:.05em;padding:8px 12px;border-radius:20px;transition:var(--transition)}.text-btn:hover{color:var(--primary-color);background:var(--primary-light)}.form-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:var(--spacing-md)}.form-section{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color);animation:fadeIn .3s ease-out}.form-section:last-child{border-bottom:none}.section-label{display:flex;align-items:center;gap:8px;font-size:var(--font-size-body);color:var(--text-color);letter-spacing:.05em;font-weight:500;font-family:var(--font-family-calligraphy);margin-bottom:var(--spacing-md)}.label-icon{font-size:18px}.quick-dates{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;margin-bottom:var(--spacing-md);-webkit-overflow-scrolling:touch;scrollbar-width:none}.quick-dates::-webkit-scrollbar{display:none}.quick-date-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:52px;height:56px;border:1.5px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--background-color);cursor:pointer;transition:var(--transition);flex-shrink:0;font-family:var(--font-family-calligraphy);touch-action:manipulation;-webkit-user-select:none;user-select:none;padding:6px 4px}.quick-date-btn:hover{border-color:var(--primary-color);background:var(--primary-light)}.quick-date-btn.active{border-color:var(--primary-color);background:var(--primary-color);color:#fff;box-shadow:0 2px 8px #4a7c5940}.quick-date-label{font-size:10px;letter-spacing:.02em;margin-bottom:2px}.quick-date-day{font-size:18px;font-weight:500;letter-spacing:.05em}.quick-date-btn.active .quick-date-label,.quick-date-btn.active .quick-date-day{color:#fff}.date-mode-toggle{display:flex;background:var(--background-alt);border-radius:var(--border-radius-sm);padding:3px;margin-bottom:var(--spacing-md);border:1px solid var(--border-color)}.date-mode-btn{flex:1;border:none;background:none;border-radius:9px;font-size:var(--font-size-caption);font-family:var(--font-family-calligraphy);letter-spacing:.1em;padding:10px 0;cursor:pointer;transition:var(--transition);color:var(--text-light);touch-action:manipulation;-webkit-user-select:none;user-select:none}.date-mode-btn.active{background:var(--primary-color);color:#fff;box-shadow:0 2px 6px #4a7c5930}.date-pickers{display:flex;align-items:flex-end;gap:8px}.date-picker-card{flex:1;display:flex;flex-direction:column;gap:4px}.date-picker-label{font-size:11px;color:var(--text-light);letter-spacing:.05em;font-family:var(--font-family-calligraphy)}.date-input-inline{border:1.5px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--background-color);color:var(--text-color);font-size:var(--font-size-caption);font-family:var(--font-family-calligraphy);min-height:44px;padding:10px 12px;width:100%;transition:var(--transition);box-sizing:border-box}.date-input-inline:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #4a7c591a}.date-separator-new{color:var(--text-light);font-size:var(--font-size-caption);font-family:var(--font-family-calligraphy);padding-bottom:8px;flex-shrink:0}.date-summary{margin-top:var(--spacing-sm);font-size:var(--font-size-small);color:var(--primary-dark);background:var(--primary-light);border-radius:var(--border-radius-xs);padding:6px 12px;text-align:center;letter-spacing:.05em;font-family:var(--font-family-calligraphy)}.chip-group{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--spacing-md)}.chip{border:1.5px solid var(--border-color);border-radius:20px;background:var(--background-color);color:var(--text-color);font-size:var(--font-size-caption);font-family:var(--font-family-calligraphy);cursor:pointer;transition:var(--transition);padding:8px 16px;touch-action:manipulation;-webkit-user-select:none;user-select:none;white-space:nowrap;letter-spacing:.02em}.chip:hover{border-color:var(--primary-color);background:var(--primary-light)}.chip.active{border-color:var(--primary-color);background:var(--primary-color);color:#fff;box-shadow:0 2px 6px #4a7c5930}.chip.wide{max-width:100%;overflow:hidden;text-overflow:ellipsis}.form-input{border:1.5px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--background-color);color:var(--text-color);font-size:var(--font-size-body);font-family:var(--font-family-calligraphy);width:100%;min-height:44px;padding:12px 16px;transition:var(--transition);box-sizing:border-box;touch-action:manipulation}.form-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #4a7c591a}.form-textarea{border:1.5px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--background-color);color:var(--text-color);font-size:var(--font-size-body);font-family:var(--font-family-calligraphy);width:100%;padding:12px 16px;transition:var(--transition);box-sizing:border-box;resize:vertical;line-height:1.6;touch-action:manipulation}.form-textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #4a7c591a}.selected-people{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--spacing-sm)}.people-tag{display:inline-flex;align-items:center;gap:6px;background:var(--primary-light);color:var(--primary-dark);border-radius:16px;padding:6px 12px;font-size:var(--font-size-caption);font-family:var(--font-family-calligraphy);letter-spacing:.02em;animation:fadeIn .2s ease-out}.tag-remove{background:none;border:none;color:var(--primary-dark);cursor:pointer;font-size:16px;padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:var(--transition);opacity:.6}.tag-remove:hover{opacity:1;background:#4a7c5920}.people-input-row{display:flex;gap:8px;align-items:stretch}.people-input-row .form-input{flex:1}.add-btn{width:44px;height:44px;border:none;border-radius:var(--border-radius-sm);background:var(--primary-color);color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0;touch-action:manipulation}.add-btn:hover{background:var(--primary-dark)}.add-btn:active{transform:scale(.95)}.save-template-btn{background:var(--secondary-color);color:var(--primary-dark);border:1.5px solid var(--border-color);font-size:16px}.save-template-btn:hover{background:var(--primary-light);border-color:var(--primary-color)}.chip-wrapper{position:relative;display:inline-flex;align-items:center}.chip-wrapper .chip{border-top-right-radius:20px;border-bottom-right-radius:20px;padding-right:12px}.chip-remove{width:22px;height:22px;border:none;border-radius:50%;background:transparent;color:inherit;opacity:.4;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:var(--transition);padding:0;flex-shrink:0;margin-left:-4px}.chip-remove:hover{opacity:1;background:#0001}.template-save-row{display:flex;gap:8px;align-items:stretch;margin-top:var(--spacing-sm)}.template-save-row .form-input{flex:1}.template-save-input{min-height:40px!important;font-size:var(--font-size-caption)!important}.form-footer{padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.submit-btn{width:100%;min-width:unset;border-radius:var(--border-radius-sm);min-height:50px;font-size:var(--font-size-body);letter-spacing:.15em}.form-container{min-height:auto;max-height:100vh}.form-container .form-body{flex:1;overflow-y:auto}.update-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;text-align:center;padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));cursor:pointer;font-size:15px;font-family:var(--font-family-calligraphy);letter-spacing:.1em;box-shadow:0 -4px 16px #4a7c5960;transition:var(--transition);animation:slideUp .3s ease-out;min-height:52px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.update-banner:active{filter:brightness(1.2)}.version-label{color:var(--text-lighter);font-size:10px;letter-spacing:.05em;font-family:var(--font-family-calligraphy);margin-top:4px}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media(min-width:768px)and (max-width:1024px){.app{max-width:700px;padding:var(--spacing-lg)}.app-header{padding:calc(var(--spacing-xl) * 1.5) 0}.app-header h1{font-size:42px}.home-container{min-height:500px;padding:calc(var(--spacing-xl) * 1.5)}.form-container,.list-container{padding:calc(var(--spacing-xl) * 1.5)}.form-header h2,.list-header h2{font-size:28px}.form-step h3{font-size:20px}.primary-button,.secondary-button{min-width:280px;padding:18px 36px;font-size:18px}.stat-number{font-size:40px}.stat-label{font-size:16px}.record-item{padding:calc(var(--spacing-lg) * 1.5)}.record-header h3{font-size:20px}.record-date,.record-people{padding:8px 16px;font-size:16px}.record-event{font-size:18px}.date-option{padding:16px;font-size:16px}.template-option{padding:12px 20px;font-size:16px}.form-step input,.form-step textarea{padding:20px 24px;font-size:18px}.modal-content{max-width:500px}}@media(orientation:landscape)and (max-height:500px){.app-header{padding:var(--spacing-md) 0;margin-bottom:var(--spacing-lg)}.home-container{gap:var(--spacing-lg);min-height:auto}.stats-container{margin-bottom:var(--spacing-lg)}.form-container,.list-container{max-height:80vh;overflow-y:auto}}@media(min--webkit-device-pixel-ratio:2),(min-resolution:192dpi){.app{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.stat-number:after{height:.5px}.form-container:before,.list-container:before,.home-container:before{height:1px}}@media(prefers-color-scheme:dark){.app{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@supports (padding-top:env(safe-area-inset-top)){.app{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.app-header{margin-top:env(safe-area-inset-top)}.app-footer{margin-bottom:env(safe-area-inset-bottom)}}@media(max-width:375px)and (max-height:667px){.app{padding:var(--spacing-sm)}.app-header{padding:var(--spacing-lg) 0}.app-header h1{font-size:24px}.home-container{min-height:350px;padding:var(--spacing-md)}.form-container,.list-container{padding:var(--spacing-md)}.form-header h2,.list-header h2{font-size:20px}.form-step h3{font-size:18px}.primary-button,.secondary-button{min-width:100%;height:56px;padding:18px 32px;font-size:16px}.form-actions{gap:var(--spacing-sm)}.record-item{padding:var(--spacing-md)}.record-header h3{font-size:16px}.date-options{gap:var(--spacing-sm)}.date-option{min-height:52px;padding:14px;font-size:14px}.template-options{gap:var(--spacing-xs)}.template-option{min-height:48px;padding:12px 16px;font-size:14px}.form-step input,.form-step textarea{min-height:56px;padding:16px 20px;font-size:16px}.form-step textarea{min-height:140px}.modal-footer .primary-button,.modal-footer .secondary-button{min-width:100%}.stats-container{grid-template-columns:repeat(3,1fr)}.home-actions button{min-height:56px;padding:18px 32px;font-size:16px}}
