:root{--ink: #1b2430;--ink-soft: #5b6675;--paper: #eef1f4;--card: #ffffff;--line: #d4dae1;--accent: #0f4c81;--accent-dark: #0b3b64;--danger: #b3261e}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Georgia,Times New Roman,serif;color:var(--ink);background:var(--paper)}.loading{min-height:100vh;display:flex;align-items:center;justify-content:center;font-family:Courier New,monospace;font-size:13px;color:var(--ink-soft);letter-spacing:.08em}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:22px 22px}.card{width:100%;max-width:400px;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--accent);box-shadow:0 12px 32px #1b24301a}@media (prefers-reduced-motion: no-preference){.card{animation:rise .35s ease-out}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}.doc-tab{display:flex;justify-content:space-between;align-items:center;padding:12px 28px;border-bottom:1px solid var(--line);font-family:Courier New,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.doc-tab .restricted{color:var(--accent);font-weight:700}.card-body{padding:30px 28px 34px}.card-body h1{font-size:22px;font-weight:400;line-height:1.3;margin-bottom:6px}.sub{font-family:Courier New,monospace;font-size:12px;color:var(--ink-soft);margin-bottom:26px}label{display:block;font-family:Courier New,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}input{width:100%;padding:11px 12px;margin-bottom:18px;font-family:Courier New,monospace;font-size:14px;color:var(--ink);border:1px solid var(--line);border-radius:0;background:#fbfcfd}input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}button[type=submit]{width:100%;padding:12px;font-family:Courier New,monospace;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--accent);border:none;cursor:pointer}button[type=submit]:hover:not(:disabled){background:var(--accent-dark)}button[type=submit]:disabled{opacity:.65;cursor:wait}button:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.error{font-family:Courier New,monospace;font-size:12px;color:var(--danger);border:1px solid var(--danger);padding:9px 12px;margin-bottom:18px;background:#fdf3f2}.note{margin-top:22px;padding-top:16px;border-top:1px dashed var(--line);font-family:Courier New,monospace;font-size:11px;color:var(--ink-soft);line-height:1.6}.viewer-wrap{height:100%;display:flex;flex-direction:column}.viewer-bar{display:flex;align-items:center;gap:16px;padding:10px 18px;background:#fff;border-bottom:1px solid var(--line)}.doc-name{font-family:Courier New,monospace;font-size:12px;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.timer{font-family:Courier New,monospace;font-size:12px;color:var(--ink-soft);white-space:nowrap}.timer strong{color:var(--accent);font-weight:700}.signout{font-family:Courier New,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:transparent;border:1px solid var(--accent);padding:6px 12px;white-space:nowrap;cursor:pointer}.signout:hover{background:var(--accent);color:#fff}.frame{flex:1;min-height:0}.frame iframe{width:100%;height:100%;border:none;display:block;background:#525659}
