:root{--color-accent: #e16449;--color-accent-dark: #c04535;--color-bg: #f2f3f7;--color-surface: #f8f8f8;--color-surface-raised: #ffffff;--color-border: #e5e7eb;--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-seated: #16a34a;--color-yeeted: #dc2626;--shadow-card: 0 2px 12px rgba(0, 0, 0, .06);--radius-card: 12px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,sans-serif;background:var(--color-bg);color:var(--color-text-primary);font-size:14px;line-height:1.5}code{font-family:monospace;font-size:.9em;background:#f3f4f6;padding:.1em .35em;border-radius:4px}.admin-layout{display:flex;flex-direction:column;min-height:100vh}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--color-surface-raised);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10;box-shadow:0 1px 4px #0000000f}.admin-title{font-size:1.15rem;font-weight:700;color:var(--color-accent)}.admin-header-actions{display:flex;gap:.5rem}.admin-main{padding:1.5rem;flex:1}.status-message{text-align:center;padding:4rem 2rem;color:var(--color-text-muted)}.status-message--error{color:var(--color-yeeted)}.empty-state{padding:3rem;text-align:center;color:var(--color-text-muted)}.btn{padding:.4rem .9rem;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .15s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--color-accent);color:#fff}.btn--secondary{background:#f3f4f6;color:#374151;border:1px solid var(--color-border)}.btn--danger{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.btn--yeet{background:var(--color-yeeted);color:#fff}.btn--unyeet{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.btn--full{width:100%}.btn--sm{padding:.25rem .6rem;font-size:.78rem}.table-wrap{overflow-x:auto;border-radius:10px;border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.official-table{width:100%;border-collapse:collapse;font-size:.85rem}.official-table th{background:#f8f9fb;padding:.65rem .85rem;text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap}.th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.th--sortable:hover{color:var(--color-text-secondary)}.sort-indicator{display:inline-block;opacity:.45;font-size:.7rem;margin-left:.1rem}.th--sortable:hover .sort-indicator{opacity:.7}.official-table td{padding:.6rem .85rem;border-bottom:1px solid #f3f4f6;vertical-align:middle}.official-table tr:last-child td{border-bottom:none}.official-table tr:hover td{background:#f8f9fb}.row--hidden td{opacity:.5}.table-portrait{width:40px;height:40px;object-fit:cover;object-position:top center;border-radius:6px;background:var(--color-border)}.cell--name{font-weight:600;white-space:nowrap}.cell--role{color:var(--color-text-secondary)}.action-group{display:flex;gap:.35rem;flex-wrap:nowrap}.status-badge,.vis-badge{display:inline-block;padding:.2rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.status-badge--seated{background:#dcfce7;color:#15803d}.status-badge--yeeted{background:#fee2e2;color:#b91c1c}.vis-badge--visible{background:#dbeafe;color:#1d4ed8}.vis-badge--hidden{background:#f3f4f6;color:var(--color-text-muted)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.login-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:16px;padding:2.5rem;width:100%;max-width:360px;box-shadow:0 4px 24px #00000014}.login-title{font-size:1.5rem;font-weight:800;color:var(--color-accent);text-align:center}.login-subtitle{text-align:center;color:var(--color-text-muted);margin-top:.25rem;margin-bottom:1.5rem;font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:1rem}label{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;font-weight:600;color:var(--color-text-secondary)}label.label--checkbox{flex-direction:row;align-items:center;gap:.5rem;color:#374151;cursor:pointer}input[type=text],input[type=url],input[type=password],input[type=date],input[type=number],select,textarea{background:var(--color-surface-raised);border:1px solid #d1d5db;border-radius:6px;color:var(--color-text-primary);padding:.45rem .65rem;font-size:.9rem;font-family:inherit;width:100%;outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--color-accent)}textarea{resize:vertical;min-height:80px}.field-hint{font-size:.75rem;font-weight:400;color:var(--color-text-muted);margin-top:.15rem}.field-optional{font-weight:400;color:var(--color-text-muted)}.form-error{color:var(--color-yeeted);font-size:.85rem;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;padding:.5rem .75rem}.form-note{font-size:.8rem;color:var(--color-text-muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:14px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 40px #0000001f}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-header--yeet{background:linear-gradient(135deg,#fee2e2,#fff1f2)}.modal-header h2{font-size:1.1rem;font-weight:700;color:var(--color-text-primary)}.modal-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1.1rem;line-height:1;padding:.25rem}.modal-close:hover{color:#374151}.modal-form{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.5rem}.portrait-upload{display:flex;flex-direction:column;gap:.6rem}.portrait-upload__preview{display:flex;justify-content:center}.portrait-upload__img{width:90px;height:120px;object-fit:cover;object-position:top center;border-radius:6px;border:1px solid var(--color-border);background:#f3f4f6}.portrait-upload__drop{display:flex;align-items:center;justify-content:center;padding:1rem;border:2px dashed var(--color-border);border-radius:8px;cursor:pointer;color:var(--color-text-muted);font-size:.85rem;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}.portrait-upload__drop:hover,.portrait-upload__drop--active{border-color:var(--color-accent);color:#374151}.portrait-upload__input{display:none}.portrait-crop{display:flex;flex-direction:column;gap:.75rem}.portrait-crop__hint{font-size:.8rem;color:var(--color-text-muted)}.portrait-crop__img{max-width:100%;display:block}.portrait-crop__actions{display:flex;justify-content:flex-end;gap:.5rem}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media(pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}
