*{box-sizing:border-box}body{min-width:320px;margin:0;color:#172033;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f6f8}button,input{font:inherit}.state-page,.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.state-page{align-content:center;justify-items:start;max-width:720px;margin:0 auto}.state-page h1,.state-page p{margin:0}.state-page p{margin-top:8px;color:#526070}.login-panel{width:min(100%,420px);padding:28px;border:1px solid #d9e0e8;border-radius:8px;background:#fff;box-shadow:0 20px 60px #18203014}.login-panel h1{margin:0 0 10px;font-size:24px;line-height:1.2}.login-help{margin:0 0 20px;color:#526070;font-size:14px;line-height:1.6}.login-form{display:grid;gap:14px}.login-form label{display:grid;gap:6px;color:#526070;font-size:13px;font-weight:600}.login-form input{width:100%;min-height:44px;padding:8px 10px;border:1px solid #c5cfda;border-radius:6px;color:#172033}.login-form button,.secondary-button{min-height:40px;border:1px solid #1b4f9c;border-radius:6px;background:#1b4f9c;color:#fff;cursor:pointer;font-weight:700}.secondary-button{flex:0 0 auto;min-height:34px;padding:0 12px;border-color:#c5cfda;background:#fff;color:#172033;font-size:14px}button:disabled{cursor:not-allowed;opacity:.65}.notice,.error,.muted{margin:14px 0 0;font-size:14px}.notice{color:#146c43}.error{color:#b42318}.muted{color:#526070}.preview-shell{display:grid;grid-template-rows:56px minmax(0,1fr);min-height:100vh;background:#fff}.preview-header{display:flex;align-items:center;gap:14px;min-width:0;padding:0 16px;border-bottom:1px solid #d9e0e8;background:#fff}.brand{flex:0 0 auto;font-weight:800}.file-name,.viewer{min-width:0;overflow:hidden;color:#526070;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.file-name{flex:1 1 auto}.viewer{flex:0 1 240px;text-align:right}.preview-frame{width:100%;height:100%;min-height:0;border:0;background:#fff}@media(max-width:720px){.preview-header{grid-template-columns:minmax(0,1fr) auto;display:grid;height:auto;min-height:64px;padding:10px 12px}.brand,.file-name,.viewer{grid-column:1}.viewer{text-align:left}.secondary-button{grid-column:2;grid-row:1 / span 3}}
