:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f7f9fb;color:#17202a;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f7f9fb}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}.shell{min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:12px 18px;border-bottom:1px solid #d8dee8;background:#eef3f7}.title-block{min-width:0}h1,h2{margin:0;overflow:hidden;color:#17202a;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}h1{font-size:16px;font-weight:650}h2{font-size:18px;font-weight:680}.title-block p,.upload-zone p,.empty p,.file-name span,.status-text{margin:0;color:#6b7684;font-size:13px;line-height:1.45}.header-actions,.row-actions{display:flex;align-items:center;gap:8px;min-width:0}.status-text{max-width:min(34vw,420px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.button,.sync-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;border:1px solid #cbd5df;border-radius:8px;background:#fff;color:#223041}.button{padding:0 13px;font-size:13px;font-weight:650}.sync-button{min-width:94px;padding:0 11px;font-size:13px;font-weight:620}.button:hover,.button:focus-visible,.sync-button:hover,.sync-button:focus-visible,.icon-button:hover,.icon-button:focus-visible{border-color:#6aa99f;outline:none}.sync-button[data-state=connected]{border-color:#5fa699;background:#e3f4ef;color:#155247}.sync-button[data-state=connecting]{border-color:#9ab6d8;background:#eef5ff;color:#254d7c}.sync-button[data-state=error]{border-color:#e0a1a1;background:#fff1f1;color:#8d2e2e}.sync-dot{width:9px;height:9px;border-radius:50%;background:#7c8794}.sync-button[data-state=connected] .sync-dot{background:#2e8b77}.sync-button[data-state=connecting] .sync-dot{background:#3e78ba}.sync-button[data-state=error] .sync-dot{background:#b83d3d}.workspace{width:min(980px,100%);margin:0 auto;padding:24px 18px 40px}.upload-zone{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:94px;border:1px dashed #aebbc8;border-radius:8px;background:#fff;padding:18px;margin-bottom:16px}.file-panel{border:1px solid #dce3ea;background:#fff;border-radius:8px;overflow:hidden}.file-table{width:100%;border-collapse:collapse}.file-table th,.file-table td{padding:12px 14px;border-bottom:1px solid #edf2f6;text-align:left;vertical-align:middle;font-size:13px}.file-table th{color:#687482;font-size:12px;font-weight:700;background:#fbfcfd}.file-table tr:last-child td{border-bottom:0}.file-name{display:flex;align-items:center;gap:10px;min-width:0}.file-name strong{display:block;max-width:min(52vw,560px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-icon,.empty-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:8px;background:#eef5f4;color:#27665c;font-weight:750}.file-icon{width:36px;height:36px;font-size:10px}.empty-icon{width:42px;height:42px;font-size:0}.empty-icon:before{width:20px;height:24px;border:2px solid currentColor;border-radius:4px;content:""}.icon-button{width:34px;height:34px;border:1px solid #cfd8e2;border-radius:8px;background:#fff;color:#223041;font-size:18px;line-height:1}.icon-button.danger{color:#9d2f2f}.empty{display:grid;justify-items:center;gap:8px;padding:58px 20px;text-align:center}.drop-overlay{position:fixed;inset:0;z-index:20;display:none;align-items:center;justify-content:center;border:3px solid #2e8b77;background:#f7f9fbc7;color:#155247;font-size:22px;font-weight:700;pointer-events:none}.shell.is-dragging .drop-overlay{display:flex}@media(max-width:720px){.app-header{align-items:stretch;flex-direction:column}.header-actions{align-items:stretch;justify-content:space-between}.status-text{max-width:none;white-space:normal}.upload-zone{align-items:stretch;flex-direction:column}.button{width:100%}.file-table,.file-table tbody,.file-table tr,.file-table td{display:block;width:100%}.file-table thead{display:none}.file-table tr{border-bottom:1px solid #edf2f6;padding:10px 12px}.file-table td{border:0;padding:5px 0}.file-name strong{max-width:72vw}.row-actions{justify-content:flex-end}}
