@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Instrument+Sans:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body,#app{margin:0;min-height:100%;width:100%;overscroll-behavior-y:none}body{font-family:Instrument Sans,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background:var(--bg-base);-webkit-tap-highlight-color:transparent}button,a,input,select,textarea{touch-action:manipulation}option{background:#fff;color:#2c3440}:root{--bg-base: #faf9f6;--bg-panel: #f3f6f9;--bg-card: #ffffff;--bg-card-hover: #ffffff;--bg-input: #f4f7fa;--bg-table-head: #eef2f6;--page-bg: #faf9f6;--page-bg-top: #fdfcfa;--page-bg-bottom: #f3f6f9;--page-bg-glow: rgba(143, 163, 184, .12);--topbar-bg: #ffffff;--nav-bg: #eef2f6;--nav-text: #5a6778;--nav-hover-bg: #ffffff;--nav-active-bg-start: #8fa3b8;--nav-active-bg-end: #6b8499;--nav-text-active: #ffffff;--nav-active-shadow: rgba(107, 132, 153, .28);--accent-mark-shadow: rgba(107, 132, 153, .35);--accent-sensor-bg: rgba(107, 132, 153, .1);--accent-sensor-border: rgba(107, 132, 153, .2);--card-bg: #ffffff;--card-border: #dce3ea;--card-glow: rgba(107, 132, 153, .06);--text-primary: #2c3440;--text-secondary: #5a6778;--text-muted: #8a97a8;--accent-primary: #6b8499;--accent-primary-light: #8fa3b8;--accent-primary-dark: #556b7f;--accent-surface: #eef2f6;--accent-gold: var(--accent-primary);--accent-gold-light: var(--accent-primary-light);--accent-amber: var(--accent-primary-dark);--accent-cyan: #6b9aaa;--success: #5a9a72;--warning: #c9a227;--danger: #c06a52;--info: var(--accent-primary);--shadow-sm: 0 2px 10px rgba(44, 52, 64, .06);--shadow-md: 0 8px 24px rgba(44, 52, 64, .08);--shadow-glow: none;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--btn-primary-bg: #6b8499;--btn-primary-border: #6b8499;--btn-primary-text: #ffffff}.page{display:flex;flex-direction:column;gap:1rem}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem}.stats-row--6{grid-template-columns:repeat(6,1fr)}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.card--table{padding:0;overflow:hidden}.toolbar{display:flex;flex-wrap:wrap;gap:.65rem;padding:1rem;align-items:center}.toolbar__desktop-only{display:flex}@media(max-width:768px){.toolbar__desktop-only{display:none!important}}.toolbar__input{flex:1;min-width:200px;height:38px;padding:0 .85rem 0 2.35rem;border:1px solid var(--card-border);border-radius:var(--radius-pill);font-size:.88rem;color:var(--text-primary);background:var(--bg-input) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a97a8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") no-repeat .85rem center;background-size:15px 15px;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.toolbar__input::placeholder{color:var(--text-muted)}.toolbar__input:hover{border-color:var(--accent-primary-light)}.toolbar__input:focus{outline:none;border-color:var(--accent-primary);background-color:var(--card-bg);box-shadow:0 0 0 3px #6b849924}.toolbar__select{height:38px;padding:0 2.1rem 0 .9rem;border:1px solid var(--card-border);border-radius:var(--radius-pill);font-family:inherit;font-size:.88rem;color:var(--text-primary);background:var(--bg-input) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a97a8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size:14px 14px;appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.toolbar__select:hover{border-color:var(--accent-primary-light)}.toolbar__select:focus{outline:none;border-color:var(--accent-primary);background-color:var(--card-bg);box-shadow:0 0 0 3px #6b849924}.btn{height:38px;padding:0 1.1rem;border-radius:var(--radius-pill);font-size:.85rem;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,transform .15s ease}.btn:active{transform:scale(.97)}.btn--primary{border:1px solid var(--btn-primary-border);background:var(--btn-primary-bg);color:var(--btn-primary-text);font-weight:500}.btn--primary:hover{background:var(--accent-primary-dark);border-color:var(--accent-primary-dark)}.btn--ghost{background:transparent;border:1px solid var(--card-border);color:var(--text-secondary)}.btn--ghost:hover{border-color:var(--accent-primary);color:var(--accent-primary-dark)}.quick-actions{display:flex;flex-wrap:wrap;gap:.65rem;padding:.85rem 1rem}.quick-btn{height:34px;padding:0 .9rem;border:1px solid rgba(107,132,153,.25);border-radius:var(--radius-sm);background:var(--accent-surface);color:var(--accent-primary-dark);font-size:.82rem;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease}.quick-btn:hover{background:var(--nav-hover-bg);border-color:var(--accent-sensor-border)}.change-up{color:var(--danger);font-weight:600}.change-down{color:var(--success);font-weight:600}.remark{color:var(--text-muted);font-size:.82rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem 1rem}.form-grid--single{grid-template-columns:1fr}.form-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.form-field--full{grid-column:1 / -1}.form-field label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.form-field label .required{color:var(--danger);margin-left:.15rem}.field-input,.field-select,.field-textarea{width:100%;height:38px;padding:0 .85rem;border:1px solid var(--card-border);border-radius:var(--radius-sm);font-size:.88rem;font-family:inherit;color:var(--text-primary);background:var(--bg-input);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.field-textarea{height:auto;min-height:72px;padding:.6rem .85rem;resize:vertical}.field-select{cursor:pointer;padding-right:2.1rem;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a97a8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:14px 14px}.field-input:hover,.field-select:hover,.field-textarea:hover{border-color:var(--accent-primary-light)}.field-input:focus,.field-select:focus,.field-textarea:focus{outline:none;border-color:var(--accent-primary);background-color:var(--card-bg);box-shadow:0 0 0 3px #6b849924}.field-hint{margin:0;font-size:.74rem;color:var(--text-muted)}.form-actions{display:flex;justify-content:flex-end;gap:.6rem}.confirm-banner{display:flex;flex-direction:column;gap:.5rem;padding:.9rem 1rem;border-radius:var(--radius-md);background:var(--accent-sensor-bg);border:1px solid var(--accent-sensor-border);color:var(--text-primary);font-size:.9rem}.row-link-btn{border:none;background:transparent;color:var(--accent-primary-dark);font-size:.82rem;cursor:pointer;padding:0;text-decoration:underline}.row-link-btn:hover{color:var(--accent-primary)}.row-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center}@media(max-width:768px){.form-grid{grid-template-columns:1fr}.field-input,.field-select,.field-textarea{height:42px;font-size:16px}}@media(max-width:768px){.page{gap:.75rem}.stats-row,.stats-row--6,.stats-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;overflow:hidden;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.stats-row:has(>:nth-child(3)):not(:has(>:nth-child(4))){grid-template-columns:repeat(3,minmax(0,1fr))}.stats-row:has(>:nth-child(2)):not(:has(>:nth-child(3))){grid-template-columns:repeat(2,minmax(0,1fr))}.stats-row--6,.stats-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-row>*,.stats-panel .stat-card{min-width:0}.stats-panel>.stats-row{display:contents;background:none;border:none;box-shadow:none}.card--table{padding:0;border:none;background:transparent;box-shadow:none}.toolbar.card{background:transparent;border:none;box-shadow:none}.toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:.5rem;padding:0}.toolbar__input,.toolbar__select,.toolbar .app-select{width:100%;min-width:0;appearance:none;-webkit-appearance:none;font-size:16px}.toolbar__input,.toolbar .app-select__trigger.toolbar__select{border:1px solid var(--card-border);border-radius:var(--radius-md);background-color:var(--card-bg);box-shadow:var(--shadow-sm)}.toolbar .app-select{border:none;background:transparent;box-shadow:none}.toolbar__input{grid-column:1 / -1;height:44px;padding:0 1rem 0 2.65rem;background-position:.9rem center;background-size:16px 16px}.toolbar__select{height:40px;padding:0 2.1rem 0 .85rem;background-position:right .7rem center}.toolbar__select:only-of-type,.toolbar .app-select:only-of-type{grid-column:1 / -1}.toolbar__input:hover,.toolbar__select:hover,.toolbar .app-select__trigger.toolbar__select:hover{border-color:color-mix(in srgb,var(--accent-primary) 45%,var(--card-border));box-shadow:var(--shadow-sm)}.toolbar__input:focus,.toolbar__select:focus,.toolbar .app-select__trigger.toolbar__select:focus{outline:none;border-color:var(--accent-primary);background-color:var(--card-bg);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 16%,transparent)}.toolbar .btn{width:100%;min-width:0;height:42px;font-size:.9rem;border-radius:var(--radius-md)}.toolbar .btn:nth-of-type(n+3),.toolbar .btn:only-of-type{grid-column:1 / -1}.quick-actions{flex-wrap:nowrap;overflow-x:auto;padding:.75rem .85rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}.quick-actions::-webkit-scrollbar{display:none}.quick-btn{flex-shrink:0;height:38px;padding:0 1rem;font-size:.84rem}}@media(min-width:769px)and (max-width:1200px){.stats-row--6{grid-template-columns:repeat(3,1fr)}}@media(min-width:769px)and (max-width:960px){.stats-row,.stats-row--6{grid-template-columns:repeat(2,1fr)}}
