: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{width:100%;min-height:46px;padding:.72rem .9rem;border:1px solid #d8c9aa;border-radius:10px;font-size:1rem;color:var(--text-primary);background:linear-gradient(180deg,#fffdf8,#fff);box-shadow:inset 0 1px #ffffffe6;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}input::placeholder{color:#9a8b73}input:hover,select:hover{border-color:#c6b48e}input:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #4b5f571f,inset 0 1px #fffffff2;background:#fff}input:disabled,select:disabled{background:#f6efe2;color:#8a7f6a}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.5rem;background-image:linear-gradient(180deg,#fffdf8,#fff),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M3 5.25L7 9.25L11 5.25' stroke='%236b5d45' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat,no-repeat;background-position:0 0,right .9rem center;background-size:auto,14px}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.secondary-button{background:#eee;color:#333}.visually-hidden-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}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:.9rem;background:#fff;padding:1.5rem;border-radius:16px;border:1px solid rgba(228,215,187,.9);box-shadow:0 14px 36px #3a2e1e14}.upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field{display:flex;flex-direction:column;gap:.38rem}.dropzone{border:2px dashed #ccb892;border-radius:16px;padding:2rem;text-align:center;position:relative;margin-bottom:1rem;background:linear-gradient(180deg,#fffdf8,#f9f1e2);transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.dropzone.dragover{border-color:var(--primary);background:#eef5f0;transform:translateY(-1px)}.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}.batch-card{border:1px solid var(--border);border-radius:14px;padding:1rem;margin-top:1rem;overflow:hidden;background:linear-gradient(180deg,#fff,#fffaf1)}.batch-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.batch-card-header h3{margin:0 0 .25rem}.batch-card-header p{margin:0;color:var(--text-secondary);font-size:.9rem}.batch-actions{display:flex;gap:.5rem}.batch-actions button{margin:0}.batch-summary{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem;color:var(--text-secondary);font-size:.9rem;font-weight:600}.batch-table{width:100%;border-collapse:collapse}.batch-table th,.batch-table td{border-top:1px solid #eee;padding:.75rem .5rem;text-align:left;vertical-align:top}.batch-table th{font-size:.9rem}.batch-table td input{width:100%}.batch-table tbody tr:nth-child(2n){background:#f3e9d659}.batch-file-name{font-weight:700}.batch-file-size{color:var(--text-secondary);font-size:.85rem;margin-top:.15rem}.batch-status{font-size:.9rem;font-weight:600}.batch-status.pending{color:var(--text-secondary)}.batch-status.processing{color:var(--primary)}.batch-status.done{color:var(--primary-dark)}.batch-status.error{color:var(--error)}.batch-row-actions button{margin:0}.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}@media (max-width: 760px){.shell header{flex-wrap:wrap;padding:1rem}.shell main{padding:1rem}.upload-grid{grid-template-columns:1fr}.batch-card-header{flex-direction:column}.batch-table{display:block;overflow-x:auto}}
