:root{--bg:#fbf6f1;--panel:#ffffff;--line:#f0e2d8;--line-soft:#f7ede5;--text:#38302d;--dim:#9b8d86;--faint:#c4b8b1;--accent:#fc7059;--accent-dark:#e85e47;--accent-soft:#fff1ec;--blush:#f9b1a5;--blue:#2f91d4;--sky:#bcdbf0;--sky-soft:#f2f9fe;--sun:#fed032;--orange:#ffa800;--ok:#2e9e64;--ok-soft:#e2f4ea;--warn:#b98a00;--warn-soft:#fff4cc;--bad:#ca2c2c;--bad-soft:#fbe3e3;--shadow-sm:0 1px 3px rgba(58,50,48,.07);--shadow-md:0 4px 16px rgba(58,50,48,.09);--radius:12px}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 Montserrat,-apple-system,Segoe UI,sans-serif}h1,h2,h3,.display{font-family:Londrina Solid,Montserrat,sans-serif;font-weight:400;letter-spacing:.4px}.app{display:flex;min-height:100vh}.main{flex:1;padding:28px 32px 48px;max-width:1160px;min-width:0}.side{width:232px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--line);padding:20px 14px 16px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow-y:auto}.side .brand{display:flex;align-items:center;gap:10px;padding:2px 8px 18px;border-bottom:1px solid var(--line-soft);margin-bottom:14px}.side .brand img{width:40px;height:40px;object-fit:contain}.side .brand .name{font-family:Londrina Solid,sans-serif;font-size:21px;line-height:1.1;color:var(--text)}.side .brand .sub{font-size:10.5px;color:var(--dim);letter-spacing:.6px;text-transform:uppercase}.side .section{font-size:10.5px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;color:var(--faint);padding:14px 10px 5px}.side button.nav{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;color:var(--dim);padding:9px 10px;border-radius:10px;cursor:pointer;font-size:13.5px;font-family:inherit;font-weight:500;transition:background .12s,color .12s}.side button.nav svg{width:17px;height:17px;flex-shrink:0;opacity:.75}.side button.nav.active{background:var(--accent);color:#fff;font-weight:600;box-shadow:0 2px 8px #fc705959}.side button.nav.active svg{opacity:1}.side button.nav:hover:not(.active){background:var(--accent-soft);color:var(--text)}.side .spacer{flex:1}.side .me{display:flex;align-items:center;gap:10px;padding:10px;border-top:1px solid var(--line-soft);margin-top:10px;border-radius:10px;cursor:pointer;border:none;background:none;width:100%;font-family:inherit;text-align:left}.side .me:hover,.side .me.active{background:var(--sky-soft)}.side .me .avatar{width:32px;height:32px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.side .me .who{min-width:0}.side .me .who .nm{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side .me .who .rl{font-size:11px;color:var(--dim);text-transform:capitalize}.side .signout{display:flex;align-items:center;gap:8px;background:none;border:none;color:var(--dim);padding:8px 10px;border-radius:10px;cursor:pointer;font-size:12.5px;font-family:inherit}.side .signout:hover{color:var(--bad);background:var(--bad-soft)}h2{margin:0 0 4px;font-size:26px;color:var(--text)}h2+.row,h2+p{margin-top:14px}h3{margin:26px 0 10px;font-size:17px;color:var(--accent-dark)}.row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;align-items:center}.row h2{margin-right:auto}.dim{color:var(--dim)}input,select{background:#fff;border:1px solid var(--line);color:var(--text);padding:9px 12px;border-radius:10px;font-family:inherit;font-size:13.5px;transition:border-color .12s,box-shadow .12s}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #fc70592e}input::placeholder{color:var(--faint)}button.primary{background:var(--accent);color:#fff;border:none;padding:9px 18px;border-radius:10px;cursor:pointer;font-family:inherit;font-weight:600;font-size:13.5px;transition:background .12s,transform .06s;box-shadow:0 2px 6px #fc70594d}button.primary:hover{background:var(--accent-dark)}button.primary:active{transform:translateY(1px)}button.primary:disabled{background:var(--blush);cursor:default;box-shadow:none}button.ghost{background:#fff;border:1px solid var(--line);color:var(--blue);padding:7px 12px;border-radius:10px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;transition:border-color .12s,background .12s}button.ghost:hover{border-color:var(--blue);background:var(--sky-soft)}table{width:100%;border-collapse:separate;border-spacing:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}th,td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line-soft);font-size:13.5px}th{color:var(--dim);background:#fdf8f4;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.7px;border-bottom:1px solid var(--line)}tbody tr{transition:background .1s}tbody tr:hover{background:#fffaf6}tr:last-child td{border-bottom:none}td code{background:var(--line-soft);padding:1px 6px;border-radius:6px;font-size:12px}a{color:var(--blue)}.tag{padding:3px 10px;border-radius:99px;font-size:11.5px;font-weight:700;letter-spacing:.2px;display:inline-block}.tag.uploaded{background:var(--ok-soft);color:var(--ok)}.tag.recorded,.tag.uploading{background:var(--warn-soft);color:var(--warn)}.tag.failed,.tag.flag{background:var(--bad-soft);color:var(--bad)}.cards{display:flex;gap:14px;margin-bottom:24px;flex-wrap:wrap}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px 14px;min-width:150px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent),var(--orange))}.card .n{font-size:30px;font-family:Londrina Solid,sans-serif;color:var(--text);line-height:1.15}.card .l{color:var(--dim);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;margin-top:2px}.player{position:fixed;top:0;right:0;bottom:0;left:0;background:#38302d99;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:10}.player .inner{background:var(--panel);padding:22px;border-radius:16px;max-width:880px;width:92%;box-shadow:var(--shadow-md);max-height:90vh;overflow-y:auto}.player h2{font-size:19px}video{width:100%;border-radius:12px;background:#000;margin-top:8px}details{margin-top:12px}summary{cursor:pointer;color:var(--blue);font-weight:600;font-size:13px}.login{display:flex;align-items:center;justify-content:center;min-height:100vh;flex-direction:column;gap:0;padding:20px;background:radial-gradient(circle at 12% 18%,rgba(252,112,89,.1),transparent 42%),radial-gradient(circle at 88% 82%,rgba(47,145,212,.1),transparent 42%),var(--bg)}.login .box{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:38px 42px 34px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;max-width:400px}.login .logo{width:190px;margin-bottom:6px}.login h1{margin:0;font-size:30px;color:var(--text)}.login .tagline{color:var(--dim);font-size:13px;margin:0 0 18px}.login form{display:flex;flex-direction:column;gap:12px;width:100%}.login input{width:100%;padding:11px 13px}.login button.primary{width:100%;padding:11px;font-size:14.5px;margin-top:4px}.login .err{color:var(--bad);font-size:13px;margin-top:12px}@media(max-width:820px){.app{flex-direction:column}.side{width:100%;height:auto;position:static;flex-direction:row;flex-wrap:wrap;align-items:center;padding:10px}.side .brand{border-bottom:none;padding-bottom:2px;margin-bottom:0}.side .section,.side .me .who{display:none}.side button.nav{width:auto}.side .spacer{display:none}.side .me{border-top:none;margin-top:0;width:auto}.main{padding:18px 16px 40px}}
