#root{min-height:100vh}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-content{width:min(1560px,100% - 1rem);padding:var(--space-4) 0;margin:0 auto}.route-fallback{min-height:96px;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--text-muted);box-shadow:var(--shadow-soft);align-items:center;gap:12px;display:flex}.route-fallback__bar{border:3px solid color-mix(in srgb, var(--accent) 18%, var(--line));border-top-color:var(--accent);border-radius:999px;width:32px;height:32px;animation:.9s linear infinite route-fallback-spin}@keyframes route-fallback-spin{to{transform:rotate(360deg)}}.route-error{padding:var(--space-5);border:1px solid color-mix(in srgb, var(--danger) 30%, var(--line));border-radius:var(--radius-md);background:color-mix(in srgb, var(--danger-surface) 72%, var(--surface));box-shadow:var(--shadow-soft);gap:12px;display:grid}.route-error__title{color:var(--danger-strong);margin:0}.route-error__message{color:var(--text-muted);margin:0}.route-error__action{width:fit-content}.top-nav{z-index:20;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-wrap:wrap;align-items:center;display:flex;position:sticky;top:0;overflow:visible}.top-nav-dropdown{position:relative}.top-nav-dropdown.is-open{z-index:40}.top-nav-dropdown-trigger{min-height:36px;padding:0 var(--space-3);color:var(--text-muted);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;font-size:.82rem;transition:all .15s;display:inline-flex}.top-nav-dropdown-trigger:hover,.top-nav-dropdown.is-open .top-nav-dropdown-trigger{background:var(--surface-muted);color:var(--text)}.top-nav-dropdown-trigger:focus-visible,.top-nav-link:focus-visible,.logout-btn:focus-visible,.control-select:focus-visible,.theme-btn:focus-visible,.primary-btn:focus-visible,.login-input:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 60%, #fff);outline-offset:2px}.top-nav-dropdown-trigger.is-active{border-color:color-mix(in srgb, var(--accent) 30%, var(--line));color:var(--accent-strong)}.top-nav-caret{font-size:.7rem;line-height:1}.top-nav-dropdown-menu{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:220px;box-shadow:var(--shadow-soft);z-index:50;flex-direction:column;gap:4px;padding:8px;display:none;position:absolute;top:calc(100% + 8px);left:0}.top-nav-dropdown.is-open .top-nav-dropdown-menu{display:flex}.top-nav-link{min-height:36px;padding:0 var(--space-3);color:var(--text-muted);border-radius:999px;align-items:center;font-size:.92rem;text-decoration:none;transition:all .15s;display:inline-flex}.top-nav-dropdown-menu .top-nav-link{border-radius:10px}.top-nav-link:hover{background:var(--surface-muted);color:var(--text)}.top-nav-link.is-active{color:#fff;background:var(--accent);box-shadow:var(--accent-shadow)}.top-nav-spacer{margin-left:auto}.control-field{gap:4px;min-width:140px;display:grid}.control-field--inline{align-items:center;gap:10px;min-width:0;display:inline-flex}.control-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem;font-weight:700}.control-field--inline .control-label{white-space:nowrap}.control-select{border:1px solid var(--line);background:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%) calc(100% - 18px) calc(50% - 1px) / 6px 6px no-repeat, linear-gradient(135deg, var(--text-muted) 50%, transparent 50%) calc(100% - 12px) calc(50% - 1px) / 6px 6px no-repeat, color-mix(in srgb, var(--surface) 94%, transparent);min-height:36px;color:var(--text);appearance:none;font:inherit;cursor:pointer;border-radius:999px;padding:0 36px 0 12px}.control-select:hover{border-color:color-mix(in srgb, var(--accent) 30%, var(--line))}.theme-switch{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);border-radius:999px;align-items:center;gap:6px;padding:4px;display:inline-flex}.theme-btn{min-width:70px;color:var(--text-muted);cursor:pointer;letter-spacing:.04em;background:0 0;border:none;border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:700}.theme-btn:hover{color:var(--text)}.theme-btn.is-active{background:var(--accent);color:#fff;box-shadow:var(--accent-shadow)}.logout-btn{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;padding:8px 14px}.logout-btn:hover{border-color:color-mix(in srgb, #d63636 55%, var(--line));color:#b71c1c;box-shadow:var(--danger-shadow)}.login-page{min-height:100vh;padding:var(--space-8) var(--space-4);justify-content:center;align-items:center;display:flex}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(420px,100%);box-shadow:var(--shadow-soft);padding:var(--space-6)}.login-toolbar{justify-content:space-between;align-items:end;gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.login-title{margin:0 0 var(--space-5)}.login-form{gap:var(--space-3);display:grid}.login-field{gap:6px;display:grid}.login-label{font-size:.92rem;font-weight:600}.login-input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);height:42px;padding:0 12px}.login-input:focus{border-color:color-mix(in srgb, var(--accent) 60%, var(--line));background:var(--surface);outline:none}.primary-btn{border-radius:var(--radius-sm);color:#fff;background:linear-gradient(135deg, var(--accent) 0%, #2f7f51 100%);cursor:pointer;border:none;height:42px;font-weight:600}.primary-btn:hover{background:linear-gradient(135deg, var(--accent-strong) 0%, #256b43 100%)}.debug-errors{margin-bottom:var(--space-4);padding:var(--space-3);border-radius:var(--radius-sm);color:#dfefe0;background:#101510;max-height:220px;font-size:12px;overflow:auto}.table-page{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);padding:var(--space-3);flex-direction:column;min-width:0;display:flex;overflow:hidden}.table-page--fill{height:calc(100vh - 96px);min-height:calc(100vh - 96px)}.table-page--auto{height:auto;min-height:0}.table-page--embedded{height:100%;min-height:520px}.table-toolbar{margin-bottom:var(--space-2);justify-content:flex-end;display:flex}.table-action-link{min-height:36px;padding:0 var(--space-3);border:1px solid color-mix(in srgb, var(--accent) 30%, var(--line));color:var(--accent-strong);border-radius:999px;align-items:center;text-decoration:none;display:inline-flex}.table-action-link:hover{background:color-mix(in srgb, var(--accent) 12%, var(--surface))}.table-grid{flex:1 1 0;align-items:stretch;width:100%;min-width:0;height:100%;min-height:320px;display:flex}.table-grid>.MuiDataGrid-root{flex:auto;width:100%;min-width:0;height:100%;min-height:320px}.table-grid--auto{flex:none;height:auto;min-height:0;display:block}.table-grid--auto>.MuiDataGrid-root{flex:none;height:auto;min-height:0}.grid-action-btn{background:color-mix(in srgb, var(--surface-muted) 86%, var(--surface-elevated));width:32px;height:32px;color:color-mix(in srgb, var(--text-muted) 88%, var(--text));border:1px solid #0000;border-radius:10px;transition:all .15s}.grid-action-btn:hover{background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-color:color-mix(in srgb, var(--accent) 30%, var(--line));color:var(--accent-strong);box-shadow:0 6px 14px #15563624}@media (width<=900px){.top-nav{padding:var(--space-2);align-items:stretch;gap:6px}.top-nav-dropdown{flex:100%}.top-nav-dropdown-trigger{justify-content:space-between;width:100%}.top-nav-dropdown-menu{width:100%;min-width:0;box-shadow:none;margin-top:6px;position:static;top:auto;left:auto}.top-nav-spacer{display:none}.control-field--inline{justify-content:space-between;width:100%}.control-field--inline .control-select{flex:auto}.logout-btn{margin-left:auto}}.grid-action-btn:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 60%, #fff);outline-offset:2px}.MuiDataGrid-row:hover .grid-action-btn{color:var(--text);border-color:color-mix(in srgb, var(--accent) 20%, var(--line))}.table-grid .grid-actions-header,.table-grid .grid-actions-cell{z-index:3;background:var(--surface);position:sticky;right:0}.table-grid .grid-actions-header{z-index:4;border-left:1px solid color-mix(in srgb, var(--line) 80%, var(--surface))}.platforms-page{gap:var(--space-3);display:grid}.platforms-hero,.platforms-section-shell{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.platforms-hero{padding:var(--space-4);background:radial-gradient(circle at top right, color-mix(in srgb, var(--accent) 10%, transparent), transparent 34%), linear-gradient(180deg, color-mix(in srgb, var(--surface-muted) 80%, var(--surface-elevated)), var(--surface))}body,.route-fallback,.route-error,.top-nav,.top-nav-dropdown-trigger,.top-nav-dropdown-menu,.top-nav-link,.control-field,.control-select,.theme-switch,.theme-btn,.logout-btn,.login-card,.login-input,.primary-btn,.table-page,.table-action-link,.grid-action-btn,.platforms-hero,.platforms-section-shell{transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s}.platforms-quick-links{align-items:center}.platforms-section-shell{overflow:hidden}.platforms-tabs{padding:0 var(--space-2);border-bottom:1px solid var(--line)}.platforms-section-header{padding:var(--space-3) var(--space-3) 0}@media (width<=900px){.app-content{width:min(1560px,100% - .5rem);padding:var(--space-3) 0}.table-page{padding:var(--space-2)}.table-page--fill{height:calc(100vh - 88px)}.platforms-hero,.platforms-section-header{padding-left:var(--space-2);padding-right:var(--space-2)}.login-toolbar{justify-content:stretch}.login-toolbar .lang-switch,.login-toolbar .theme-switch{justify-content:center;width:100%}}:root{--bg:#f3f4ee;--surface:#fff;--surface-muted:#f7f8f2;--surface-elevated:#fff;--text:#1a1f16;--text-muted:#5e6756;--accent:#1f6f43;--accent-strong:#155636;--line:#d9ded0;--danger:#b32323;--danger-strong:#8f1313;--danger-surface:#fff1f1;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--shadow-soft:0 10px 30px #15261214;--accent-shadow:0 8px 20px #1f6f4340;--danger-shadow:0 0 16px #d6363659;--page-glow-top:#1f6f4329;--page-glow-bottom:#92be432e;--page-start:#f8f9f4;--page-end:#eff2e7}:root[data-theme=dark]{--bg:#08110e;--surface:#101b17;--surface-muted:#16221d;--surface-elevated:#1a2821;--text:#edf3ee;--text-muted:#a3b6aa;--accent:#52b37a;--accent-strong:#77d498;--line:#2b3c34;--danger:#ff7b7b;--danger-strong:#ffb2b2;--danger-surface:#261517;--shadow-soft:0 18px 40px #00000047;--accent-shadow:0 10px 24px #52b37a42;--danger-shadow:0 0 18px #ff7b7b2e;--page-glow-top:#52b37a29;--page-glow-bottom:#1248313d;--page-start:#101814;--page-end:#07100c}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%}body{color:var(--text);background:radial-gradient(circle at 0% 0%, var(--page-glow-top) 0%, transparent 32%), radial-gradient(circle at 100% 100%, var(--page-glow-bottom) 0%, transparent 36%), linear-gradient(180deg, var(--page-start) 0%, var(--page-end) 100%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Segoe UI,Noto Sans,Helvetica Neue,sans-serif;line-height:1.45}code{font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace}a{color:inherit}input,textarea,select,button{font:inherit}.toast-top-right{top:12px;right:12px}.toast-container{pointer-events:none;z-index:999999;position:fixed}.btnTool{text-align:left}
