*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top left,#0f172a 0,#020617 40%,#000);color:#e5e7eb}.app-root{min-height:100vh;display:flex;flex-direction:column}.app-header{padding:1.25rem 2rem;border-bottom:1px solid rgba(148,163,184,.2);backdrop-filter:blur(8px)}.logo-section{display:flex;align-items:center;gap:1rem;min-height:64px}.logo-image{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(34,197,94,.35))}.title-group h1{margin:0;font-size:1.5rem;font-weight:600;letter-spacing:.03em}.subtitle{margin:.2rem 0 0;font-size:.85rem;color:#9ca3af}.app-main{flex:1;display:flex;flex-direction:column;padding:1rem 2rem 1.5rem;gap:1rem}.panel{background:rgba(15,23,42,.9);border-radius:1rem;border:1px solid rgba(148,163,184,.2);padding:1.25rem 1.5rem;display:flex;flex-direction:column}.panel-top{flex:1}.panel-bottom{flex:1;overflow:hidden}.controls-row{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem}.control-group{min-width:160px}.field-label{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#9ca3af;margin-bottom:.3rem}select{background:#020617;color:#e5e7eb;border-radius:999px;padding:.35rem .75rem;border:1px solid rgba(148,163,184,.4);outline:none}select:focus{border-color:#22c55e}.status-text{padding:.35rem .75rem;border-radius:999px;background:rgba(30,64,175,.4);display:inline-flex;align-items:center;gap:.35rem}.timer{padding:.35rem .75rem;border-radius:999px;background:rgba(15,23,42,.9);border:1px dashed rgba(148,163,184,.6);font-variant-numeric:tabular-nums}.buttons-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.btn{border:none;border-radius:999px;padding:.6rem 1.4rem;font-size:.95rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;transition:transform .08s ease,box-shadow .08s ease,background .15s ease}.btn:disabled{cursor:not-allowed;opacity:.4;box-shadow:none;transform:none}.btn.primary{background:linear-gradient(135deg,#22c55e,#16a34a);color:#022c22;box-shadow:0 10px 30px rgba(34,197,94,.3)}.btn.secondary{background:rgba(37,99,235,.15);color:#e5e7eb;border:1px solid rgba(59,130,246,.6)}.btn.danger{background:rgba(220,38,38,.15);color:#fecaca;border:1px solid rgba(248,113,113,.8)}.btn:not(:disabled):active{transform:translateY(1px) scale(.99);box-shadow:none}.error-banner{margin-bottom:.75rem;padding:.5rem .75rem;border-radius:.75rem;background:rgba(220,38,38,.1);color:#fecaca;font-size:.85rem}.storage-path{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem;font-size:.85rem;color:#9ca3af}.warning-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.6rem .85rem;border-radius:.75rem;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.4);color:#fcd34d;font-size:.85rem}.transcript-container{flex:1;display:flex;flex-direction:column}.transcript-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.transcript-header h2{margin:0;font-size:1rem}.listening-indicator{font-size:.8rem;padding:.2rem .6rem;border-radius:999px;border:1px solid transparent}.listening-indicator.on{background:rgba(22,163,74,.2);border-color:rgba(22,163,74,.6);color:#bbf7d0}.listening-indicator.off{background:rgba(15,23,42,.8);border-color:rgba(148,163,184,.4);color:#9ca3af}.transcript-box{flex:1;min-height:140px;border-radius:.75rem;background:radial-gradient(circle at top left,rgba(15,118,110,.22),rgba(15,23,42,.9));border:1px solid rgba(55,65,81,.9);padding:.9rem 1rem;overflow-y:auto;line-height:1.6}.placeholder{color:#6b7280}.sessions-header h2{margin:0 0 .2rem;font-size:1rem}.sessions-note{margin:0;font-size:.8rem;color:#9ca3af}.sessions-list{margin-top:.8rem;border-radius:.75rem;border:1px solid rgba(55,65,81,.9);background:radial-gradient(circle at top left,rgba(37,99,235,.18),rgba(15,23,42,.95));flex:1;overflow:hidden}.sessions-list table{width:100%;border-collapse:collapse;font-size:.85rem}.sessions-list thead{background:rgba(15,23,42,.95)}.sessions-list th,.sessions-list td{padding:.5rem .75rem;text-align:left}.sessions-list th{font-weight:500;color:#9ca3af;border-bottom:1px solid rgba(55,65,81,.9)}.sessions-list tbody{display:block;max-height:220px;overflow-y:auto}.sessions-list thead,.sessions-list tbody tr{display:table;width:100%;table-layout:fixed}.sessions-list tbody tr:nth-child(odd){background:rgba(15,23,42,.6)}.sessions-list tbody tr:nth-child(2n){background:rgba(15,23,42,.3)}.sessions-list input[type=checkbox]{width:16px;height:16px}.report-actions{margin-top:1rem;display:flex;flex-direction:column;gap:.75rem}.report-actions__summary{display:flex;justify-content:space-between;font-size:.85rem;color:#cbd5f5}.report-actions__cached{color:#34d399}.report-actions__buttons{display:flex;gap:.75rem;flex-wrap:wrap}.cached-preview,.report-output{border:1px solid rgba(55,65,81,.7);border-radius:.75rem;background:rgba(2,6,23,.6);padding:.5rem;display:flex;flex-direction:column;gap:.35rem}.cached-preview__header,.report-output__header{display:flex;justify-content:space-between;font-size:.8rem;color:#94a3b8}.cached-preview textarea,.report-output textarea{width:100%;min-height:120px;border:none;border-radius:.5rem;background:rgba(15,23,42,.8);color:#f8fafc;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8rem;padding:.5rem;resize:vertical}.cached-preview textarea:focus,.report-output textarea:focus{outline:none;box-shadow:0 0 0 2px rgba(56,189,248,.4)}@media (max-width: 768px){.app-main{padding:.75rem 1rem 1rem}.panel{padding:1rem}.sessions-list tbody{max-height:180px}}@media (max-width: 600px){.controls-row,.buttons-row{flex-direction:column}.sessions-list{overflow-x:auto}.storage-path{flex-direction:column}}
