@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;700&display=swap";:root{--bg-color:#0f172a;--surface-color:#1e293b;--surface-color-light:#334155;--primary-color:#3b82f6;--primary-color-hover:#2563eb;--accent-color:#8b5cf6;--danger-color:#ef4444;--danger-color-hover:#dc2626;--success-color:#10b981;--text-primary:#f8fafc;--text-secondary:#94a3b8;--border-color:#ffffff1a;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,Noto Sans JP,sans-serif;line-height:1.5}.glass{-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);background:#1e293bb3}.app-container{flex-direction:column;min-height:100vh;display:flex}header{border-bottom:1px solid var(--border-color);z-index:10;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0}.logo{background:linear-gradient(135deg, var(--primary-color), var(--accent-color));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.5rem;font-weight:700}.view-toggle{background-color:var(--surface-color);border-radius:var(--radius-lg);border:1px solid var(--border-color);gap:.5rem;padding:.25rem;display:flex}.view-toggle button{color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;padding:.5rem 1rem;font-weight:500;transition:all .2s}.view-toggle button.active{background-color:var(--surface-color-light);color:var(--text-primary);box-shadow:var(--shadow-sm)}main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem}.dashboard-grid{grid-template-columns:350px 1fr;gap:2rem;display:grid}@media (width<=768px){.dashboard-grid{grid-template-columns:1fr}}.card{background-color:var(--surface-color);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-md);padding:1.5rem}.card-title{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.25rem;font-weight:600;display:flex}.form-group{margin-bottom:1rem}.form-group label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;display:block}.form-control{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);padding:.75rem 1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}.form-control:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #3b82f640}.checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;display:flex}.checkbox-label input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--danger-color)}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1.5rem;font-family:inherit;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--primary-color);color:#fff;box-shadow:0 4px 14px #3b82f663}.btn-primary:hover{background-color:var(--primary-color-hover);transform:translateY(-1px)}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover{background-color:var(--danger-color-hover)}.btn-success{background-color:var(--success-color);color:#fff}.message-list{flex-direction:column;gap:1rem;display:flex}.message-item{transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.message-item:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.message-item.urgent{border-left:4px solid var(--danger-color)}.message-item.unattended{border:1px solid var(--danger-color);box-shadow:0 0 10px #ef444433}.message-item.resolved{opacity:.6;border-left:4px solid var(--success-color)}.message-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.caller-info{font-size:1.125rem;font-weight:600}.caller-number{color:var(--text-secondary);font-size:.875rem}.message-meta{color:var(--text-secondary);align-items:center;gap:.75rem;font-size:.75rem;display:flex}.badge{text-transform:uppercase;border-radius:999px;padding:.25rem .5rem;font-size:.7rem;font-weight:600}.badge-urgent{color:#fca5a5;background-color:#ef444433;border:1px solid #ef44444d}.badge-target{color:#93c5fd;background-color:#3b82f633;border:1px solid #3b82f64d}.badge-unattended{color:#fcd34d;background-color:#f59e0b33;border:1px solid #f59e0b4d;animation:2s infinite pulse}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.message-body{background-color:var(--bg-color);border-radius:var(--radius-md);color:var(--text-primary);white-space:pre-wrap;margin-top:1rem;padding:1rem;font-size:.95rem}.message-actions{justify-content:flex-end;margin-top:1rem;display:flex}.mobile-view main{padding:1rem}.mobile-filters{gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.filter-chip{background-color:var(--surface-color);border:1px solid var(--border-color);color:var(--text-secondary);white-space:nowrap;cursor:pointer;border-radius:999px;padding:.5rem 1rem;transition:all .2s}.filter-chip.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.resolve-form{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}:root{--primary:#4f46e5;--primary-gradient:linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);--accent-gradient:linear-gradient(135deg, #ec4899 0%, #f43f5e 100%);--success-gradient:linear-gradient(135deg, #10b981 0%, #059669 100%);--warning-gradient:linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--urgent-gradient:linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--glass-bg:#ffffffd9;--glass-border:#fff6;--sidebar-bg:#0f172a;--sidebar-card:#ffffff0d;--sidebar-text:#f8fafc;--sidebar-muted:#94a3b8;--bg-page:#f1f5f9;--text-main:#0f172a;--text-muted:#64748b;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 12px -2px #00000014;--shadow-lg:0 12px 24px -4px #0000001f;--radius-lg:14px;--radius-xl:18px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-page);color:var(--text-main);-webkit-font-smoothing:antialiased;height:100vh;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Hiragino Sans,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;overflow:hidden}.app-layout{background:radial-gradient(circle at 100% 0,#e0e7ff 0%,#f1f5f9 40%,#f8fafc 100%);width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{width:310px;min-width:310px;color:var(--sidebar-text);z-index:20;background:#0f172a;border-right:1px solid #ffffff14;flex-direction:column;height:100%;display:flex;box-shadow:4px 0 24px #0000001a}.sidebar-header{border-bottom:1px solid #ffffff14;flex-direction:column;gap:14px;padding:18px 20px;display:flex}.app-brand{color:#fff;letter-spacing:-.5px;align-items:center;gap:10px;font-size:1.35rem;font-weight:800;display:flex}.app-brand-icon{background:var(--primary-gradient);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 4px 12px #6366f166}.app-badge-pop{background:var(--accent-gradient);color:#fff;letter-spacing:.5px;text-transform:uppercase;border-radius:20px;padding:2px 8px;font-size:.65rem;font-weight:700}.user-selector-card{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;align-items:center;gap:10px;padding:8px 12px;display:flex}.user-avatar{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.95rem;font-weight:800;display:flex;box-shadow:0 2px 8px #0003}.sidebar-actions{flex-direction:column;gap:10px;padding:14px 18px;display:flex}.btn-pop-call{background:var(--accent-gradient);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:.95rem;font-weight:700;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex;box-shadow:0 4px 15px #f43f5e59}.btn-pop-call:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 6px 20px #f43f5e80}.view-mode-tabs{grid-template-columns:1fr 1fr;gap:6px;display:grid}.tab-mode-btn{color:var(--sidebar-muted);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:8px 6px;font-size:.75rem;font-weight:600;transition:all .15s;display:flex}.tab-mode-btn:hover{color:#fff;background:#ffffff1f}.tab-mode-btn.active{background:var(--primary-gradient);color:#fff;border-color:#0000;box-shadow:0 2px 8px #4f46e566}.sidebar-nav{flex:1;padding:8px 12px 24px;overflow-y:auto}.nav-section{margin-bottom:22px}.nav-section-title{color:var(--sidebar-muted);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;padding:6px 10px;font-size:.72rem;font-weight:800;display:flex}.btn-icon-add{color:var(--sidebar-muted);cursor:pointer;background:#ffffff14;border:none;border-radius:6px;padding:3px 6px;font-size:.75rem;transition:all .15s}.btn-icon-add:hover{color:#fff;background:#6366f1}.nav-item{color:#cbd5e1;cursor:pointer;border-radius:10px;align-items:center;gap:10px;margin-bottom:3px;padding:8px 12px;font-size:.88rem;font-weight:500;transition:all .15s ease-out;display:flex}.nav-item:hover{color:#fff;background:#ffffff12;transform:translate(2px)}.nav-item.active{color:#fff;background:linear-gradient(135deg,#6366f140 0%,#4f46e566 100%);border:1px solid #6366f166;font-weight:700}.nav-badge-pill{color:#94a3b8;background:#ffffff26;border-radius:12px;padding:2px 7px;font-size:.7rem;font-weight:600}.main-content{background:#fff;flex-direction:column;flex:1;height:100%;display:flex;position:relative;overflow:hidden}.chat-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;background:#ffffffe6;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex}.chat-timeline{background:#f8fafc;flex-direction:column;flex:1;gap:18px;padding:24px;display:flex;overflow-y:auto}.message-bubble-row{gap:12px;max-width:100%;animation:.2s ease-out fadeIn;display:flex}.message-bubble-row.me{flex-direction:row-reverse}.message-card{min-width:180px;max-width:70%}.bubble-content{box-shadow:var(--shadow-sm);color:#1e293b;white-space:pre-wrap;word-break:break-word;background:#fff;border:1px solid #e2e8f0;border-radius:4px 16px 16px;padding:12px 16px;font-size:.94rem;line-height:1.55}.message-bubble-row.me .bubble-content{background:var(--primary-gradient);color:#fff;border:none;border-top-left-radius:16px;border-top-right-radius:4px;box-shadow:0 4px 12px #4f46e540}.meta-row{color:var(--text-muted);align-items:center;gap:8px;margin-top:4px;font-size:.72rem;display:flex}.message-bubble-row.me .meta-row{justify-content:flex-end}.read-pill{color:#4338ca;cursor:pointer;background:#e0e7ff;border-radius:10px;align-items:center;gap:3px;padding:2px 7px;font-weight:700;transition:all .15s;display:inline-flex}.read-pill:hover{background:#c7d2fe}.call-pop-card{border-radius:var(--radius-xl);background:#fff;border:1px solid #e2e8f0;max-width:580px;padding:18px;transition:all .2s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;box-shadow:0 4px 20px -2px #00000014}.call-pop-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px -4px #0000001f}.call-pop-card:before{content:"";background:var(--primary-gradient);height:5px;position:absolute;top:0;left:0;right:0}.call-pop-card.urgent:before{background:var(--urgent-gradient)}.call-pop-card.callback:before{background:var(--warning-gradient)}.call-pop-card.resolved:before{background:var(--success-gradient)}.call-pop-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.call-badge-tag{letter-spacing:.2px;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:800;display:inline-flex}.tag-urgent{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5}.tag-callback{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.tag-info{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd}.status-pill{border-radius:20px;padding:4px 12px;font-size:.75rem;font-weight:700}.status-pill.pending{color:#b45309;background:#fef3c7}.status-pill.in_progress{color:#1d4ed8;background:#dbeafe}.status-pill.resolved{color:#047857;background:#d1fae5}.caller-title{color:#0f172a;align-items:center;gap:8px;margin-bottom:4px;font-size:1.15rem;font-weight:800;display:flex}.phone-pill-btn{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;align-items:center;gap:6px;margin:6px 0 10px;padding:4px 12px;font-size:.85rem;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.phone-pill-btn:hover{background:#dbeafe;transform:scale(1.02)}.memo-subject-line{color:#334155;margin-bottom:6px;font-size:.92rem;font-weight:700}.memo-body-box{color:#334155;white-space:pre-wrap;background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;margin-bottom:12px;padding:12px 14px;font-size:.9rem;line-height:1.55}.call-card-footer{border-top:1px dashed #e2e8f0;justify-content:space-between;align-items:center;padding-top:12px;display:flex}.btn-status-act{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:5px;padding:6px 14px;font-size:.8rem;font-weight:700;transition:all .15s;display:flex}.btn-status-act.progress{color:#1e40af;background:#dbeafe}.btn-status-act.progress:hover{background:#bfdbfe}.btn-status-act.resolve{background:var(--success-gradient);color:#fff;box-shadow:0 2px 8px #10b9814d}.btn-status-act.resolve:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn-thread-pop{color:var(--primary);cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:5px;padding:5px 12px;font-size:.78rem;font-weight:700;transition:all .15s;display:flex}.btn-thread-pop:hover{background:#eff6ff;border-color:#bfdbfe}.chat-input-bar{background:#fff;border-top:1px solid #e2e8f0;padding:16px 24px}.pop-input-wrapper{border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:#f8fafc;border:1.5px solid #e2e8f0;padding:10px 14px;transition:all .2s}.pop-input-wrapper:focus-within{background:#fff;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.pop-textarea{resize:none;width:100%;color:var(--text-main);background:0 0;border:none;outline:none;min-height:44px;max-height:120px;font-family:inherit;font-size:.95rem}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0f172a99;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-pop-content{width:92%;max-width:600px;max-height:88vh;box-shadow:var(--shadow-lg);background:#fff;border-radius:20px;flex-direction:column;animation:.2s cubic-bezier(.34,1.56,.64,1) popIn;display:flex;overflow:hidden}.modal-header-pop{background:#fafafa;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-title-pop{color:#0f172a;align-items:center;gap:10px;font-size:1.15rem;font-weight:800;display:flex}.modal-body-pop{flex-direction:column;gap:16px;padding:22px 24px;display:flex;overflow-y:auto}.modal-footer-pop{background:#f8fafc;border-top:1px solid #f1f5f9;justify-content:flex-end;gap:10px;padding:14px 24px;display:flex}.pop-btn-primary{background:var(--primary-gradient);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;padding:10px 18px;font-size:.9rem;font-weight:700;transition:all .15s;display:flex;box-shadow:0 4px 12px #4f46e54d}.pop-btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.pop-btn-secondary{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:10px 16px;font-size:.9rem;font-weight:600}.desk-monitor-layout{background:#f8fafc;flex:1;grid-template-columns:380px 1fr;height:100%;display:grid;overflow:hidden}.desk-form-pane{background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;gap:14px;padding:20px;display:flex;overflow-y:auto}.desk-board-pane{flex-direction:column;gap:16px;padding:24px;display:flex;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
