:root{--bg:#4d070b;--bg-deep:#240204;--surface:#671214bd;--surface-strong:#851418e0;--surface-soft:#ffeed61f;--surface-warm:#b0262199;--text:#fff7ec;--muted:#d9c5b7;--muted-strong:#f4dfc9;--border:#f5b9504d;--border-strong:#ffd17885;--primary:#d99a36;--primary-strong:#f2c15f;--primary-soft:#d99a3624;--danger:#ff8d7b;--danger-soft:#ff705c24;--warning:#ffd794;--focus:#f2c15f;--shadow:0 24px 70px #2c000357;--font:"Roboto", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading:"Roboto Condensed", "Roboto", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--text);background:var(--bg);font-family:var(--font);letter-spacing:0;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{background:repeating-linear-gradient(118deg,#0000 0 72px,#ffda960f 72px 73px,#0000 73px 144px),linear-gradient(135deg,#ffe09a2e 0%,#0000 28%),linear-gradient(160deg,#8a1016 0%,#5f090e 42%,#2b0306 100%);min-width:320px;min-height:100svh;margin:0;overflow-x:hidden}body:after{z-index:-1;content:"";pointer-events:none;background:linear-gradient(102deg,#0000 0%,#ff2c242e 18%,#0000 34%) -30vw 0/120vw 100%,linear-gradient(90deg,#ffcd7017 1px,#0000 1px) 0 0/74px 74px,linear-gradient(0deg,#ffcd7012 1px,#0000 1px) 0 0/74px 74px,linear-gradient(#fff7ec14,#0000 42%) 0 0/100% 100%;animation:28s linear infinite backgroundFlow;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#000000b8 58%,#0000 100%);mask-image:linear-gradient(#000 0%,#000000b8 58%,#0000 100%)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #f2c15f57}h1,h2,h3,p{margin:0}h1{color:#fff9f1;font-family:var(--font-heading);text-transform:uppercase;font-size:3.5rem;font-weight:800;line-height:.98}h2{color:#fff7ec;font-size:1.16rem;font-weight:900;line-height:1.2}h3{color:#fff7ec;font-size:1.02rem;font-weight:800;line-height:1.3}#app{min-height:100svh}.app-shell{width:min(1210px,100% - 36px);min-height:100svh;margin:0 auto;padding:24px 0 42px;position:relative}.app-shell:before{z-index:-1;content:"";opacity:.6;pointer-events:none;background:repeating-linear-gradient(100deg,#0000 0 34px,#ffdc9414 34px 38px,#0000 38px 72px);height:34svh;animation:18s ease-in-out infinite stripeLift;position:fixed;inset:auto 0 0;transform:translateY(18%)}.loading-state,.login-shell{place-items:center;min-height:calc(100svh - 66px);display:grid}.loading-state{color:var(--muted);gap:10px}.login-panel{border:1px solid var(--border-strong);width:min(560px,100%);box-shadow:var(--shadow);text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(155deg,#ffffff21,#ffffff08),#761316c7;border-radius:7px;padding:34px 38px 36px;animation:.52s both panelRise;position:relative;overflow:hidden}.login-panel:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 0%,#ffdd9a29 42%,#0000 58%);animation:8.5s ease-in-out infinite panelSweep;position:absolute;inset:0;transform:translate(-120%)}.login-panel>*{z-index:1;position:relative}.login-panel h1{max-width:100%;color:var(--primary-strong);margin-top:18px;font-size:1.65rem;line-height:1}.brand-logo{object-fit:contain;filter:drop-shadow(0 18px 24px #2f000452);width:min(420px,92%);max-height:140px;margin:0 auto;display:block}.brand-subtitle{color:var(--primary-strong);text-transform:uppercase;margin-top:5px;font-size:1rem;font-weight:900}.login-form,.stack{gap:14px;display:grid}.login-form{margin-top:28px}.setup-copy{color:var(--muted);margin-top:12px}.topbar{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:245px;padding:28px 0 34px;display:flex;position:relative}.topbar>*{position:relative}.eyebrow{color:var(--primary-strong);text-transform:uppercase;font-size:.76rem;font-weight:900}.account-strip{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff12;border:1px solid #ffffff1a;border-radius:7px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:9px;display:flex}.account-name{max-width:260px;color:var(--muted-strong);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.role-badge,.count-badge,.file-type{text-transform:uppercase;border:1px solid #d99a362e;border-radius:999px;align-items:center;min-height:28px;padding:3px 10px;font-size:.74rem;font-weight:900;display:inline-flex}.role-badge-admin{color:#1b0708;background:linear-gradient(135deg,#f2c15f,#d99a36)}.role-badge-viewer,.count-badge,.file-type{color:var(--primary-strong);background:#d99a361f}.notice-band,.admin-section,.library-section{border:1px solid var(--border);background:linear-gradient(145deg, #ffffff1a, #ffffff08), var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:7px;animation:.52s both panelRise;overflow:hidden}.notice-band{background:linear-gradient(135deg,#f2c15f33,#dc222652),#7c1316d1;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:15px 16px;display:flex}.notice-band p{color:var(--muted)}.admin-section,.library-section{margin-top:18px}.section-heading{border-bottom:1px solid var(--border);background:#ffffff0f;justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:17px 19px;display:flex}.section-heading-actions{align-items:center;gap:10px;display:flex}.button,.icon-button{cursor:pointer;min-height:40px;color:inherit;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;text-decoration:none;transition:background-color .16s,border-color .16s,color .16s,transform .16s,box-shadow .16s;display:inline-flex}.button{padding:8px 14px;font-weight:900}.icon-button{background:#ffffff14;border-color:#ffffff1f;width:40px;padding:0}.button:hover,.icon-button:hover{transform:translateY(-1px);box-shadow:0 12px 24px #00000047}.button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}.button-primary{color:#1b0708;background:linear-gradient(135deg,#f2c15f,#d99a36 50%,#b96f21);position:relative;overflow:hidden;box-shadow:0 15px 32px #d99a362e}.button-primary:after{content:"";background:linear-gradient(90deg,#0000,#ffffff7a,#0000);width:55%;transition:left .52s;position:absolute;inset:-40% auto -40% -70%;transform:skew(-18deg)}.button-primary:hover:after{left:120%}.button-primary>*{z-index:1;position:relative}.button-primary:hover{background:linear-gradient(135deg,#ffdb89,#dda03c 50%,#c77a25)}.button-muted{color:#fff7ec;background:#ffffff14;border-color:#ffffff24}.button-danger,.icon-danger{color:var(--danger);background:var(--danger-soft);border-color:#ff8d7b52}.icon-success{color:var(--primary-strong);background:#d99a3629;border-color:#d99a3652}.field,.checkbox-field{color:var(--muted-strong);gap:6px;font-size:.9rem;font-weight:700;display:grid}.field input,.field textarea,.field select,.inline-input,.inline-textarea{width:100%;color:var(--text);background:#ffffff14;border:1px solid #ffffff21;border-radius:7px}.field input,.field select,.inline-input{min-height:43px;padding:8px 12px}.field textarea,.inline-textarea{resize:vertical;min-height:86px;padding:10px 12px}.field input::placeholder,.field textarea::placeholder{color:#fff7ec75}.field select,.compact-select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.checkbox-field{grid-template-columns:auto 1fr;align-items:center;gap:8px;display:inline-flex}.checkbox-field input{width:18px;height:18px;accent-color:var(--primary)}.upload-form,.user-create-form{gap:14px;padding:18px;display:grid}.upload-grid,.user-create-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.file-picker{min-height:118px;color:var(--muted);cursor:pointer;text-align:center;background:linear-gradient(135deg,#d99a3621,#ffffff0a),#ffffff0a;border:1px dashed #f2c15f7a;border-radius:7px;place-items:center;gap:8px;display:grid}.file-picker input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.upload-preview{width:min(360px,100%);height:170px;color:var(--primary-strong);background:#ffffff12;border:1px solid #d99a363d;border-radius:7px;place-items:center;display:grid;overflow:hidden}.upload-preview-empty{border-style:dashed;height:96px}.upload-preview img{object-fit:contain;width:100%;height:100%}.file-list{display:grid}.file-row{background:#ffffff06;border-bottom:1px solid #d99a3629;grid-template-columns:116px minmax(0,1fr) auto;align-items:center;gap:17px;min-height:136px;padding:17px 19px;display:grid}.file-row:nth-child(2n){background:#ffffff0b}.file-row:last-child{border-bottom:0}.file-preview{background:#ffffff12;border:1px solid #d99a363d;border-radius:7px;place-items:center;width:116px;height:96px;display:grid;overflow:hidden}.file-preview img{object-fit:contain;width:100%;height:100%}.file-placeholder-wrap{color:var(--primary-strong);text-transform:uppercase;place-items:center;gap:6px;font-size:.72rem;font-weight:900;display:grid}.file-placeholder{color:var(--primary-strong)}.file-content{gap:8px;min-width:0;display:grid}.file-content p,.muted{color:var(--muted)}.file-content h3,.file-content p{overflow-wrap:anywhere}.file-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.88rem;display:flex}.file-actions,.edit-actions,.table-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.empty-state{color:var(--muted);text-align:center;padding:38px 18px}.user-table-wrap{overflow-x:auto}.user-table{border-collapse:collapse;width:100%}.user-table th,.user-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #d99a3629;padding:13px 14px}.user-table th{color:var(--primary-strong);text-transform:uppercase;font-size:.74rem;font-weight:900}.user-table tr:last-child td{border-bottom:0}.user-email{gap:2px;display:grid}.user-email strong,.user-email span{overflow-wrap:anywhere}.compact-select{min-width:112px;min-height:38px;color:var(--text);background:#ffffff14;border:1px solid #ffffff21;border-radius:7px;padding:6px 9px}.spin{animation:1s linear infinite spin}.toast-notification{z-index:20;border:1px solid var(--border-strong);width:min(430px,100vw - 32px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#42080af0;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px;display:grid;position:fixed;top:20px;right:20px}.toast-notification strong{color:#fff9f1;margin-bottom:2px;display:block}.toast-notification p{color:var(--muted-strong)}.toast-success{color:var(--primary-strong)}.toast-error{color:var(--danger)}.toast-close{width:34px;min-height:34px}.toast-enter-active,.toast-leave-active,.cookie-enter-active,.cookie-leave-active,.modal-enter-active,.modal-leave-active{transition:opacity .18s,transform .18s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(-10px)}.legal-footer{justify-content:center;padding:28px 0 0;display:flex}.text-button{color:var(--muted-strong);cursor:pointer;text-underline-offset:4px;background:0 0;border:0;font-weight:800;text-decoration:underline}.cookie-banner{z-index:25;border:1px solid var(--border-strong);width:min(780px,100vw - 28px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#340608f5;border-radius:7px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.cookie-banner strong{margin-bottom:4px;display:block}.cookie-banner p{color:var(--muted-strong)}.cookie-actions{flex-shrink:0;gap:10px;display:flex}.cookie-enter-from,.cookie-leave-to{opacity:0;transform:translate(-50%,12px)}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#160002ad;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.privacy-modal{border:1px solid var(--border-strong);width:min(760px,100%);max-height:min(760px,100svh - 36px);box-shadow:var(--shadow);background:linear-gradient(145deg,#ffffff1a,#ffffff08),#5d0d10fa;border-radius:7px;overflow:hidden}.privacy-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:18px;display:flex}.privacy-content{gap:14px;max-height:calc(100svh - 160px);padding:18px;display:grid;overflow:auto}.privacy-content p{color:var(--muted-strong)}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .privacy-modal,.modal-leave-to .privacy-modal{transform:translateY(12px)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes backgroundFlow{to{background-position:110vw 0,74px 0,0 74px,0 0}}@keyframes stripeLift{0%,to{opacity:.42;transform:translateY(18%)}50%{opacity:.72;transform:translateY(4%)}}@keyframes panelRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes panelSweep{0%,35%{transform:translate(-120%)}60%,to{transform:translate(120%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media (width<=760px){.app-shell{width:min(100% - 20px,1210px);padding-top:16px}.topbar{min-height:190px}.notice-band,.section-heading{flex-direction:column;align-items:flex-start}.account-strip,.file-actions,.edit-actions,.section-heading-actions{justify-content:flex-start}.account-strip{justify-content:center}.upload-grid,.user-create-grid,.file-row{grid-template-columns:1fr}.file-preview{width:100%;height:180px}.cookie-banner{flex-direction:column;align-items:stretch}.cookie-actions{flex-direction:column}.toast-notification{width:auto;top:12px;left:14px;right:14px}}.brand-heading{justify-items:center;gap:10px;display:grid}.header-logo{object-fit:contain;filter:drop-shadow(0 18px 28px #2a000457);width:min(440px,78vw);max-height:150px}.topbar h1{color:var(--primary-strong);font-size:2.35rem}@media (width<=760px){h1{font-size:2.4rem}.login-panel{padding:28px 24px 30px}.login-panel h1{font-size:1.45rem}.brand-logo{width:min(360px,100%)}.topbar h1{font-size:2rem}}
