:root{color-scheme:dark;--bg:#0a0b0f;--bg-soft:#0e0f14;--panel:#14161d;--panel-hover:#191c25;--panel-raised:#1b1e27;--border:#23262f;--border-strong:#33363f;--text:#edeef2;--text-muted:#9296a3;--text-faint:#5c606c;--accent:#74c947;--accent-hover:#8bd861;--accent-soft:rgba(116,201,71,.16);--accent-glow:rgba(116,201,71,.32);--accent-text:#0a1206;--gradient:linear-gradient(135deg,#86d45a,#4ca82c);--gradient-soft:linear-gradient(135deg,rgba(116,201,71,.14),rgba(76,168,44,.09));--success:#2dd4bf;--success-soft:rgba(45,212,191,.14);--danger:#f87171;--danger-soft:rgba(248,113,113,.14);--warn:#fbbf24;--warn-soft:rgba(251,191,36,.14);--info:#60a5fa;--info-soft:rgba(96,165,250,.14);--radius-sm:8px;--radius:12px;--radius-lg:16px;--shadow-sm:0 1px 2px rgba(0,0,0,.35);--shadow:0 4px 16px rgba(0,0,0,.35),0 1px 2px rgba(0,0,0,.3);--shadow-lg:0 12px 40px rgba(0,0,0,.45);--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;--font-mono:"SF Mono",Consolas,"Liberation Mono",Menlo,monospace}:root[data-theme=light]{color-scheme:light;--bg:#f3f4f7;--bg-soft:#eceef2;--panel:#fff;--panel-hover:#f7f8fa;--panel-raised:#fff;--border:#e4e6ec;--border-strong:#d3d6de;--text:#14161c;--text-muted:#676b78;--text-faint:#9a9ea9;--accent:#3f8f22;--accent-hover:#357c1a;--accent-soft:rgba(63,143,34,.1);--accent-glow:rgba(63,143,34,.22);--accent-text:#fff;--gradient:linear-gradient(135deg,#45992a,#2f6e16);--gradient-soft:linear-gradient(135deg,rgba(63,143,34,.08),rgba(47,110,22,.06));--success:#0d9488;--success-soft:rgba(13,148,136,.1);--danger:#dc2626;--danger-soft:rgba(220,38,38,.1);--warn:#d97706;--warn-soft:rgba(217,119,6,.1);--info:#2563eb;--info-soft:rgba(37,99,235,.1);--shadow-sm:0 1px 2px rgba(20,22,30,.05);--shadow:0 4px 16px rgba(20,22,30,.06),0 1px 3px rgba(20,22,30,.05);--shadow-lg:0 16px 40px rgba(20,22,30,.1)}*{box-sizing:border-box}body,html{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;margin:0;-webkit-font-smoothing:antialiased;transition:background .2s ease,color .2s ease}a{color:inherit;text-decoration:none}h1,h2,h3,h4{letter-spacing:-.01em;margin:0}::-moz-selection{background:var(--accent-soft)}::selection{background:var(--accent-soft)}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--bg);border-radius:8px}button{align-items:center;background:var(--gradient);border:none;border-radius:var(--radius-sm);box-shadow:0 1px 2px #00000026;color:var(--accent-text);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13.5px;font-weight:600;gap:6px;justify-content:center;padding:9px 16px;transition:transform .12s ease,box-shadow .15s ease,opacity .15s ease,background .15s ease}button:hover{box-shadow:0 4px 16px var(--accent-glow);transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{box-shadow:none;cursor:not-allowed;opacity:.45;transform:none}button.secondary{background:var(--panel-raised);border:1px solid var(--border-strong);box-shadow:none;color:var(--text)}button.secondary:hover{background:var(--panel-hover);border-color:var(--text-faint);box-shadow:none}button.ghost{background:transparent;box-shadow:none;color:var(--text-muted);padding:7px 10px}button.ghost:hover{background:var(--panel-hover);box-shadow:none;color:var(--text);transform:none}button.danger{background:var(--danger-soft);box-shadow:none;color:var(--danger)}button.danger:hover{background:var(--danger);box-shadow:0 4px 16px #f871714d;color:#fff}button.saved{color:#fff}button.saved,button.saved:hover{background:var(--success);box-shadow:none}button.saved:hover{transform:none}button.icon-btn{background:var(--panel-raised);border:1px solid var(--border);border-radius:999px;box-shadow:none;color:var(--text-muted);padding:8px}button.icon-btn:hover{border-color:var(--border-strong);box-shadow:none;color:var(--text);transform:none}input,select,textarea{background:var(--bg-soft);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:13.5px;padding:9px 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--text-faint)}input::placeholder,textarea::placeholder{color:var(--text-faint)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%239296a3' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;background-size:15px;cursor:pointer;padding-right:32px}:root[data-theme=light] select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23676b78' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px}.badge{align-items:center;border-radius:999px;display:inline-flex;font-size:11.5px;font-weight:700;gap:5px;letter-spacing:.01em;padding:3px 10px;text-transform:uppercase}.badge:before{background:currentColor;border-radius:50%;content:"";flex-shrink:0;height:6px;width:6px}.badge.ok{background:var(--success-soft);color:var(--success)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.err{background:var(--danger-soft);color:var(--danger)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.neutral{background:var(--panel-raised);border:1px solid var(--border);color:var(--text-muted)}.badge.neutral:before{display:none}.avatar{align-items:center;background:var(--gradient-soft);border:1px solid var(--border);border-radius:10px;color:var(--accent);display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:36px;justify-content:center;width:36px}.avatar.sm{border-radius:8px;font-size:11px;height:28px;width:28px}.avatar.lg{border-radius:12px;font-size:16px;height:48px;width:48px}.empty-state{color:var(--text-muted);flex-direction:column;gap:10px;padding:56px 20px;text-align:center}.empty-state,.empty-state .icon-wrap{align-items:center;display:flex;justify-content:center}.empty-state .icon-wrap{background:var(--panel-raised);border:1px solid var(--border);border-radius:14px;color:var(--text-faint);height:52px;width:52px}.empty-state p{font-size:13px;margin:0}.skeleton{animation:shimmer 1.4s infinite;background:linear-gradient(90deg,var(--panel-raised) 25%,var(--panel-hover) 50%,var(--panel-raised) 75%);background-size:200% 100%;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.data-table{border-collapse:collapse;width:100%}.data-table th{color:var(--text-faint);font-size:11.5px;font-weight:700;letter-spacing:.03em;padding:10px 14px;text-align:left;text-transform:uppercase}.data-table td,.data-table th{border-bottom:1px solid var(--border)}.data-table td{font-size:13.5px;padding:12px 14px;vertical-align:middle}.data-table tbody tr{transition:background .12s ease}.data-table tbody tr:hover{background:var(--panel-hover)}.data-table tr:last-child td{border-bottom:none}.page-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.page-header h1{font-size:22px;font-weight:700}.page-header .subtitle{color:var(--text-muted);font-size:13px;margin-top:4px}.section-title{color:var(--text-faint);font-size:12px;font-weight:700;letter-spacing:.04em;margin:0 0 12px;text-transform:uppercase}.content>*{animation:page-in .28s cubic-bezier(.22,1,.36,1) both}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}.card{transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.avatar,.badge{transition:background .15s ease,color .15s ease}.data-table tbody tr{transition:background .14s ease}.nav-item{position:relative}.nav-item.router-link-exact-active:before{animation:nav-mark .24s cubic-bezier(.22,1,.36,1) forwards;background:var(--accent);border-radius:0 3px 3px 0;content:"";height:0;left:0;position:absolute;top:50%;transform:translateY(-50%);width:3px}@keyframes nav-mark{to{height:60%}}.spinning svg{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}.hints-off .hint,.hints-off .hint-sub{display:none!important}.hint-sub{align-items:flex-start;color:var(--text-muted);display:flex;font-size:11.5px;gap:7px;line-height:1.5;margin:0 0 12px}.hint-sub svg{color:var(--accent);flex-shrink:0;margin-top:1px}
