body{margin:0;background:var(--tp-bg);color:var(--tp-ink);font-family:var(--tp-body);line-height:1.5}*{box-sizing:border-box}::selection{background:var(--tp-olive);color:white}a{color:var(--tp-olive);text-underline-offset:4px}button,input{font:inherit}button,.download{min-height:44px;border:0;border-radius:var(--tp-radius-sm);padding:11px 20px;background:var(--tp-olive);color:white;font-weight:700;cursor:pointer}button:hover,.download:hover{background:var(--tp-olive-dark);color:white}button:disabled{opacity:.65;cursor:wait}:focus-visible{outline:3px solid var(--tp-accent-2);outline-offset:4px}.files-header{max-width:1080px;margin:auto;padding:24px 32px;display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-weight:700}.brand img{object-fit:contain}.secondary{background:transparent;color:var(--tp-olive);border:1px solid var(--tp-line)}.secondary:hover{background:var(--tp-tint);color:var(--tp-olive)}main{margin:35px auto 80px;padding:0 32px;max-width:1080px}h1{font-family:inherit;font-size:clamp(2.4rem,5vw,3.5rem);line-height:1.1;margin:0 0 32px;font-weight:800;letter-spacing:-.03em}h2{font-family:inherit;font-size:1.35rem;margin:0 0 18px;font-weight:700}.login{max-width:470px;margin-top:70px}.login-form{display:grid;gap:12px}.login-form label:not(:first-of-type){margin-top:10px}input:not([type=file]){width:100%;min-height:48px;border:1px solid var(--tp-line);border-radius:var(--tp-radius-sm);background:white;padding:10px 14px;color:var(--tp-ink);caret-color:var(--tp-accent)}input::placeholder{color:#626875}.login-form button{margin-top:16px}.upload{background:var(--tp-paper);padding:28px;border-radius:var(--tp-radius-lg);margin-bottom:42px}.upload form{display:grid;gap:14px}.file-label{font-weight:700}.file-label span{display:block;color:#515969;font-weight:400;font-size:.9rem;margin-top:4px}input[type=file]{width:100%;padding:22px;border:2px dashed var(--tp-tint-border);border-radius:var(--tp-radius-sm);background:var(--tp-bg)}input[type=file]::file-selector-button{font:inherit;padding:9px 14px;border:1px solid var(--tp-line);border-radius:var(--tp-radius-sm);margin-right:14px;background:white;color:var(--tp-ink);cursor:pointer}.upload button{justify-self:start}.upload p:empty{display:none}.upload p{margin:0}.list-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.list-heading h2{margin:0}.count{font-size:.9rem;color:#515969;margin-left:8px;font-variant-numeric:tabular-nums}.search-label{font-size:.85rem;max-width:280px;display:grid;gap:4px}ul{list-style:none;padding:0;margin:0}li{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;border-top:1px solid var(--tp-line)}li[hidden]{display:none}.file-details{min-width:0}.file-details strong{display:block;overflow-wrap:anywhere}.file-details span{font-size:.85rem;color:#515969;font-variant-numeric:tabular-nums}.download{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none;background:transparent;color:var(--tp-olive);border:1px solid var(--tp-line);padding:9px 14px}.empty{border-top:1px solid var(--tp-line);padding:25px 0}.empty p{margin:0 0 8px}.empty p+p{color:#515969;font-size:.95rem}.message{padding:14px 18px;border-radius:var(--tp-radius-sm);margin-bottom:24px}.error{color:#872424;background:#f9dddd}.success{color:#23502e;background:#dfeddf}footer{max-width:1080px;margin:0 auto;padding:24px 32px;border-top:1px solid var(--tp-line);font-size:.9rem}@media(max-width:600px){.files-header{padding:18px}.brand{font-size:.9rem;gap:8px}.brand img{width:42px;height:42px}main{padding:0 18px;margin-top:28px}.login{margin-top:48px}.upload{padding:20px}.list-heading{align-items:stretch;flex-direction:column}.search-label{max-width:none}li{gap:12px}.download{padding:9px;font-size:.85rem}footer{padding:20px 18px}.secondary{padding:9px 12px;font-size:.85rem}}
