.header{background:var(--color-primary);color:#fff;padding:var(--spacing-md) var(--spacing-2xl);box-shadow:var(--shadow-sm);height:var(--header-height);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.header-logo{align-items:center;gap:var(--spacing-md);display:flex}.header-logo-icon{background:var(--color-accent);border-radius:var(--radius-md);width:32px;height:32px;font-weight:700;font-size:var(--font-size-md);justify-content:center;align-items:center;display:flex}.header-title{font-size:var(--font-size-xl);font-weight:600}.header-subtitle{font-size:var(--font-size-sm);opacity:.8}.header-user{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-base);display:flex}.header-user-name{font-size:var(--font-size-base)}.header-avatar{background:var(--color-accent);border-radius:var(--radius-full);color:#fff;width:32px;height:32px;font-size:var(--font-size-base);justify-content:center;align-items:center;font-weight:600;display:flex}
.confirm-dialog-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--color-bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-2xl);min-width:320px;max-width:400px}.confirm-dialog-title{margin:0 0 var(--spacing-sm);font-size:var(--font-size-lg);color:var(--color-text);font-weight:600}.confirm-dialog-message{margin:0 0 var(--spacing-xl);font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.5}.confirm-dialog-actions{justify-content:flex-end;gap:var(--spacing-sm);display:flex}.confirm-dialog-btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-md);cursor:pointer;border:none;font-weight:500}.confirm-dialog-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.confirm-dialog-btn--cancel{background:var(--color-bg-hover);color:var(--color-text)}.confirm-dialog-btn--cancel:hover{background:var(--color-border)}.confirm-dialog-btn--confirm{background:var(--color-alert);color:#fff}.confirm-dialog-btn--confirm:hover{background:var(--color-alert-dark)}
.sidebar{width:var(--sidebar-width);background:var(--color-bg-white);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.sidebar-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.sidebar-new-chat-btn{width:100%;padding:10px var(--spacing-lg);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-size:var(--font-size-md);align-items:center;gap:var(--spacing-sm);border:none;justify-content:center;display:flex}.sidebar-new-chat-btn:hover{background:var(--color-primary-hover)}.sidebar-section-title{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-label);text-transform:uppercase;letter-spacing:.5px}.sidebar-conversation-list{margin:0;padding:0;list-style:none}.sidebar-conversation-item{width:100%;padding:10px var(--spacing-lg);font-size:var(--font-size-base);align-items:center;gap:var(--spacing-sm);text-align:left;color:var(--color-text);background:0 0;border:none;border-left:3px solid #0000;display:flex}.sidebar-conversation-item-link{align-items:center;gap:var(--spacing-sm);min-width:0;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;flex:1;padding:0;display:flex;overflow:hidden}.sidebar-conversation-item:hover{background:var(--color-bg-hover)}.sidebar-conversation-item--active{background:var(--color-primary-light);border-left-color:var(--color-primary)}.sidebar-conversation-icon{font-size:var(--font-size-lg);opacity:.5;flex-shrink:0}.sidebar-conversation-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-conversation-delete-btn{border-radius:var(--radius-sm);color:var(--color-text-label);font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:2px 6px;line-height:1;display:none}.sidebar-conversation-delete-btn:hover{background:var(--color-bg-hover);color:var(--color-text)}.sidebar-conversation-delete-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;justify-content:center;align-items:center;display:inline-flex}.sidebar-conversation-item:hover .sidebar-conversation-delete-btn{justify-content:center;align-items:center;display:inline-flex}
.app-layout{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-main{flex:1;display:flex;overflow:hidden}.app-content{flex-direction:column;flex:1;display:flex;overflow:hidden}
:root{--color-primary:#1a237e;--color-primary-hover:#283593;--color-primary-light:#e8eaf6;--color-accent:#7c4dff;--color-alert:#ff5252;--color-alert-dark:#d32f2f;--color-alert-bg:#fff8f8;--color-alert-border:#ffebee;--color-info:#2196f3;--color-info-dark:#1565c0;--color-info-bg:#f8fbff;--color-info-border:#e3f2fd;--color-success:#2e7d32;--color-text:#333;--color-text-secondary:#666;--color-text-muted:#888;--color-text-placeholder:#aaa;--color-text-hint:#bbb;--color-text-label:#999;--color-bg:#f5f6fa;--color-bg-white:#fff;--color-bg-hover:#f5f5f5;--color-bg-input:#f5f6fa;--color-bg-table-header:#f5f6fa;--color-border:#e0e0e0;--color-border-light:#f0f0f0;--font-family:"Segoe UI", "Hiragino Sans", "Meiryo", sans-serif;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:13px;--font-size-md:14px;--font-size-lg:15px;--font-size-xl:18px;--font-size-2xl:22px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:20px;--spacing-2xl:24px;--spacing-3xl:32px;--spacing-4xl:40px;--radius-sm:4px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--radius-full:50%;--shadow-sm:0 2px 4px #0000001a;--shadow-md:0 2px 8px #00000014;--header-height:56px;--sidebar-width:260px;--chat-max-width:800px}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}button{cursor:pointer;font-family:inherit}input,textarea{font-family:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}

