:root{--color-bg-page:#f0ede8;--color-bg-subtle:#e8e4de;--color-surface:#faf8f5;--color-surface-elevated:#fffcf7;--color-surface-sidebar:#f7f4f0;--color-text:#2a3038;--color-text-muted:#5a616d;--color-text-subtle:#7c838f;--color-primary:#4e5f85;--color-primary-hover:#3f4d6e;--color-primary-active:#35425d;--color-primary-soft:#4e5f8524;--color-primary-faint:#4e5f8514;--color-accent:#c97b5c;--color-accent-soft:#c97b5c2e;--color-accent-border:#c97b5c59;--color-success-fg:#2f5a42;--color-success-bg:#e2efe6;--color-error-fg:#7a3838;--color-error-bg:#f7e6e6;--color-border:#2a303817;--color-border-strong:#2a303824;--color-divider:#2a30380f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-xs:0 1px 2px #2a30380a;--shadow-sm:0 2px 8px #2a30380d;--shadow-md:0 8px 28px #2a303812, 0 2px 10px #2a30380a;--shadow-inset-soft:inset 0 1px 0 #ffffffa6;--ease-out:cubic-bezier(.22, 1, .36, 1);--duration:.16s;--space-1:.35rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--text-base:1rem;--text-sm:.875rem;--text-xs:.8125rem;--leading-body:1.55;--leading-snug:1.4;--leading-transcript:1.72;--tracking-ui:-.01em}*{box-sizing:border-box}:root{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg-page);line-height:var(--leading-body);-webkit-font-smoothing:antialiased}body,h1,h2,h3,p{margin:0}a{color:inherit}button,input{font:inherit}label{gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);letter-spacing:var(--tracking-ui);display:grid}input{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);width:100%;padding:var(--space-3) var(--space-4);background:var(--color-surface-elevated);color:var(--color-text);box-shadow:var(--shadow-xs);transition:border-color var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out)}input:hover{border-color:#4e5f8540}input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-xs), 0 0 0 3px var(--color-primary-soft);outline:none}button,.button-like{border-radius:var(--radius-md);padding:var(--space-3) var(--space-5);background:var(--color-primary);color:#fdfcfa;cursor:pointer;letter-spacing:var(--tracking-ui);box-shadow:var(--shadow-sm), var(--shadow-inset-soft);transition:background var(--duration) var(--ease-out), transform var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out);border:0;font-weight:600;text-decoration:none}button:hover:not(:disabled),.button-like:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md), var(--shadow-inset-soft);transform:translateY(-1px)}button:active:not(:disabled),.button-like:active{background:var(--color-primary-active);transform:translateY(0)}button:focus-visible,.button-like:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:disabled{opacity:.62;cursor:not-allowed;transform:none}.ghost{background:var(--color-surface-elevated);color:var(--color-text);border:1px solid var(--color-border-strong);box-shadow:var(--shadow-xs);font-weight:600}.ghost:hover:not(:disabled){background:var(--color-surface);color:var(--color-text);border-color:#4e5f8538}.centered-page{min-height:100vh;padding:var(--space-6);place-items:center;display:grid}.card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md)}.auth-card,.landing-card,.upload-card{gap:var(--space-5);width:min(560px,100%);display:grid}.landing-header,.transcript-header{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.actions-row{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.tile{border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:180px;padding:var(--space-5);text-align:center;background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs);transition:border-color var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out), transform var(--duration) var(--ease-out);flex:1;font-weight:600;text-decoration:none}.tile:hover{border-color:var(--color-accent-border);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.tile:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-shell{grid-template-columns:320px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--color-surface-sidebar);border-right:1px solid var(--color-divider);padding:var(--space-5);gap:var(--space-4);grid-template-rows:auto 1fr auto;min-height:0;display:grid;box-shadow:2px 0 24px #2a303808}.sidebar-head{justify-content:space-between;align-items:center;display:flex}.sidebar-head h2{letter-spacing:var(--tracking-ui);color:var(--color-text);font-size:1.15rem;font-weight:700}.sidebar-body{gap:var(--space-4);align-content:start;min-height:0;display:grid;overflow:auto}.meeting-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.meeting-link{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);background:var(--color-surface-elevated);box-shadow:var(--shadow-xs);transition:border-color var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out), background var(--duration) var(--ease-out);gap:.2rem;text-decoration:none;display:grid}.meeting-link:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}.meeting-link.active{background:var(--color-primary-soft);box-shadow:var(--shadow-sm);border-color:#4e5f8559}.meeting-link small{color:var(--color-text-muted)}.meeting-datetime{align-items:center;gap:var(--space-2);display:inline-flex}.clock-icon{color:var(--color-text-subtle);vertical-align:middle;flex-shrink:0}.meeting-location-preview{color:var(--color-text-subtle);white-space:nowrap;text-overflow:ellipsis;margin-top:.1rem;font-size:.78rem;display:block;overflow:hidden}.meeting-meta-line{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-snug);flex-wrap:wrap;align-items:center;gap:.15rem;display:flex}.meeting-location{color:var(--color-text-muted)}.sidebar-logout{font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);justify-self:start;width:fit-content}.meeting-main{padding:var(--space-6);gap:var(--space-5);background:var(--color-bg-page);display:grid}.meeting-header h1{letter-spacing:var(--tracking-ui);font-size:clamp(1.35rem,2.5vw,1.65rem);font-weight:700;line-height:var(--leading-snug);margin-bottom:var(--space-2)}.meeting-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.content-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.content-grid .card h3{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-subtle);margin-bottom:var(--space-3);font-weight:700}.content-grid .card p,.content-grid .card li{color:var(--color-text-muted);line-height:var(--leading-body)}.transcript-pre{white-space:pre-wrap;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-elevated);padding:var(--space-6);max-height:70vh;font-size:var(--text-base);line-height:var(--leading-transcript);color:var(--color-text);box-shadow:var(--shadow-md);tab-size:4;overflow:auto}.page-wrap{padding:var(--space-6);gap:var(--space-5);max-width:56rem;margin:0 auto;display:grid}.small-link{color:var(--color-primary);font-weight:600;font-size:var(--text-sm);transition:color var(--duration) var(--ease-out);text-decoration:none}.small-link:hover{color:var(--color-accent)}.error-box,.success-box{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-snug)}.error-box,.error-text{color:var(--color-error-fg);background:var(--color-error-bg)}.error-text{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}.success-box{color:var(--color-success-fg);background:var(--color-success-bg)}.full{width:100%}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--color-divider);grid-template-rows:auto 1fr auto;box-shadow:0 4px 24px #2a30380a}.content-grid{grid-template-columns:1fr}}
