:root{--black:#000;--ink:#0c0c12;--tan:#e5ceba;--gold-light:#f2e7de;--gold-gradient:linear-gradient(90deg, #d6b394 0%, #f2e7de 25%, #d0a985 50%, #f2e7de 75%, #cb9f77 100%);--bg:var(--black);--surface:var(--ink);--surface-raised:#13131a;--surface-button:#ffffff0d;--surface-hover:#e5ceba0f;--tan-subtle:#e5ceba1a;--tan-emphasis:#e5ceba33;--border:#e5ceba1a;--border-strong:#e5ceba4d;--text:#fff;--muted:#aeaeb2;--primary:var(--tan);--danger:#ff8a7a;--radius:16px;--shadow:0 1px 0 #f2e7de0a inset, 0 12px 32px #0006;--font-display:"Platypi", Georgia, "Times New Roman", serif;--font-ui:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;font-family:var(--font-ui);color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1,h2{font-family:var(--font-display);color:var(--tan);font-weight:400}h1{margin:0 0 6px;font-size:2rem;line-height:1.2}h2{margin:0 0 8px;font-size:1.35rem}a{color:var(--tan);text-decoration:none}a:hover{color:var(--gold-light);text-decoration:underline}strong{font-weight:600}.muted{color:var(--muted)}.small{font-size:.8rem}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{border:1px solid var(--border);background:var(--surface-button);border-radius:10px;width:100%;padding:10px 12px;transition:border-color .15s,box-shadow .15s,background .15s}input::placeholder,textarea::placeholder{color:#6e6e74}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{border-color:var(--tan);box-shadow:0 0 0 3px var(--tan-subtle);outline:none}input:disabled,select:disabled,textarea:disabled{opacity:.5}select option{background:var(--surface);color:var(--text)}input[type=checkbox]{width:16px;height:16px;accent-color:var(--tan);cursor:pointer;vertical-align:middle;margin:0;padding:0}textarea{resize:vertical}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:box-shadow .2s,background .2s,border-color .2s,color .2s;display:inline-flex;text-decoration:none!important}.btn-primary{color:var(--gold-light);background:linear-gradient(var(--surface-raised), var(--surface-raised)) padding-box, var(--gold-gradient) border-box;box-shadow:inset 0 1px #f2e7de14,0 0 18px #e5ceba0a}.btn-primary:hover:not(:disabled){background:linear-gradient(#1b1a20, #1b1a20) padding-box, var(--gold-gradient) border-box;box-shadow:inset 0 1px #f2e7de30,0 0 24px #e5ceba26}.btn-primary:disabled{opacity:.6;cursor:progress}.btn-ghost{background:var(--surface-button);border-color:var(--border-strong);color:var(--text)}.btn-ghost:hover{color:var(--gold-light);background:#ffffff12;border-color:#e5ceba80}.btn:focus-visible{outline:2px solid var(--tan);outline-offset:2px}.btn-block{width:100%}.is-disabled{pointer-events:none;opacity:.5}.btn-danger{color:#ffb3a8;background:#ff5c4826;border-color:#ff5c4880}.btn-danger:hover:not(:disabled){background:#ff5c4840;border-color:#ff5c48bf}.btn-danger-ghost{color:var(--danger);background:0 0;border-color:#ff5c484d}.btn-danger-ghost:hover:not(:disabled){background:#ff5c481a;border-color:#ff5c488c}.btn-danger:disabled,.btn-danger-ghost:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:5px 12px;font-size:.8rem}.link-btn{color:var(--tan);cursor:pointer;background:0 0;border:none;padding:0 12px;font-weight:600}.link-btn:hover{color:var(--gold-light);text-decoration:underline}.link-btn-muted{color:var(--muted);font-weight:500}.alert{border:1px solid;border-radius:12px;margin-bottom:16px;padding:12px 14px;font-size:.9rem}.alert a{color:inherit;text-decoration:underline}.alert-success{color:#7ee2a0;background:#34c7591a;border-color:#34c7594d}.alert-error{color:#ff9d90;background:#ff5c481a;border-color:#ff5c484d}.alert-warning{color:#ffc670;background:#ffb3401a;border-color:#ffb3404d}.alert-info{background:var(--tan-subtle);border-color:var(--border-strong);color:var(--tan)}.brand{align-items:center;gap:12px;display:inline-flex}.brand-logo{width:auto;height:26px;display:block}.brand-tag{border:1px solid var(--border-strong);background:var(--tan-subtle);color:var(--tan);letter-spacing:.16em;text-transform:uppercase;border-radius:6px;padding:3px 8px;font-size:.66rem;font-weight:600;line-height:1.2}.brand-lg{gap:14px;margin-bottom:28px}.brand-lg .brand-logo{height:38px}.brand-lg .brand-tag{padding:4px 10px;font-size:.75rem}.login-page{background:radial-gradient(ellipse 60% 45% at 50% 0%, #e5ceba1f 0%, transparent 70%), var(--bg);place-items:center;min-height:100vh;padding:16px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow);border-radius:20px;gap:18px;padding:40px 36px;display:grid}.login-header{text-align:center}.login-header p{margin:0}.input-with-action{border:1px solid var(--border);background:var(--surface-button);border-radius:10px;align-items:center;display:flex}.input-with-action:hover{border-color:var(--border-strong)}.input-with-action:focus-within{border-color:var(--tan);box-shadow:0 0 0 3px var(--tan-subtle)}.input-with-action input{background:0 0;border:none;box-shadow:none!important}.topbar{z-index:10;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);background:#000000bf;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex;position:sticky;top:0}.topbar-left,.topbar-right{align-items:center;gap:28px;display:flex}.topbar-right{gap:12px}.topnav{gap:4px;display:flex}.topnav a{color:var(--muted);border-radius:999px;padding:6px 14px;font-weight:500;text-decoration:none}.topnav a:hover{color:var(--text);background:var(--surface-button)}.topnav a.active{color:var(--tan);background:var(--tan-subtle)}.session-timer{font-variant-numeric:tabular-nums;color:var(--muted);background:var(--surface-button);border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:.8rem}.session-timer.is-warning{color:var(--danger);background:#ff5c481a;border-color:#ff5c484d;font-weight:600}.user-chip{color:var(--muted);font-size:.9rem;font-weight:500}.page{max-width:1280px;margin:0 auto;padding:32px 24px}.page-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-header p{margin:0}.back-link{margin-bottom:10px;font-size:.85rem;display:inline-block}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:12px;padding:16px;display:flex}.search-input{flex:280px}.filters{flex-wrap:wrap;gap:8px;display:flex}.filters select{width:auto;min-width:140px}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.9rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:14px 16px}.data-table th{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);white-space:nowrap;background:#ffffff05;font-size:.72rem;font-weight:600}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover{background:var(--surface-hover)}.data-table tr.is-new{animation:3s ease-out flash-row}@keyframes flash-row{0%{background:var(--tan-emphasis)}to{background:0 0}}.th-sort{all:unset;cursor:pointer;align-items:center;gap:6px;display:inline-flex}.th-sort:hover{color:var(--text)}.th-sort:focus-visible{outline:2px solid var(--tan);outline-offset:2px}.sort-indicator{opacity:.6;font-size:.7rem}.cell-strong{font-weight:600}.cell-sub{margin-top:2px;font-weight:400}.empty-cell{color:var(--muted);text-align:center!important;padding:48px!important}.data-table tr.is-clickable{cursor:pointer}.data-table tr.is-selected{background:var(--tan-subtle)}.data-table tr.is-selected:hover{background:#e5ceba24}.data-table .col-select{vertical-align:middle;width:1%;padding-right:4px}.data-table .col-action{text-align:right;vertical-align:middle;width:1%;padding-left:0;padding-right:12px}.row-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.invite-state{color:var(--muted);margin-top:4px}.invite-state.is-sent{color:var(--tan)}.bulk-bar{background:var(--tan-subtle);border-bottom:1px solid var(--border-strong);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:12px 16px;display:flex}.bulk-info{color:var(--tan);flex-wrap:wrap;align-items:center;gap:4px;display:flex}.bulk-info strong{margin-right:4px}.bulk-info .link-btn{padding:0 8px}.bulk-actions{flex-wrap:wrap;gap:10px;display:flex}.modal-details .modal-actions{justify-content:space-between}.send-list{border:1px solid var(--border);border-radius:12px;max-height:220px;margin:16px 0;padding:4px 14px;list-style:none;overflow-y:auto}.send-list li{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.send-list li:last-child{border-bottom:none}.send-list li>span:last-child{overflow-wrap:anywhere;text-align:right}.col-sm,.col-md,.col-lg,.col-xl{display:none}@media (width>=640px){.col-sm{display:table-cell}.cell-sub{display:none}}@media (width>=900px){.col-md{display:table-cell}}@media (width>=1200px){.col-lg{display:table-cell}}@media (width>=1440px){.col-xl{display:table-cell}}.icon-btn{border:1px solid var(--border);background:var(--surface-button);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:999px;place-items:center;font-size:1rem;line-height:1;transition:color .15s,border-color .15s,background .15s;display:inline-grid}.icon-btn:hover,tr.is-clickable:hover .icon-btn{color:var(--tan);border-color:var(--border-strong);background:var(--tan-subtle)}.icon-btn:focus-visible{outline:2px solid var(--tan);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.badge{white-space:nowrap;border:1px solid;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-block}.badge-blue{color:#9cc2ff;background:#64a0ff1a;border-color:#64a0ff40}.badge-purple{color:#c9b6ff;background:#b496ff1a;border-color:#b496ff40}.badge-amber{background:var(--tan-subtle);border-color:var(--border-strong);color:var(--tan)}.badge-green{color:#7ee2a0;background:#34c7591a;border-color:#34c75940}.badge-gray{background:var(--surface-button);color:var(--muted);border-color:#ffffff1a}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-size:.875rem;display:flex}.pagination-info{color:var(--muted);align-items:center;gap:16px;display:flex}.page-size{align-items:center;gap:8px;display:inline-flex}.page-size select{width:auto;padding:4px 8px}.pagination-controls{align-items:center;gap:4px;display:flex}.pagination-controls button{border:1px solid var(--border);background:var(--surface-button);cursor:pointer;border-radius:8px;min-width:34px;padding:6px 10px}.pagination-controls button:hover:not(:disabled){border-color:var(--border-strong);color:var(--gold-light)}.pagination-controls button:disabled{opacity:.35;cursor:not-allowed}.pagination-controls button.is-active{background:var(--tan-emphasis);border-color:var(--tan);color:var(--tan);font-weight:600}.pagination-gap{color:var(--muted);padding:0 4px}.invite-page{max-width:860px;margin:0 auto}.form-card{padding:28px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.field{align-content:start;gap:6px;font-size:.875rem;display:grid}.field>span{font-weight:500}.required{color:var(--tan);margin-left:3px}.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--danger)}.field-error{color:var(--danger)}.field-group{border:1px solid var(--border);background:#ffffff04;border-radius:12px;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0;padding:14px 18px 18px;display:grid}.field-group legend{text-transform:uppercase;letter-spacing:.12em;color:var(--tan);padding:0 8px;font-size:.72rem;font-weight:600}.form-grid>.field:last-child{grid-column:1/-1}.form-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;margin-top:28px;padding-top:20px;display:flex}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#000000b3;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:20px;width:100%;max-width:440px;padding:28px;box-shadow:0 24px 48px #0009}.modal p{color:var(--muted)}.modal p strong{color:var(--text)}.modal-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.modal-details{max-width:520px;max-height:calc(100vh - 32px);overflow-y:auto}.modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.modal-header h2{margin:0 0 2px}.modal-header p{margin:0}.details-list{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;margin:0;padding:20px 0;display:grid}.details-list dt{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:.72rem;font-weight:600}.details-list dd{overflow-wrap:anywhere;margin:0;font-size:.92rem}.details-notes{padding-top:18px}.details-notes h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:.72rem;font-weight:600}.modal-details .details-notes p{color:var(--text);white-space:pre-wrap;margin:0;line-height:1.55}@media (width<=720px){.topbar{grid-template-columns:1fr auto;grid-template-areas:"brand logout""nav timer";gap:10px 12px;padding:12px 16px;display:grid}.topbar-left,.topbar-right{display:contents}.topbar .brand{grid-area:brand}.topnav{grid-area:nav}.session-timer{grid-area:timer;place-self:center end}.topbar-right>.btn{grid-area:logout;padding:8px 14px}.user-chip{display:none}.page{padding:20px 16px}.page-header{flex-direction:column;align-items:stretch}.form-grid,.field-group{grid-template-columns:1fr}.filters select{flex:140px}.login-card{padding:32px 22px}.modal-details{padding:22px}.bulk-actions{width:100%}.bulk-bar .btn{flex:1 1 0}.row-actions .icon-btn{display:none}.send-list li{flex-direction:column;gap:2px}.send-list li>span:last-child{text-align:left}.details-list{grid-template-columns:1fr}}
