@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_fd091ad6-module__giF-bG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_fd091ad6-module__giF-bG__variable{--font-sans:"Inter", "Inter Fallback"}
:root{--emerald:#1c7c54;--midnight:#0d1f17;--mint:#e8f7ef;--white:#fff;--ap-hover:#3d6b57;--ap-muted:#7a9089;--surface:#f5f7f6;--border-c:#d1d9d5;--deep:#163d29;--soft:#4db882;--color-primary:#1c7c54;--color-primary-hover:#3d6b57;--color-primary-active:#163d29;--color-primary-light:#e8f7ef;--color-primary-ring:#b7deca;--color-text-primary:#0d1f17;--color-text-secondary:#7a9089;--color-text-muted:#9aada6;--color-text-disabled:#c8d5d1;--color-bg-base:#fff;--color-bg-subtle:#f5f7f6;--color-bg-muted:#e8f7ef;--color-border:#d1d9d5;--color-border-strong:#b8c5be;--color-border-focus:var(--color-primary);--color-success:#1c7c54;--color-warning:#f0a500;--color-error:#d94f4f;--color-info:#1a6fa8;--color-success-light:#e8f7ef;--color-warning-light:#fff8e6;--color-error-light:#fdf0f0;--color-info-light:#edf5fc;--color-success-ring:#b7deca;--color-error-ring:#f5c6c6;--color-info-ring:#b3d4ee;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 16px #00000014, 0 2px 4px #0000000a;--shadow-lg:0 10px 40px #0000001a, 0 4px 12px #0000000d;--shadow-xl:0 20px 60px #00000024, 0 8px 20px #0000000f;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.12s;--duration-base:.18s;--color-background-primary:var(--color-bg-base);--color-background-secondary:var(--color-bg-muted);--color-background-tertiary:var(--color-bg-subtle);--color-border-primary:var(--color-border-strong);--color-border-secondary:var(--color-border);--color-border-tertiary:var(--color-border);--font-sans:"Inter", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-bg-subtle);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:15px;line-height:1.6}h1,h2,h3,h4,p{margin:0}a{color:inherit;text-decoration:none}input,select,textarea{border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-base);color:var(--color-text-primary);transition:border-color var(--duration-fast), box-shadow var(--duration-fast), background var(--duration-fast);box-sizing:border-box;outline:none;width:100%;min-width:0;height:40px;padding:0 12px;font-family:inherit;font-size:14px}input[type=datetime-local],input[type=date],input[type=time]{cursor:pointer;padding:0 10px}input[type=datetime-local]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer;filter:invert(40%)sepia(60%)saturate(400%)hue-rotate(105deg);transition:opacity .15s}input[type=date]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer;filter:invert(40%)sepia(60%)saturate(400%)hue-rotate(105deg);transition:opacity .15s}input[type=time]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer;filter:invert(40%)sepia(60%)saturate(400%)hue-rotate(105deg);transition:opacity .15s}input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}input:hover:not(:focus):not(:disabled),select:hover:not(:focus):not(:disabled),textarea:hover:not(:focus):not(:disabled){border-color:var(--color-border-strong)}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring)}input:disabled,select:disabled,textarea:disabled{background:var(--color-bg-muted);color:var(--color-text-disabled);cursor:not-allowed;border-color:var(--color-border)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}textarea{resize:vertical;height:auto;padding:10px 12px;line-height:1.5}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}input.input-error,select.input-error,textarea.input-error{border-color:var(--color-error);background:var(--color-error-light)}input.input-error:focus,select.input-error:focus,textarea.input-error:focus{box-shadow:0 0 0 3px var(--color-error-ring)}.field{flex-direction:column;gap:5px;display:flex}.field-label{color:var(--color-text-secondary);font-size:13px;font-weight:600;line-height:1.3}.field-label.required:after{content:" *";color:var(--color-error)}.field-hint{color:var(--color-text-muted);font-size:12px;line-height:1.4}.field-error{color:var(--color-error);align-items:center;gap:4px;font-size:12px;line-height:1.4;display:flex}button{border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-base);color:var(--color-text-primary);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast), box-shadow var(--duration-fast), color var(--duration-fast), transform var(--duration-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:6px;height:40px;padding:0 16px;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}button:hover:not(:disabled){background:var(--color-bg-muted);border-color:var(--color-border-strong)}button:active:not(:disabled){background:var(--color-bg-muted);transform:scale(.975)}button:focus-visible{box-shadow:0 0 0 3px var(--color-primary-ring);outline:none}button:disabled{opacity:.45;cursor:not-allowed;transform:none}button[type=submit],.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600;box-shadow:0 1px 3px #16a34a33,inset 0 1px #ffffff1a}button[type=submit]:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:0 3px 10px #16a34a4d,inset 0 1px #ffffff1a}button[type=submit]:active:not(:disabled),.btn-primary:active:not(:disabled){background:var(--color-primary-active);border-color:var(--color-primary-active);box-shadow:none}button[type=submit]:focus-visible,.btn-primary:focus-visible{box-shadow:0 0 0 3px var(--color-primary-ring)}.btn-secondary{background:var(--color-bg-base);border-color:var(--color-border-strong);color:var(--color-text-primary);font-weight:500}.btn-secondary:hover:not(:disabled){background:var(--color-bg-subtle);border-color:var(--color-border-strong)}.btn-danger{background:var(--color-error-light);border-color:var(--color-error-ring);color:var(--color-error);font-weight:600}.btn-danger:hover:not(:disabled){background:var(--color-error-ring);border-color:var(--color-error)}.btn-danger:active:not(:disabled){background:#fca5a5}.btn-danger:focus-visible{box-shadow:0 0 0 3px var(--color-error-ring)}.btn-danger-solid{background:var(--color-error);border-color:var(--color-error);color:#fff;font-weight:600;box-shadow:0 1px 3px #dc262633}.btn-danger-solid:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c;box-shadow:0 3px 10px #dc26264d}.btn-danger-solid:focus-visible{box-shadow:0 0 0 3px var(--color-error-ring)}.btn-ghost{color:var(--color-text-secondary);box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--color-bg-muted);color:var(--color-text-primary);border-color:#0000}.btn-ghost:active:not(:disabled){background:var(--color-border)}.btn-outline{border-color:var(--color-primary);color:var(--color-primary);background:0 0;font-weight:600}.btn-outline:hover:not(:disabled){background:var(--color-primary-light);border-color:var(--color-primary)}.btn-outline:focus-visible{box-shadow:0 0 0 3px var(--color-primary-ring)}.btn-xs{border-radius:var(--radius-sm);height:28px;padding:0 10px;font-size:12px}.btn-sm{height:32px;padding:0 12px;font-size:13px}.btn-lg{border-radius:var(--radius-lg);height:48px;padding:0 24px;font-size:15px;font-weight:600}.btn-icon{justify-content:center;padding:0}.btn-icon.btn-xs{width:28px}.btn-icon.btn-sm{width:32px}.btn-icon{width:40px}.btn-icon.btn-lg{width:48px}.btn-full{width:100%}.card{background:var(--color-bg-base);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px}.card-hover{transition:box-shadow var(--duration-base), border-color var(--duration-base), transform var(--duration-base)}.card-hover:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-strong);transform:translateY(-1px)}.card-interactive{cursor:pointer;transition:box-shadow var(--duration-base), border-color var(--duration-base), transform var(--duration-base)}.card-interactive:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-ring);transform:translateY(-1px)}.card-interactive:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.badge{border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:4px;padding:2px 10px;font-size:12px;font-weight:600;line-height:1.6;display:inline-flex}.badge-success{background:var(--color-success-light);color:var(--color-success)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning)}.badge-error{background:var(--color-error-light);color:var(--color-error)}.badge-info{background:var(--color-info-light);color:var(--color-info)}.badge-neutral{background:var(--color-bg-muted);color:var(--color-text-secondary)}.divider{background:var(--color-border);border:none;height:1px;margin:0}.divider-label{color:var(--color-text-muted);align-items:center;gap:12px;font-size:12px;font-weight:500;display:flex}.divider-label:before,.divider-label:after{content:"";background:var(--color-border);flex:1;height:1px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.page-title{color:var(--color-text-primary);letter-spacing:-.01em;font-size:20px;font-weight:700}.page-subtitle{color:var(--color-text-secondary);margin-top:2px;font-size:13px}.stat-card{background:var(--color-bg-base);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:6px;padding:18px 20px;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:11px;font-weight:600}.stat-value{letter-spacing:-.02em;font-size:30px;font-weight:800;line-height:1}.table-wrap{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg-base);box-shadow:var(--shadow-sm);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}thead th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:600}tbody td{border-bottom:1px solid var(--color-border);color:var(--color-text-primary);padding:12px 14px}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--color-bg-subtle);transition:background var(--duration-fast)}.empty-state{color:var(--color-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:60px 20px;font-size:14px;display:flex}.empty-state-icon{opacity:.4;margin-bottom:4px;font-size:36px}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg, var(--color-bg-muted) 25%, var(--color-border) 50%, var(--color-bg-muted) 75%);border-radius:var(--radius-sm);background-size:800px 100%;animation:1.4s ease-in-out infinite shimmer}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full);transition:background var(--duration-fast)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}15%{transform:translate(-5px)}30%{transform:translate(5px)}45%{transform:translate(-4px)}60%{transform:translate(4px)}75%{transform:translate(-2px)}90%{transform:translate(2px)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(6px)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes panelIn{0%{opacity:0;transform:scale(.97)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.fade-in{animation:fadeIn var(--duration-base) var(--ease-out)}.fade-in-down{animation:fadeInDown var(--duration-base) var(--ease-out)}.slide-up{animation:slideUp var(--duration-base) var(--ease-out)}.shake{animation:.45s ease-out shake}
