:root{color-scheme:light;font-family:Nunito Sans,system-ui,-apple-system,Segoe UI,sans-serif;--primary: #4b5f57;--primary-dark: #3a4a44;--bg-base: #fbf5e9;--bg-alt: #f3e9d6;--border: #e4d7bb;--text-primary: #3a2e1e;--text-secondary: #6b5d45;--error: #b23b2e}*{box-sizing:border-box}body{margin:0;background:var(--bg-base);color:var(--text-primary)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 4px 20px #00000014;width:320px;display:flex;flex-direction:column;gap:.5rem}.login-card .brand-logo{height:2.6rem;width:auto;margin:0 0 .25rem}.subtitle{margin:0 0 1rem;color:#666}label{font-size:.9rem;font-weight:600;margin-top:.5rem}input,select{padding:.6rem;border:1px solid #ccc;border-radius:6px;font-size:1rem}button{padding:.6rem 1rem;border:none;border-radius:6px;background:var(--primary);color:#fff;font-size:1rem;cursor:pointer;margin-top:.5rem}button:disabled{opacity:.6;cursor:not-allowed}button.danger{background:var(--error)}.error{color:var(--error);font-size:.9rem}.status{color:var(--primary);font-size:.9rem}.shell header{display:flex;align-items:center;gap:1.5rem;padding:1rem 2rem;background:#fff;border-bottom:1px solid #e2e2e2}.shell header .brand-logo{height:2rem;width:auto}.shell nav{display:flex;gap:.5rem}.shell nav button{background:#eee;color:#333;margin:0}.shell nav button.active{background:var(--primary);color:#fff}.shell header .logout{margin-left:auto;background:#eee;color:#333}.shell main{padding:2rem;max-width:900px;margin:0 auto}.upload-form{display:flex;flex-direction:column;gap:.4rem;background:#fff;padding:1.5rem;border-radius:12px}.dropzone{border:2px dashed #ccc;border-radius:10px;padding:2rem;text-align:center;position:relative;margin-bottom:1rem}.dropzone.dragover{border-color:var(--primary);background:#f0f7f3}.dropzone input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.progress-bar{height:8px;background:#eee;border-radius:4px;overflow:hidden;margin-top:.5rem}.progress-fill{height:100%;background:var(--primary);transition:width .2s}.audios-list table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}.audios-list th,.audios-list td{padding:.6rem .8rem;text-align:left;border-bottom:1px solid #eee;font-size:.9rem}.audios-list .actions{display:flex;gap:.4rem}.audios-list .actions button{margin:0;padding:.4rem .6rem;font-size:.85rem}
