:root,[data-theme=light]{--color-primary: #1f3b61;--color-accent: #f28926;--color-success: #28a745;--color-warning: #e67e00;--color-error: #dc3545;--color-record: #dc3545;--color-record-glow: rgba(220, 53, 69, .35);--color-bg: #f5f7fa;--color-surface: #ffffff;--color-border: #e2e6ea;--color-text: #1a1a2e;--color-text-muted: #6b7280;--color-surface-hover: #f0f2f5;--shadow-card: 0 1px 3px rgba(0,0,0,.06);--font-headline: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif;--text-xl: 24px;--text-lg: 18px;--text-base: 15px;--text-sm: 13px;--text-xs: 11px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius: 12px;--radius-full: 9999px}[data-theme=dark]{--color-primary: #1f3b61;--color-bg: #0a1018;--color-surface: #0f1923;--color-border: #2a3a4a;--color-text: #ffffff;--color-text-muted: #a0aab4;--color-surface-hover: #162230;--shadow-card: 0 1px 3px rgba(0,0,0,.2)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;transition:background .3s ease,color .3s ease}h1,h2,h3,h4{font-family:var(--font-headline);font-weight:600}.header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--color-primary);position:sticky;top:0;z-index:100;min-height:48px}.header-brand{display:flex;align-items:center;gap:var(--space-sm)}.header-logo-img{height:28px;width:28px;object-fit:contain}.header-title{font-family:var(--font-headline);font-size:var(--text-base);font-weight:600;color:#fff}.header-nav{display:flex;gap:var(--space-xs)}.header-nav button{background:none;border:none;padding:var(--space-sm) var(--space-sm);font-family:var(--font-body);font-size:var(--text-sm);color:#fff9;cursor:pointer;border-radius:var(--radius);min-height:44px;transition:color .2s,background .2s}.header-nav button.active{color:#fff;font-weight:600;background:#ffffff1a}.header-nav button:hover:not(.active){color:#ffffffd9}.header-logout{width:32px;height:32px;border-radius:50%;border:none;background:var(--color-accent);color:#fff;font-weight:700;font-size:14px;cursor:pointer;flex-shrink:0}.page{padding:var(--space-md);max-width:480px;margin:0 auto}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--space-xl);text-align:center;padding:var(--space-lg);background:var(--color-bg);position:relative}.login-brand{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.login-logo-img{max-width:120px;height:auto}.login-tagline{font-size:var(--text-base);color:var(--color-text-muted)}.login-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-base);cursor:pointer;min-height:48px;color:var(--color-text);font-weight:500;width:100%;max-width:320px}.login-btn:hover{background:var(--color-surface-hover)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-form{width:100%;max-width:320px}.login-link{color:var(--color-accent);text-decoration:none;font-weight:600}.theme-toggle-btn{position:absolute;top:var(--space-md);right:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-xs) 10px;min-height:32px;display:flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-body)}.record-area{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-xl) 0}.record-btn{width:72px;height:72px;border-radius:50%;border:none;background:var(--color-record);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px var(--color-record-glow);transition:transform .1s;position:relative}.record-btn:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:2px solid var(--color-record);opacity:0}.record-btn:active{transform:scale(.95)}.record-btn.recording:before{opacity:.3;animation:pulse-ring 2s ease-in-out infinite}.record-btn.recording{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;box-shadow:0 2px 12px var(--color-record-glow)}50%{opacity:.7;box-shadow:0 2px 24px var(--color-record-glow)}}@keyframes pulse-ring{0%,to{opacity:.3;transform:scale(1)}50%{opacity:0;transform:scale(1.3)}}.record-btn svg{width:28px;height:28px;fill:#fff}.record-label{font-size:var(--text-sm);color:var(--color-text-muted)}.timer{font-family:var(--font-headline);font-size:var(--text-xl);font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text)}.waveform{display:flex;align-items:center;justify-content:center;gap:3px;height:32px}.waveform-bar{width:3px;background:var(--color-record);border-radius:2px;animation:wave .8s ease-in-out infinite}.waveform-bar:nth-child(1){animation-delay:0s}.waveform-bar:nth-child(2){animation-delay:.1s}.waveform-bar:nth-child(3){animation-delay:.2s}.waveform-bar:nth-child(4){animation-delay:.3s}.waveform-bar:nth-child(5){animation-delay:.4s}.waveform-bar:nth-child(6){animation-delay:.5s}.waveform-bar:nth-child(7){animation-delay:.6s}@keyframes wave{0%,to{height:8px}50%{height:28px}}.field{margin-bottom:var(--space-md)}.field label{display:block;font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-xs);font-weight:500}.field select,.field input{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-base);background:var(--color-surface);color:var(--color-text);min-height:44px}.field select:focus,.field input:focus{outline:none;border-color:var(--color-accent)}.field.dimmed{opacity:.5;pointer-events:none}.meeting-list{margin-top:var(--space-lg)}.meeting-list h3{font-family:var(--font-headline);font-size:var(--text-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-sm)}.meeting-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-md);margin-bottom:var(--space-sm);box-shadow:var(--shadow-card)}.meeting-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xs)}.meeting-card-type{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.meeting-card-time{font-size:var(--text-sm);color:var(--color-text-muted)}.meeting-card-attendees{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-xs)}.meeting-card-stats{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.meeting-card-actions{display:flex;gap:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.meeting-card-actions button{flex:1;padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;min-height:44px;color:var(--color-text);display:flex;align-items:center;justify-content:center;gap:var(--space-xs)}.meeting-card-actions button:active{background:var(--color-surface-hover)}.meeting-card-actions button.action-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.badge-processed{background:#28a7451a;color:var(--color-success)}.badge-processing{background:#e67e001a;color:var(--color-warning)}.badge-failed{background:#dc35451a;color:var(--color-error)}.badge-pending{background:var(--color-surface-hover);color:var(--color-text-muted)}.brief-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:var(--space-md);overflow:hidden}.brief-teaser{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);cursor:pointer;min-height:44px}.brief-teaser-text{font-size:var(--text-sm);color:var(--color-text);font-weight:500}.brief-badge{font-size:var(--text-xs);color:var(--color-accent);background:#f289261f;padding:2px 8px;border-radius:var(--radius-full);font-weight:500}.brief-teaser-chevron{color:var(--color-text-muted);transition:transform .2s}.brief-teaser-chevron.open{transform:rotate(180deg)}.brief-details{padding:0 var(--space-md) var(--space-md);font-size:var(--text-sm);color:var(--color-text-muted);border-top:1px solid var(--color-border)}.brief-details dt{font-weight:600;color:var(--color-text);margin-top:var(--space-sm)}.toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:var(--color-text);color:var(--color-bg);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500;z-index:200;animation:toast-in .3s ease-out,toast-out .3s ease-in 1.7s forwards}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(20px)}}@keyframes toast-out{to{opacity:0;transform:translate(-50%) translateY(-10px)}}.search-input{width:100%;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-base);background:var(--color-surface);color:var(--color-text);min-height:48px}.search-input::placeholder{color:var(--color-text-muted)}.search-input:focus{outline:none;border-color:var(--color-accent)}.search-empty{text-align:center;padding:var(--space-xl);color:var(--color-text-muted)}.upload-area{border:2px dashed var(--color-border);border-radius:var(--radius);padding:var(--space-xl);text-align:center;cursor:pointer;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);color:var(--color-text-muted);transition:border-color .2s,background .2s}.upload-area:hover{border-color:var(--color-accent);background:#f289260a}.upload-area.has-file{border-color:var(--color-success);border-style:solid}.btn-primary{width:100%;padding:var(--space-md);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-base);font-weight:600;cursor:pointer;min-height:48px}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-primary:active:not(:disabled){opacity:.9}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:300;display:flex;align-items:flex-end}.modal{background:var(--color-surface);width:100%;max-height:85vh;border-radius:var(--radius) var(--radius) 0 0;overflow-y:auto;padding:var(--space-lg)}.modal h2{font-family:var(--font-headline);font-size:var(--text-lg);margin-bottom:var(--space-md)}.modal-section{margin-bottom:var(--space-md)}.modal-section h4{font-size:var(--text-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-xs)}.modal-close{position:sticky;top:0;text-align:right}.modal-close button{background:none;border:none;font-size:var(--text-lg);cursor:pointer;padding:var(--space-sm);min-height:44px;min-width:44px;color:var(--color-text)}.spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress-bar{width:100%;height:4px;background:var(--color-border);border-radius:2px;overflow:hidden;margin-top:var(--space-sm)}.progress-bar-fill{height:100%;background:var(--color-accent);transition:width .3s}
