:root{color-scheme:light;--navy: #00204a;--navy-hover: #0b3568;--accent: #1769aa;--accent-hover: #0e578f;--page: #f3f5f7;--surface: #ffffff;--surface-subtle: #f8f9fa;--text: #202a35;--muted: #637181;--border: #d9dfe5;--border-strong: #bec8d1;--success-bg: #e9f5ed;--success-text: #1c6935;--error-bg: #fceceb;--error-text: #9b2f29;--notice-bg: #e9f2fa;--notice-text: #164c78;--shadow: 0 14px 38px rgba(20, 34, 52, .12);background:var(--page);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{color-scheme:dark;--page: #111821;--surface: #18222d;--surface-subtle: #202c38;--text: #edf2f7;--muted: #a8b5c2;--border: #344352;--border-strong: #4a5b6c;--accent: #58a8df;--accent-hover: #78b9e6;--success-bg: #173c2b;--success-text: #9ed9b0;--error-bg: #492523;--error-text: #f3aaa3;--notice-bg: #1b3853;--notice-text: #b8daf4;--shadow: 0 16px 44px rgba(0, 0, 0, .32)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--page)}button,input{font:inherit}button,a.download{min-height:40px;border:1px solid transparent;border-radius:5px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;font-weight:600;text-decoration:none;cursor:pointer;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}button:hover,a.download:hover{background:var(--accent-hover)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 32%,transparent);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}.page-frame{min-height:100vh;background:var(--page)}.brand-header{height:80px;padding:0 clamp(18px,3vw,48px);position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--navy);color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}.brand-identity{min-width:0;display:flex;align-items:center;gap:22px}.brand-identity img{width:auto;height:50px;object-fit:contain}.brand-identity span{padding-left:22px;border-left:1px solid rgba(255,255,255,.3);font-size:20px;font-weight:650;line-height:1.2}.header-actions{display:flex;align-items:center;gap:10px}.connection-status{display:inline-flex;align-items:center;gap:8px;margin-right:6px;color:#ffffffd6;font-size:13px;font-weight:600}.connection-status i{width:8px;height:8px;border-radius:50%;background:#55c878;box-shadow:0 0 0 3px #55c87829}.header-button{min-height:38px;padding:0 12px;background:transparent;color:#fff;border-color:#ffffff4d;font-size:14px}.header-button:hover{background:#ffffff1a;border-color:#ffffff80}.centered,.login-page{min-height:calc(100vh - 80px);display:grid;place-items:center}.centered{color:var(--muted)}.login-page{padding:32px 18px;background:var(--page)}.login-panel{width:min(430px,100%);padding:30px;background:var(--surface);border:1px solid var(--border);border-radius:7px;box-shadow:var(--shadow)}.login-panel h1,.sidebar h1{margin:6px 0 8px;color:var(--text);font-size:24px;line-height:1.25;letter-spacing:0}.login-panel p,.sidebar p{margin:0 0 24px;color:var(--muted)}.login-panel label{display:grid;gap:7px;margin-bottom:16px;color:var(--text);font-size:14px;font-weight:600}.login-panel input,.search input{min-height:42px;border:1px solid var(--border-strong);border-radius:5px;padding:0 12px;background:var(--surface);color:var(--text)}.login-panel input:focus{border-color:var(--accent)}.login-panel button{width:100%;margin-top:4px}.login-panel .login-back{margin-top:10px;background:transparent;color:var(--accent);border-color:var(--border)}.login-panel .login-back:hover{background:var(--surface-subtle);border-color:var(--border-strong)}.app-shell{min-height:calc(100vh - 80px);display:grid;grid-template-columns:260px minmax(420px,1fr) 8px minmax(320px,var(--preview-width))}.sidebar,.browser,.preview{min-height:calc(100vh - 80px);padding:24px}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:20px}.section-heading{padding-bottom:18px;border-bottom:1px solid var(--border)}.section-heading p{margin-bottom:0;font-size:13px;overflow-wrap:anywhere}.workspace-nav{display:grid;gap:5px}.workspace-nav button{width:100%;min-height:54px;padding:8px 10px;justify-content:flex-start;background:transparent;color:var(--muted);border-color:transparent;text-align:left;font-weight:400}.workspace-nav button:hover{background:var(--surface-subtle);color:var(--text)}.workspace-nav button.active{background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.workspace-nav button>span{min-width:0;display:grid;gap:2px}.workspace-nav strong,.workspace-nav small{display:block;overflow-wrap:anywhere}.workspace-nav strong{color:var(--text);font-size:14px}.workspace-nav small{color:var(--muted);font-size:11px}.upload-box{border:1px solid var(--border);border-radius:7px;padding:15px;display:grid;gap:12px;background:var(--surface-subtle)}.upload-box>strong{font-size:15px}.upload-box span,.file-row small,.eyebrow,.preview-empty span{color:var(--muted);font-size:13px}.eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.file-input{min-height:46px;padding:0 12px;border:1px dashed var(--border-strong);border-radius:5px;display:flex;align-items:center;gap:8px;color:var(--accent);background:var(--surface);font-size:14px;font-weight:600;cursor:pointer;overflow:hidden}.file-input:hover{border-color:var(--accent)}.file-input input{display:none}.check{display:flex;gap:8px;align-items:flex-start;color:var(--text);font-size:13px;line-height:1.4}.check input{accent-color:var(--accent)}.upload-box .danger-button{background:transparent;color:var(--error-text);border-color:color-mix(in srgb,var(--error-text) 55%,var(--border))}.upload-box .danger-button:hover{background:var(--error-bg);border-color:var(--error-text)}.batch-progress{display:grid;gap:6px;min-width:0}.batch-progress div{display:flex;align-items:center;justify-content:space-between;gap:8px}.batch-progress div span{overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.batch-progress div strong{color:var(--accent);font-size:12px}.batch-progress progress{width:100%;height:9px;accent-color:var(--accent)}.batch-progress small{color:var(--muted);font-size:11px}.system-import>strong{display:flex;align-items:center;gap:7px}.system-import label{display:grid;gap:5px}.system-import label small{color:var(--muted)}.system-import input{width:100%;min-height:38px;padding:0 9px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text)}.system-import .notice{margin:0}.system-job{display:grid;gap:6px;min-width:0;padding-top:4px;border-top:1px solid var(--border)}.system-job>div:first-child{display:flex;justify-content:space-between;gap:8px;text-transform:capitalize}.system-job progress{width:100%;height:9px;accent-color:var(--accent)}.system-job small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.system-job-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.system-job-actions button{min-height:32px;padding:0 9px;font-size:12px}.system-job-actions a{color:var(--accent);font-size:12px}.browser{min-width:0;background:var(--page)}.toolbar,.preview header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.toolbar strong,.preview header strong{display:block;margin-top:4px;color:var(--text);word-break:break-word}.tools{display:flex;gap:8px;align-items:center}.search{min-height:42px;padding:0 10px;display:flex;align-items:center;gap:7px;background:var(--surface);color:var(--muted);border:1px solid var(--border);border-radius:5px}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.search input{width:230px;min-height:38px;padding:0;border:0;outline:0;background:transparent}.icon-button{width:42px;padding:0;background:var(--surface);color:var(--text);border-color:var(--border)}.icon-button:hover{background:var(--surface-subtle);border-color:var(--border-strong)}.breadcrumb{min-height:34px;max-width:100%;margin:0 0 10px;padding:0;justify-content:flex-start;background:transparent;color:var(--accent);font-size:14px}.breadcrumb:hover{background:transparent;color:var(--accent-hover);text-decoration:underline}.notice,.error,.success,.status{border-radius:5px;padding:10px 12px;font-size:13px;line-height:1.45}.notice{margin-bottom:12px;background:var(--notice-bg);color:var(--notice-text);border-left:3px solid var(--accent)}.error{background:var(--error-bg);color:var(--error-text)}.folder-error{margin-bottom:12px}.success{background:var(--success-bg);color:var(--success-text)}.file-icon{flex:0 0 auto;color:var(--accent)}.document-table-wrap{width:100%;overflow:auto;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:12px;color:var(--muted);font-size:12px}.pagination label{display:flex;align-items:center;gap:6px}.pagination select{min-height:34px;padding:0 8px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text)}.document-table{width:100%;min-width:620px;border-collapse:collapse;table-layout:fixed;font-size:13px}.document-table .name-column{width:220px}.document-table .metadata-column{width:170px}.document-table .size-column{width:90px}.document-table th,.document-table td{height:46px;padding:9px 12px;overflow:hidden;border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;text-overflow:ellipsis;white-space:nowrap}.document-table th:last-child,.document-table td:last-child{border-right:0}.document-table th{position:sticky;top:0;z-index:2;height:42px;background:var(--surface-subtle);color:var(--muted);font-size:11px;font-weight:700;letter-spacing:0;text-transform:uppercase}.document-table tbody tr{color:var(--text);cursor:pointer;transition:background .14s ease,box-shadow .14s ease}.document-table tbody tr:hover{background:var(--surface-subtle)}.document-table tbody tr.active{background:color-mix(in srgb,var(--accent) 9%,var(--surface));box-shadow:inset 3px 0 0 var(--accent)}.document-table tbody tr:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 32%,transparent);outline-offset:-3px}.document-table tbody tr:last-child td{border-bottom:0}.document-name{max-width:100%;display:inline-flex;align-items:center;gap:9px;font-weight:650}.document-name span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.document-size{color:var(--muted)}.empty{padding:34px 4px;color:var(--muted);text-align:center;border-top:1px solid var(--border)}.preview{min-width:0;display:flex;flex-direction:column;background:var(--surface)}.preview-resizer{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;background:var(--surface-subtle);color:var(--muted);border-right:1px solid var(--border);border-left:1px solid var(--border);cursor:col-resize;touch-action:none;transition:background .14s ease,color .14s ease}.preview-resizer:hover,.preview-resizer:focus-visible{background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent);outline:0}body.resizing-preview{cursor:col-resize;-webkit-user-select:none;user-select:none}.preview iframe{width:100%;flex:1;min-height:480px;border:1px solid var(--border);border-radius:6px;background:#e9edf0}.preview-empty{flex:1;display:grid;place-content:center;justify-items:center;gap:9px;padding:24px;text-align:center;color:var(--muted)}.preview-empty strong{color:var(--text)}.status{position:fixed;right:18px;bottom:18px;z-index:30;background:var(--navy);color:#fff;box-shadow:var(--shadow)}@media(max-width:1200px){.app-shell{grid-template-columns:260px 1fr}.preview-resizer{display:none}.preview{grid-column:1 / -1;min-height:70vh;border-left:0;border-top:1px solid var(--border)}}@media(max-width:760px){.brand-header{height:68px;padding:0 14px}.brand-identity{gap:10px}.brand-identity img{height:38px}.brand-identity span{padding-left:10px;font-size:14px}.connection-status,.header-button span{display:none}.header-button{width:38px;padding:0}.theme-button{display:inline-flex}.login-page,.app-shell,.sidebar,.browser,.preview{min-height:auto}.login-page{min-height:calc(100vh - 68px)}.app-shell{grid-template-columns:1fr}.sidebar,.browser,.preview{padding:18px}.sidebar{border-right:0;border-bottom:1px solid var(--border)}.toolbar{align-items:stretch;flex-direction:column}.tools,.search,.search input{width:100%}.preview iframe{min-height:68vh}}@media(max-width:430px){.brand-identity span{display:none}.login-panel{padding:22px}}
