:root{--fv-orange-50:#fff7ed;--fv-orange-100:#ffedd5;--fv-orange-200:#fed7aa;--fv-orange-300:#fdba74;--fv-orange-400:#fb923c;--fv-orange-500:#f97316;--fv-orange-600:#ea580c;--fv-orange-700:#c2410c;--fv-orange-800:#9a3412;--fv-orange-900:#7c2d12;--fv-black:#111111;--fv-text:#111111;--fv-text-muted:#5f5f5f;--fv-bg:#fffaf6;--fv-surface:#ffffff;--fv-surface-muted:#fff7ed;--fv-border:#e8ddd3;--fv-border-strong:#d7c5b7;--fv-success-bg:#ecfdf3;--fv-success-border:#86efac;--fv-warning-bg:#fff7ed;--fv-warning-border:#fb923c;--fv-danger-bg:#fef2f2;--fv-danger-border:#fca5a5;--fv-info-bg:#f8fafc;--fv-info-border:#cbd5e1;--fv-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--fv-font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--fv-radius-sm:8px;--fv-radius-md:12px;--fv-radius-lg:18px;--fv-shadow-sm:0 1px 2px rgba(17,17,17,.06);--fv-shadow-md:0 10px 30px rgba(124,45,18,.1);--fv-space-1:4px;--fv-space-2:8px;--fv-space-3:12px;--fv-space-4:16px;--fv-space-5:20px;--fv-space-6:24px;--fv-space-8:32px;--fv-space-10:40px;--fv-sidebar-width:260px;--fv-control-height:42px}*,*:before,*:after{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--fv-bg);color:var(--fv-text);font-family:var(--fv-font);font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{margin-bottom:var(--fv-space-2);font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.15}h2{margin-bottom:var(--fv-space-4);font-size:1.25rem}h3{margin-bottom:var(--fv-space-3);font-size:1rem}small,.text-muted{color:var(--fv-text-muted)}code,.endpoint{font-family:var(--fv-font-mono)}.admin-shell{min-height:100vh;display:grid;grid-template-columns:var(--fv-sidebar-width) minmax(0,1fr)}.admin-sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;padding:var(--fv-space-6) var(--fv-space-4);background:linear-gradient(180deg,var(--fv-orange-100),var(--fv-orange-50));border-right:1px solid var(--fv-border)}.admin-brand{display:flex;align-items:center;gap:var(--fv-space-3);margin-bottom:var(--fv-space-8);color:var(--fv-black);font-weight:800;font-size:1.05rem}.admin-brand__mark{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--fv-orange-500);border:1px solid var(--fv-orange-700);color:var(--fv-black);font-weight:900}.admin-nav{display:grid;gap:4px}.admin-nav__section{margin:var(--fv-space-5) var(--fv-space-3) var(--fv-space-2);color:var(--fv-text-muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.admin-nav__item{min-height:42px;display:flex;align-items:center;gap:var(--fv-space-3);padding:10px 12px;border:1px solid transparent;border-radius:var(--fv-radius-sm);color:var(--fv-black);text-decoration:none;font-weight:650;transition:background-color .14s ease,border-color .14s ease,transform .14s ease}.admin-nav__item:hover{background:var(--fv-orange-100);border-color:var(--fv-orange-200)}.admin-nav__item.is-active{background:var(--fv-orange-300);border-color:var(--fv-orange-500);box-shadow:var(--fv-shadow-sm)}.admin-main{min-width:0}.admin-topbar{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:var(--fv-space-4);padding:var(--fv-space-3) clamp(16px,3vw,32px);background:#fffffff0;border-bottom:1px solid var(--fv-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-content{width:min(1500px,100%);margin:0 auto;padding:clamp(18px,3vw,36px)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--fv-space-5);margin-bottom:var(--fv-space-6)}.page-header__copy{max-width:780px}.page-header__actions,.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--fv-space-2)}.toolbar{padding:var(--fv-space-3);margin-bottom:var(--fv-space-4);background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:var(--fv-radius-md)}.card,.panel{background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:var(--fv-radius-md);box-shadow:var(--fv-shadow-sm)}.card{padding:var(--fv-space-5)}.card--accent{border-top:4px solid var(--fv-orange-500)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--fv-space-4)}.kpi-card{min-height:120px;display:flex;flex-direction:column;justify-content:space-between}.kpi-card__label{color:var(--fv-text-muted);font-size:.82rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em}.kpi-card__value{color:var(--fv-black);font-size:2rem;font-weight:850}.btn{min-height:var(--fv-control-height);display:inline-flex;align-items:center;justify-content:center;gap:var(--fv-space-2);padding:0 16px;border:1px solid transparent;border-radius:var(--fv-radius-sm);cursor:pointer;color:var(--fv-black);font-weight:750;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease,border-color .12s ease}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.48;cursor:not-allowed}.btn:focus-visible,.input:focus-visible,.select:focus-visible,.textarea:focus-visible,.file-drop:focus-within{outline:3px solid rgba(249,115,22,.25);outline-offset:2px}.btn--primary{background:var(--fv-orange-500);border-color:var(--fv-orange-600)}.btn--primary:hover:not(:disabled){background:var(--fv-orange-400);box-shadow:0 6px 16px #c2410c29}.btn--secondary{background:var(--fv-orange-100);border-color:var(--fv-orange-300)}.btn--secondary:hover:not(:disabled){background:var(--fv-orange-200)}.btn--ghost{background:transparent;border-color:var(--fv-border)}.btn--ghost:hover:not(:disabled){background:var(--fv-orange-50);border-color:var(--fv-orange-200)}.btn--danger{background:var(--fv-danger-bg);border-color:var(--fv-danger-border);color:var(--fv-black)}.btn--sm{min-height:34px;padding:0 11px;font-size:.88rem}.btn--icon{width:var(--fv-control-height);padding:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--fv-space-4)}.form-field{min-width:0;display:grid;gap:var(--fv-space-2)}.form-field--full{grid-column:1/-1}.form-label{color:var(--fv-black);font-size:.88rem;font-weight:750}.form-hint,.form-error{font-size:.8rem}.form-hint{color:var(--fv-text-muted)}.form-error{color:#8a1c1c;font-weight:650}.input,.select,.textarea{width:100%;min-height:var(--fv-control-height);border:1px solid var(--fv-border-strong);border-radius:var(--fv-radius-sm);background:var(--fv-surface);color:var(--fv-black);padding:9px 12px}.textarea{min-height:110px;resize:vertical}.input:hover,.select:hover,.textarea:hover{border-color:var(--fv-orange-400)}.input:focus,.select:focus,.textarea:focus{border-color:var(--fv-orange-600);outline:none}.input::placeholder,.textarea::placeholder{color:#8a8a8a}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:#dc2626;background:snow}.table-wrap{overflow:auto;background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:var(--fv-radius-md);box-shadow:var(--fv-shadow-sm)}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th,.data-table td{padding:13px 14px;border-bottom:1px solid var(--fv-border);text-align:left;vertical-align:middle}.data-table th{position:sticky;top:0;z-index:1;background:var(--fv-orange-50);color:var(--fv-black);font-size:.78rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.data-table tbody tr:hover{background:#fffaf5}.data-table tbody tr:last-child td{border-bottom:0}.table-actions{display:flex;justify-content:flex-end;gap:6px}.badge{display:inline-flex;align-items:center;gap:6px;width:fit-content;min-height:26px;padding:3px 9px;border:1px solid var(--fv-orange-300);border-radius:999px;background:var(--fv-orange-100);color:var(--fv-black);font-size:.76rem;font-weight:800}.badge--success{background:var(--fv-success-bg);border-color:var(--fv-success-border)}.badge--warning{background:var(--fv-warning-bg);border-color:var(--fv-warning-border)}.badge--danger{background:var(--fv-danger-bg);border-color:var(--fv-danger-border)}.badge--neutral{background:#f5f5f5;border-color:#d4d4d4}.endpoint{display:inline-flex;align-items:center;min-height:30px;padding:4px 9px;background:#fafafa;border:1px solid var(--fv-border);border-radius:7px;color:var(--fv-black);font-size:.78rem}.http-method{display:inline-flex;align-items:center;justify-content:center;min-width:58px;min-height:28px;padding:3px 8px;border-radius:6px;color:var(--fv-black);font-size:.73rem;font-weight:900}.http-method--get{background:var(--fv-orange-100);border:1px solid var(--fv-orange-300)}.http-method--post{background:var(--fv-orange-300);border:1px solid var(--fv-orange-500)}.http-method--put{background:var(--fv-orange-200);border:1px solid var(--fv-orange-600)}.http-method--delete{background:var(--fv-danger-bg);border:1px solid var(--fv-danger-border)}.tabs{display:flex;gap:4px;padding:4px;width:fit-content;background:var(--fv-orange-50);border:1px solid var(--fv-border);border-radius:10px}.tab{min-height:34px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--fv-black);cursor:pointer;font-weight:700}.tab.is-active{background:var(--fv-orange-300);box-shadow:var(--fv-shadow-sm)}.alert{display:flex;gap:var(--fv-space-3);padding:12px 14px;border:1px solid var(--fv-border);border-left-width:5px;border-radius:var(--fv-radius-sm);background:var(--fv-surface);color:var(--fv-black)}.alert--success{background:var(--fv-success-bg);border-color:var(--fv-success-border)}.alert--warning{background:var(--fv-warning-bg);border-color:var(--fv-warning-border)}.alert--danger{background:var(--fv-danger-bg);border-color:var(--fv-danger-border)}.alert--info{background:var(--fv-info-bg);border-color:var(--fv-info-border)}.file-drop{min-height:150px;display:grid;place-items:center;padding:var(--fv-space-5);border:2px dashed var(--fv-orange-400);border-radius:var(--fv-radius-md);background:var(--fv-orange-50);color:var(--fv-black);text-align:center}.file-drop:hover{background:var(--fv-orange-100)}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:var(--fv-space-4);background:#11111161}.modal{width:min(560px,100%);max-height:min(85vh,760px);overflow:auto;background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:var(--fv-radius-lg);box-shadow:var(--fv-shadow-md)}.modal__header,.modal__body,.modal__footer{padding:var(--fv-space-5)}.modal__header{border-bottom:1px solid var(--fv-border)}.modal__footer{display:flex;justify-content:flex-end;gap:var(--fv-space-2);border-top:1px solid var(--fv-border);background:var(--fv-orange-50)}.empty-state{min-height:220px;display:grid;place-items:center;padding:var(--fv-space-8);background:var(--fv-surface);border:1px dashed var(--fv-border-strong);border-radius:var(--fv-radius-md);color:var(--fv-text-muted);text-align:center}.skeleton{min-height:14px;overflow:hidden;border-radius:999px;background:linear-gradient(90deg,var(--fv-orange-50),var(--fv-orange-100),var(--fv-orange-50));background-size:200% 100%;animation:fv-shimmer 1.25s linear infinite}@keyframes fv-shimmer{to{background-position:-200% 0}}.stack{display:grid;gap:var(--fv-space-4)}.cluster{display:flex;align-items:center;flex-wrap:wrap;gap:var(--fv-space-3)}.divider{height:1px;margin:var(--fv-space-5) 0;background:var(--fv-border)}.surface-orange{background:var(--fv-orange-50)}.text-black{color:var(--fv-black)}.text-right{text-align:right}.w-full{width:100%}@media(max-width:1100px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){:root{--fv-sidebar-width:100%}.admin-shell{display:block}.admin-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--fv-border)}.admin-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-nav__section{grid-column:1/-1}.page-header{flex-direction:column}.form-grid,.card-grid{grid-template-columns:1fr}}@media(max-width:520px){.admin-nav{grid-template-columns:1fr}.admin-content{padding:16px}.admin-topbar{padding-inline:16px}.toolbar,.page-header__actions{width:100%}.toolbar .btn,.page-header__actions .btn{flex:1 1 auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{min-width:320px}.mobile-menu{display:none}.topbar-user{display:flex;align-items:center;gap:12px}.user-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--fv-orange-100);border:1px solid var(--fv-orange-300);font-weight:850}.nav-icon{width:20px;text-align:center;opacity:.75}.content-topline{color:var(--fv-orange-800);font-weight:800;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase}.dashboard-welcome{margin-bottom:24px;padding:28px;background:linear-gradient(130deg,#fff 35%,var(--fv-orange-100))}.dashboard-welcome p{max-width:680px;margin-bottom:0;color:var(--fv-text-muted)}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.quick-card{display:flex;justify-content:space-between;align-items:center;gap:16px;text-decoration:none}.quick-card:hover{border-color:var(--fv-orange-300);box-shadow:var(--fv-shadow-md)}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.field-checkbox{display:flex;align-items:center;gap:10px;min-height:42px}.field-checkbox input{width:18px;height:18px;accent-color:var(--fv-orange-500)}.loading{min-height:240px;display:grid;place-content:center;gap:12px;text-align:center}.spinner{width:34px;height:34px;margin:auto;border:3px solid var(--fv-orange-100);border-top-color:var(--fv-orange-600);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;right:24px;bottom:24px;z-index:1200;max-width:460px;box-shadow:var(--fv-shadow-md)}.search{min-width:min(360px,100%);flex:1}.dialog-copy{overflow-wrap:anywhere}.split-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.json-result{padding:12px;overflow:auto;border-radius:8px;background:#fafafa;border:1px solid var(--fv-border);white-space:pre-wrap}.file-drop input{max-width:100%}@media(max-width:820px){.mobile-menu{display:inline-flex}.admin-sidebar{display:none}.admin-sidebar.is-open{display:block}.admin-topbar{position:sticky;top:0;z-index:20}.split-panel,.quick-grid{grid-template-columns:1fr}}
