@import "https://fonts.googleapis.com/css2?family=Syne:wght@600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";@import "https://fonts.googleapis.com/css2?family=Syne:wght@600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--bg-base:#0d0f0e;--bg-surface:#141714;--bg-elevated:#1c1f1c;--amber:#e8a020;--amber-dim:#b87d18;--amber-glow:#e8a0201f;--text-primary:#f0ede6;--text-secondary:#a8ab9f;--text-tertiary:#6b6e66;--border-dim:#262926;--border-bright:#3a3d38;--error:#c0392b;--error-bg:#c0392b1a;--font-display:"Syne", sans-serif;--font-mono:"IBM Plex Mono", monospace;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}#root{text-align:left;box-sizing:border-box;flex-direction:column;width:100%;max-width:none;min-height:100svh;margin:0;display:flex}p{margin:0}.adminLayout,.loginRoot{--amber:#920000;--amber-dim:#ce3c3c}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes spinnerPulse{0%,to{opacity:1}50%{opacity:.3}}.loginRoot{background-color:var(--bg-base);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.loginCard{flex-direction:column;align-items:center;gap:1.25rem;width:100%;max-width:400px;animation:.28s ease-out both fadeSlideUp;display:flex}.loginLogo{width:200px;height:auto}.loginMark{width:400px;height:60px;font-family:var(--font-display);color:var(--text-primary);letter-spacing:.08em;flex-shrink:0;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:flex}.loginTitle{font-family:var(--font-display);color:var(--text-primary);text-transform:lowercase;letter-spacing:.08em;margin:0;font-size:1.35rem;font-weight:700}.loginSubtitle{font-family:var(--font-mono);color:var(--text-secondary);text-align:center;margin:0;font-size:.8rem}.loginButton{background:var(--bg-elevated);border:1.5px solid var(--amber);width:100%;color:var(--text-primary);font-family:var(--font-mono);cursor:pointer;border-radius:8px;outline:none;justify-content:center;align-items:center;gap:.6rem;padding:.75rem 1.25rem;font-size:.85rem;font-weight:500;transition:background .14s,color .14s;display:flex}.loginButton:hover:not(:disabled){color:#9c0000}.loginButton:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.loginButton:disabled{cursor:not-allowed;opacity:.65}.loginButton--busy .loginSpinner{background:var(--amber);border-radius:50%;width:8px;height:8px;animation:.9s ease-in-out infinite spinnerPulse;display:inline-block}.loginError{background:var(--error-bg);border-left:3px solid var(--error);width:100%;font-family:var(--font-mono);color:#e07070;padding:.65rem .85rem;font-size:.78rem}.adminLayout{background-color:var(--bg-base);min-height:100vh;color:var(--text-primary);flex-direction:column;display:flex}.adminNav{z-index:10;background-color:var(--bg-base);border-bottom:1px solid var(--border-dim);justify-content:space-between;align-items:center;height:48px;padding:0 1.25rem;display:flex;position:sticky;top:0}.adminNav__brand{align-items:center;gap:.65rem;display:flex}.adminNav__logo{flex-shrink:0;width:auto;height:30px;display:block}.adminNav__wordmark{font-family:var(--font-mono);color:var(--text-primary);text-transform:lowercase;letter-spacing:.08em;font-size:.85rem;font-weight:700}.adminNav__right{align-items:center;gap:1rem;display:flex}.adminNav__email{font-family:var(--font-mono);color:var(--text-secondary);font-size:.75rem}.adminNav__signOut{color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;outline:none;padding:.25rem .5rem;font-size:.75rem;transition:color .12s}.adminNav__signOut:hover{color:var(--text-primary)}.adminNav__signOut:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.adminContent{flex:1;width:100%;max-width:960px;margin:0 auto;padding:2rem 1.25rem;animation:.28s ease-out both fadeSlideUp}.dashPanel{background:var(--bg-elevated);border-left:3px solid var(--amber);padding:1.5rem 1.75rem}.dashPanel__label{font-family:var(--font-mono);color:var(--amber);text-transform:uppercase;letter-spacing:.1em;background:var(--amber-glow);margin-bottom:.75rem;padding:.2rem .5rem;font-size:.65rem;font-weight:500;display:inline-block}.dashPanel__title{font-family:var(--font-display);color:var(--text-primary);margin:0 0 .65rem;font-size:1.2rem;font-weight:700}.dashPanel__body{font-family:var(--font-mono);color:var(--text-secondary);margin:0;font-size:.8rem;line-height:1.6}.dashLayout{flex:1;height:calc(100vh - 48px);min-height:0;display:flex}.projectsSidebar{border-right:1px solid var(--border-dim);background-color:var(--bg-base);background-image:repeating-linear-gradient(0deg, transparent, transparent 23px, var(--border-dim) 23px, var(--border-dim) 24px);flex-direction:column;flex-shrink:0;width:280px;display:flex;position:relative;overflow:hidden}.projectsSidebar:before{content:"";background-color:var(--bg-base);opacity:.88;pointer-events:none;z-index:0;position:absolute;inset:0}.projectsSidebar>*{z-index:1;position:relative}.projectsSidebar__header{border-bottom:1px solid var(--border-dim);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.projectsSidebar__heading{font-family:var(--font-mono);color:var(--amber);text-transform:uppercase;letter-spacing:.12em;margin:0;font-size:.65rem;font-weight:500}.projectsSidebar__list{scrollbar-width:thin;scrollbar-color:var(--border-bright) transparent;flex:1;padding:.25rem 0;overflow-y:auto}.projectsSidebar__list::-webkit-scrollbar{width:4px}.projectsSidebar__list::-webkit-scrollbar-track{background:0 0}.projectsSidebar__list::-webkit-scrollbar-thumb{background:var(--border-bright)}.projectsSidebar__footer{border-top:1px solid var(--border-dim);flex-shrink:0;padding:.75rem}.projectRow{cursor:pointer;text-align:left;background:0 0;border:none;border-left:2px solid #0000;outline:none;align-items:center;gap:.65rem;width:100%;padding:.6rem 1rem;transition:background .11s;display:flex;position:relative}.projectRow:after{content:"";background:var(--amber);transform-origin:50%;width:2px;transition:transform .14s;position:absolute;top:4px;bottom:4px;left:0;transform:scaleY(0)}.projectRow:hover{background:#9200000f}.projectRow:hover:after{transform:scaleY(.4)}.projectRow:focus-visible{outline:2px solid var(--amber);outline-offset:-2px}.projectRow--selected{background:#9200001f}.projectRow--selected:after{transform:scaleY(1)!important}.projectRow__name{min-width:0;font-family:var(--font-mono);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.8rem;font-weight:500;overflow:hidden}.projectRow--selected .projectRow__name{color:var(--amber-dim)}.badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;border-radius:2px;flex-shrink:0;align-items:center;padding:.15rem .45rem;font-size:.6rem;font-weight:500;display:inline-flex}.badge--active{color:var(--amber-dim);background:#9200002e;border:1px solid #92000059}.badge--archived{color:var(--text-tertiary);border:1px solid var(--border-dim);background:0 0}.projectsSidebar__status{flex:1;justify-content:center;align-items:center;padding:2rem 1rem;display:flex}.projectsSidebar__statusText{font-family:var(--font-mono);color:var(--text-tertiary);text-align:center;font-size:.75rem;line-height:1.5}.projectsSidebar__error{background:var(--error-bg);border-left:2px solid var(--error);font-family:var(--font-mono);color:#e07070;flex-shrink:0;margin:.5rem;padding:.5rem .65rem;font-size:.72rem}@keyframes dotPulse{0%,80%,to{opacity:.15;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.dotLoader{align-items:center;gap:5px;display:flex}.dotLoader__dot{background:var(--amber);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite dotPulse}.dotLoader__dot:nth-child(2){animation-delay:.2s}.dotLoader__dot:nth-child(3){animation-delay:.4s}.btnNewProject{border:1.5px dashed var(--border-bright);width:100%;color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;letter-spacing:.04em;background:0 0;border-radius:3px;outline:none;justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1rem;font-size:.75rem;font-weight:500;transition:border-color .14s,color .14s,background .14s;display:flex}.btnNewProject:hover:not(:disabled){border-color:var(--amber);color:var(--amber-dim);background:#9200000f;border-style:solid}.btnNewProject:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.btnNewProject--active{border-style:solid;border-color:var(--amber);color:var(--amber-dim);background:#92000014}.dashRight{flex-direction:column;flex:1;min-width:0;display:flex;overflow-y:auto}.dashEmptyState{flex:1;justify-content:center;align-items:center;padding:3rem 2rem;display:flex}.dashEmptyState__inner{flex-direction:column;align-items:center;gap:.75rem;max-width:320px;animation:.28s ease-out both fadeSlideUp;display:flex}.dashEmptyState__icon{border:1px solid var(--border-bright);width:36px;height:36px;color:var(--text-tertiary);font-family:var(--font-mono);border-radius:6px;justify-content:center;align-items:center;font-size:1rem;display:flex}.dashEmptyState__title{font-family:var(--font-display);color:var(--text-secondary);text-align:center;margin:0;font-size:1.05rem;font-weight:700}.dashEmptyState__body{font-family:var(--font-mono);color:var(--text-tertiary);text-align:center;margin:0;font-size:.75rem;line-height:1.6}.newProjectForm{background:var(--bg-surface);border-bottom:1px solid var(--border-dim);flex-shrink:0;padding:1rem;animation:.2s ease-out both fadeSlideUp}.newProjectForm__title{font-family:var(--font-mono);color:var(--amber);text-transform:uppercase;letter-spacing:.1em;margin:0 0 .85rem;font-size:.65rem;font-weight:500}.formField{flex-direction:column;gap:.3rem;margin-bottom:.75rem;display:flex}.formField__label{font-family:var(--font-mono);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;font-size:.62rem}.formField__label--required:after{content:" *";color:var(--amber-dim)}.formField__input{border:none;border-bottom:1px solid var(--border-bright);font-family:var(--font-mono);color:var(--text-primary);width:100%;caret-color:var(--amber);background:0 0;border-radius:0;outline:none;padding:.4rem 0;font-size:.8rem;transition:border-color .14s}.formField__input::placeholder{color:var(--text-tertiary)}.formField__input:focus{border-bottom-color:var(--amber)}.formField__input--error{border-bottom-color:var(--error)}.formField__errMsg{font-family:var(--font-mono);color:#e07070;font-size:.67rem}.inviteSection{margin-bottom:.85rem}.inviteSection__header{justify-content:space-between;align-items:center;margin-bottom:.45rem;display:flex}.inviteSection__label{font-family:var(--font-mono);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;font-size:.62rem}.inviteSection__addBtn{color:var(--amber-dim);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;outline:none;padding:.1rem .3rem;font-size:.67rem;transition:color .12s}.inviteSection__addBtn:hover{color:var(--amber)}.inviteSection__addBtn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.inviteRow{align-items:center;gap:.4rem;margin-bottom:.35rem;display:flex}.inviteRow__input{border:none;border-bottom:1px solid var(--border-dim);font-family:var(--font-mono);color:var(--text-primary);caret-color:var(--amber);background:0 0;border-radius:0;outline:none;flex:1;padding:.35rem 0;font-size:.78rem;transition:border-color .14s}.inviteRow__input::placeholder{color:var(--text-tertiary)}.inviteRow__input:focus{border-bottom-color:var(--amber)}.inviteRow__removeBtn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;outline:none;flex-shrink:0;padding:.15rem .25rem;font-size:.9rem;line-height:1;transition:color .12s}.inviteRow__removeBtn:hover{color:var(--error)}.inviteRow__removeBtn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.formActions{align-items:center;gap:.65rem;margin-top:1rem;display:flex}.btnSubmit{background:var(--amber);color:#fff;font-family:var(--font-mono);cursor:pointer;letter-spacing:.04em;border:none;border-radius:3px;outline:none;align-items:center;gap:.45rem;padding:.5rem 1rem;font-size:.75rem;font-weight:500;transition:background .14s,opacity .14s;display:flex}.btnSubmit:hover:not(:disabled){background:var(--amber-dim)}.btnSubmit:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.btnSubmit:disabled{opacity:.55;cursor:not-allowed}.btnCancel{color:var(--text-tertiary);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;outline:none;padding:.5rem;font-size:.75rem;transition:color .12s}.btnCancel:hover{color:var(--text-secondary)}.btnCancel:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.formGlobalError{background:var(--error-bg);border-left:2px solid var(--error);font-family:var(--font-mono);color:#e07070;margin-top:.65rem;padding:.45rem .65rem;font-size:.72rem}.inlineSpinner{background:currentColor;border-radius:50%;width:7px;height:7px;animation:.9s ease-in-out infinite spinnerPulse;display:inline-block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.projectDetail{flex-direction:column;height:100%;animation:.24s ease-out both fadeSlideUp;display:flex}.projectDetail__header{border-bottom:1px solid var(--border-dim);background:var(--bg-surface);flex-shrink:0;padding:1.25rem 1.5rem 1rem}.projectDetail__titleRow{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.projectDetail__nameBlock{flex-direction:column;gap:.2rem;min-width:0;display:flex}.projectDetail__kicker{font-family:var(--font-mono);color:var(--amber);text-transform:uppercase;letter-spacing:.12em;font-size:.6rem;font-weight:500}.projectDetail__name{font-family:var(--font-display);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.3rem;font-weight:700;line-height:1.2;overflow:hidden}.projectDetail__dest{font-family:var(--font-mono);color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.projectDetail__saveOk{font-family:var(--font-mono);color:#5ca87a;font-size:.7rem}.projectDetail__controls{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.projectDetail__editForm{flex-direction:column;gap:.45rem;margin-top:.15rem;display:flex}.projectDetail__nameInput,.projectDetail__destInput{border:none;border-bottom:1px solid var(--border-bright);font-family:var(--font-mono);color:var(--text-primary);width:100%;caret-color:var(--amber);background:0 0;border-radius:0;outline:none;padding:.35rem 0;font-size:.85rem;transition:border-color .14s}.projectDetail__nameInput{font-size:.95rem;font-weight:500}.projectDetail__nameInput::placeholder,.projectDetail__destInput::placeholder{color:var(--text-tertiary)}.projectDetail__nameInput:focus,.projectDetail__destInput:focus{border-bottom-color:var(--amber)}.projectDetail__editErr{font-family:var(--font-mono);color:#e07070;background:var(--error-bg);border-left:2px solid var(--error);padding:.3rem .5rem;font-size:.7rem}.projectDetail__editActions{align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.ctrlBtn{font-family:var(--font-mono);cursor:pointer;letter-spacing:.04em;border-radius:3px;outline:none;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.7rem;font-weight:500;transition:background .13s,color .13s,border-color .13s;display:inline-flex}.ctrlBtn--edit{border:1px solid var(--border-bright);color:var(--text-secondary);background:0 0}.ctrlBtn--edit:hover{border-color:var(--amber);color:var(--amber-dim)}.ctrlBtn--edit:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.ctrlBtn--archive{border:1px solid var(--border-bright);color:var(--text-tertiary);background:0 0}.ctrlBtn--archive:hover:not(:disabled){border-color:var(--error);color:#e07070}.ctrlBtn--archive:focus-visible{outline:2px solid var(--error);outline-offset:2px}.ctrlBtn--activate{color:var(--amber-dim);background:#9200001f;border:1px solid #92000066}.ctrlBtn--activate:hover:not(:disabled){background:#92000033}.ctrlBtn--activate:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.ctrlBtn:disabled{opacity:.55;cursor:not-allowed}.dangerBtn{font-family:var(--font-mono);cursor:pointer;letter-spacing:.04em;border:1px solid var(--error);color:var(--error);background:0 0;border-radius:3px;outline:none;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.7rem;font-weight:500;transition:background .13s,color .13s,border-color .13s;display:inline-flex}.dangerBtn:hover:not(:disabled){background:var(--error-bg)}.dangerBtn:focus-visible{outline:2px solid var(--error);outline-offset:2px}.dangerBtn:disabled{opacity:.55;cursor:not-allowed}.projectDetail__body{scrollbar-width:thin;scrollbar-color:var(--border-bright) transparent;flex:1;overflow-y:auto}.projectDetail__body::-webkit-scrollbar{width:4px}.projectDetail__body::-webkit-scrollbar-track{background:0 0}.projectDetail__body::-webkit-scrollbar-thumb{background:var(--border-bright)}.detailSection{border-bottom:1px solid var(--border-dim);padding:1.25rem 1.5rem}.detailSection__header{margin-bottom:.85rem}.detailSection__title{align-items:center;gap:.55rem;margin:0;display:flex}.detailSection__label{font-family:var(--font-mono);color:var(--amber);text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;font-weight:500}.detailSection__count{font-family:var(--font-mono);color:var(--text-tertiary);background:var(--bg-elevated);border:1px solid var(--border-dim);border-radius:10px;padding:.1rem .45rem;font-size:.6rem}.detailLoader{padding:1rem 0;display:flex}.detailError{background:var(--error-bg);border-left:2px solid var(--error);font-family:var(--font-mono);color:#e07070;margin-bottom:.75rem;padding:.45rem .65rem;font-size:.72rem}.detailError--inline{margin-top:.6rem;margin-bottom:0}.detailEmpty{font-family:var(--font-mono);color:var(--text-tertiary);margin:0 0 .75rem;font-size:.75rem}.tokenTable{width:100%;margin-bottom:1rem}.tokenTable__row{border-bottom:1px solid var(--border-dim);grid-template-columns:1fr 72px 64px auto;align-items:center;gap:.5rem;padding:.45rem 0;display:grid}.tokenTable__row--head{border-bottom:1px solid var(--border-bright);padding-bottom:.4rem}.tokenTable__row--revoked{opacity:.55}.tokenTable__cell{font-family:var(--font-mono);color:var(--text-secondary);min-width:0;font-size:.75rem}.tokenTable__row--head .tokenTable__cell{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;font-size:.58rem;font-weight:500}.tokenTable__cell--recipient{overflow:hidden}.tokenTable__cell--actions{justify-content:flex-end;display:flex}.tokenRecipient{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.tokenDash{color:var(--text-tertiary)}.tokenActions{flex-wrap:nowrap;align-items:center;gap:.4rem;display:flex}.tokenActions__err{font-family:var(--font-mono);color:#e07070;font-size:.65rem}.tokenBtn{font-family:var(--font-mono);cursor:pointer;white-space:nowrap;border-radius:3px;outline:none;align-items:center;gap:.3rem;padding:.25rem .55rem;font-size:.68rem;font-weight:500;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.tokenBtn--copy{border:1px solid var(--border-bright);color:var(--text-secondary);background:0 0}.tokenBtn--copy:hover{border-color:var(--amber);color:var(--amber-dim)}.tokenBtn--copy:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.tokenBtn--revoke{color:var(--text-tertiary);background:0 0;border:1px solid #0000}.tokenBtn--revoke:hover:not(:disabled){color:#e07070;border-color:#c0392b59}.tokenBtn--revoke:focus-visible{outline:2px solid var(--error);outline-offset:2px}.tokenBtn--revoke:disabled{opacity:.55;cursor:not-allowed}.tokenBtn--invite{background:var(--amber);color:#fff;border:none}.tokenBtn--invite:hover:not(:disabled){background:var(--amber-dim)}.tokenBtn--invite:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.tokenBtn--invite:disabled{opacity:.5;cursor:not-allowed}.tokenBadge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em;border-radius:2px;align-items:center;padding:.12rem .4rem;font-size:.58rem;font-weight:500;display:inline-flex}.tokenBadge--queued{background:var(--bg-elevated);color:var(--text-tertiary);border:1px solid var(--border-dim)}.tokenBadge--sent{color:#5ca87a;background:#5ca87a26;border:1px solid #5ca87a4d}.tokenBadge--failed{background:var(--error-bg);color:#e07070;border:1px solid #c0392b59}.tokenBadge--revoked{background:var(--bg-elevated);color:var(--text-tertiary);border:1px solid var(--border-dim)}.inviteAddForm{margin-top:.25rem}.inviteAddForm__inner{align-items:center;gap:.55rem;display:flex}.inviteAddForm__input{border:none;border-bottom:1px solid var(--border-bright);font-family:var(--font-mono);color:var(--text-primary);caret-color:var(--amber);background:0 0;border-radius:0;outline:none;flex:1;padding:.4rem 0;font-size:.78rem;transition:border-color .14s}.inviteAddForm__input::placeholder{color:var(--text-tertiary)}.inviteAddForm__input:focus{border-bottom-color:var(--amber)}.inviteAddForm__input--error{border-bottom-color:var(--error)}.inviteAddForm__err{font-family:var(--font-mono);color:#e07070;margin-top:.4rem;font-size:.7rem}.inviteAddForm__ok{font-family:var(--font-mono);color:#5ca87a;margin-top:.4rem;font-size:.7rem}.fileTable{width:100%}.fileTable__row{border-bottom:1px solid var(--border-dim);grid-template-columns:1fr 80px 80px 160px;align-items:center;gap:.5rem;padding:.45rem 0;display:grid}.fileTable__row--head{border-bottom:1px solid var(--border-bright);padding-bottom:.4rem}.fileTable__cell{font-family:var(--font-mono);color:var(--text-secondary);min-width:0;font-size:.75rem}.fileTable__row--head .fileTable__cell{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;font-size:.58rem;font-weight:500}.fileTable__cell--name{overflow:hidden}.fileName{white-space:nowrap;text-overflow:ellipsis;color:var(--text-primary);display:block;overflow:hidden}.fileSize{color:var(--text-secondary);white-space:nowrap}.fileDate{color:var(--text-tertiary);white-space:nowrap;font-size:.68rem}.fileBadge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em;border-radius:2px;align-items:center;padding:.12rem .4rem;font-size:.58rem;font-weight:500;display:inline-flex}.fileBadge--uploading{color:#c8841c;background:#e8a0201a;border:1px solid #e8a02040}.fileBadge--uploaded{color:#5ca87a;background:#5ca87a1f;border:1px solid #5ca87a47}.fileBadge--other{background:var(--bg-elevated);color:var(--text-tertiary);border:1px solid var(--border-dim)}.uploadRoot{--amber:#920000;--amber-dim:#ce3c3c;--amber-glow:#9200001f;background-color:var(--bg-base);min-height:100vh;color:var(--text-primary);flex-direction:column;display:flex}.uploadNav{border-bottom:1px solid var(--border-dim);flex-shrink:0;align-items:center;height:48px;padding:0 1.25rem;display:flex}.uploadNav__logo{width:auto;height:30px;display:block}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}.dropzone{border:1.5px dashed var(--border-bright);background:var(--bg-surface);cursor:pointer;border-radius:6px;outline:none;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:72px 32px;transition:border-color .14s,background .14s;display:flex}.dropzone:hover:not(.dropzone--disabled),.dropzone:focus-visible:not(.dropzone--disabled){border-color:var(--amber);background:var(--bg-elevated)}.dropzone--over{border-color:var(--amber);background:var(--amber-glow)}.dropzone--disabled{opacity:.4;cursor:not-allowed}.dropzone__icon{border:1.5px solid var(--amber);width:56px;height:56px;color:var(--amber);justify-content:center;align-items:center;display:flex}.dropzone__label{font-family:var(--font-mono);color:var(--text-secondary);text-align:center;font-size:.8rem;line-height:1.5}.dropzone__label strong{color:var(--text-primary);font-weight:500}.dropzone__btn{border:1.5px solid var(--amber);color:var(--amber);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:2px;padding:6px 18px;font-size:.75rem;transition:background .12s,color .12s}.dropzone__btn:hover:not(:disabled){background:var(--amber);color:#0d0f0e}.dropzone__btn:disabled{opacity:.4;cursor:not-allowed}.fileRow{border-bottom:1px solid var(--border-dim);grid-template-rows:auto auto auto;grid-template-columns:1fr auto;gap:4px 16px;padding:12px 0;animation:.28s ease-out both fadeSlideUp;display:grid}.fileRow__name{font-family:var(--font-mono);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.8rem;overflow:hidden}.fileRow__meta{grid-area:2/1;align-items:center;gap:8px;display:flex}.fileRow__size{font-family:var(--font-mono);color:var(--text-secondary);font-size:.7rem}.fileRow__status{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:2px;padding:1px 6px;font-size:.65rem}.fileRow__status--queued{color:var(--text-tertiary);background:var(--bg-elevated)}.fileRow__status--requesting,.fileRow__status--uploading,.fileRow__status--finalizing{color:var(--amber);background:var(--amber-glow)}.fileRow__status--done{color:#4caf6e;background:#4caf6e1a}.fileRow__status--failed{color:var(--error);background:var(--error-bg)}.fileRow__actions{grid-area:1/2/4;align-items:center;display:flex}.fileRow__retry{border:1px solid var(--error);color:var(--error);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:2px;padding:4px 12px;font-size:.7rem;transition:background .12s,color .12s}.fileRow__retry:hover{background:var(--error);color:var(--text-primary)}.fileRow__progress{background:var(--bg-elevated);border-radius:1px;grid-area:3/1/auto/3;height:2px;margin-top:4px;overflow:hidden}.fileRow__progressBar{background:var(--amber);border-radius:1px;height:100%;transition:width .1s linear}.fileRow__progressBar--indeterminate{animation:1.2s ease-in-out infinite indeterminate;width:25%!important}.fileRow__error{font-family:var(--font-mono);color:var(--error);grid-area:4/1;margin-top:2px;font-size:.7rem}.batchSummary{border-bottom:1px solid var(--border-bright);margin-bottom:4px;padding:16px 0 12px}.batchSummary__counts{flex-wrap:wrap;gap:20px;margin-bottom:10px;display:flex}.batchSummary__stat{flex-direction:column;gap:2px;display:flex}.batchSummary__statLabel{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);font-size:.6rem}.batchSummary__statValue{font-family:var(--font-display);color:var(--text-primary);font-size:1.1rem;font-weight:600}.batchSummary__statValue--amber{color:var(--amber)}.batchSummary__statValue--green{color:#4caf6e}.batchSummary__statValue--error{color:var(--error)}.batchSummary__overallBar{background:var(--bg-elevated);border-radius:2px;height:3px;overflow:hidden}.batchSummary__overallFill{background:var(--amber);border-radius:2px;height:100%;transition:width .2s}.uploadPage{flex-direction:column;flex:1;gap:24px;width:100%;max-width:720px;margin:0 auto;padding:48px 24px 64px;animation:.28s ease-out both fadeSlideUp;display:flex}.uploadPage--loading,.uploadPage--invalid{justify-content:center;align-items:center}.uploadPage__loadingMsg{font-family:var(--font-mono);color:var(--text-secondary);font-size:.85rem}.uploadPage__invalidBox{text-align:center;max-width:400px}.uploadPage__invalidTitle{font-family:var(--font-display);color:var(--text-primary);margin-bottom:12px;font-size:1.4rem;font-weight:700}.uploadPage__invalidBody{font-family:var(--font-mono);color:var(--text-secondary);font-size:.8rem;line-height:1.6}.uploadPage__header{flex-direction:column;gap:4px;display:flex}.uploadPage__projectName{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:700}.uploadPage__tagline{font-family:var(--font-mono);color:var(--text-secondary);margin:0;font-size:.75rem}.uploadPage__fileList{flex-direction:column;display:flex}.uploadPage__actions{justify-content:flex-end;display:flex}.uploadPage__uploadBtn{border:1.5px solid var(--amber);background:var(--amber);color:#0d0f0e;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:2px;padding:8px 28px;font-size:.8rem;font-weight:500;transition:background .12s,color .12s,border-color .12s}.uploadPage__uploadBtn:hover:not(:disabled){color:var(--amber);background:0 0}.uploadPage__uploadBtn:disabled{opacity:.5;cursor:not-allowed}
