html,body{height:100%;min-height:100vh;min-height:100dvh;width:100%;margin:0;box-sizing:border-box}app-root{display:block;height:100%;min-height:100vh;min-height:100dvh;width:100%;margin:0;box-sizing:border-box}html,body{overflow-x:hidden;-webkit-overflow-scrolling:touch}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}html.theme-light *{scrollbar-color:rgba(0,0,0,.2) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:#ffffff47}*::-webkit-scrollbar-corner{background:transparent}html.theme-light *::-webkit-scrollbar-thumb{background:#0000002e}html.theme-light *::-webkit-scrollbar-thumb:hover{background:#00000047}:root{--content-max-width: 1360px;--content-padding: 16px;--content-padding-mobile: 12px;--topbar-height: 48px;--touch-target-min: 44px;--font-page-title: 18px;--font-section-title: 16px;--font-subtitle: 14px;--font-body: 14px;--font-caption: 12px;--font-weight-page-title: 700;--font-weight-section: 600;--font-weight-body: 500;--font-weight-caption: 400;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px}@media(max-width:768px){:root{--content-padding: var(--content-padding-mobile)}}@media(max-width:768px){html{-webkit-text-size-adjust:100%}body{font-size:16px;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}button,[role=button],a[href],.btn-bar,.btn,button.btn,a.btn,input[type=submit],input[type=button]{min-height:var(--touch-target-min)}button:not(.btn--sm),[role=button]:not(.btn--sm),a.btn:not(.btn--sm),button.btn:not(.btn--sm),.btn-bar,input[type=submit],input[type=button]{min-width:var(--touch-target-min)}input[type=checkbox],input[type=radio]{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.input-control,input[type=text],input[type=email],input[type=password],input[type=search],select,textarea{min-height:var(--touch-target-min);font-size:16px}input[type=text],input[type=email],input[type=password],input[type=search],select{font-size:max(16px,1rem)}}:focus-visible{outline:2px solid var(--focus, #5b7cff);outline-offset:2px}button:focus-visible,a:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus, #5b7cff);outline-offset:2px}html.theme-dark body{background:#151d32;color:#fffffff2;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html.theme-dark{--app-bg: linear-gradient(135deg, #151d32 0%, #1a2742 100%);--app-bg-simple: #161e33;--sidebar-bg: #141c2e;--sidebar-border: #1e2a45;--sidebar-item-hover: #1e2a45;--sidebar-scrollbar-thumb: rgba(255, 255, 255, .2);--sidebar-scrollbar-thumb-hover: rgba(255, 255, 255, .3);--topbar-btn-hover: #1e2a45;--text-primary: rgba(255, 255, 255, .95);--text-muted: rgba(255, 255, 255, .65);--topbar-bg: #141c2e;--topbar-border: rgba(255, 255, 255, .08);--topbar-text: rgba(255, 255, 255, .9);--card-bg: #1a2338;--card-border: rgba(255, 255, 255, .08);--table-row-hover: #1e2a45;--bg: #151d32;--surface: #1c2642;--surface-2: #1e2a45;--text: rgba(255, 255, 255, .95);--muted: rgba(255, 255, 255, .6);--border: rgba(255, 255, 255, .12);--border-subtle: rgba(255, 255, 255, .08);--primary: #5b7cff;--shadow: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .15);--shadow-md: 0 4px 16px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .3);--card-shadow: 0 4px 20px rgba(0, 0, 0, .2);--border-card: 1px solid rgba(255, 255, 255, .08);--input-bg: #1c2642;--input-border: rgba(255, 255, 255, .15);--input-text: rgba(255, 255, 255, .95);--input-placeholder: rgba(255, 255, 255, .5);--focus: #5b7cff;--focus-ring: 0 0 0 2px rgba(91, 124, 255, .4);--danger: rgba(244, 67, 54, .95);--warning: #d4a017;--color-text: var(--text);--color-text-muted: var(--muted);--color-bg: var(--surface);--color-border: var(--border);--color-error: var(--danger);--topbar-glass: #141c2e}html.theme-light body{background:#f0f4fa;color:#1a2332;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html.theme-light{--app-bg: linear-gradient(135deg, #f0f4fa 0%, #e8eef7 100%);--app-bg-simple: #eef2f8;--sidebar-bg: #e4eaf3;--sidebar-border: #c8d4e6;--sidebar-item-hover: rgba(0, 0, 0, .06);--sidebar-scrollbar-thumb: rgba(0, 0, 0, .15);--sidebar-scrollbar-thumb-hover: rgba(0, 0, 0, .25);--topbar-btn-hover: rgba(0, 0, 0, .06);--text-primary: #1a2332;--text-muted: #4a5568;--topbar-bg: rgba(255, 255, 255, .95);--topbar-border: rgba(0, 0, 0, .08);--topbar-text: #1a2332;--card-bg: rgba(255, 255, 255, .9);--card-border: rgba(0, 0, 0, .08);--table-row-hover: rgba(0, 0, 0, .03);--bg: #f0f4fa;--surface: #ffffff;--surface-2: #f8fafc;--text: #1a2332;--muted: #64748b;--border: #cbd5e1;--border-subtle: rgba(0, 0, 0, .06);--primary: #5b7cff;--shadow: 0 1px 2px rgba(0, 0, 0, .06);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--card-shadow: 0 4px 20px rgba(0, 0, 0, .06);--border-card: 1px solid rgba(0, 0, 0, .08);--input-bg: #ffffff;--input-border: #cbd5e1;--input-text: #1a2332;--input-placeholder: #94a3b8;--focus: #5b7cff;--focus-ring: 0 0 0 2px rgba(91, 124, 255, .35);--danger: #b91c1c;--warning: #b8860b;--color-text: var(--text);--color-text-muted: var(--muted);--color-bg: var(--surface-2);--color-border: var(--border);--color-error: var(--danger);--topbar-glass: #ffffff}html:not(.theme-dark):not(.theme-light){--app-bg: linear-gradient(135deg, #0b1020 0%, #0f1b3d 100%);--text: rgba(255, 255, 255, .95);--text-primary: rgba(255, 255, 255, .95);--text-muted: rgba(255, 255, 255, .65);--card-bg: #1a2338;--card-border: rgba(255, 255, 255, .08);--table-row-hover: #1e2a45;--sidebar-item-hover: #1e2a45;--sidebar-scrollbar-thumb: rgba(255, 255, 255, .2);--sidebar-scrollbar-thumb-hover: rgba(255, 255, 255, .3);--topbar-btn-hover: #1e2a45;--input-bg: #1c2642;--input-text: rgba(255, 255, 255, .95);--input-placeholder: rgba(255, 255, 255, .45);--border: rgba(255, 255, 255, .12);--border-subtle: rgba(255, 255, 255, .08);--primary: #5b7cff;--shadow: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .3);--card-shadow: 0 4px 20px rgba(0, 0, 0, .2);--border-card: 1px solid rgba(255, 255, 255, .08);--danger: rgba(244, 67, 54, .95);--warning: #d4a017;--topbar-glass: #141c2e;--surface: #1c2642;--surface-2: #1e2a45}html:not(.theme-dark):not(.theme-light) body{background:linear-gradient(180deg,#0b1020,#0f1b3d);color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.page-container{max-width:100%;box-sizing:border-box}.page-header{padding:var(--space-md, 12px) 0 var(--space-lg, 16px);border-bottom:1px solid var(--border-subtle, rgba(255, 255, 255, .08));margin-bottom:var(--space-lg, 16px)}.page-header__row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm, 8px)}.page-header__row--1{margin-bottom:var(--space-xs, 4px)}.page-header__row--2{align-items:center;min-height:36px}.page-title{margin:0;font-size:var(--font-page-title, 18px);font-weight:var(--font-weight-page-title, 700);color:var(--text);line-height:1.3}.page-subtitle{margin:0;font-size:var(--font-body, 14px);color:var(--muted);line-height:1.4}.page-content{flex:1;min-height:0;padding:0}.card__title,.section-title,.form-section__title{font-size:var(--font-section-title, 16px)!important;font-weight:var(--font-weight-section, 600)!important;color:var(--text)}.data-table th,.table-header{font-size:var(--font-subtitle, 14px)!important;font-weight:var(--font-weight-section, 600)}.data-table td,.body-text,label{font-size:var(--font-body, 14px)}.version,.empty-msg,.loading-msg,.text-caption{font-size:var(--font-caption, 12px)}@media(max-width:768px){.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:768px){.modal-overlay{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);align-items:flex-start;overflow-y:auto}.modal-content{max-height:calc(100dvh - 2rem);margin:1rem 0}}.input-control{height:40px;padding:0 var(--space-md, 12px);border:1px solid var(--input-border);border-radius:8px;background:var(--input-bg);color:var(--input-text);font-size:var(--font-body, 14px);box-sizing:border-box}.input-control::placeholder{color:var(--input-placeholder)}.input-control:focus{outline:none;border-color:var(--focus);box-shadow:var(--focus-ring)}.input-control:focus-visible{outline:none}.btn-bar{height:40px;padding:0 var(--space-lg, 16px);border-radius:8px;font-size:var(--font-body, 14px);font-weight:600;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:none;cursor:pointer;text-decoration:none}.btn-bar,.btn,button.btn,a.btn,.btn-primary,.btn-secondary,.btn-danger,.btn-warning,.btn--primary,.btn--secondary{font-weight:700!important}.btn-primary,.btn--primary{background:transparent!important;color:var(--primary, #5b7cff)!important;border:1px solid var(--primary, #5b7cff)!important;transition:background .2s ease,color .2s ease,border-color .2s ease}.btn-primary:hover:not(:disabled),.btn--primary:hover:not(:disabled){background:var(--primary, #5b7cff)!important;color:#fff!important;border-color:var(--primary, #5b7cff)!important}.btn-secondary,.btn--secondary{background:transparent!important;color:var(--text)!important;border:1px solid var(--border-subtle, rgba(255, 255, 255, .15))!important;transition:background .2s ease,border-color .2s ease}.btn-secondary:hover:not(:disabled),.btn--secondary:hover:not(:disabled){background:var(--table-row-hover, rgba(255, 255, 255, .04))!important;border-color:var(--border, rgba(255, 255, 255, .25))!important}.btn-danger{background:transparent!important;color:var(--danger, #dc3545)!important;border:1px solid var(--danger, #dc3545)!important;transition:background .2s ease,color .2s ease,border-color .2s ease}.btn-danger:hover:not(:disabled){background:var(--danger, #dc3545)!important;color:#fff!important;border-color:var(--danger, #dc3545)!important}.btn-warning{background:transparent!important;color:var(--warning, #d4a017)!important;border:1px solid var(--warning, #d4a017)!important;transition:background .2s ease,color .2s ease,border-color .2s ease}.btn-warning:hover:not(:disabled){background:var(--warning, #d4a017)!important;color:#1a1a1a!important;border-color:var(--warning, #d4a017)!important}
