:root{--brown-950: #0D0600;--brown-900: #1A0F00;--brown-800: #2B1800;--brown-700: #3D2400;--brown-600: #5C2E0E;--brown-500: #7A4020;--brown-400: #9B5E35;--brown-300: #C49A6C;--brown-200: #DEC5A0;--brown-100: #EDE8D8;--brown-50: #F5F0E8;--bg-page: #F7F4EE;--bg-card: #FFFFFF;--bg-subtle: #FBF9F5;--bg-nav: var(--brown-800);--text-h: var(--brown-900);--text-body: #3D2800;--text-muted: #7A5C3C;--text-faint: #A8906E;--text-white: #F5F0E8;--border: rgba(92,46,14,.12);--border-md: rgba(92,46,14,.2);--border-dark: rgba(92,46,14,.35);--green: #3D7A2D;--green-lt: #EBF5E6;--green-bd: #A8D898;--amber: #B8820A;--amber-lt: #FBF3DF;--amber-bd: #E0C060;--red: #A82818;--red-lt: #FBE9E7;--red-bd: #E0A098;--blue: #1A5A8A;--blue-lt: #E6F0FA;--blue-bd: #9DC0E0;--shadow-xs: 0 1px 2px rgba(43,24,0,.05), 0 0 0 1px rgba(43,24,0,.04);--shadow-sm: 0 2px 6px rgba(43,24,0,.07), 0 0 0 1px rgba(43,24,0,.05);--shadow-md: 0 4px 14px rgba(43,24,0,.1), 0 0 0 1px rgba(43,24,0,.05);--shadow-lg: 0 10px 30px rgba(43,24,0,.15), 0 0 0 1px rgba(43,24,0,.07);--shadow-nav: 0 2px 20px rgba(0,0,0,.3);--r-xs: 4px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-2xl: 28px;--r-full: 9999px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.6;color:var(--text-body);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;border:none;background:none}input,textarea,select{font-family:inherit}img{display:block;max-width:100%}.h1{font-size:28px;font-weight:800;color:var(--text-h);line-height:1.2;letter-spacing:-.02em}.h2{font-size:22px;font-weight:700;color:var(--text-h);line-height:1.25}.h3{font-size:17px;font-weight:700;color:var(--text-h)}.h4{font-size:14px;font-weight:600;color:var(--text-h)}.body{font-size:14px;color:var(--text-body);line-height:1.65}.small{font-size:12px;color:var(--text-muted)}.label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.mono{font-family:SF Mono,Fira Code,monospace}.price{font-size:28px;font-weight:800;color:var(--brown-600);letter-spacing:-.02em}.field{width:100%;padding:10px 13px;border:1.5px solid var(--border-md);border-radius:var(--r-sm);background:var(--bg-card);color:var(--text-body);font-size:14px;font-family:inherit;transition:border-color .15s,box-shadow .15s;outline:none}.field:focus{border-color:var(--brown-600);box-shadow:0 0 0 3px #5c2e0e1a}.field::placeholder{color:var(--text-faint)}.field-icon{position:relative}.field-icon .field{padding-left:40px}.field-icon .fi-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-faint)}textarea.field{resize:vertical;min-height:90px;line-height:1.5}select.field{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237A5C3C' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.field-label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:5px;letter-spacing:.02em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:600;font-family:inherit;border-radius:var(--r-sm);transition:all .18s;cursor:pointer;font-size:14px}.btn:disabled{opacity:.45;pointer-events:none}.btn-primary{background:var(--brown-600);color:#fdf8f2;box-shadow:0 1px 3px #5c2e0e4d,0 4px 12px #5c2e0e26;padding:10px 20px}.btn-primary:hover{background:var(--brown-700);box-shadow:0 2px 6px #5c2e0e59,0 6px 18px #5c2e0e33;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-outline{background:var(--bg-card);color:var(--text-body);border:1.5px solid var(--border-md);padding:9px 18px}.btn-outline:hover{background:var(--brown-50);border-color:var(--brown-300)}.btn-ghost{color:var(--text-muted);padding:8px 12px;border-radius:var(--r-sm)}.btn-ghost:hover{background:var(--brown-100);color:var(--text-body)}.btn-danger{color:var(--red);border:1.5px solid var(--red-bd);background:var(--red-lt);padding:8px 16px}.btn-danger:hover{background:#f5d0cc}.btn-success{color:var(--green);border:1.5px solid var(--green-bd);background:var(--green-lt);padding:8px 16px}.btn-success:hover{background:#d8edd0}.btn-sm{padding:6px 13px;font-size:12px}.btn-lg{padding:13px 28px;font-size:15px}.btn-full{width:100%}.btn-white{background:#fff;color:var(--brown-800);box-shadow:0 2px 8px #00000026;padding:10px 20px}.btn-white:hover{background:var(--brown-50)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:var(--r-full);letter-spacing:.02em;border:1px solid transparent}.badge-green{background:var(--green-lt);color:var(--green);border-color:var(--green-bd)}.badge-amber{background:var(--amber-lt);color:var(--amber);border-color:var(--amber-bd)}.badge-red{background:var(--red-lt);color:var(--red);border-color:var(--red-bd)}.badge-muted{background:var(--brown-100);color:var(--text-muted);border-color:var(--border-md)}.badge-blue{background:var(--blue-lt);color:var(--blue);border-color:var(--blue-bd)}.card{background:var(--bg-card);border-radius:var(--r-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.card-sm{background:var(--bg-card);border-radius:var(--r-md);padding:1rem 1.25rem;box-shadow:var(--shadow-xs)}.card-flat{background:var(--bg-subtle);border-radius:var(--r-md);padding:1rem 1.25rem;border:1px solid var(--border)}.tbl{width:100%;border-collapse:collapse}.tbl th{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:11px 16px;text-align:left;background:var(--brown-50);border-bottom:2px solid var(--border-md);white-space:nowrap}.tbl td{font-size:13px;padding:13px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.tbl tr:last-child td{border-bottom:none}.tbl tbody tr{transition:background .1s}.tbl tbody tr:hover td{background:var(--bg-subtle)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a0f008c;display:flex;align-items:center;justify-content:center;z-index:500;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .15s}.modal{background:var(--bg-card);border-radius:var(--r-2xl);padding:2rem;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .2s}.alert{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-radius:var(--r-sm);font-size:13px;border:1px solid transparent}.alert-red{background:var(--red-lt);color:var(--red);border-color:var(--red-bd)}.alert-green{background:var(--green-lt);color:var(--green);border-color:var(--green-bd)}.alert-amber{background:var(--amber-lt);color:var(--amber);border-color:var(--amber-bd)}.alert-info{background:var(--brown-50);color:var(--brown-600);border-color:var(--border-md)}.divider{height:1px;background:var(--border);margin:1.25rem 0}.text-link{color:var(--brown-600);font-weight:500}.text-link:hover{text-decoration:underline}.spinner-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:50vh}.spinner{width:32px;height:32px;border:3px solid var(--border-md);border-top-color:var(--brown-600);border-radius:50%;animation:spin .7s linear infinite}.page-hero{background:linear-gradient(155deg,var(--brown-800) 0%,var(--brown-700) 100%);padding:2.5rem 2rem 3rem;position:relative;overflow:hidden}.page-hero:before{content:"";position:absolute;top:-60px;right:-60px;width:280px;height:280px;background:#ffffff08;border-radius:50%;pointer-events:none}.page-hero:after{content:"";position:absolute;bottom:-80px;left:20%;width:200px;height:200px;background:#ffffff05;border-radius:50%;pointer-events:none}.page-hero-inner{max-width:1280px;margin:0 auto;position:relative}.stat-card{background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:var(--r-md);padding:1rem 1.25rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-content{max-width:1280px;margin:0 auto;padding:2rem}
