:root{--font-sans:"IBM Plex Sans", system-ui, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-base:15px;--fs-lg:17px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:30px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.25;--lh-base:1.5;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-full:999px;--dur-fast:.12s;--dur-base:.2s;--ease:cubic-bezier(.2, 0, 0, 1);--z-header:10;--z-overlay:200;--z-drawer:201;--z-modal:300;--header-h:64px;--container-w:1200px}[data-theme=blue]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f5f9;--surface:#fff;--surface-2:#f6f8fb;--surface-hover:#edf1f7;--border:#dfe4ec;--border-strong:#c5cdda;--text:#172033;--text-muted:#4f5b70;--text-subtle:#8590a4;--primary:#1d5fd1;--primary-hover:#174dab;--primary-contrast:#fff;--primary-soft:#e7effc;--primary-soft-text:#1747a0;--success:#1f7a3d;--success-soft:#e6f4ea;--success-border:#a8d8b5;--danger:#c2272d;--danger-hover:#a01f24;--danger-contrast:#fff;--danger-soft:#fdecec;--danger-border:#f0a9ab;--warning:#9a5b00;--warning-soft:#fff4dd;--warning-border:#f2cf86;--neutral-soft:#eef0f4;--group:#7b1fa2;--group-soft:#f3e5f5;--group-border:#ce93d8;--header-bg:#1a55bf;--header-text:#fff;--header-border:#ffffff59;--header-divider:transparent;--input-bg:#fff;--input-border:#c5cdda;--focus-ring:#1d5fd159;--overlay:#0f172a73;--shadow-sm:0 1px 2px #1018280f, 0 1px 3px #1018280f;--shadow-md:0 4px 12px #10182814;--shadow-lg:0 12px 32px #10182829}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f7f8;--surface:#fff;--surface-2:#f4f4f6;--surface-hover:#ececef;--border:#e3e3e8;--border-strong:#c9c9d1;--text:#18181b;--text-muted:#52525b;--text-subtle:#8e8e98;--primary:#334155;--primary-hover:#1e293b;--primary-contrast:#fff;--primary-soft:#eceff4;--primary-soft-text:#334155;--success:#1f7a3d;--success-soft:#e6f4ea;--success-border:#a8d8b5;--danger:#c2272d;--danger-hover:#a01f24;--danger-contrast:#fff;--danger-soft:#fdecec;--danger-border:#f0a9ab;--warning:#9a5b00;--warning-soft:#fff4dd;--warning-border:#f2cf86;--neutral-soft:#efeff2;--group:#7b1fa2;--group-soft:#f3e5f5;--group-border:#ce93d8;--header-bg:#fff;--header-text:#18181b;--header-border:#d4d4da;--header-divider:var(--border);--input-bg:#fff;--input-border:#c9c9d1;--focus-ring:#3341554d;--overlay:#18181b66;--shadow-sm:0 1px 2px #0000000d, 0 1px 3px #0000000d;--shadow-md:0 4px 12px #00000012;--shadow-lg:0 12px 32px #00000024}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#11151c;--surface:#1a1f29;--surface-2:#1f2531;--surface-hover:#272e3c;--border:#2c3443;--border-strong:#3d4759;--text:#e7eaf0;--text-muted:#a7b0c0;--text-subtle:#7b8598;--primary:#6aa5ff;--primary-hover:#8cbaff;--primary-contrast:#0b1220;--primary-soft:#6aa5ff24;--primary-soft-text:#a3c7ff;--success:#6fd08f;--success-soft:#6fd08f21;--success-border:#6fd08f66;--danger:#ff8a8a;--danger-hover:#ffabab;--danger-contrast:#1a0b0b;--danger-soft:#ff8a8a21;--danger-border:#ff8a8a66;--warning:#f3c368;--warning-soft:#f3c36821;--warning-border:#f3c36866;--neutral-soft:#262d3a;--group:#d59be0;--group-soft:#d59be024;--group-border:#d59be066;--header-bg:#161b24;--header-text:#e7eaf0;--header-border:#2c3443;--header-divider:var(--border);--input-bg:#141922;--input-border:#3d4759;--focus-ring:#6aa5ff66;--overlay:#0009;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 14px #00000059;--shadow-lg:0 14px 36px #00000080}[data-theme]{color:var(--text)}*,:before,:after{box-sizing:border-box}#root{min-height:100vh}html{font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{background:var(--bg);color:var(--text);margin:0}#root{flex-direction:column;min-height:100svh;display:flex}button,input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::selection{background:var(--primary-soft)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@keyframes adys-bounce{0%{transform:translateY(0)}28%{transform:translateY(-12px)}50%{transform:translateY(0)}68%{transform:translateY(-5px)}84%{transform:translateY(0)}to{transform:translateY(0)}}.adys-letter{animation:.55s cubic-bezier(.36,.07,.19,.97) both paused adys-bounce;display:inline-block}.adys-logo:hover .adys-letter{animation-play-state:running}.container{width:100%;max-width:var(--container-w);padding:var(--sp-6) var(--sp-5);margin:0 auto}.stack{gap:var(--sp-4);flex-direction:column;display:flex}.stack-sm{gap:var(--sp-2);flex-direction:column;display:flex}.row{align-items:center;gap:var(--sp-3);display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.page-title{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:-.01em;color:var(--text);margin:0}.page-subtitle{margin:var(--sp-1) 0 0;color:var(--text-muted);font-size:var(--fs-md)}.section-title{font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);margin:0}.text-muted{color:var(--text-muted)}.text-subtle{color:var(--text-subtle)}.text-sm{font-size:var(--fs-sm)}.text-xs{font-size:var(--fs-xs)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.mono{font-family:var(--font-mono)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-header{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border);display:flex}.card-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:0}.card-body{padding:var(--sp-5)}.card-footer{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border);justify-content:flex-end;gap:var(--sp-2);display:flex}.card-link{cursor:pointer;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease)}.card-link:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn{justify-content:center;align-items:center;gap:var(--sp-2);height:36px;padding:0 var(--sp-4);border-radius:var(--r-md);font-family:inherit;font-size:var(--fs-md);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);border:1px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-contrast)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover)}.btn-ghost{color:var(--text-muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn-danger{background:var(--danger);color:var(--danger-contrast)}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-success{background:var(--success);color:var(--danger-contrast)}.btn-success:hover:not(:disabled){filter:brightness(.92)}.btn-outline{color:var(--primary);border-color:var(--primary);background:0 0}.btn-outline:hover:not(:disabled){background:var(--primary-soft)}.btn-danger-outline{color:var(--danger);border-color:var(--danger-border);background:0 0}.btn-danger-outline:hover:not(:disabled){background:var(--danger-soft)}.btn-success-outline{color:var(--success);border-color:var(--success-border);background:0 0}.btn-success-outline:hover:not(:disabled){background:var(--success-soft)}.btn-sm{height:30px;padding:0 var(--sp-3);font-size:var(--fs-sm);border-radius:var(--r-sm)}.btn-lg{height:44px;padding:0 var(--sp-6);font-size:var(--fs-base)}.btn-icon{width:36px;padding:0}.btn-icon.btn-sm{width:30px}.btn-block{width:100%}.field{flex-direction:column;gap:6px;display:flex}.label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-muted)}.hint{font-size:var(--fs-xs);color:var(--text-subtle)}.field-error{font-size:var(--fs-xs);color:var(--danger)}.input,.select,.textarea{width:100%;height:36px;padding:0 var(--sp-3);background:var(--input-bg);color:var(--text);border:1px solid var(--input-border);border-radius:var(--r-md);font-family:inherit;font-size:var(--fs-md);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease)}.textarea{height:auto;min-height:88px;padding:var(--sp-2) var(--sp-3);resize:vertical;line-height:var(--lh-base)}.input::placeholder,.textarea::placeholder{color:var(--text-subtle)}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.input[aria-invalid=true]{border-color:var(--danger)}.input:disabled,.select:disabled,.textarea:disabled{opacity:.6;cursor:not-allowed}.badge{height:22px;padding:0 var(--sp-2);border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:var(--fw-semibold);white-space:nowrap;background:var(--neutral-soft);color:var(--text-muted);align-items:center;gap:4px;display:inline-flex}.badge-primary{background:var(--primary-soft);color:var(--primary-soft-text)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.table-wrap{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--fs-md);color:var(--text)}.table th{background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0}.table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table-striped tbody tr:nth-child(2n) td{background:var(--surface-2)}.table-hover tbody tr:hover td{background:var(--surface-hover)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table-compact th,.table-compact td{padding:var(--sp-2) var(--sp-3)}.tabs{gap:var(--sp-1);border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.tab{padding:var(--sp-3) var(--sp-4);color:var(--text-muted);font-family:inherit;font-size:var(--fs-md);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease);background:0 0;border:none;position:relative}.tab:hover{color:var(--text)}.tab:after{content:"";left:var(--sp-3);right:var(--sp-3);height:2px;transition:background-color var(--dur-fast) var(--ease);background:0 0;border-radius:2px;position:absolute;bottom:-1px}.tab.is-active{color:var(--primary)}.tab.is-active:after{background:var(--primary)}.alert{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);font-size:var(--fs-md);display:flex}.alert-info{background:var(--primary-soft);color:var(--primary-soft-text);border-color:#0000}.alert-success{background:var(--success-soft);border-color:var(--success-border);color:var(--success)}.alert-danger{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.alert-warning{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning)}.empty-state{padding:var(--sp-10) var(--sp-5);text-align:center;color:var(--text-subtle);font-size:var(--fs-md)}.spinner{border:2px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite adys-spin;display:inline-block}.spinner-lg{border-width:3px;width:32px;height:32px}.spinner-inline{border-color:#0000 currentColor currentColor;width:14px;height:14px}.modal-backdrop{z-index:var(--z-modal);background:var(--overlay);padding:var(--sp-4);animation:adys-fade-in var(--dur-base) var(--ease);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);width:100%;max-width:560px;max-height:calc(100svh - 32px);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:adys-pop-in var(--dur-base) var(--ease);overflow:auto}.modal-lg{max-width:860px}.divider{background:var(--border);height:1px;margin:var(--sp-4) 0;border:none}@keyframes adys-spin{to{transform:rotate(360deg)}}@keyframes adys-fade-in{0%{opacity:0}}@keyframes adys-pop-in{0%{opacity:0;transform:translateY(6px)scale(.98)}}.file-chip{width:130px;height:30px;padding:0 var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-family:inherit;font-size:var(--fs-sm);cursor:pointer;box-sizing:border-box;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.file-chip:hover{border-color:var(--primary);background:var(--primary-soft);text-decoration:none}.file-chip-name{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;min-width:0;overflow:hidden}.file-chip-action{color:var(--primary);font-weight:var(--fw-bold)}.file-chip:disabled{opacity:.6;cursor:progress}.badge-group{background:var(--group-soft);color:var(--group)}.btn-group-outline{background:var(--group-soft);color:var(--group);border-color:var(--group-border)}.btn-group-outline:hover:not(:disabled){border-color:var(--group)}.btn-group{background:var(--group);color:var(--primary-contrast)}.file-chip-success{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.file-chip-success .file-chip-action{color:var(--success)}.file-chip-success:hover{border-color:var(--success);background:var(--success-soft)}.countdown{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.countdown.is-urgent{color:var(--warning);font-weight:var(--fw-semibold)}.countdown.is-expired{color:var(--danger)}.ft-icon{color:var(--ft-c,var(--text-muted));flex-shrink:0;display:block}.ft-icon .ft-page{fill:color-mix(in srgb, var(--ft-c,var(--text-muted)) 12%, transparent)}.ft-pdf{--ft-c:color-mix(in srgb, #d32f2f 78%, var(--text))}.ft-web{--ft-c:color-mix(in srgb, #00897b 78%, var(--text))}.ft-doc{--ft-c:color-mix(in srgb, #1e63c9 78%, var(--text))}.ft-slides{--ft-c:color-mix(in srgb, #e8590c 80%, var(--text))}.ft-sheet{--ft-c:color-mix(in srgb, #2e7d32 78%, var(--text))}.ft-archive{--ft-c:color-mix(in srgb, #8d6e63 75%, var(--text))}.ft-image{--ft-c:color-mix(in srgb, #8e24aa 78%, var(--text))}.ft-media{--ft-c:color-mix(in srgb, #c2185b 78%, var(--text))}.ft-code{--ft-c:color-mix(in srgb, #546e7a 70%, var(--text))}.ft-link{--ft-c:color-mix(in srgb, #0277bd 78%, var(--text))}.ft-other{--ft-c:var(--text-muted)}.ft-btn{border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);height:32px;color:var(--text);font-family:inherit;font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);align-items:center;gap:6px;padding:0 10px;display:inline-flex}.ft-btn:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft)}.ft-btn:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:none}.ft-btn:disabled{opacity:.7;cursor:progress}.ft-btn[aria-expanded=true]{border-color:var(--primary);background:var(--primary-soft)}.ft-btn-sm{height:26px;font-size:var(--fs-xs);gap:4px;padding:0 8px}.ft-btn-sm .ft-icon{width:15px;height:15px}.ft-label{letter-spacing:.02em}.ft-action,.ft-caret{color:var(--text-subtle);font-weight:var(--fw-bold)}.ft-menu{z-index:10000;visibility:hidden;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);min-width:200px;max-width:min(320px,100vw - 16px);box-shadow:var(--shadow-md);padding:4px;position:fixed;top:0;left:0}.ft-menu-item{border-radius:var(--r-sm);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:7px 10px;font-family:inherit;display:flex}.ft-menu-item:hover,.ft-menu-item:focus-visible{background:var(--surface-hover);outline:none}.ft-menu-text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.ft-menu-label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ft-menu-kind{font-size:var(--fs-xs);color:var(--text-subtle)}.file-chip-icon{flex-shrink:0;display:inline-flex}.tnku-seal{box-sizing:border-box;background:#fff;border-radius:50%;padding:2px;display:block;box-shadow:0 0 0 1px #00000014}.tnku-seal-lg{padding:4px;box-shadow:0 0 0 1px #0000000f,0 6px 18px #0000001f}.ht-a{color:#1a52c8}.ht-d{color:#c5200f}.ht-y{color:#b07800}.ht-s{color:#1e8a3e}[data-theme=dark] .ht-a{color:#74b3ff}[data-theme=dark] .ht-d{color:#f47d72}[data-theme=dark] .ht-y{color:#ffe066}[data-theme=dark] .ht-s{color:#6dd68a}.app-header{z-index:var(--z-header);justify-content:space-between;align-items:center;gap:var(--sp-3);height:var(--header-h);padding:0 var(--sp-5);background:var(--header-bg);color:var(--header-text);border-bottom:1px solid var(--header-divider);box-shadow:var(--shadow-sm);box-sizing:border-box;display:flex;position:relative}.app-header-left{align-items:center;gap:var(--sp-3);flex-shrink:0;display:flex}.app-header-center{text-align:center;pointer-events:none;max-width:50%;line-height:1.3;position:absolute;left:50%;transform:translate(-50%)}.app-header-right{align-items:center;gap:var(--sp-2);margin-left:auto;display:flex}.app-header-logo{align-items:center;gap:var(--sp-3);display:inline-flex}.app-header-uni{border-radius:50%;flex-shrink:0;display:inline-flex}.app-header-uni img{width:38px;height:38px;display:block}.app-header-uni:focus-visible{outline:2px solid var(--header-text);outline-offset:2px}.app-header-divider{background:var(--header-divider);width:1px;height:28px}@media (width<=380px){.app-header-uni img{width:32px;height:32px}.app-header-logo{gap:var(--sp-2)}}@media (width<=640px){.app-header.has-center{padding:0 var(--sp-3);gap:var(--sp-2)}.app-header.has-center .app-header-logo{display:none}.app-header.has-center .app-header-center{text-align:left;min-width:0;max-width:none;line-height:1.2;font-size:var(--fs-base);flex:1;position:static;overflow:hidden;transform:none}.app-header.has-center .app-header-center>*{text-overflow:ellipsis;white-space:nowrap;align-items:flex-start;max-width:100%;overflow:hidden}.app-header.has-center .app-header-right{flex-shrink:0;margin-left:0}}.header-icon-btn{border-radius:var(--r-md);width:38px;height:38px;color:inherit;cursor:pointer;transition:background-color var(--dur-fast) var(--ease);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.header-icon-btn:hover{background:color-mix(in srgb, currentColor 12%, transparent)}.hamburger{flex-direction:column;gap:4px;display:flex}.hamburger span{background:currentColor;border-radius:2px;width:20px;height:2px;display:block}.sidebar-overlay{z-index:var(--z-overlay);background:var(--overlay);opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease);position:fixed;inset:0}.sidebar-overlay.is-open{opacity:1;pointer-events:auto}.sidebar{z-index:var(--z-drawer);background:var(--surface);width:280px;color:var(--text);border-right:1px solid var(--border);box-shadow:var(--shadow-lg);transition:transform .25s var(--ease);box-sizing:border-box;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.sidebar-head{height:var(--header-h);padding:0 var(--sp-3) 0 var(--sp-5);background:var(--header-bg);color:var(--header-text);border-bottom:1px solid var(--header-divider);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.sidebar-user{align-items:center;gap:var(--sp-1);padding:var(--sp-5) var(--sp-5) var(--sp-4);border-bottom:1px solid var(--border);text-align:center;flex-direction:column;flex-shrink:0;display:flex}.avatar{width:72px;height:72px;margin-bottom:var(--sp-2);object-fit:cover;border:2px solid var(--border);box-shadow:var(--shadow-sm);border-radius:50%}.avatar-fallback{background:var(--primary-soft);color:var(--primary-soft-text);font-size:26px;font-weight:var(--fw-semibold);justify-content:center;align-items:center;display:flex}.sidebar-user-name{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text)}.sidebar-user-meta{font-size:var(--fs-xs);color:var(--text-subtle)}.sidebar-nav{padding:var(--sp-2);flex:1;overflow-y:auto}.nav-item{align-items:center;gap:var(--sp-3);width:100%;padding:10px var(--sp-3);border-radius:var(--r-md);color:var(--text);font-family:inherit;font-size:var(--fs-md);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease);background:0 0;border:none;display:flex}.nav-item:hover{background:var(--surface-hover)}a.nav-item,a.nav-item:hover{box-sizing:border-box;text-decoration:none}.nav-item-ext{color:var(--text-subtle);font-size:var(--fs-sm);margin-left:auto}.nav-item.is-active{background:var(--primary-soft);color:var(--primary-soft-text);font-weight:var(--fw-semibold);position:relative}.nav-item.is-active:before{content:"";background:var(--primary);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.nav-item.is-active:hover{background:var(--primary-soft)}.nav-item-icon{text-align:center;flex-shrink:0;width:22px;font-size:17px}.sidebar-section{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border);flex-shrink:0}.sidebar-section .section-title{margin-bottom:var(--sp-2)}.sidebar-footer{padding:0 var(--sp-4) var(--sp-4);flex-shrink:0}.theme-switch{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);gap:4px;padding:4px;display:flex}.theme-option{border-radius:var(--r-sm);color:var(--text-muted);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 4px;font-family:inherit;font-size:11px;display:flex}.theme-option:hover{color:var(--text)}.theme-option.is-active{background:var(--surface);color:var(--text);font-weight:var(--fw-semibold);box-shadow:var(--shadow-sm)}.theme-option-icon{font-size:15px;line-height:1.2}.page-layout{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-sans)}.page-main{padding:0 var(--sp-6) var(--sp-10);box-sizing:content-box;margin:36px auto}.page-card{border-radius:var(--r-lg);box-shadow:var(--shadow-md);overflow:hidden}.sub-card{margin-top:var(--sp-5);padding:var(--sp-5) var(--sp-6)}.tabbar{justify-content:flex-start;align-items:center;gap:var(--sp-3);padding:14px var(--sp-6);background:var(--surface);border-bottom:1px solid var(--border);display:flex}.tabbar.has-extra{justify-content:space-between}.tabbar-extra{align-items:center;gap:var(--sp-2);display:flex}.segmented{border:1px solid var(--border-strong);border-radius:var(--r-md);flex-wrap:wrap;display:inline-flex;overflow:hidden}.segmented-item{background:var(--surface);color:var(--text-muted);font-family:inherit;font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border:none;padding:8px 18px}.segmented-item+.segmented-item{border-left:1px solid var(--border)}.segmented-item:hover{background:var(--surface-hover);color:var(--text)}.segmented-item.is-active{background:var(--primary);color:var(--primary-contrast);font-weight:var(--fw-semibold)}.chipbar{padding:var(--sp-3) var(--sp-6);background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:var(--r-full);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-muted);font-family:inherit;font-size:var(--fs-xs);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);padding:4px 12px}.chip:hover{color:var(--text);background:var(--surface-hover)}.chip.is-active{background:var(--text);border-color:var(--text);color:var(--surface);font-weight:var(--fw-semibold)}.data-list{flex-direction:column;display:flex}.data-row{align-items:center;gap:var(--sp-3);min-height:44px;padding:10px var(--sp-6);background:var(--surface);color:var(--text);border-bottom:1px solid var(--border);box-sizing:border-box;display:flex}.data-row.is-alt{background:var(--surface-2)}.data-row.is-clickable{cursor:pointer;transition:background-color var(--dur-fast) var(--ease)}.data-row.is-clickable:hover{background:var(--surface-hover)}.data-empty,.data-loading{padding:var(--sp-5) var(--sp-6);color:var(--text-subtle);font-size:var(--fs-md);margin:0}.data-empty{font-style:italic}.field-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-muted);margin-bottom:4px;display:block}.form-msg{margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm)}.pagination{padding:var(--sp-4) var(--sp-6);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.pagination .btn{min-width:32px;height:32px;padding:0 var(--sp-2)}@media (width<=640px){.app-header{padding:0 var(--sp-3)}.page-main{margin:var(--sp-5) auto;padding:0 var(--sp-3) var(--sp-8)}.tabbar,.chipbar,.data-row{padding-left:var(--sp-4);padding-right:var(--sp-4)}}.header-profile{align-items:center;gap:var(--sp-3);color:var(--header-text);display:flex}.header-avatar{box-sizing:content-box;object-fit:cover;border:2px solid var(--header-border);background:0 0;border-radius:50%;flex-shrink:0;width:40px;height:40px;padding:0}button.header-avatar{cursor:zoom-in}button.header-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.header-avatar-fallback{background:color-mix(in srgb, currentColor 15%, transparent);font-weight:var(--fw-semibold);font-size:var(--fs-lg);justify-content:center;align-items:center;display:flex}.header-profile-text{flex-direction:column;gap:1px;min-width:0;line-height:1.25;display:flex}.header-profile-name{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.header-profile-meta{font-size:var(--fs-xs);opacity:.8}.photo-zoom{gap:var(--sp-3);cursor:zoom-out;color:#fff;text-align:center;flex-direction:column}.photo-zoom img{object-fit:cover;border-radius:var(--r-lg);width:240px;height:240px;box-shadow:var(--shadow-lg);animation:adys-pop-in var(--dur-base) var(--ease)}.photo-zoom-name{font-size:var(--fs-base);font-weight:var(--fw-semibold)}.photo-zoom-hint{font-size:var(--fs-xs);opacity:.65}@media (width<=640px){.header-profile-text{display:none}}.btn-header{color:var(--header-text);border-color:var(--header-border);background:0 0}.btn-header:hover:not(:disabled){background:color-mix(in srgb, var(--header-text) 12%, transparent)}.btn-header-solid{background:var(--header-text);color:var(--header-bg);font-weight:var(--fw-semibold)}.btn-header-solid:hover:not(:disabled){opacity:.9}.modal-viewer{flex-direction:column;width:92vw;max-width:none;height:92vh;display:flex;overflow:hidden}.modal-viewer .card-header{padding:var(--sp-2) var(--sp-4);background:var(--surface-2);flex-shrink:0}.modal-viewer iframe{background:#fff;border:none;flex:1;width:100%}.app-header-title{font-size:var(--fs-xl);font-weight:var(--fw-semibold);color:var(--header-text);white-space:nowrap;align-items:center;gap:10px;margin:0;line-height:1.2;display:inline-flex}.app-header-title-icon{font-size:1.15em;line-height:1}.app-header-title-text{text-overflow:ellipsis;overflow:hidden}@media (width<=640px){.app-header.has-center .app-header-title{gap:8px;max-width:100%;font-size:18px}}.login-page{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-sans);font-size:var(--fs-base)}.login-wrap{padding:var(--sp-12) var(--sp-4);justify-content:center;display:flex}.login-card{width:100%;max-width:400px;padding:var(--sp-8);box-shadow:var(--shadow-md);animation:adys-pop-in var(--dur-base) var(--ease)}.login-back{margin:calc(var(--sp-2) * -1) 0 var(--sp-4) calc(var(--sp-3) * -1)}.login-head{margin-bottom:var(--sp-6);text-align:center}.login-head .page-title{margin-bottom:var(--sp-1)}.login-type{width:100%;margin-bottom:var(--sp-5);display:flex}.login-type .segmented-item{font-size:var(--fs-md);flex:1;padding:10px 0}.login-form{gap:var(--sp-4);flex-direction:column;display:flex}.login-form .input{height:42px;font-size:var(--fs-base)}.login-form .alert{font-size:var(--fs-sm);line-height:1.4}.login-divider{align-items:center;gap:var(--sp-3);margin:var(--sp-5) 0 var(--sp-4);color:var(--text-subtle);font-size:var(--fs-sm);display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border);flex:1;height:1px}.login-google{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;justify-content:center;min-height:40px;display:flex}@media (width<=480px){.login-wrap{padding:var(--sp-6) var(--sp-3)}.login-card{padding:var(--sp-6) var(--sp-5)}}.login-wrap{align-items:center;gap:var(--sp-4);flex-direction:column}.login-about{border-radius:var(--r-sm);color:var(--text-subtle);font-family:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;padding:2px 6px}.login-about:hover{color:var(--primary);text-decoration:underline}
