@charset "UTF-8";:root{--bg: #f6f5ef;--surface: #ffffff;--surface-2: #f1efe6;--ink: #18271f;--ink-soft: #52625a;--ink-faint: #8a968f;--primary: #1f7a4d;--primary-dark: #175c3a;--primary-soft: #e4f1e9;--accent: #8fbf3f;--danger: #c0392b;--danger-soft: #fbe9e7;--warn: #d98a1f;--border: #e4e2d7;--border-strong: #d3d0c2;--radius: 14px;--radius-sm: 9px;--radius-lg: 22px;--shadow-sm: 0 1px 2px rgba(24, 39, 31, .06), 0 1px 3px rgba(24, 39, 31, .05);--shadow: 0 6px 20px rgba(24, 39, 31, .08);--shadow-lg: 0 18px 50px rgba(24, 39, 31, .14);--container: 1140px;--font-sans: "Inter", "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;--font-head: "Fraunces", "Iowan Old Style", Georgia, "Times New Roman", serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-head);font-weight:600;line-height:1.15;color:var(--ink);margin:0 0 .5em;letter-spacing:-.01em}h1{font-size:clamp(2.1rem,4.5vw,3.4rem)}h2{font-size:clamp(1.6rem,3vw,2.3rem)}h3{font-size:1.3rem}p{margin:0 0 1rem}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 1.25rem}.section{padding:clamp(2.5rem,6vw,5rem) 0}.section--tight{padding:2rem 0}.eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);margin-bottom:.75rem}.lead{font-size:1.15rem;color:var(--ink-soft)}.muted{color:var(--ink-soft)}.center{text-align:center}.stack>*+*{margin-top:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:inherit;font-weight:600;padding:.7rem 1.4rem;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:transform .08s ease,background .15s ease,box-shadow .15s ease,color .15s ease;text-decoration:none;white-space:nowrap}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--primary-dark)}.btn-outline{background:transparent;color:var(--primary);border-color:var(--border-strong)}.btn-outline:hover{border-color:var(--primary);background:var(--primary-soft)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#a12f22}.btn-ghost{background:transparent;color:var(--ink-soft)}.btn-ghost:hover{background:var(--surface-2);color:var(--ink)}.btn-sm{padding:.4rem .85rem;font-size:.85rem}.btn-block{width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-pad{padding:1.5rem}.grid{display:grid;gap:1.25rem}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;padding:.25rem .65rem;border-radius:999px;background:var(--surface-2);color:var(--ink-soft)}.badge-green{background:var(--primary-soft);color:var(--primary-dark)}.badge-red{background:var(--danger-soft);color:var(--danger)}.badge-amber{background:#fbf1dd;color:var(--warn)}.badge-gray{background:var(--surface-2);color:var(--ink-soft)}.chip{display:inline-flex;align-items:center;gap:.4rem;font:inherit;font-size:.9rem;font-weight:500;padding:.45rem .95rem;border-radius:999px;border:1.5px solid var(--border-strong);background:var(--surface);color:var(--ink-soft);cursor:pointer;transition:all .15s ease}.chip:hover{border-color:var(--primary);color:var(--primary)}.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.chip .count{opacity:.7;font-size:.8em}.field{margin-bottom:1.15rem}.field label{display:block;font-weight:600;font-size:.92rem;margin-bottom:.4rem;color:var(--ink)}.field .hint{font-size:.82rem;color:var(--ink-faint);margin-top:.3rem}.field .req{color:var(--danger)}input,textarea,select{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);padding:.7rem .9rem;transition:border-color .15s ease,box-shadow .15s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}textarea{resize:vertical;min-height:120px}.field.invalid input,.field.invalid textarea,.field.invalid select{border-color:var(--danger)}.error-text{color:var(--danger);font-size:.82rem;margin-top:.3rem}.alert{border-radius:var(--radius-sm);padding:.9rem 1.1rem;font-size:.95rem;border:1px solid transparent}.alert-success{background:var(--primary-soft);color:var(--primary-dark);border-color:#bfe0cd}.alert-error{background:var(--danger-soft);color:var(--danger);border-color:#f3c7c1}.alert-info{background:#eef3f7;color:#35566b;border-color:#d5e2ec}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}table.data{width:100%;border-collapse:collapse;background:var(--surface);font-size:.92rem}table.data th,table.data td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--border);vertical-align:top}table.data th{background:var(--surface-2);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}table.data tr:last-child td{border-bottom:none}.flex{display:flex}.flex-between{display:flex;align-items:center;justify-content:space-between;gap:1rem}.flex-wrap{display:flex;flex-wrap:wrap;gap:.5rem}.gap-sm{gap:.5rem}.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-4{margin-top:2rem}.mb-0{margin-bottom:0}.text-danger{color:var(--danger)}.hidden{display:none}.spinner{width:34px;height:34px;border:3px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:2rem auto}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:3rem 1rem;color:var(--ink-soft)}.empty-state .big{font-size:2.5rem;margin-bottom:.5rem}.link-btn{display:inline;width:auto;padding:0;margin:0;background:none;border:none;color:var(--primary);font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.link-btn:hover{color:var(--primary-dark)}
