:root{--green:#184d3b;--green-2:#236b52;--yellow:#f2c94c;--blue:#254f87;--purple:#654a8e;--cream:#f7f4ea;--ink:#17211d;--muted:#66736d;--card:#fff;--line:#d8dfdb;--danger:#9d2f2f;--shadow:0 10px 25px rgba(20,48,37,.12);--soft:#edf3ef}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--cream);color:var(--ink)}
button,input,textarea,select{font:inherit}
.shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr}
aside{background:linear-gradient(var(--green),var(--green-2));color:#fff;padding:1rem}aside h2{margin-top:.25rem}
nav{display:grid;gap:.4rem}nav button{border:0;background:transparent;color:#fff;text-align:left;padding:.8rem;border-radius:10px;font-weight:700}nav button.active,nav button:hover{background:rgba(255,255,255,.15)}
.workspace{min-width:0}header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--line);background:rgba(246,242,231,.95);position:sticky;top:0}header h1{margin:0}header button,.btn{border:0;background:var(--green);color:#fff;border-radius:10px;padding:.7rem 1rem;font-weight:700;cursor:pointer}.btn.secondary{background:#eef3f0;color:var(--green);border:1px solid var(--line)}
main{padding:1rem;max-width:1200px;margin:auto}.grid{display:grid;gap:1rem}.cols2{grid-template-columns:repeat(2,1fr)}.cols4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1rem;box-shadow:0 8px 24px rgba(20,50,38,.1)}
.hero{border-left:6px solid var(--yellow);background:linear-gradient(135deg,#fff,#e8f1ed)}
.stat{text-align:center}.stat strong{display:block;font-size:2rem;color:var(--green)}.muted{color:var(--muted)}
.list{display:grid;gap:.7rem}.item{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;padding:.8rem;border:1px solid var(--line);border-radius:12px}
.item.done .name{text-decoration:line-through;color:var(--muted)}.name{font-weight:800}.actions{display:flex;gap:.4rem;flex-wrap:wrap}.small{padding:.45rem .65rem}
textarea,input,select{width:100%;padding:.75rem;border:1px solid #bcc8c2;border-radius:10px}.row{display:flex;justify-content:flex-end;gap:.5rem}
dialog{border:0;border-radius:16px;width:min(92vw,440px)}dialog form{display:grid;gap:.8rem}dialog::backdrop{background:rgba(0,0,0,.45)}
.voice-studio .voice-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.voice-grid{display:grid;gap:.8rem}.voice-grid-list{display:grid;gap:.8rem;margin-top:.8rem}.voice-card{padding:.9rem;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.voice-card.active{border-color:var(--green);box-shadow:inset 0 0 0 1px rgba(24,77,59,.2)}.voice-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.voice-meta{font-size:.82rem;color:var(--muted);margin:.35rem 0}.selected-voice-box{padding:.8rem;border:1px solid var(--line);border-radius:12px;background:#f7faf8;margin-top:.75rem}.voice-filter-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.status-message{margin-top:.45rem}.favorite-btn{border:1px solid var(--line);background:#fff;color:var(--ink)}
@media(max-width:800px){.shell{grid-template-columns:1fr}aside{position:static}nav{grid-template-columns:repeat(4,1fr)}nav button{text-align:center;font-size:.8rem}.cols4,.cols2{grid-template-columns:1fr 1fr}.voice-filter-row{grid-template-columns:1fr}}
@media(max-width:520px){nav{grid-template-columns:repeat(2,1fr)}.cols4,.cols2{grid-template-columns:1fr}.voice-studio .voice-header{display:block}}