#root{min-height:100vh}:root{color:#111827;font-synthesis:none;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;--ink:#111827;--muted:#5c6678;--soft:#eef3f8;--line:#dbe3ed;--accent:#0ea5a3;--accent-dark:#0b6f77;--danger:#b42318;--shadow:0 18px 54px #1c2b441f;background:#f6f8fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:360px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 0 0,#0ea5a324,#0000 34rem),linear-gradient(135deg,#f9fbff 0%,#edf4f8 55%,#f8fafc 100%);margin:0}button,input,textarea,select{font:inherit}button{border:0}a{text-decoration:none}.login-shell,.app-shell{width:min(1180px,100vw - 32px);margin:0 auto}.landing-page{align-content:center;gap:18px;width:min(1080px,100vw - 32px);min-height:100vh;margin:0 auto;padding:42px 0;display:grid}.landing-hero{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffd6;border-radius:8px;align-items:start;gap:22px;padding:clamp(26px,7vw,64px);display:grid}.landing-hero p{max-width:720px;font-size:18px}.download-buttons{flex-wrap:wrap;gap:12px;display:flex}.landing-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.landing-flow div{border:1px solid var(--line);background:#ffffffb8;border-radius:8px;gap:8px;min-height:138px;padding:18px;display:grid}.landing-flow svg{color:var(--accent-dark)}.login-shell{align-content:center;gap:22px;min-height:100vh;padding:42px 0;display:grid}.brand-block{grid-template-columns:72px minmax(0,1fr);align-items:center;gap:18px;display:grid}.brand-mark{color:#e9fbfa;width:72px;height:72px;box-shadow:var(--shadow);background:#111827;border-radius:8px;place-items:center;display:grid}.small-mark{width:48px;height:48px}h1,h2,p{margin:0}h1{letter-spacing:0;font-size:clamp(32px,7vw,76px);line-height:.92}h2{font-size:21px;line-height:1.1}p{color:var(--muted);line-height:1.55}.connect-card,.oauth-helper,.panel,.drop-panel,.room-strip,.error-banner{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffdb;border-radius:8px}.connect-card{gap:18px;padding:24px;display:grid}.oauth-helper{padding:16px 20px}.oauth-helper summary{cursor:pointer;color:var(--accent-dark);font-weight:750}.oauth-helper>div{margin-top:16px}.field-group{gap:8px;display:grid}.field-group label{color:#2d3748;font-size:13px;font-weight:800}textarea,input,select{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:#fff;border-radius:6px;outline:none;padding:12px 13px}textarea:focus,input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0ea5a324}.split-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.primary-button,.ghost-button,.icon-button,.danger-button{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:9px;min-height:42px;font-size:14px;font-weight:800;transition:transform .16s,background .16s,border-color .16s,color .16s;display:inline-flex}.primary-button{background:var(--ink);color:#fff;padding:0 18px}.ghost-button,.icon-button{border:1px solid var(--line);color:var(--ink);background:#fff;padding:0 14px}.danger-button{width:100%;color:var(--danger);background:#fff5f5;border:1px solid #fecaca}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.58}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{padding:24px 0}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.title-lockup{align-items:center;gap:14px;min-width:0;display:flex}.title-lockup h1{font-size:clamp(28px,5vw,44px)}.title-lockup p{text-overflow:ellipsis;white-space:nowrap;max-width:58vw;overflow:hidden}.status-pill{color:#0f766e;white-space:nowrap;background:#ecfdf5e0;border:1px solid #0ea5a352;border-radius:999px;align-items:center;gap:8px;min-height:38px;padding:0 14px;font-size:13px;font-weight:850;display:flex}.error-banner{color:var(--danger);background:#fff7f7;border-color:#fecaca;margin:0 0 16px;padding:13px 15px;font-weight:780}.room-strip{align-items:center;gap:12px;margin-bottom:16px;padding:12px;display:flex}.room-strip>div{flex:1;align-items:baseline;gap:12px;min-width:0;display:flex}.room-strip span{color:var(--muted);font-size:13px;font-weight:800}.room-strip strong{letter-spacing:0;font-size:clamp(20px,4vw,32px)}.drop-panel{outline-offset:-10px;background:#ffffffc7;outline:2px dashed #0000;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;min-height:188px;margin-bottom:16px;padding:24px;display:grid}.drop-panel.active{background:#f0fdfa;outline-color:#0ea5a38c}.drop-panel>svg{color:var(--accent-dark)}.drop-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.content-grid{grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:16px;display:grid}.panel{padding:18px}.panel-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.panel-heading p{font-size:14px}.file-list,.activity-list{margin:0;padding:0;list-style:none}.file-list{gap:10px;display:grid}.file-row{border:1px solid var(--line);background:#fbfdff;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:11px;display:flex}.file-row div{gap:4px;min-width:0;display:grid}.file-row strong,.file-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-row span,.small,.bridge-stats dt,.activity-list span{color:var(--muted);font-size:12px}.empty-state{min-height:160px;color:var(--muted);border:1px dashed var(--line);border-radius:7px;place-items:center;gap:10px;display:grid}.panel-footer{gap:10px;margin-top:14px;display:flex}.side-panel{flex-direction:column;gap:16px;display:flex}.bridge-stats{gap:10px;margin:0;display:grid}.bridge-stats div{border-bottom:1px solid var(--line);gap:4px;padding-bottom:10px;display:grid}.bridge-stats dd{color:#263140;overflow-wrap:anywhere;margin:0;font-size:13px}.activity-list{gap:8px;display:grid}.activity-list li{color:#263140;gap:2px;font-size:13px;display:grid}.muted{color:var(--muted)}@media (width<=860px){.split-fields,.content-grid,.drop-panel,.landing-flow{grid-template-columns:1fr}.topbar,.room-strip,.file-row{flex-direction:column;align-items:stretch}.drop-actions,.panel-footer,.room-strip{justify-content:stretch}.primary-button,.ghost-button,.icon-button{width:100%}.title-lockup p{max-width:100%}}
