:root{--color-primary: #0066cc;--color-primary-light: #e6f0fa;--color-primary-dark: #004c99;--color-secondary: #009999;--color-secondary-light: #e6f5f5;--color-status-lead: #8c8c8c;--color-status-contact: #ff9900;--color-status-negotiation: #0066cc;--color-status-won: #00b33c;--color-status-lost: #cc0000;--color-status-bg-lead: #f2f2f2;--color-status-bg-contact: #fff5e6;--color-status-bg-negotiation: #e6f0fa;--color-status-bg-won: #e6f7ec;--color-status-bg-lost: #fae6e6;--color-text-main: #333333;--color-text-sub: #666666;--color-text-muted: #999999;--color-text-inverse: #ffffff;--color-border: #e0e0e0;--color-border-light: #f0f0f0;--color-bg-body: #f5f7f9;--color-bg-surface: #ffffff;--color-bg-hover: #f0f4f8;--font-family-base: "Inter", "Noto Sans JP", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05);--shadow-modal: 0 20px 25px -5px rgba(0,0,0,.1), 0 10px 10px -5px rgba(0,0,0,.04);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;width:100%;font-family:var(--font-family-base);font-size:16px;color:var(--color-text-main);background-color:var(--color-bg-body);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}ul,ol{list-style:none}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit;color:inherit;border:none;background:none;outline:none}button{cursor:pointer}img,picture,svg{display:block;max-width:100%}.app-container{display:flex;height:100vh;width:100vw;overflow:hidden}.sidebar{width:260px;background-color:var(--color-bg-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;flex-shrink:0;z-index:10}.main-content{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.top-header{height:64px;background-color:var(--color-bg-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-6);flex-shrink:0;z-index:5}.page-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-6);position:relative}.flex-row{display:flex;flex-direction:row}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:var(--spacing-2)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;transition:all var(--transition-fast)}.btn-primary{background-color:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.btn-primary:hover{background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-bg-surface);color:var(--color-text-main);border:1px solid var(--color-border)}.btn-secondary:hover{background-color:var(--color-bg-hover)}.btn-icon{padding:var(--spacing-2);border-radius:var(--radius-md);color:var(--color-text-sub)}.btn-icon:hover{background-color:var(--color-bg-hover);color:var(--color-text-main)}.card{background-color:var(--color-bg-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:var(--spacing-4)}.badge{display:inline-flex;align-items:center;padding:2px var(--spacing-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap}.input-group{display:flex;flex-direction:column;gap:var(--spacing-1)}.input-label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-sub)}.input-field{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);transition:border-color var(--transition-fast);background-color:var(--color-bg-surface)}.input-field:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.avatar{width:32px;height:32px;border-radius:var(--radius-full);background-color:var(--color-primary-light);color:var(--color-primary-dark);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-sm);border:2px solid var(--color-bg-surface)}.avatar-group{display:flex;align-items:center;gap:4px}.avatar-group .avatar,.avatar-group .avatar:first-child{margin-left:0}.sidebar-header{height:64px;display:flex;align-items:center;padding:0 var(--spacing-6);border-bottom:1px solid var(--color-border);gap:var(--spacing-3);color:var(--color-primary-dark)}.logo-text{font-weight:700;font-size:var(--font-size-lg);letter-spacing:-.5px}.sidebar-nav{flex:1;padding:var(--spacing-4) var(--spacing-3);overflow-y:auto}.sidebar-nav ul,.sidebar-footer ul{display:flex;flex-direction:column;gap:var(--spacing-1)}.sidebar-link{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-3);border-radius:var(--radius-md);color:var(--color-text-sub);font-weight:500;transition:all var(--transition-fast)}.sidebar-link:hover{background-color:var(--color-bg-hover);color:var(--color-primary)}.sidebar-link.active{background-color:var(--color-primary-light);color:var(--color-primary-dark)}.sidebar-icon{flex-shrink:0}.sidebar-footer{padding:var(--spacing-4) var(--spacing-3);border-top:1px solid var(--color-border)}.kanban-container{display:flex;gap:var(--spacing-4);height:calc(100vh - 64px - var(--spacing-6) * 2);overflow-x:auto;overflow-y:hidden;align-items:flex-start;padding-bottom:var(--spacing-2)}.kanban-column{background-color:var(--color-bg-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);width:320px;min-width:320px;display:flex;flex-direction:column;max-height:100%}.kanban-column-header{padding:var(--spacing-3) var(--spacing-4);border-bottom:2px solid;display:flex;align-items:center;justify-content:space-between;border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.kanban-column-title{font-weight:700;font-size:var(--font-size-sm);display:flex;align-items:center;gap:var(--spacing-2)}.kanban-column-count{background-color:#0000000d;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-text-sub)}.kanban-column-body{padding:var(--spacing-3);overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:var(--spacing-3);scrollbar-width:thin}.kanban-card{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-3);box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--transition-fast);display:flex;flex-direction:column;gap:var(--spacing-2)}.kanban-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary-light)}.card-header{display:flex;justify-content:space-between;align-items:flex-start}.company-name{font-weight:700;font-size:var(--font-size-sm);color:var(--color-text-main);line-height:1.3}.card-meta{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-xs);color:var(--color-text-sub)}.card-deadline{display:flex;align-items:center;gap:4px}.card-deadline.urgent{color:var(--color-status-lost);font-weight:600}.card-email-snippet{font-size:var(--font-size-xs);color:var(--color-text-sub);background-color:var(--color-bg-body);padding:var(--spacing-2);border-radius:var(--radius-sm);border-left:2px solid var(--color-primary-light);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-1)}.card-avatars{display:flex}.card-avatars .avatar{width:24px;height:24px;font-size:10px}.kanban-card.overdue{background-color:#fefce8}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease-out}.modal-content{background-color:var(--color-bg-surface);border-radius:var(--radius-lg);width:800px;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-modal);animation:slideUp .3s ease-out}.modal-header{padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--color-border);display:flex;align-items:flex-start;justify-content:space-between}.modal-title-group{display:flex;flex-direction:column;gap:var(--spacing-1)}.modal-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-main);line-height:1.2}.modal-subtitle{color:var(--color-text-sub);display:flex;align-items:center;gap:var(--spacing-4);font-size:var(--font-size-sm)}.modal-close-btn{color:var(--color-text-muted);padding:var(--spacing-1);border-radius:var(--radius-md)}.modal-close-btn:hover{background-color:var(--color-bg-hover);color:var(--color-text-main)}.modal-body{padding:var(--spacing-6);flex:1;min-height:0;overflow:hidden;display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-6)}.modal-main{overflow-y:auto;min-height:0}.modal-side{display:flex;flex-direction:column;min-height:0;overflow:hidden}.property-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.property-label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-sub);text-transform:uppercase;letter-spacing:.5px}.timeline{display:flex;flex-direction:column;gap:var(--spacing-4);margin-top:var(--spacing-2)}.timeline-item{display:flex;gap:var(--spacing-3)}.timeline-icon{width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;background-color:var(--color-primary-light);color:var(--color-primary);flex-shrink:0;z-index:2}.timeline-icon.email{background-color:#e6f7ec;color:#00b33c}.timeline-content{flex:1;background-color:var(--color-bg-body);border-radius:var(--radius-md);padding:var(--spacing-3);border:1px solid var(--color-border)}.timeline-header{display:flex;justify-content:space-between;margin-bottom:var(--spacing-2)}.timeline-title{font-weight:600;font-size:var(--font-size-sm)}.timeline-time{font-size:var(--font-size-xs);color:var(--color-text-sub)}.timeline-body{font-size:var(--font-size-sm);color:var(--color-text-main);white-space:pre-wrap;line-height:1.5}.timeline-badge{display:inline-flex;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;background-color:var(--color-bg-hover);border:1px solid var(--color-border);margin-right:8px;vertical-align:middle}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.data-table-container{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.data-table-header{padding:var(--spacing-4);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.data-table-actions{display:flex;gap:var(--spacing-3);align-items:center}.table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;text-align:left}.data-table th{padding:var(--spacing-3) var(--spacing-4);background-color:var(--color-bg-hover);color:var(--color-text-sub);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table td{padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-sm);color:var(--color-text-main);vertical-align:middle}.data-table tbody tr{transition:background-color var(--transition-fast)}.data-table tbody tr:hover{background-color:var(--color-primary-light);cursor:pointer}.data-table tbody tr:last-child td{border-bottom:none}.pagination{padding:var(--spacing-3) var(--spacing-4);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;color:var(--color-text-sub);font-size:var(--font-size-sm)}.pagination-controls{display:flex;gap:var(--spacing-2)}.page-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg-surface);color:var(--color-text-main);transition:all var(--transition-fast)}.page-btn:hover:not(:disabled){background-color:var(--color-bg-hover);border-color:var(--color-primary);color:var(--color-primary)}.page-btn:disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-bg-body)}.page-btn.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-6);margin-bottom:var(--spacing-6)}.stat-card{background-color:var(--color-bg-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--spacing-5);display:flex;flex-direction:column;gap:var(--spacing-2);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-header{display:flex;justify-content:space-between;align-items:center;color:var(--color-text-sub);font-size:var(--font-size-sm);font-weight:600}.stat-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.stat-icon.blue{background-color:var(--color-primary-light);color:var(--color-primary)}.stat-icon.green{background-color:#e6f7ec;color:#00b33c}.stat-icon.orange{background-color:#fff5e6;color:#f90}.stat-value{font-size:2rem;font-weight:800;color:var(--color-text-main);line-height:1.2}.stat-footer{font-size:var(--font-size-xs);display:flex;align-items:center;gap:var(--spacing-1)}.trend-up{color:#00b33c;font-weight:600}.charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-6)}.chart-card{background-color:var(--color-bg-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--spacing-5);box-shadow:var(--shadow-sm);min-height:350px;display:flex;flex-direction:column}.chart-header{margin-bottom:var(--spacing-4);display:flex;justify-content:space-between;align-items:center}.chart-title{font-size:var(--font-size-base);font-weight:700;color:var(--color-text-main)}.mock-bar-chart{flex:1;display:flex;align-items:flex-end;gap:var(--spacing-4);padding:var(--spacing-4) 0 var(--spacing-2);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-4)}.mock-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);height:100%;justify-content:flex-end}.mock-bar{width:100%;max-width:40px;background-color:var(--color-primary);border-radius:4px 4px 0 0;transition:height 1s ease-out;min-height:4px}.mock-bar.secondary{background-color:var(--color-primary-light)}.mock-bar-label{font-size:var(--font-size-xs);color:var(--color-text-sub)}.mock-pie-chart{flex:1;display:flex;align-items:center;justify-content:center;position:relative}.pie-circle{width:200px;height:200px;border-radius:50%;background:conic-gradient(var(--color-primary) 0% 45%,#00b33c 45% 70%,#ff9900 70% 85%,var(--color-status-lead) 85% 100%);display:flex;align-items:center;justify-content:center}.pie-inner{width:140px;height:140px;border-radius:50%;background-color:var(--color-bg-surface);display:flex;flex-direction:column;align-items:center;justify-content:center}.pie-legend{display:flex;flex-direction:column;gap:var(--spacing-2);margin-top:var(--spacing-4)}.legend-item{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-sm)}.legend-key{display:flex;align-items:center;gap:var(--spacing-2);color:var(--color-text-sub)}.legend-dot{width:10px;height:10px;border-radius:50%}.login-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8f0fe,#f0f4ff)}.login-card{background:var(--color-bg-surface, #fff);border-radius:16px;box-shadow:0 8px 40px #0000001f;padding:48px 40px;width:360px;display:flex;flex-direction:column;align-items:center;gap:8px}.login-logo{width:56px;height:56px;background:#06c;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.login-title{font-size:20px;font-weight:700;color:var(--color-text-main, #1a1a2e);margin:0 0 24px;text-align:center}.login-form{width:100%;display:flex;flex-direction:column;gap:16px}.login-field{display:flex;flex-direction:column;gap:6px}.login-field label{font-size:13px;font-weight:500;color:var(--color-text-sub, #6b7280)}.login-field input{padding:10px 12px;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;font-size:14px;color:var(--color-text-main, #1a1a2e);background:var(--color-bg-base, #f9fafb);outline:none;transition:border-color .15s}.login-field input:focus{border-color:#06c;background:#fff}.login-error{background:#fee2e2;color:#dc2626;font-size:13px;padding:10px 12px;border-radius:8px;text-align:center}.login-btn{width:100%;padding:11px;font-size:15px;margin-top:4px}
