@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #080c14;--surface: #0d1525;--surface-elevated: #12202e;--surface-overlay: #0f1c2c;--border: rgba(255, 255, 255, .08);--border-hover: rgba(0, 200, 240, .3);--border-strong: rgba(255, 255, 255, .14);--text: #d8e6f0;--text-bright: #f0f7ff;--muted: #5c7a94;--muted-light: #7a99b0;--accent: #00b8d9;--accent-bright:#00d4f5;--accent-dim: rgba(0, 184, 217, .1);--accent-glow: rgba(0, 184, 217, .25);--success: #00c896;--success-dim: rgba(0, 200, 150, .1);--warning: #f0a020;--warning-dim: rgba(240, 160, 32, .1);--error: #e84040;--error-dim: rgba(232, 64, 64, .1);--font-sans: "Manrope", system-ui, sans-serif;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-size-lg: 1.0625rem;--font-size-xl: 1.375rem;--font-size-2xl: 1.75rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.3;--line-height-body: 1.6;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius-xs: 4px;--radius-sm: 7px;--radius: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 6px rgba(0, 0, 0, .5);--shadow-md: 0 4px 16px rgba(0, 0, 0, .55);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .65);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--fast: .14s;--normal: .22s;--slow: .38s}html{scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-body);background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent);text-decoration:none;transition:color var(--fast) var(--ease-out)}a:hover{color:var(--accent-bright)}button{cursor:pointer;font:inherit}input,select,textarea{font:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}::selection{background:#00b8d940;color:var(--text-bright)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--surface);border-bottom:1px solid var(--border);padding:.875rem var(--space-xl);position:sticky;top:0;z-index:100;box-shadow:0 1px #ffffff0a,var(--shadow-sm);opacity:1;transition:transform .22s var(--ease-out),opacity .18s var(--ease-out),border-color .18s var(--ease-out),box-shadow .18s var(--ease-out);will-change:transform,opacity}.app-header--hidden{transform:translateY(calc(-100% - 2px));border-bottom-color:transparent;box-shadow:none;opacity:0;pointer-events:none}.app-header:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--accent) 20%,var(--accent-bright) 50%,var(--accent) 80%,transparent 100%)}.app-header-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:var(--space-md)}.app-logo{height:34px;width:auto;max-width:120px;display:block;object-fit:contain;flex-shrink:0}.app-logo-hint{font-size:var(--font-size-xs);color:var(--muted);font-family:ui-monospace,monospace;background:#ffffff0d;padding:2px 8px;border-radius:var(--radius-xs);border:1px dashed var(--border);flex-shrink:0}.app-brand-wrap{flex:0 0 auto}.app-brand{font-family:var(--font-sans);font-size:1.125rem;font-weight:800;letter-spacing:-.02em;line-height:1;color:var(--text-bright)}.app-brand span{color:var(--accent)}.app-tagline{font-size:.65rem;color:var(--muted);font-weight:var(--font-weight-medium);letter-spacing:.08em;text-transform:uppercase;margin-top:3px}.nav{background:var(--surface-overlay);border-bottom:1px solid var(--border);padding:0 var(--space-xl);display:flex;gap:0;align-items:stretch;flex-wrap:wrap}.nav>a,.nav>.nav-dropdown{display:flex;align-items:center}.nav a{color:var(--muted-light);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:.75rem var(--space-md);border-bottom:2px solid transparent;position:relative;transition:color var(--fast) var(--ease-out),border-color var(--fast) var(--ease-out);white-space:nowrap;letter-spacing:.01em;gap:.4rem}.nav a:hover{color:var(--text-bright);text-decoration:none}.nav a.active{color:var(--accent);font-weight:var(--font-weight-bold);border-bottom-color:var(--accent)}.nav-dropdown{position:relative}.nav-dropdown__trigger{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font:inherit;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.01em;color:var(--muted-light);padding:.75rem var(--space-md);position:relative;transition:color var(--fast) var(--ease-out),border-color var(--fast) var(--ease-out);white-space:nowrap}.nav-dropdown__trigger:hover{color:var(--text-bright)}.nav-dropdown--active .nav-dropdown__trigger{color:var(--accent);font-weight:var(--font-weight-bold);border-bottom-color:var(--accent)}.nav-dropdown--open .nav-dropdown__trigger{color:var(--text-bright)}.nav-dropdown__caret{display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.7;transition:transform var(--fast) var(--ease-out)}.nav-dropdown--open .nav-dropdown__caret{transform:rotate(180deg);opacity:1}.nav-dropdown__panel{position:absolute;top:calc(100% + 4px);left:0;min-width:18rem;max-width:22rem;background:#0d1a28;border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:300;overflow:hidden;animation:dropdown-in var(--normal) var(--ease-spring) both}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.nav-dropdown__panel[hidden]{display:none!important}.nav-dropdown__panel a{display:block;padding:.75rem var(--space-md);color:var(--text);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);border-bottom:none;border-left:2px solid transparent;transition:background var(--fast) var(--ease-out),color var(--fast) var(--ease-out),border-color var(--fast) var(--ease-out)}.nav-dropdown__panel a+a{border-top:1px solid rgba(255,255,255,.06)}.nav-dropdown__panel a:hover{background:#00b8d914;color:var(--accent-bright);border-left-color:var(--accent);text-decoration:none}.nav-dropdown__panel a.active{background:#00b8d914;color:var(--accent);border-left-color:var(--accent);border-bottom:none}.nav-dropdown__link-title{display:block;font-weight:var(--font-weight-bold);color:var(--text-bright);font-size:var(--font-size-sm)}.nav-dropdown__link-desc{display:block;margin-top:2px;font-size:.72rem;font-weight:var(--font-weight-medium);color:var(--muted-light);line-height:1.4}.view-tabs{display:flex;margin-bottom:var(--space-xl);margin-top:var(--space-md);border-radius:var(--radius);padding:3px;background:var(--surface-elevated);border:1px solid var(--border);width:fit-content;box-shadow:var(--shadow-sm)}.view-tabs a{display:inline-block;padding:.55rem 1.25rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);font-family:var(--font-sans);text-decoration:none;border-radius:calc(var(--radius) - 1px);color:var(--muted-light);transition:color var(--fast) var(--ease-out),background var(--fast) var(--ease-out),box-shadow var(--fast) var(--ease-out);border-bottom:none!important}.view-tabs a:after{display:none!important}.view-tabs a:hover{color:var(--text-bright);background:#ffffff0f;text-decoration:none}.view-tabs a.view-tabs__active{color:#fff;background:var(--accent);box-shadow:0 1px 10px var(--accent-glow)}.view-tabs a.view-tabs__active:hover{color:#fff;background:var(--accent-bright);text-decoration:none}.container{max-width:1400px;margin:0 auto;padding:var(--space-xl);width:100%;flex:1;animation:page-in .18s var(--ease-out) both}@keyframes page-in{0%{opacity:0}to{opacity:1}}.page-content{max-width:100%}.page-title{font-family:var(--font-sans);margin:0 0 var(--space-xs);font-size:var(--font-size-2xl);font-weight:800;line-height:var(--line-height-tight);letter-spacing:-.025em;color:var(--text-bright)}.page-subtitle{margin:0 0 var(--space-xl);color:var(--muted-light);font-size:var(--font-size-base)}.text-muted{color:var(--muted)}.text-small{font-size:var(--font-size-sm)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg);box-shadow:var(--shadow-sm);position:relative;transition:border-color var(--normal) var(--ease-out),box-shadow var(--normal) var(--ease-out),transform var(--normal) var(--ease-out)}.card:hover{border-color:#ffffff21;box-shadow:var(--shadow-md);transform:translateY(-1px)}.card-title{margin:0 0 var(--space-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-bright);letter-spacing:-.01em}.card-value{margin:0;font-size:var(--font-size-xl);font-weight:800;color:var(--text-bright);letter-spacing:-.02em}.card-value--muted{font-weight:var(--font-weight-medium);color:var(--text);font-size:var(--font-size-base)}.card--highlight{border-color:#00b8d933;background:linear-gradient(135deg,var(--surface) 0%,rgba(0,184,217,.04) 100%)}.card--section{margin-top:var(--space-xl)}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-lg);margin-bottom:var(--space-lg)}.dashboard-activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);align-items:stretch}@media (max-width: 768px){.dashboard-activity-grid{grid-template-columns:1fr}}.quick-links{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.quick-link{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:all var(--fast) var(--ease-out)}.quick-link:hover{background:var(--accent-dim);border-color:#00b8d940;color:var(--accent-bright);transform:translateY(-1px);text-decoration:none}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.5rem var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-elevated);color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-sans);letter-spacing:.01em;transition:all var(--fast) var(--ease-out);position:relative;overflow:hidden;white-space:nowrap}.btn:hover{background:#ffffff17;border-color:#fff3;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(0) scale(.98)}.btn.primary{background:var(--accent);color:#000;border-color:transparent;box-shadow:0 1px 12px var(--accent-glow);font-weight:var(--font-weight-bold);position:relative;overflow:hidden}.btn.primary:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transition:left .45s var(--ease-out)}.btn.primary:hover:not(:disabled){background:var(--accent-bright);box-shadow:0 2px 20px #00b8d973;transform:translateY(-2px)}.btn.primary:hover:not(:disabled):after{left:150%}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.btn--danger{background:var(--error);color:#fff;border-color:transparent;box-shadow:0 1px 10px #e8404033;font-weight:var(--font-weight-bold)}.btn--danger:hover:not(:disabled){background:#f05050;box-shadow:0 2px 18px #e8404061;transform:translateY(-1px)}.btn--neutral{background:transparent;border-color:var(--border);color:var(--muted-light)}.btn--neutral:hover{color:var(--text);border-color:var(--border-strong);background:#ffffff0a}.btn--link{background:transparent;border:none;padding:0;color:var(--accent);font-weight:var(--font-weight-semibold);margin-top:var(--space-sm);overflow:visible}.btn--link:hover{background:transparent;color:var(--accent-bright);text-decoration:underline;transform:none;box-shadow:none}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:var(--font-weight-bold);letter-spacing:.015em;white-space:nowrap}.badge--success{background:var(--success-dim);color:var(--success);border:1px solid rgba(0,200,150,.18)}.badge--success:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--success);animation:pulse-dot 2.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.badge--error{background:var(--error-dim);color:var(--error);border:1px solid rgba(232,64,64,.18)}.badge--warning{background:var(--warning-dim);color:var(--warning);border:1px solid rgba(240,160,32,.18)}.badge--neutral{background:#ffffff0d;color:var(--muted-light);border:1px solid var(--border)}.table-wrap{overflow-x:auto;max-height:70vh;overflow-y:auto;border-radius:var(--radius);border:1px solid var(--border);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}th,td{padding:.7rem var(--space-md);text-align:left;border-bottom:1px solid var(--border)}th{font-size:.71rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);white-space:nowrap;position:sticky;top:0;background:var(--surface);z-index:1;padding-top:.875rem;padding-bottom:.875rem}tbody tr{transition:background var(--fast) var(--ease-out)}tbody tr:nth-child(2n) td{background:#ffffff04}tbody tr:hover td{background:#00b8d90f;color:var(--text-bright)}.code-cell{font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:.78rem;color:var(--accent);background:var(--accent-dim);padding:2px 7px;border-radius:var(--radius-xs);letter-spacing:.02em}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]):not([type=color]),textarea{background:var(--surface-elevated);color:var(--text-bright);border:1px solid var(--border-strong);border-radius:var(--radius-sm);transition:border-color var(--fast) var(--ease-out),box-shadow var(--fast) var(--ease-out)}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]):not([type=color]):focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #00b8d924}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.7}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;margin-bottom:var(--space-xs);color:var(--muted-light);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.01em}.form-group input,.form-group select{width:100%;max-width:320px;padding:.6rem var(--space-md);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-elevated);color:var(--text-bright);transition:border-color var(--fast) var(--ease-out),box-shadow var(--fast) var(--ease-out)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #00b8d924}.form-group input::placeholder{color:var(--muted);opacity:.7}.container select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;max-width:320px;padding:.6rem 2.25rem .6rem .875rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-bright);background-color:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--fast) var(--ease-out),box-shadow var(--fast) var(--ease-out);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235c7a94' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .625rem center;background-size:1rem}.container select:hover{border-color:var(--muted-light)}.container select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #00b8d924}.container select option{background:var(--surface-elevated);color:var(--text)}.status-ok{color:var(--success)}.status-error{color:var(--error)}.alert{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-sm);border-left:3px solid;margin-bottom:var(--space-md);animation:alert-in var(--normal) var(--ease-out) both}@keyframes alert-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.alert--error{background:var(--error-dim);border-left-color:var(--error);color:var(--text)}.alert--success{background:var(--success-dim);border-left-color:var(--success);color:var(--text)}.toast{position:fixed;bottom:var(--space-xl);right:var(--space-xl);max-width:400px;padding:var(--space-md) var(--space-lg);border-radius:var(--radius);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:var(--space-md);z-index:9999;animation:toast-in .3s var(--ease-spring) both}@keyframes toast-in{0%{opacity:0;transform:translateY(14px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-message{margin:0;flex:1;font-size:var(--font-size-sm);line-height:1.45;font-weight:var(--font-weight-medium)}@keyframes tn-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toast--success{background:#071a11;border:1px solid rgba(0,200,150,.3);color:var(--text)}.toast--error{background:#160608;border:1px solid rgba(232,64,64,.3);color:var(--text)}.btn--toast{flex-shrink:0;padding:var(--space-xs) var(--space-sm);font-size:.8rem}.app-footer{margin-top:auto;padding:var(--space-md) var(--space-xl);background:var(--surface);border-top:1px solid var(--border);font-size:var(--font-size-sm);color:var(--muted);text-align:center}.app-footer__link{color:var(--muted-light);font-weight:var(--font-weight-semibold);transition:color var(--fast) var(--ease-out)}.app-footer__link:hover{color:var(--accent);text-decoration:none}.input-no-spinner::-webkit-outer-spin-button,.input-no-spinner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-no-spinner{-moz-appearance:textfield}.dropdown-panel-search:focus,.dropdown-panel-search:focus-visible{outline:none}.dropdown-panel-search:focus-visible{border-color:#00c8f073!important;box-shadow:0 0 0 2px #00b8d91f}
