/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a}}@layer base{:root{--bg-app:#f3f3f3;--bg-surface:#fff;--bg-surface-alt:#f9f9fb;--bg-hover:#e5e5e5;--bg-selected:#cce8ff;--border-color:#e0e0e0;--border-dark:#ccc;--text-main:#1f1f1f;--text-muted:#616161;--text-link:#0067b8;--accent-color:#0078d4;--accent-hover:#106ebe;--accent-light:#e6f2fb;--win-red:#d13438;--win-green:#107c41;--shadow-sm:0 1.6px 3.6px #00000021, 0 .3px .9px #0000001c;--shadow-md:0 3.2px 7.2px #00000021, 0 .6px 1.8px #0000001c;--shadow-lg:0 6.4px 14.4px #00000021, 0 1.2px 3.6px #0000001c;--font-family:"Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}body{font-family:var(--font-family);background-color:var(--bg-app);color:var(--text-main);-webkit-user-select:none;user-select:none;flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-header{border-bottom:1px solid var(--border-color);background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 16px;display:flex}.app-logo{color:var(--text-main);align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.header-center-info{background:var(--bg-surface-alt);border:1px solid var(--border-color);color:var(--text-muted);border-radius:20px;align-items:center;gap:10px;padding:4px 14px;font-size:12px;display:flex}.storage-meter-bar{background:#e0e0e0;border-radius:3px;width:100px;height:6px;overflow:hidden}.storage-meter-fill{background:var(--accent-color);border-radius:3px;width:0%;height:100%;transition:width .3s}.header-actions{align-items:center;gap:10px;display:flex}.role-badge{border-radius:12px;align-items:center;gap:5px;padding:3px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.role-badge.admin{color:#107c41;background:#dff6dd;border:1px solid #c3e6cb}.role-badge.guest{color:#605e5c;background:#f3f2f1;border:1px solid #e1dfdd}.role-badge.user{background:var(--accent-light);color:var(--accent-color);border:1px solid #cce3f6}.btn-header{border:1px solid var(--border-color);cursor:pointer;color:var(--text-main);background:0 0;border-radius:4px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;transition:all .15s;display:inline-flex}.btn-header:hover{background:var(--bg-hover)}.btn-header.primary{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.btn-header.primary:hover{background:var(--accent-hover)}.main-workspace{flex:1;min-height:0;display:flex;overflow:hidden}.workspace-panel{background:#fff;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.workspace-tabs{border-bottom:1px solid var(--border-color);background:var(--bg-surface-alt);flex-shrink:0;gap:8px;padding:10px 18px 0;display:flex}.workspace-tab{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:12px 18px;font-size:14px}.workspace-tab[aria-selected=true]{border-bottom-color:var(--accent-color);color:var(--accent-color);font-weight:600}.workspace-tab:hover{background:var(--accent-light)}.workspace-tab:focus-visible,.chat-button:focus-visible{outline:2px solid var(--accent-color);outline-offset:-2px}.tab-panel{min-width:0;min-height:0}.chat-panel{flex-direction:column;flex:1;gap:14px;width:100%;max-width:1000px;margin:0 auto;padding:24px 28px 18px;display:flex}.chat-button{background:var(--accent-color);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:5px;padding:9px 16px;font-size:13px}.chat-button:disabled{opacity:.5;cursor:not-allowed}.chat-history-button{color:var(--text-link);border:1px solid var(--border-color);background:0 0;align-self:center}.chat-messages{-webkit-user-select:text;user-select:text;flex-direction:column;flex:1;gap:16px;min-height:0;padding:12px 4px;display:flex;overflow-y:auto}.chat-empty{text-align:center;color:var(--text-muted);margin:auto;padding:30px 12px;font-size:14px;line-height:1.7}.chat-message{align-self:flex-start;max-width:90%}.chat-message-meta{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:5px;font-size:12px;display:flex}.chat-message-meta strong{color:var(--text-main);font-weight:600}.chat-message-meta time{color:var(--text-muted);font-size:11px}.chat-message-body{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--border-color);background:var(--bg-surface-alt);border-radius:0 10px 10px;padding:11px 14px;font-size:14px;line-height:1.55}.chat-message.teacher .chat-message-body{background:var(--accent-light);border-color:#cce3f6}.chat-feedback{min-height:18px;color:var(--text-muted);font-size:12px}.chat-feedback.error{color:var(--win-red)}.chat-compose{align-items:flex-end;gap:10px;display:flex}.chat-compose textarea{resize:none;border:1px solid var(--border-dark);min-width:0;font:inherit;-webkit-user-select:text;user-select:text;border-radius:8px;flex:1;padding:12px;font-size:14px;line-height:1.5}.chat-compose textarea:focus{outline:2px solid var(--accent-light);border-color:var(--accent-color)}.chat-compose-hint{color:var(--text-muted);margin-top:-6px;font-size:11px}@media (max-width:760px){.app-header{flex-wrap:wrap;gap:8px;height:auto;min-height:48px;padding:8px 12px}.header-actions{flex-wrap:wrap;gap:6px}.main-workspace{flex-direction:column}.left-panel{border-bottom:1px solid var(--border-color);max-height:240px;border-right:0!important;width:100%!important;min-width:0!important;max-width:none!important}.workspace-tabs{padding-left:10px}.workspace-tab{padding:10px 14px}.chat-panel{gap:10px;padding:18px 14px 12px}.chat-message{max-width:100%}.explorer-nav-bar{flex-wrap:wrap;min-height:44px;height:auto!important;padding:8px!important}.explorer-sidebar{display:none!important}.search-bar{min-width:100px}}.left-panel{border-right:1px solid var(--border-color);background:#fff;flex-direction:column;flex-shrink:0;width:320px;min-width:290px;max-width:360px;display:flex}.panel-title-bar{border-bottom:1px solid var(--border-color);background:var(--bg-surface-alt);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.panel-title{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.target-folder-badge{background:var(--accent-light);color:var(--accent-color);text-overflow:ellipsis;white-space:nowrap;border-radius:10px;max-width:140px;padding:2px 8px;font-size:11px;font-weight:600;overflow:hidden}.upload-container{flex-direction:column;flex:1;gap:12px;padding:14px;display:flex;overflow-y:auto}.guest-notice-banner{color:#795548;background:#fff4ce;border:1px solid #fde287;border-radius:6px;flex-direction:column;gap:6px;padding:10px 12px;font-size:12px;display:flex}.btn-notice-login{color:#fff;cursor:pointer;background:#0078d4;border:none;border-radius:4px;align-self:flex-start;margin-top:4px;padding:4px 10px;font-size:11.5px;font-weight:600}.drop-zone{background:var(--bg-surface-alt);text-align:center;cursor:pointer;border:2px dashed #b0b0b0;border-radius:8px;padding:20px 14px;transition:all .2s;position:relative}.drop-zone.dragover{border-color:var(--accent-color);background:var(--accent-light)}.drop-zone.disabled{opacity:.6;cursor:not-allowed;border-style:solid;border-color:#e0e0e0}.drop-zone-icon{width:44px;height:44px;color:var(--accent-color);margin:0 auto 10px}.drop-zone-title{margin-bottom:4px;font-size:13.5px;font-weight:600}.drop-zone-sub{color:var(--text-muted);margin-bottom:12px;font-size:11.5px}.btn-browse{background:var(--accent-color);color:#fff;cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:4px;align-items:center;gap:6px;padding:6px 14px;font-size:12.5px;font-weight:600;display:inline-flex}.btn-browse:hover{background:var(--accent-hover)}.btn-browse:disabled{cursor:not-allowed;background:#ccc}.upload-target-info{background:var(--bg-surface-alt);border:1px solid var(--border-color);border-radius:6px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;display:flex}.upload-target-name{color:var(--text-main);font-weight:600}.queue-header{color:var(--text-muted);justify-content:space-between;align-items:center;margin-top:4px;font-size:12.5px;font-weight:600;display:flex}.btn-clear-queue{color:var(--text-link);cursor:pointer;background:0 0;border:none;font-size:11.5px}.upload-queue-list{flex-direction:column;gap:8px;display:flex}.queue-item{background:var(--bg-surface-alt);border:1px solid var(--border-color);border-radius:6px;flex-direction:column;gap:6px;padding:9px;display:flex}.queue-item-top{justify-content:space-between;align-items:center;display:flex}.queue-item-title{text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:12.5px;font-weight:500;overflow:hidden}.queue-item-size{color:var(--text-muted);font-size:11px}.progress-bar-bg{background:#e8e8e8;border-radius:4px;height:7px;position:relative;overflow:hidden}.progress-bar-fill{background:var(--accent-color);border-radius:4px;width:0%;height:100%;transition:width .25s ease-out}.progress-bar-fill.uploading{background:linear-gradient(90deg,#0078d4 0%,#4da6ff 50%,#0078d4 100%) 0 0/200% 100%;animation:1.8s linear infinite progressShimmer}@keyframes progressShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.progress-bar-fill.success{background:var(--win-green)}.progress-bar-fill.error,.progress-bar-fill.cancelled{background:var(--win-red)}.queue-item-status{color:var(--text-muted);justify-content:space-between;align-items:center;margin-top:2px;font-size:11px;display:flex}.btn-copy-link-small{color:#137333;cursor:pointer;background:#e6f4ea;border:1px solid #ceead6;border-radius:3px;padding:2px 7px;font-size:11px;font-weight:600}.btn-cancel-small{color:#d13438;cursor:pointer;background:#fde7e9;border:1px solid #f8c2c6;border-radius:3px;padding:2px 7px;font-size:11px;font-weight:600;transition:background .15s}.btn-cancel-small:hover{background:#fbc6ca}.right-panel{background:var(--bg-surface);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.explorer-nav-bar{border-bottom:1px solid var(--border-color);background:#fff;flex-shrink:0;align-items:center;gap:10px;height:44px;padding:0 12px;display:flex}.nav-buttons{align-items:center;gap:4px;display:flex}.nav-btn{cursor:pointer;width:32px;height:32px;color:var(--text-main);background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;transition:all .12s;display:flex}.nav-btn:hover:not(:disabled){background:var(--bg-hover);border-color:#d8d8d8}.nav-btn:disabled{opacity:.3;cursor:default}.nav-btn svg{width:15px;height:15px}.address-bar{background:var(--bg-surface-alt);border:1px solid var(--border-color);white-space:nowrap;border-radius:4px;flex:1;align-items:center;gap:4px;height:32px;padding:0 10px;display:flex;overflow-x:auto}.address-bar:hover,.address-bar:focus-within{border-color:var(--accent-color);background:#fff}.crumb-item{color:var(--text-main);cursor:pointer;border-radius:3px;align-items:center;gap:5px;padding:2px 7px;font-size:12.5px;display:inline-flex}.crumb-item:hover{background:var(--bg-hover)}.crumb-separator{color:var(--text-muted);margin:0 2px;font-size:12px}.search-bar{background:var(--bg-surface-alt);border:1px solid var(--border-color);border-radius:4px;align-items:center;gap:6px;width:210px;height:32px;padding:0 10px;transition:width .2s;display:flex}.search-bar:focus-within{border-color:var(--accent-color);background:#fff;width:250px}.search-bar input{background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:12px}.search-bar svg{width:14px;height:14px;color:var(--text-muted)}.nav-extra-actions{align-items:center;gap:6px;display:flex}.nav-btn-action{border:1px solid var(--border-color);cursor:pointer;height:32px;color:var(--text-main);background:#fff;border-radius:4px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:500;transition:all .12s;display:inline-flex}.nav-btn-action:hover{background:var(--bg-hover)}.nav-btn-action.primary{background:var(--accent-light);color:var(--accent-color);border-color:#b3d7ff;font-weight:600}.nav-btn-action.primary:hover{background:#d0e7fa}.explorer-body{flex:1;display:flex;overflow:hidden}.explorer-sidebar{border-right:1px solid var(--border-color);background:#fbfbfb;flex-direction:column;flex-shrink:0;gap:4px;width:180px;padding:10px 6px;display:flex}.sidebar-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:4px 8px;font-size:11px;font-weight:600}.sidebar-item{cursor:pointer;color:var(--text-main);border-radius:4px;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;display:flex}.sidebar-item:hover{background:var(--bg-hover)}.sidebar-item.active{color:var(--accent-color);background:#e5f1fb;font-weight:600}.sidebar-item svg{flex-shrink:0;width:18px;height:18px}.explorer-view-container{background:#fff;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.selection-marquee{pointer-events:none;z-index:99;background:#0078d42e;border:1px solid #0078d4;border-radius:2px;display:none;position:absolute}.file-table-container{flex:1;overflow-y:auto}.file-table{border-collapse:collapse;text-align:left;width:100%;font-size:12.5px}.file-table th{border-bottom:1px solid var(--border-color);color:var(--text-muted);z-index:2;background:#fff;padding:8px 12px;font-size:12px;font-weight:600;position:sticky;top:0}.file-table td{vertical-align:middle;border-bottom:1px solid #f2f2f2;padding:6px 12px}.file-row{cursor:pointer;transition:background .1s}.file-row:hover{background:#f0f0f0}.file-row.selected{outline:1px solid #99d1ff;background:var(--bg-selected)!important}.file-name-cell{align-items:center;gap:10px;max-width:360px;display:flex}.file-icon-box{flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.file-icon-box svg{width:22px;height:22px}.file-name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-actions-cell{opacity:.35;align-items:center;gap:4px;transition:opacity .15s;display:flex}.file-row:hover .file-actions-cell,.file-row.selected .file-actions-cell{opacity:1}.icon-action-btn{cursor:pointer;width:26px;height:26px;color:var(--text-main);background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;display:flex}.icon-action-btn:hover{background:#e0e0e0}.icon-action-btn.delete:hover{color:var(--win-red);background:#fde7e9}.file-grid-container{flex:1;grid-template-columns:repeat(auto-fill,minmax(115px,1fr));align-content:start;gap:14px;padding:16px;display:grid;overflow-y:auto}.grid-item{text-align:center;cursor:pointer;border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:center;padding:10px 8px;transition:background .12s;display:flex}.grid-item:hover{background:#f0f0f0}.grid-item.selected{border-color:#99d1ff;background:var(--bg-selected)!important}.grid-icon-box{justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:6px;display:flex}.grid-icon-box svg{width:52px;height:52px}.grid-name{word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.3;display:-webkit-box;overflow:hidden}.explorer-status-bar{border-top:1px solid var(--border-color);height:28px;color:var(--text-muted);background:#f9f9fb;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 14px;font-size:11.5px;display:flex}.context-menu{border:1px solid var(--border-color);box-shadow:var(--shadow-lg);z-index:1000;background:#fff;border-radius:6px;min-width:190px;padding:4px 0;display:none;position:fixed}.menu-item{color:var(--text-main);cursor:pointer;align-items:center;gap:10px;padding:7px 14px;font-size:12.5px;display:flex}.menu-item:hover{background:var(--bg-hover)}.menu-item.danger:hover{color:var(--win-red);background:#fde7e9}.menu-item svg{width:15px;height:15px;color:var(--text-muted)}.menu-divider{background:var(--border-color);height:1px;margin:4px 0}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2000;opacity:0;visibility:hidden;pointer-events:none;background:#00000073;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.modal-overlay.active{opacity:1;visibility:visible;pointer-events:auto}.modal-dialog{box-shadow:var(--shadow-lg);background:#fff;border-radius:8px;width:440px;max-width:90vw;transition:transform .2s;overflow:hidden;transform:scale(.95)}.modal-overlay.active .modal-dialog{transform:scale(1)}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:14px 18px;font-size:15px;font-weight:600;display:flex}.modal-body{flex-direction:column;gap:12px;padding:18px;font-size:13px;display:flex}.modal-body input[type=text],.modal-body input[type=password]{border:1px solid var(--border-color);border-radius:4px;outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:13px}.modal-body input:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-light)}.modal-footer{border-top:1px solid var(--border-color);background:#f9f9fb;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.btn-dialog{cursor:pointer;border:1px solid var(--border-color);background:#fff;border-radius:4px;padding:6px 16px;font-size:13px;font-weight:500;transition:all .15s}.btn-dialog:hover{background:var(--bg-hover)}.btn-dialog.primary{background:var(--accent-color);border-color:var(--accent-color);color:#fff;font-weight:600}.btn-dialog.primary:hover{background:var(--accent-hover)}.btn-dialog.danger{background:var(--win-red);border-color:var(--win-red);color:#fff;font-weight:600}.btn-dialog.danger:hover{background:#b52b2f}.delete-item-preview-box{background:var(--bg-surface-alt);border:1px solid var(--border-color);border-radius:4px;flex-direction:column;gap:5px;max-height:130px;padding:8px 12px;font-size:12px;display:flex;overflow-y:auto}.delete-preview-item{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;display:flex;overflow:hidden}.toast-container{z-index:3000;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{color:#fff;box-shadow:var(--shadow-lg);background:#242424;border-radius:6px;align-items:center;gap:10px;padding:10px 16px;font-size:13px;animation:.25s toastIn;display:flex}.toast.success{border-left:4px solid var(--win-green)}.toast.error{border-left:4px solid var(--win-red)}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}:where(:root),:root:has(input.ui-theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}@layer components;@layer utilities{@layer daisyui.l1.l2.l3{:where(.ui-btn){width:unset}.ui-btn{--ui-size:calc(var(--size-field,.25rem) * 10);--ui-btn-p:1rem;--ui-btn-fg:var(--color-base-content);cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;border-width:var(--border);touch-action:manipulation;--ui-btn-bg:var(--ui-btn-color,var(--color-base-200));--ui-btn-border:var(--ui-btn-color,var(--color-base-200));border-start-start-radius:var(--ui-join-ss,var(--radius-field));border-start-end-radius:var(--ui-join-se,var(--radius-field));border-end-end-radius:var(--ui-join-ee,var(--radius-field));border-end-start-radius:var(--ui-join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow,transform;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab, red, red)){.ui-btn{--ui-btn-border:color-mix(in oklab, var(--ui-btn-color,var(--color-base-200)), #000 calc(var(--depth) * 5%))}}.ui-btn{--ui-btn-soft-bg:initial;--ui-btn-shadow:0 3px 2px -2px var(--ui-btn-bg), 0 4px 3px -2px var(--ui-btn-bg)}@supports (color:color-mix(in lab, red, red)){.ui-btn{--ui-btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--ui-btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--ui-btn-bg) calc(var(--depth) * 30%), #0000)}}.ui-btn{--ui-btn-inset:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%));height:var(--ui-size);padding-inline:var(--ui-btn-p);font-size:var(--ui-fontsize,.875rem);background-color:var(--ui-btn-bg);color:var(--ui-btn-fg);border-color:var(--ui-btn-border);border-style:var(--ui-btn-border-style,solid);outline-color:var(--ui-btn-color,var(--color-base-content));--tw-prose-links:var(--ui-btn-fg);background-image:none, var(--ui-fx-noise);background-size:auto, calc(var(--noise,0) * 100%);text-shadow:0 .5px oklch(100% 0 0 / calc(var(--depth) * .15));box-shadow:var(--ui-btn-inset) inset, var(--ui-btn-shadow)}.ui-btn:is([type=checkbox],[type=radio]){appearance:none}.ui-btn:is([type=checkbox],[type=radio])[aria-label]:after{--tw-content:attr(aria-label);content:var(--tw-content)}.ui-btn:where(:checked:not(.ui-filter [type=radio].ui-btn)){--ui-btn-color:var(--color-primary);--ui-btn-fg:var(--color-primary-content)}.ui-loading{pointer-events:none;aspect-ratio:1;vertical-align:middle;width:calc(var(--size-selector,.25rem) * 6);background-color:currentColor;flex-shrink:0;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='8s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='8s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media (prefers-reduced-motion:no-preference){.ui-loading{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}}.ui-btn-ghost{--ui-btn-bg:#0000;color:var(--ui-btn-rest-fg,var(--ui-btn-color,var(--color-base-content,currentColor)));--ui-btn-border:#0000;--ui-btn-inset:0 0 0 0 oklch(0% 0 0/0);--ui-btn-shadow:0 0 0 0 oklch(0% 0 0/0);background-image:none}}.prose :where(a.ui-btn:not(.ui-btn-link)):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:none}@layer daisyui.l1{@media (hover:hover){.ui-btn:hover{--ui-btn-bg:var(--ui-btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.ui-btn:hover{--ui-btn-bg:color-mix(in oklab, var(--ui-btn-color,var(--color-base-200)), #000 7%)}}.ui-btn:hover{color:var(--ui-btn-fg);--ui-btn-border:var(--ui-btn-bg)}@supports (color:color-mix(in lab, red, red)){.ui-btn:hover{--ui-btn-border:color-mix(in oklab, var(--ui-btn-bg), #000 calc(var(--depth) * 5%))}}.ui-btn:hover{--ui-btn-border-style:solid;--ui-btn-inset:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%));--ui-btn-shadow:0 3px 2px -2px var(--ui-btn-bg), 0 4px 3px -2px var(--ui-btn-bg)}@supports (color:color-mix(in lab, red, red)){.ui-btn:hover{--ui-btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--ui-btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--ui-btn-bg) calc(var(--depth) * 30%), #0000)}}}.ui-btn:active:not(.ui-btn-active,[aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--ui-btn-bg:var(--ui-btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab, red, red)){.ui-btn:active:not(.ui-btn-active,[aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--ui-btn-bg:color-mix(in oklab, var(--ui-btn-color,var(--color-base-200)), #000 5%)}}.ui-btn:active:not(.ui-btn-active,[aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){color:var(--ui-btn-fg,var(--color-base-content));--ui-btn-border:var(--ui-btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.ui-btn:active:not(.ui-btn-active,[aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--ui-btn-border:color-mix(in oklab, var(--ui-btn-color,var(--color-base-200)), #000 7%)}}.ui-btn:active:not(.ui-btn-active,[aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--ui-btn-border-style:solid;--ui-btn-inset:0 0 0 0 oklch(0% 0 0/0);--ui-btn-shadow:0 0 0 0 oklch(0% 0 0/0)}.ui-btn:where(:checked:not(.ui-filter [type=radio].ui-btn),:not([type=radio],[type=checkbox]):focus-visible){--ui-btn-bg:var(--ui-btn-color,var(--color-base-200));color:var(--ui-btn-fg,var(--color-base-content));--ui-btn-border:var(--ui-btn-bg)}@supports (color:color-mix(in lab, red, red)){.ui-btn:where(:checked:not(.ui-filter [type=radio].ui-btn),:not([type=radio],[type=checkbox]):focus-visible){--ui-btn-border:color-mix(in oklab, var(--ui-btn-bg), #000 calc(var(--depth) * 5%))}}.ui-btn:where(:checked:not(.ui-filter [type=radio].ui-btn),:not([type=radio],[type=checkbox]):focus-visible){--ui-btn-border-style:solid;--ui-btn-inset:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%));--ui-btn-shadow:0 3px 2px -2px var(--ui-btn-bg), 0 4px 3px -2px var(--ui-btn-bg)}@supports (color:color-mix(in lab, red, red)){.ui-btn:where(:checked:not(.ui-filter [type=radio].ui-btn),:not([type=radio],[type=checkbox]):focus-visible){--ui-btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--ui-btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--ui-btn-bg) calc(var(--depth) * 30%), #0000)}}.ui-btn:where(:checked:not(.ui-filter [type=radio].ui-btn),:not([type=radio],[type=checkbox]):focus-visible){isolation:isolate}.ui-btn:focus-visible,.ui-btn:has(:focus-visible){isolation:isolate;outline-width:2px;outline-style:solid}}@layer daisyui.l1.l2{.ui-btn:is([aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--ui-btn-bg:var(--ui-btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.ui-btn:is([aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--ui-btn-bg:color-mix(in oklab, var(--ui-btn-color,var(--color-base-200)), #000 5%)}}.ui-btn:is([aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){color:var(--ui-btn-fg,var(--color-base-content));--ui-btn-border:var(--ui-btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.ui-btn:is([aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--ui-btn-border:color-mix(in oklab, var(--ui-btn-color,var(--color-base-200)), #000 7%)}}.ui-btn:is([aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--ui-btn-border-style:solid;--ui-btn-inset:0 0 0 0 oklch(0% 0 0/0);--ui-btn-shadow:0 0 0 0 oklch(0% 0 0/0);isolation:isolate}.ui-btn-circle{width:var(--ui-size);height:var(--ui-size);border-radius:3.40282e38px;padding-inline:0}.ui-btn-square{width:var(--ui-size);height:var(--ui-size);padding-inline:0}.ui-loading-sm{width:calc(var(--size-selector,.25rem) * 5)}.ui-loading-xs{width:calc(var(--size-selector,.25rem) * 4)}.ui-loading-spinner{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='8s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='8s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}@media (prefers-reduced-motion:no-preference){.ui-loading-spinner{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}}.ui-btn-error{--ui-btn-color:var(--color-error);--ui-btn-fg:var(--color-error-content);--ui-btn-soft-bg:initial}.ui-btn-primary{--ui-btn-color:var(--color-primary);--ui-btn-fg:var(--color-primary-content);--ui-btn-soft-bg:initial}.ui-btn-sm{--ui-fontsize:.75rem;--ui-btn-p:.75rem;--ui-size:calc(var(--size-field,.25rem) * 8)}.ui-btn-xs{--ui-fontsize:.6875rem;--ui-btn-p:.5rem;--ui-size:calc(var(--size-field,.25rem) * 6)}}@layer daisyui{.ui-btn:is(.ui-btn-disabled,:disabled,[disabled],[aria-disabled=true]){pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.ui-btn:is(.ui-btn-disabled,:disabled,[disabled],[aria-disabled=true]){color:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.ui-btn:is(.ui-btn-disabled,:disabled,[disabled],[aria-disabled=true]){--ui-btn-bg:#0000;--ui-btn-border:#0000;--ui-btn-inset:0 0 0 0 oklch(0% 0 0/0);--ui-btn-shadow:0 0 0 0 oklch(0% 0 0/0);background-image:none}.ui-btn:is(.ui-btn-disabled,:disabled,[disabled],[aria-disabled=true]):not(.ui-btn-link,.ui-btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.ui-btn:is(.ui-btn-disabled,:disabled,[disabled],[aria-disabled=true]):not(.ui-btn-link,.ui-btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}}.visible{visibility:visible}.fixed{position:fixed}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.resize{resize:both}}:root,[data-theme=light]{--color-primary:#2563eb;--color-primary-content:#fff;--color-base-100:#fff;--color-base-200:#f7f9fc;--color-base-300:#e2e8f0;--color-base-content:#1e293b;--radius-field:1rem;--bg-app:#f1f5f9;--bg-surface-alt:#f8fafc;--bg-hover:#edf2f7;--border-color:#e2e8f0;--border-dark:#cbd5e1;--text-main:#1e293b;--text-muted:#64748b;--text-link:#2563eb;--accent-color:#2563eb;--accent-hover:#1d4ed8;--accent-light:#eff6ff}body{height:100dvh}.auth-loading #workspacePanel{visibility:hidden}.login-page{color:#1e293b;background:radial-gradient(at top,#e8f0ff,#f4f7fc 65%);place-items:center;height:auto;min-height:100dvh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #dfe7f3;border-radius:22px;width:min(100%,410px);padding:36px;box-shadow:0 16px 60px #183b6e12}.login-brand{color:#1e293b;align-items:center;gap:12px;margin-bottom:30px;font-size:22px;font-weight:600;text-decoration:none;display:inline-flex}.login-card h1{margin:0 0 8px;font-size:25px;font-weight:600}.login-description{color:#64748b;margin-bottom:28px;font-size:14px;line-height:1.6}.login-card form{flex-direction:column;gap:10px;display:flex}.login-card label{font-size:13px;font-weight:500}.login-card input{color:#1e293b;width:100%;height:44px;font:inherit;-webkit-user-select:text;user-select:text;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:0 13px;font-size:14px}.login-card input:focus{border-color:#2563eb;outline:3px solid #2563eb15}.login-card #loginUser{margin-bottom:9px}.login-card button{width:100%;height:44px;min-height:44px;margin-top:12px}.login-error{color:#b91c1c;margin-top:2px;font-size:13px;line-height:1.5}.login-error[hidden]{display:none}@media (max-width:480px){.login-page{padding:18px}.login-card{padding:28px 24px}}.app-header{height:64px;padding:0 24px}.app-logo{color:var(--text-main);cursor:pointer;gap:12px;font-size:17px;text-decoration:none}.app-logo:focus-visible{outline:2px solid var(--accent-color);outline-offset:5px;border-radius:4px}.header-actions{gap:10px}.user-menu-group{position:relative}.user-menu-trigger.ui-btn{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;align-items:center;gap:10px;max-width:min(340px,60vw);height:42px;min-height:42px;padding:4px 12px 4px 5px;font-size:13px;display:flex}#roleBadge{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-avatar-icon{color:#5474b4;background:#e8efff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex;position:relative}.account-avatar{display:inline-flex}.mute-indicator{color:#dc2626;background:#fff;border:1px solid #fecaca;border-radius:50%;place-items:center;width:17px;height:17px;display:grid;position:absolute;bottom:-3px;right:-3px;box-shadow:0 1px 3px #0f172a12}.account-menu{z-index:1100;background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:210px;padding:6px;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 10px 32px #0f172a24}.account-menu button{color:#334155;text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:11px 12px;font-size:13px;display:block}.account-menu button:hover,.account-menu button:focus-visible{color:#2563eb;background:#eff6ff;outline:none}.account-menu button:disabled{opacity:.5;cursor:progress}#btnLogoutHeader{color:#dc2626}.chat-user-menu{width:230px;position:fixed;right:auto}.account-menu-caption{color:#64748b;overflow-wrap:anywhere;border-bottom:1px solid #f1f5f9;margin-bottom:4px;padding:8px 12px;font-size:12px}#chatMuteAction{color:#dc2626}.accounts-page{background:#fff;border:1px solid #e2e8f0;border-radius:18px;flex-direction:column;flex:1;gap:20px;min-height:0;margin:16px;padding:24px;display:flex}.accounts-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.accounts-heading h1{margin-bottom:5px;font-size:21px;font-weight:600}.accounts-heading p{color:#64748b;font-size:13px}.accounts-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.accounts-filters{align-items:center;gap:12px;display:flex}.accounts-search{color:#334155;min-width:0;max-width:420px;height:40px;font:inherit;-webkit-user-select:text;user-select:text;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;outline:none;flex:1;padding:0 14px;font-size:13px}.accounts-search:focus{background:#fff;border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb0c}.accounts-page-size{white-space:nowrap;color:#64748b;align-items:center;gap:8px;margin-left:auto;font-size:13px;display:flex}.accounts-page-size select{color:#334155;width:76px;height:38px;font:inherit;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:0 12px}.accounts-pagination{color:#64748b;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.accounts-page-controls{align-items:center;gap:12px;display:flex}.accounts-page-controls .ui-btn{width:36px;height:36px;min-height:36px;padding:0}.accounts-page-controls span{white-space:nowrap}#accountFormPasswordGroup{flex-direction:column;display:flex}.accounts-feedback{color:#64748b;align-items:center;gap:8px;font-size:13px;display:flex}.accounts-feedback:empty{display:none}.accounts-table-wrap{border:1px solid #e2e8f0;border-radius:12px;flex:1;min-height:0;overflow:auto}.accounts-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:13px}.accounts-table th{z-index:1;color:#64748b;text-align:left;background:#f8fafc;font-weight:500;position:sticky;top:0}.accounts-table td,.accounts-table th{border-bottom:1px solid #f1f5f9;padding:12px 16px}.accounts-table tr:last-child td{border-bottom:0}.accounts-table tr:hover td{background:#fbfcff}.account-list-identity{align-items:center;gap:12px;font-weight:500;display:flex}.account-list-name{font:inherit;color:inherit;text-align:left;cursor:default;background:0 0;border:0;padding:0}.account-list-name:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #93c5fd}.account-username{-webkit-user-select:text;user-select:text;color:#64748b}.account-active{color:#15803d}.account-muted{color:#dc2626}.account-row-actions{flex-wrap:wrap;gap:6px;display:flex}.account-row-actions .ui-btn{border:1px solid #e2e8f0;font-size:12px}.account-row-actions .account-delete-button{color:#dc2626;border-color:#fecaca}.account-row-actions .account-delete-button:hover{background:#fef2f2}.main-workspace{gap:16px;padding:16px}.workspace-panel,.left-panel{border:1px solid var(--border-color);border-radius:14px;overflow:hidden;box-shadow:0 3px 14px #0f172a04}.left-panel{width:310px}.workspace-tabs{background:#fff;align-items:center;gap:4px;padding:10px 16px}.workspace-tab{border:0;border-radius:999px;height:38px;padding:0 18px;font-size:14px}.workspace-tab[aria-selected=true]{background:var(--accent-light);color:var(--accent-color)}.workspace-tab:hover{background:#f1f5f9}.explorer-nav-bar{background:#fff;padding:12px 16px}.explorer-sidebar{background:#fbfcfe}.explorer-view-container{position:relative}.file-table tbody tr{height:44px}.explorer-status-bar{background:#fbfcfe;padding:10px 16px}.folder-loading{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:30;cursor:progress;background:#fffa;place-items:center;display:grid;position:absolute;inset:0}.folder-loading .ui-loading{color:var(--accent-color);opacity:.6;width:32px}.chat-panel{gap:10px;max-width:1100px;padding:12px 24px 16px}.chat-toolbar{flex-shrink:0;align-items:center;gap:8px;min-height:32px;display:flex}.chat-clear-button.ui-btn{color:#dc2626;background:0 0;border:0;margin-left:auto;font-size:12px}.chat-clear-button.ui-btn:hover{background:#fef2f2}.chat-messages{overscroll-behavior:contain;gap:18px;padding:16px 4px}.chat-message{min-width:0;max-width:min(85%,760px)}.chat-message.own{align-self:flex-end}.chat-message.own .chat-message-meta{justify-content:flex-end}.chat-message-meta{align-items:center;padding:0 4px;font-size:12px}.chat-author{color:inherit;font:inherit;text-align:left;cursor:default;background:0 0;border:0;align-items:center;gap:7px;display:inline-flex}.chat-author .account-avatar-icon{width:24px;height:24px}.chat-author:focus-visible{outline-offset:3px;border-radius:8px;outline:2px solid #93c5fd}.chat-message-body a{color:#2563eb;text-underline-offset:3px;text-decoration:underline}.chat-message.own .chat-message-body a{color:#fff}.chat-admin-crown{color:#fbbf24;align-items:center;display:inline-flex}.chat-message-content{background:#f1f5f9;border:1px solid #e8edf3;border-radius:20px 20px 20px 6px;padding:12px 44px 12px 16px;position:relative}.chat-message.own .chat-message-content{color:#fff;background:linear-gradient(135deg,#0b73f6,#2563eb);border-color:#0000;border-radius:20px 20px 6px;box-shadow:0 3px 8px #2563eb12}.chat-message.teacher:not(.own) .chat-message-content{background:#eef2ff;border-color:#e0e7ff}.chat-message-body,.chat-message.teacher .chat-message-body{background:0 0;border:0;margin:0;padding:0;font-size:14px;line-height:1.6}.chat-copy{color:#64748b;width:30px;height:30px;min-height:30px;position:absolute;top:6px;right:6px}.chat-copy:hover{color:var(--accent-color)}.chat-message.own .chat-copy{color:#ffffffc9}.chat-message.own .chat-copy:hover{color:#fff;background:#ffffff24}.chat-composer-wrap{flex-shrink:0;position:relative}.chat-compose{background:#f8fafc;border:1px solid #e2e8f0;border-radius:28px;align-items:flex-end;gap:8px;padding:8px 10px;display:flex;box-shadow:0 2px 10px #0f172a03}.chat-compose:focus-within{background:#fff;border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb0c}.chat-compose textarea{height:40px;min-height:40px;max-height:144px;box-shadow:none;background:0 0;border:0;padding:8px 0;font-size:14px;line-height:24px;overflow-y:hidden}.chat-compose textarea:focus{box-shadow:none;border:0;outline:none}.chat-compose .ui-btn{border-radius:50%;flex-shrink:0;width:40px;height:40px;min-height:40px;padding:0}#chatAttachButton,#chatEmojiButton{color:#64748b;box-shadow:none;border:0}#chatAttachButton:hover,#chatEmojiButton:hover,#chatEmojiButton[aria-expanded=true]{color:var(--accent-color);background:#e8f0ff}#chatSendButton{background:var(--accent-color);border-color:var(--accent-color);color:#fff;box-shadow:none}#chatSendButton:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}#chatSendButton:disabled{color:#8da2bb;opacity:1;background:#dbe4f1;border-color:#dbe4f1}.chat-compose textarea:disabled{background:0 0}.chat-compose-hint{margin:0;padding-left:16px;font-size:11px}.chat-delivery{color:#64748b;justify-content:flex-end;align-items:center;gap:5px;padding:6px 5px 0;font-size:11px;line-height:16px;display:flex}.chat-delivery .ui-loading{color:#60a5fa;width:12px}.chat-delivery-icon{color:#3b82f6;font-size:12px}.chat-message:not(.own) .chat-delivery{display:none}.chat-message.failed .chat-delivery,.chat-message.failed .chat-delivery-icon{color:#dc2626}.chat-message.failed .chat-message-content{box-shadow:0 0 0 2px #fca5a566}.chat-retry{color:#dc2626;font:inherit;cursor:pointer;background:#fef2f2;border:0;border-radius:999px;padding:2px 8px}.chat-retry:hover{background:#fee2e2}.chat-retry:disabled{opacity:.5;cursor:default}.emoji-picker{z-index:40;background:#fff;border:1px solid #e2e8f0;border-radius:20px;width:344px;max-width:100%;padding:14px;position:absolute;bottom:calc(100% + 12px);right:48px;box-shadow:0 12px 40px #0f172a22}.emoji-picker-heading{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:14px;display:flex}.emoji-picker-heading .ui-btn{color:#64748b;border:0;width:26px;height:26px;min-height:26px;font-size:20px}.emoji-search{width:100%;height:36px;font:inherit;-webkit-user-select:text;user-select:text;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;outline:none;padding:0 12px;font-size:13px}.emoji-search:focus{border-color:#93c5fd}.emoji-categories{border-bottom:1px solid #f1f5f9;gap:4px;padding:10px 0;display:flex}.emoji-category,.emoji-option{cursor:pointer;background:0 0;border:0;place-items:center;padding:0;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;display:grid}.emoji-category{border-radius:10px;flex:1;min-width:0;height:34px;font-size:19px}.emoji-category[aria-selected=true]{background:#e8f0ff}.emoji-grid{overscroll-behavior:contain;grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-rows:38px;align-content:start;gap:2px;height:184px;padding-top:10px;display:grid;overflow-y:auto}.emoji-option{border-radius:10px;font-size:24px}.emoji-option:hover,.emoji-category:hover{background:#f1f5f9}.emoji-option:focus-visible,.emoji-category:focus-visible{outline:2px solid var(--accent-color);outline-offset:-2px}.emoji-group-label{color:#64748b;padding-top:10px;font-size:11px}.chat-feedback:empty{display:none}.chat-feedback{min-height:0;padding:3px 4px}.chat-attachments-draft{flex-wrap:wrap;gap:8px;padding:0 2px;display:flex}.chat-file-chip{background:#eff6ff;border:1px solid #dbeafe;border-radius:14px;align-items:center;gap:8px;max-width:100%;padding:5px 6px 5px 10px;font-size:12px;display:inline-flex}.chat-file-chip span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chat-file-chip .ui-btn{width:24px;height:24px;min-height:24px}.chat-attachment{text-align:left;border:1px solid var(--border-color);width:100%;font:inherit;cursor:pointer;color:var(--text-main);background:#ffffffbd;border-radius:14px;align-items:center;gap:10px;margin-top:8px;padding:10px;display:flex}.chat-attachment:first-child{margin-top:0}.chat-attachment:hover{background:#fff;border-color:#93c5fd}.chat-attachment svg{width:18px;height:18px;color:var(--accent-color);flex-shrink:0}.chat-attachment-info{flex-direction:column;gap:3px;min-width:0;display:flex}.chat-attachment-name{overflow-wrap:anywhere;font-size:13px}.chat-attachment-size{color:var(--text-muted);font-size:11px}.chat-attachment-download{margin-left:auto}.chat-attachment[aria-busy=true]{cursor:progress;opacity:.6}.chat-message.own .chat-attachment{color:#fff;background:#ffffff17;border-color:#ffffff38}.chat-message.own .chat-attachment svg,.chat-message.own .chat-attachment-size{color:#ffffffc9}.chat-message.own .chat-attachment:hover:not(:disabled){background:#ffffff26}.chat-attachment:disabled{cursor:default}.ui-btn{text-transform:none;font-weight:500}.ui-btn,.btn-header,.btn-dialog,.btn-browse,.nav-btn-action,.btn-copy-link-small,.btn-cancel-small,.chat-history-button{border-radius:999px}.nav-btn{border-radius:50%}.sidebar-item{border-radius:12px}.ui-btn:focus-visible,.workspace-tab:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.modal-dialog{border-radius:16px}.dialog-input{border-radius:8px}@media (max-width:900px){.accounts-page{gap:16px;margin:10px;padding:16px 12px}.accounts-heading h1{font-size:18px}.accounts-heading{align-items:flex-start}.accounts-heading .ui-btn{flex-shrink:0}.main-workspace{gap:10px;padding:10px}.left-panel{width:100%;max-height:260px}.app-header{height:auto;min-height:60px;padding:10px 14px}.workspace-tabs{padding:8px}.chat-panel{padding:8px 12px 12px}.chat-message{max-width:95%}.chat-compose{gap:4px;padding:7px}.emoji-picker{padding:12px;right:0}.explorer-nav-bar{padding:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}@media (max-width:600px){.accounts-page{gap:12px}.accounts-heading{flex-direction:column;gap:12px}.accounts-header-actions{flex-wrap:wrap;width:100%}.accounts-header-actions .ui-btn{flex:1}.accounts-filters{gap:8px}.accounts-search input{font-size:13px}.accounts-page-size{gap:4px;font-size:12px}.accounts-page-size select{width:60px;padding:0 6px}.accounts-pagination{flex-wrap:wrap;gap:8px;font-size:12px}.accounts-table{white-space:normal;display:block}.accounts-table thead{display:none}.accounts-table tbody{display:block}.accounts-table tr{border-bottom:1px solid #e2e8f0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:12px 0;display:grid}.accounts-table td{border:0;min-width:0;padding:5px 14px}.accounts-table td:first-child,.accounts-table td:nth-child(2),.accounts-table td:nth-child(5){grid-column:1/-1}.accounts-table td:nth-child(2){overflow-wrap:anywhere;padding-left:54px;font-size:12px}.accounts-table td:nth-child(3),.accounts-table td:nth-child(4){font-size:12px}.accounts-table td:nth-child(3):before{content:"Vai trò: ";color:#64748b}.accounts-table td:nth-child(4):before{content:"Chat: ";color:#64748b}.accounts-table tr:last-child{border-bottom:0}.account-row-actions{margin-top:3px}}