*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--red: #C8102E;--red-dark: #9E0B22;--charcoal: #232329;--body-bg: #F4F5F7;--card-bg: #FFFFFF;--text: #232329;--muted: #6B7280;--border: #E3E5E9;--white: #FFFFFF;--font: "Open Sans", "Segoe UI", Arial, sans-serif}body{font-family:var(--font);background:var(--body-bg);color:var(--text);min-height:100vh}.landing{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--body-bg);padding:40px 16px;gap:0}.landing-card{background:var(--white);border-radius:12px;box-shadow:0 4px 24px #2323291a;padding:48px 52px 40px;max-width:440px;width:100%;display:flex;flex-direction:column;align-items:center;gap:0;text-align:center}.landing-card img{max-width:200px;margin-bottom:24px}.landing-rule{width:48px;height:4px;background:var(--red);border-radius:2px;margin:0 auto 20px}.landing-card h1{font-size:1.6rem;font-weight:700;color:var(--charcoal);letter-spacing:-.3px;margin-bottom:10px}.landing-card p{color:var(--muted);font-size:.95rem;line-height:1.65;margin-bottom:28px;max-width:340px}.landing-link{background:none;border:none;color:var(--red);font-size:inherit;cursor:pointer;text-decoration:underline;padding:0;font-family:var(--font)}.landing-link:hover{color:var(--red-dark)}.landing-signin{font-size:.82rem;color:var(--muted);margin-top:20px}.btn{display:inline-block;padding:11px 28px;border-radius:6px;border:2px solid var(--charcoal);background:transparent;color:var(--charcoal);font-family:var(--font);font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.btn:hover{background:var(--charcoal);color:var(--white)}.btn.primary{background:var(--red);border-color:var(--red);color:var(--white)}.btn.primary:hover{background:var(--red-dark);border-color:var(--red-dark)}button.small{padding:4px 12px;font-size:.8rem;border:1px solid var(--border);border-radius:4px;background:var(--white);cursor:pointer;color:var(--slate)}button.small:hover{background:var(--border)}.page{max-width:1100px;margin:0 auto;padding:32px 24px}.page h2{font-size:1.4rem;font-weight:700;color:var(--charcoal);margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--red);display:inline-block}.page h3{font-size:1.1rem;font-weight:600;margin:20px 0 10px}.topbar{background:var(--charcoal);color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:56px;position:sticky;top:0;z-index:100}.topbar a{color:var(--white);text-decoration:none;font-weight:600;font-size:1.1rem}.topbar-logo{height:34px;background:var(--white);border-radius:4px;padding:3px 8px;display:block}.topbar .user{font-size:.85rem;color:#d1d5db;display:flex;align-items:center;gap:12px}.cards{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:32px}.cards li{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:8px}.cards li a{font-weight:600;color:var(--charcoal);text-decoration:none}.cards li a:hover{color:var(--red)}.cards li small{color:var(--muted);font-size:.8rem}.columns{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start}@media (max-width: 680px){.columns{grid-template-columns:1fr}}.folders{list-style:none;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;overflow:hidden}.folders li{border-bottom:1px solid var(--border)}.folders li:last-child{border-bottom:none}.folders button{width:100%;text-align:left;padding:12px 16px;border:none;background:none;cursor:pointer;font-size:.95rem;font-family:var(--font);color:var(--charcoal);display:block}.folders button:hover{background:var(--border)}.folders small{display:block;color:var(--muted);font-size:.75rem;padding:0 16px 8px}.files{list-style:none;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:20px}.files li{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);font-size:.9rem}.files li:last-child{border-bottom:none}.files .fname{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files small{color:var(--muted);font-size:.78rem;white-space:nowrap}.player{background:#000;border-radius:8px;overflow:hidden;margin-top:12px}.player video{width:100%;display:block}.audit-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:12px}.audit-table th{background:var(--charcoal);color:var(--white);padding:8px 12px;text-align:left;white-space:nowrap}.audit-table td{padding:7px 12px;border-bottom:1px solid var(--border);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-table tr:nth-child(2n) td{background:#f9f9f8}.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-row label{font-size:.85rem;font-weight:600;color:var(--slate)}.form-row input,.form-row select,.form-row textarea{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-family:var(--font);font-size:.95rem;background:var(--white)}.form-row input:focus,.form-row select:focus{outline:2px solid var(--red);outline-offset:1px}.badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.badge.green{background:#d4edda;color:#155724}.badge.red{background:#f8d7da;color:#721c24}.badge.grey{background:var(--border);color:var(--slate)}.drop-zone{border:2px dashed var(--border);border-radius:8px;padding:20px 16px;text-align:center;color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:12px;-webkit-user-select:none;user-select:none}.drop-zone:hover,.drop-zone.drag-active{border-color:var(--red);background:#b2292e0a;color:var(--charcoal)}.drop-zone.drag-active *{pointer-events:none}.drop-zone .drop-hint{font-size:.9rem;margin-bottom:4px}.drop-zone .drop-hint strong{color:var(--red)}.drop-progress{height:4px;background:var(--border);border-radius:2px;margin-top:8px;overflow:hidden}.drop-progress-bar{height:100%;background:var(--red);border-radius:2px;transition:width .2s}.error-banner{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;border-radius:6px;padding:12px 16px;margin-bottom:20px;font-size:.9rem}.loading{color:var(--muted);font-style:italic;padding:20px 0}
