*,:before,:after{box-sizing:border-box}:root{--bg:#fafafa;--surface:#fff;--text:#1f2d43;--accent:#2563eb;--border:#e2e5eb;--header:#003a3a;--error:#b91c1c;--radius:12px;font-family:Inter,system-ui,-apple-system,Segoe UI,Ubuntu,sans-serif;font-weight:400}h1,h2,h3,h4,strong,b,th{font-weight:600}html{height:100%}body{background:var(--bg);min-height:100%;color:var(--text);margin:0;line-height:1.55}#root{min-height:100dvh}.shell{flex-direction:column;min-height:100dvh;display:flex}.site-header{background:var(--header);flex-shrink:0;height:60px}.site-header__inner{justify-content:space-between;align-items:center;gap:1rem;height:100%;margin:0;padding:0 50px;display:flex}.site-header__logo{object-fit:contain;width:auto;max-width:none;height:20px;display:block}.site-header__actions{align-items:center;gap:.85rem;margin-left:auto;display:flex}.site-header__user{color:#ffffffe6;font-size:.875rem}.site-header__signout{color:#fff;font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff73;border-radius:8px;padding:.35rem .75rem;font-size:.8125rem}.site-header__signout:hover{background:#ffffff1a}.page{flex-direction:column;flex:1;width:100%;max-width:1400px;min-height:0;margin:0 auto;padding:1rem;display:flex}.two-col{flex:auto;grid-template-columns:minmax(0,1.05fr) minmax(320px,1fr);align-items:start;gap:2.5rem 3rem;min-height:0;display:grid}@media (width>=901px){.two-col{align-items:center}}.col-left h1{color:var(--text);margin:0 0 1.125rem;font-size:60px;font-weight:600;line-height:1.3}.col-left .intro{color:var(--text);max-width:36rem;margin:0 0 1.5rem;font-size:24px;line-height:1.5}.form-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:1.5rem 1.25rem 1.75rem}.field{margin-bottom:1rem;display:block}.field__label{margin-bottom:.35rem;font-size:.875rem;font-weight:600;display:block}.field__input{border:1px solid var(--border);width:100%;font:inherit;color:var(--text);background:var(--surface);border-radius:8px;padding:.65rem .75rem;display:block}.field__input:focus{outline:2px solid var(--accent);outline-offset:1px}.btn{background:var(--header);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:8px;padding:.65rem 1.25rem;font-weight:600;display:inline-block}.btn:hover:not(:disabled){background:#004f4f}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--ghost{color:var(--text);border:1px solid var(--border);background:0 0}.btn--ghost:hover:not(:disabled){color:var(--text);background:#f9fafb}.btn--sm{padding:.35rem .65rem;font-size:.8125rem}.form-error{color:var(--error);margin:0 0 1rem;font-size:.875rem}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;background:var(--surface);margin-bottom:1rem;padding:1.75rem 1.25rem}.dropzone.is-active{border-color:var(--header);background:#f0f7f7}.dropzone__hint{color:#6b7280;margin:.35rem 0 1rem;font-size:.875rem}.progress{appearance:none;background:var(--border);border:0;border-radius:999px;width:100%;height:8px;margin:0 0 1rem;display:block;overflow:hidden}.progress::-webkit-progress-bar{background:var(--border)}.progress::-webkit-progress-value{background:var(--header)}.footer{flex-shrink:0;margin-top:auto;padding:2.5rem 1rem 1.5rem}.footer__text{color:var(--text);text-align:left;margin:0;font-size:.8125rem}.page--gate{flex:1;justify-content:center;align-items:center;width:100%;max-width:none;margin:0;padding:0 1rem;display:flex}.gate{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:400px;margin:0;padding:2rem}.gate__title{margin:0 0 .5rem;font-size:1.75rem;font-weight:600}.gate__text{color:#6b7280;margin:0 0 1.5rem}.gate__actions{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.result{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem}.result--banner{border-top:0;border-bottom:1px solid var(--border);margin:0 0 1.5rem;padding-top:0;padding-bottom:1.5rem}.copy-row{margin-bottom:.85rem}.copy-row__label{margin-bottom:.35rem;font-size:.875rem}.copy-row__value{gap:.5rem;display:flex}.copy-row__value code{break-all:anywhere;word-break:break-all;border:1px solid var(--border);border-radius:8px;flex:1;min-width:0;padding:.5rem .65rem;font-size:.8125rem}.page--admin{padding-top:1.5rem}.admin-bar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;display:flex}.admin-bar__title{margin:0;font-size:2rem;font-weight:600;line-height:1.2}.admin-bar__meta{color:#6b7280;margin:.35rem 0 0;font-size:.875rem}.admin-bar__actions{align-items:center;gap:.75rem;display:flex}.spaces-card{margin-top:0}.drawer-root{z-index:50;position:fixed;inset:0}.drawer-backdrop{cursor:pointer;background:#0f172073;border:0;padding:0;position:absolute;inset:0}.drawer{background:var(--surface);width:min(420px,100%);padding:1.5rem 1.25rem 2rem;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-12px 0 32px #0f17202e}.drawer p{margin:0 0 1rem}.drawer__title{margin:0;font-size:1.25rem;font-weight:600}.spaces-table-wrap{overflow-x:auto}.spaces-table{border-collapse:collapse;width:100%;font-size:1rem}.spaces-table th,.spaces-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:.65rem .5rem}.spaces-table tbody tr:last-child td{border-bottom:0}.spaces-table th{color:#6b7280;font-weight:600}.spaces-table tr.is-expired td{color:#9ca3af}.spaces-table__link-cell{justify-content:flex-start;align-items:center;gap:.35rem;max-width:100%;display:inline-flex}.spaces-table__link{min-width:0;color:var(--accent);word-break:break-all;font-size:inherit}.spaces-table__actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.35rem;display:flex}.icon-btn{width:1.75rem;height:1.75rem;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:#f3f4f6}.icon-btn svg{width:1rem;height:1rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=900px){.site-header__inner{padding:0 1rem}.two-col{grid-template-columns:1fr;gap:2rem}.col-left h1{font-size:36px}.col-left .intro{font-size:1.125rem}.form-card{max-width:560px}}
