@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-400.ttf');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-600.ttf');font-weight:600;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-700.ttf');font-weight:700;font-display:swap}@font-face{font-family:Oswald;src:url('/assets/fonts/oswald-600.ttf');font-weight:600;font-display:swap}
:root{--ink:#242329;--muted:#64616d;--canvas:#efeff2;--soft:#f5f4f7;--line:#e5e3eb;--accent:#ddd5ff;--accent-ink:#433373;--dark:#171719;--success:#23684e;--error:#a33535;--radius:16px;font:15px/1.55 Manrope,system-ui,sans-serif;color:var(--ink);background:var(--canvas)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,textarea,select{font:inherit}button,a,label{touch-action:manipulation}button{cursor:pointer;border:0;color:inherit;background:var(--soft);border-radius:10px;min-height:44px;padding:10px 16px;font-weight:600;transition:background .16s}button:hover{background:#e9e3f9}button:disabled{opacity:.5;cursor:default}button.primary,.primary{background:var(--dark);color:#fff}button.primary:hover{background:var(--accent-ink)}.danger{color:var(--error)}.full{width:100%}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;text-wrap:balance;letter-spacing:-.015em;font-family:Oswald,Manrope,sans-serif;font-weight:600}h1{font-size:34px;line-height:1.2}h2{font-size:26px}h3{font-size:21px}p{margin:0 0 14px}input,textarea,select{width:100%;background:var(--soft);border:1px solid transparent;border-radius:10px;min-height:46px;padding:11px 13px;color:var(--ink);outline:none}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,textarea:focus,select:focus{border-color:#8a77bd;background:white}textarea{resize:vertical;min-height:96px}label{display:grid;gap:7px;font-size:14px;font-weight:600}form{display:grid;gap:16px}svg{width:20px;height:20px;display:block;flex-shrink:0}button>span[data-icon]{display:inline-flex;vertical-align:middle;margin-right:7px}button.icon-button>span[data-icon],.send>span[data-icon]{margin:0}.icon-button{width:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;padding:0}.muted{color:var(--muted)}.small,small{font-size:12px}.inline-error{color:var(--error);margin:0}.row{display:flex;align-items:center;gap:10px}.spread{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:grid;gap:16px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.divider{border-top:1px solid var(--line);margin:18px 0}.avatar{display:grid;place-items:center;width:38px;height:38px;min-width:38px;border-radius:50%;background:#eee8fa;color:#433373;font-weight:700}.pill{font-size:12px;border-radius:99px;padding:5px 10px;background:var(--soft);color:var(--muted);display:inline-flex;align-items:center;gap:6px}.pill.success{background:#e1f2ea;color:var(--success)}.pill.warning{background:#fff0d6;color:#785416}.pill.error{background:#fce6e6;color:var(--error)}.tabs{display:flex;gap:5px;background:var(--dark);padding:5px;border-radius:12px}.tabs button{color:#d3cedd;background:transparent;border-radius:8px;flex:1;white-space:nowrap}.tabs button.active{background:var(--accent);color:#30244e}.check{display:flex;align-items:center;gap:10px;font-weight:400}.check input{width:20px;min-height:20px;accent-color:var(--accent-ink)}
.auth-shell{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.auth-brand{background:var(--dark);color:white;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px}.auth-brand img{width:160px;height:160px;margin-bottom:24px}.auth-brand h1{font-size:44px;color:white}.auth-brand p{color:#c1bacd;margin:12px 0}.auth-form{width:min(100%,420px);margin:auto;padding:32px}.auth-form h2{font-size:32px;margin-bottom:22px}.auth-tabs{margin-bottom:24px}.auth-form #first-admin{margin-top:12px}.mobile-logo{display:none;width:60px;margin-bottom:24px}
.app-shell{display:flex;height:100dvh;overflow:hidden}.sidebar{width:274px;flex-shrink:0;padding:24px 16px 16px;background:var(--dark);color:#d0cbd9;display:flex;flex-direction:column;gap:20px}.brand{display:flex;align-items:center;gap:10px;color:white;font-size:20px;font-family:Oswald,sans-serif}.brand img{width:42px;height:42px}.new-project{background:var(--accent);color:#30244e;width:100%;text-align:left}.sidebar-search{display:flex;align-items:center;gap:8px;background:#29272f;border-radius:10px;padding:0 10px;color:#bcb5c9}.sidebar-search input{padding-left:0;background:transparent;color:white;font-size:13px;min-height:42px}.sidebar-search input::placeholder{color:#bcb5c9}.sidebar-search input:focus{border-color:transparent}.project-list{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:5px}.project-list button{color:#d0cbd9;background:transparent;text-align:left;width:100%;padding:12px;min-height:66px}.project-list button strong{display:block;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-list button small{font-size:11px;color:#b5aec1;display:block;margin-top:4px}.project-list button:hover{background:#2b2833}.project-list button.active{background:#383141;color:#f4efff}.project-list .empty{font-size:13px;padding:12px;color:#b5aec1}.sidebar-nav{display:grid;gap:3px;border-top:1px solid #39333f;padding-top:12px}.sidebar-nav button{text-align:left;background:transparent;color:#d0cbd9;font-size:13px}.sidebar-nav button:hover,.sidebar-nav button.active{background:#2b2833;color:white}.sidebar-user{display:flex;align-items:center;gap:9px;padding:12px 4px 0;border-top:1px solid #39333f}.sidebar-user>div{flex:1;min-width:0}.sidebar-user strong{color:white;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.sidebar-user small{font-size:11px;color:#b5aec1}.sidebar-user .icon-button{background:transparent;color:#d0cbd9}.sidebar-user .avatar{width:32px;height:32px;min-width:32px;font-size:12px}.main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.topbar{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:26px 32px 20px;flex-shrink:0}.topbar-title{min-width:0;flex:1}.topbar-title p{font-size:12px;color:var(--muted);margin:0 0 5px}.topbar-title h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-actions{display:flex;gap:8px;flex-shrink:0}.menu-toggle{display:none}.page-content{overflow:auto;min-height:0;flex:1;padding:0 32px 24px;scroll-behavior:smooth}.welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:65vh;text-align:center}.welcome img{width:94px;margin-bottom:22px}.welcome h2{font-size:36px;margin-bottom:12px}.welcome p{max-width:40ch;color:var(--muted);margin-bottom:24px}.welcome .row{justify-content:center}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:24px}.project-tile{padding:20px;background:white;border-radius:16px;text-align:left;min-height:140px}.project-tile h3{margin:12px 0 8px}.surface{background:white;border-radius:16px;padding:24px;margin-bottom:16px}.section-heading{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:20px}.section-heading p{margin:6px 0 0;color:var(--muted);font-size:13px}.content-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.content-toolbar .tabs{flex-shrink:0;min-width:270px}.transcript-search{display:flex;align-items:center;gap:8px;margin-left:auto;background:white;padding:0 12px;border-radius:10px;max-width:310px}.transcript-search input{background:transparent;padding-left:0;border-color:transparent}.transcript-search small{white-space:nowrap}.audio-panel{background:white;border-radius:16px;padding:14px 18px;margin-bottom:16px}.audio-panel audio{width:100%;height:40px;display:block}.audio-panel .row{margin-bottom:6px}.audio-panel small{color:var(--muted);overflow-wrap:anywhere}.speaker-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:14px;scrollbar-width:thin}.speaker-chip{display:flex;align-items:center;gap:8px;background:white;flex-shrink:0;padding:8px 12px;border-radius:12px;font-size:13px;text-align:left}.speaker-chip .avatar{width:30px;height:30px;min-width:30px}.speaker-chip small{display:block;color:var(--muted);font-size:11px}.speaker-chip svg{width:15px;color:var(--muted)}.dialogue{max-width:1050px;margin:auto}.turn{display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;max-width:86%;scroll-margin-top:20px}.turn.right{margin-left:auto;flex-direction:row-reverse}.turn .avatar{margin-top:6px;background:var(--speaker-bg);color:var(--speaker-ink)}.bubble{flex:1;min-width:0;background:var(--speaker-bg);border:1px solid transparent;padding:13px 16px;border-radius:14px}.turn.active .bubble{border:2px solid var(--speaker-ink);padding:12px 15px}.bubble-heading{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:8px}.speaker-name{min-height:24px;padding:0;background:transparent;font-size:12px;color:var(--speaker-ink);text-align:left;max-width:65%;overflow-wrap:anywhere}.speaker-name:hover{background:transparent;text-decoration:underline}.timestamp{padding:0;min-height:24px;font-size:11px;color:var(--muted);background:transparent;white-space:nowrap;font-weight:400}.bubble p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;margin-bottom:8px;font-size:14px}.bubble-actions{display:flex;gap:4px;justify-content:flex-end;opacity:.35}.turn:hover .bubble-actions,.turn:focus-within .bubble-actions{opacity:1}.bubble-actions button{padding:4px 7px;min-height:28px;background:transparent;color:var(--speaker-ink);font-size:11px}.bubble-actions button svg{width:14px;height:14px}.bubble-actions button>span{margin-right:3px}.bubble mark{background:#fbe7a4;color:inherit;border-radius:2px}.load-more{display:block;margin:16px auto}.results{max-width:920px;margin:0 auto}.result-block{padding:24px;background:white;border-radius:16px;margin-bottom:16px;scroll-margin-top:18px}.result-block.user{margin-left:auto;max-width:85%;background:#eae3fb}.result-header{display:flex;gap:12px;align-items:center;margin-bottom:16px}.result-header .avatar{border-radius:10px}.result-header h3{flex:1}.result-header small{color:var(--muted)}.result-content{line-height:1.8;font-size:14px;overflow-wrap:anywhere;max-width:75ch}.result-content p{margin:0 0 12px;white-space:pre-wrap}.result-content h3,.result-content h4{font:700 15px Manrope,sans-serif;margin:18px 0 8px}.result-content ul,.result-content ol{padding-left:22px}.result-actions{display:flex;gap:8px;margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.result-actions button{font-size:12px;padding:7px 12px;min-height:36px}.time-link{color:var(--accent-ink);background:var(--soft);min-height:24px;padding:0 5px;font-size:12px}.preset-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.preset-row button{background:white;font-size:12px}.composer{padding:12px 32px 18px;background:var(--canvas);border-top:1px solid var(--line);flex-shrink:0}.composer form{display:flex;align-items:flex-end;gap:10px;padding:8px;background:white;border-radius:14px;max-width:1100px;margin:auto}.composer textarea{min-height:40px;max-height:130px;padding:9px 10px;background:transparent;resize:none;border:0;flex:1;outline:none}.send{height:44px;width:44px;min-width:44px;background:var(--dark);color:white;padding:0;display:grid;place-items:center}.composer>small{display:block;text-align:center;color:var(--muted);font-size:11px;margin-top:8px}.composer #quote-preview{max-width:1100px;margin:0 auto 8px;padding:10px 14px;background:#eae3fb;border-radius:10px;font-size:12px;display:flex;align-items:center;gap:10px}.composer #quote-preview span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.processing{padding:18px 22px;background:white;border-radius:16px;margin-bottom:16px}.processing-head{display:flex;align-items:center;gap:12px;justify-content:space-between}.processing h3{font-family:Manrope;font-size:14px}.processing .stages{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:11px}.stages .active{color:var(--accent-ink);font-weight:700}.progress-bar{height:6px;background:var(--line);border-radius:99px;margin:13px 0;overflow:hidden}.progress-bar i{height:100%;display:block;background:#8469b3;transition:width .3s}.notice{padding:12px 16px;border-radius:10px;background:#fff0d6;color:#785416;font-size:13px;margin-bottom:14px}.notice.error{background:#fce6e6;color:var(--error)}.notes summary{cursor:pointer;font-size:12px;color:var(--muted);padding:8px 0}.notes p{font-size:12px;color:var(--muted)}.empty-result{text-align:center;padding:50px 20px;color:var(--muted)}
dialog{border:0;border-radius:16px;width:min(660px,calc(100% - 28px));max-height:90dvh;padding:24px;color:var(--ink);background:white;box-shadow:0 6px 8px #17171922}dialog::backdrop{background:#17171980;backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:20px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.dropzone{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:8px;min-height:135px;border:2px dashed #c1b8d0;border-radius:12px;padding:20px;background:var(--soft);cursor:pointer;font-weight:400}.dropzone.drag{border-color:#80659f;background:#eee8fa}.dropzone svg{width:26px;height:26px;color:var(--accent-ink)}.dropzone strong{overflow-wrap:anywhere}.dropzone small{color:var(--muted)}.option-cards{display:flex;gap:8px;flex-wrap:wrap}.option-cards button{font-size:12px;padding:9px 12px;border:1px solid var(--line);background:white}.option-cards button[aria-pressed=true]{background:var(--accent);color:#30244e;border-color:#b9a8df}.form-caption{display:block;font-weight:600;font-size:13px;margin:20px 0 9px}.upload-options{margin-top:18px}.upload-options summary{font-size:13px;cursor:pointer;padding:8px 0}.upload-options .stack{margin-top:10px}.voice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.voice-card{background:white;border-radius:16px;padding:22px}.voice-card h3{font-family:Manrope;font-size:16px}.voice-card .row{margin-bottom:16px}.voice-card .voice-actions{display:flex;flex-wrap:wrap;gap:7px}.voice-card button{min-height:36px;font-size:12px;padding:7px 10px}.voice-card p{font-size:12px;color:var(--muted)}.voice-recorder{text-align:center}.voice-step{font-size:12px;color:var(--muted);margin-bottom:12px}.voice-phrase{font-size:21px;line-height:1.6;background:var(--soft);border-radius:12px;padding:24px;text-align:left;margin-bottom:20px}.voice-meter{height:8px;width:160px;background:var(--line);border-radius:99px;margin:16px auto;overflow:hidden}.voice-meter i{display:block;height:100%;background:var(--success);width:0}.recording-dot{display:inline-block;width:9px;height:9px;background:#be4747;border-radius:50%;margin-right:7px;animation:pulse 1s alternate infinite}.settings-layout{display:grid;grid-template-columns:minmax(240px,420px) minmax(280px,1fr);gap:18px;align-items:start}.settings-layout .surface{margin:0}.setting-help{font-size:12px;color:var(--muted);margin-top:7px}.admin-list{display:grid;gap:10px}.admin-row{display:flex;align-items:center;gap:16px;background:white;border-radius:12px;padding:16px}.admin-row .info{flex:1;min-width:0}.admin-row strong{display:block}.admin-row small{color:var(--muted)}.admin-row .row{flex-wrap:wrap}.admin-row button{font-size:12px;min-height:36px;padding:8px 10px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:40;max-width:calc(100% - 32px);background:var(--dark);color:white;padding:12px 20px;border-radius:12px;font-size:13px;box-shadow:0 3px 6px #17171930}.sidebar-scrim{position:fixed;inset:0;background:#17171966;border-radius:0;z-index:20}.skeleton{height:120px;background:#f5f4f7;border-radius:16px}.no-audio{padding:50px 24px;text-align:center;background:white;border-radius:16px}.no-audio h2{margin-bottom:12px}.no-audio p{color:var(--muted);margin-bottom:24px}.note-link{color:var(--accent-ink);text-decoration:underline}
:focus-visible{outline:3px solid #9b85cc;outline-offset:3px}@keyframes pulse{to{opacity:.4}}@media(min-width:1500px){.page-content{padding-inline:48px}.topbar{padding-inline:48px}.composer{padding-inline:48px}.dialogue{max-width:1050px}}@media(max-width:1100px){.sidebar{width:236px}.brand{font-size:18px}.topbar{padding:22px 24px 18px}.page-content{padding-inline:24px}.composer{padding-inline:24px}.page-actions button{font-size:12px}.settings-layout{grid-template-columns:1fr}.turn{max-width:94%}.content-toolbar{flex-wrap:wrap}.transcript-search{max-width:none;flex:1;min-width:180px}.topbar-title h1{font-size:30px}}@media(max-width:760px){.sidebar{position:fixed;left:0;top:0;bottom:0;width:280px;z-index:21;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.menu-toggle{display:flex}.topbar{padding:calc(14px + env(safe-area-inset-top)) 14px 14px;gap:10px}.topbar-title h1{font-size:25px}.topbar-title p{font-size:11px}.page-actions{gap:5px}.page-actions button{width:40px;min-width:40px;min-height:40px;padding:0;display:grid;place-items:center}.page-actions button>span{margin:0}.page-actions .action-text{display:none}.page-content{padding:0 14px 16px}.composer{padding:10px 14px calc(10px + env(safe-area-inset-bottom))}.composer>small{font-size:10px}.surface,.result-block{padding:18px}.content-toolbar .tabs{min-width:0;flex:1}.content-toolbar{gap:8px}.content-toolbar .tabs button{font-size:12px;padding-inline:10px}.transcript-search{width:100%;flex-basis:100%;margin:0}.transcript-search input{min-height:40px}.audio-panel{padding:12px}.speaker-strip{margin-bottom:10px}.turn{max-width:100%;gap:7px;margin-bottom:14px}.turn>.avatar{width:28px;height:28px;min-width:28px;font-size:11px;margin-top:8px}.bubble{padding:12px}.turn.active .bubble{padding:11px}.bubble p{font-size:13px}.bubble-heading{gap:6px}.speaker-name{font-size:11px;max-width:58%}.timestamp{font-size:10px}.bubble-actions{opacity:1}.bubble-actions button{min-height:32px;padding:3px 6px}.processing{padding:14px}.processing-head{gap:8px}.processing .stages{gap:8px}.processing button{font-size:11px;padding:7px 9px;min-height:34px}.result-header{gap:8px}.result-header h3{font-size:21px}.result-header small{font-size:10px}.result-content{font-size:13px}.result-block.user{max-width:95%}.pair{grid-template-columns:1fr}.admin-row{flex-wrap:wrap;gap:10px}.admin-row>.row{width:100%;padding-left:48px}.section-heading{align-items:flex-start;gap:12px}.section-heading h2{font-size:24px}.section-heading>button{font-size:12px;padding:8px 12px}.auth-shell{display:block}.auth-brand{display:none}.auth-form{min-height:100dvh;display:flex;flex-direction:column;justify-content:center}.mobile-logo{display:block}.welcome{min-height:60vh}.welcome h2{font-size:30px}.voice-phrase{font-size:18px;padding:18px}dialog{padding:20px;max-height:92dvh}.modal-head h2{font-size:24px}.preset-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.preset-row button{flex-shrink:0}.toast{bottom:90px}.tabs button{min-height:42px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.bubble-actions{opacity:1}.bubble-actions button{font-size:12px}.bubble-actions button>span{display:inline-flex;vertical-align:middle}.page-actions .icon-button span{display:flex}.speaker-chip:focus-visible{outline-offset:0}
