*,*:before,*:after{box-sizing:border-box}html{line-height:1.5;text-rendering:optimizeLegibility}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}:root{--ink-950: #13261f;--ink-800: #294239;--ink-600: #61776f;--ink-400: #91a29b;--cream-50: #f8faf7;--cream-100: #f0f4ee;--cream-200: #e3eae0;--green-800: #195c42;--green-700: #217153;--green-600: #298b65;--green-100: #dff1e8;--lime-400: #afce63;--amber-500: #d9982f;--amber-100: #fff0cf;--red-600: #b9493e;--red-100: #fbe6e3;--white: #fff;--shadow-sm: 0 2px 10px rgba(23, 51, 41, .06);--shadow-md: 0 14px 45px rgba(23, 51, 41, .11);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--sidebar-width: 254px}*{box-sizing:border-box}html{color-scheme:light;background:var(--cream-50)}body{min-height:100vh;margin:0;color:var(--ink-950);background:var(--cream-50);font-family:Manrope,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}#app{min-height:100vh}.page{padding:30px 34px 48px;max-width:1540px;margin:0 auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:26px}.eyebrow{color:var(--green-700);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.page-title{margin:4px 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,3vw,42px);font-weight:500;letter-spacing:-.035em;line-height:1.08}.page-subtitle{margin:0;color:var(--ink-600);font-size:14px;line-height:1.6}.card{background:var(--white);border:1px solid rgba(54,91,76,.1);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.btn{border:0;border-radius:11px;min-height:42px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:750;transition:.18s ease}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{color:#fff;background:var(--green-700);box-shadow:0 8px 20px #2171532e}.btn-primary:hover{background:var(--green-800)}.btn-secondary{color:var(--ink-800);background:var(--cream-100);border:1px solid var(--cream-200)}.btn-ghost{color:var(--ink-600);background:transparent}.btn-danger{color:var(--red-600);background:var(--red-100)}.icon-btn{width:40px;height:40px;padding:0;border:1px solid var(--cream-200);border-radius:11px;background:#fff;color:var(--ink-600);display:grid;place-items:center}.field{display:grid;gap:7px}.field label{font-size:12px;color:var(--ink-800);font-weight:750}.input,.select,.textarea{width:100%;border:1px solid #dce5dc;color:var(--ink-950);background:#fff;border-radius:11px;outline:none;transition:.18s}.input,.select{height:46px;padding:0 13px}.textarea{min-height:106px;padding:12px 13px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--green-600);box-shadow:0 0 0 3px #298b651f}.input::placeholder,.textarea::placeholder{color:var(--ink-400)}.alert{padding:12px 14px;border-radius:11px;font-size:13px;line-height:1.5}.alert-error{color:#8f352d;background:var(--red-100)}.alert-success{color:var(--green-800);background:var(--green-100)}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.badge-success{color:var(--green-800);background:var(--green-100)}.badge-warning{color:#8b5c11;background:var(--amber-100)}.badge-neutral{color:var(--ink-600);background:var(--cream-100)}.empty-state{padding:55px 25px;text-align:center;color:var(--ink-600)}.empty-state svg{color:var(--ink-400);margin-bottom:12px}.skeleton{background:linear-gradient(90deg,var(--cream-100) 25%,#fafcf9 50%,var(--cream-100) 75%);background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:9px}@keyframes shimmer{to{background-position:-200% 0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.fade-up{animation:fadeUp .35s ease both}@media(max-width:760px){.page{padding:22px 17px 96px}.page-header{align-items:stretch;flex-direction:column}.page-header .btn{width:100%}}
