:root{--bg-primary: #F8FAFC;--bg-secondary: #ffffff;--bg-card: rgba(255, 255, 255, .95);--bg-card-hover: rgba(248, 250, 252, 1);--bg-modal: rgba(255, 255, 255, .98);--glass-border: #E2E8F0;--glass-shadow: 0 4px 24px rgba(0, 0, 0, .06);--accent-primary: #2563EB;--accent-secondary: #3B82F6;--accent-gradient: linear-gradient(135deg, #2563EB 0%, #3B82F6 100%);--accent-glow: 0 4px 16px rgba(37, 99, 235, .25);--cta-color: #F97316;--status-prospecting: #f59e0b;--status-poc: #3b82f6;--status-negotiation: #8b5cf6;--status-won: #10b981;--status-lost: #ef4444;--text-primary: #1E293B;--text-secondary: #475569;--text-muted: #94a3b8;--text-tertiary: #64748b;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--font-heading: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--bg-secondary);border-bottom:1px solid var(--glass-border);padding:1rem 2rem;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo-section{display:flex;align-items:center;gap:1rem}.logo-icon{width:44px;height:44px;background:var(--accent-gradient);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;box-shadow:var(--accent-glow)}.logo-icon svg{width:24px;height:24px;color:#fff}.logo-text h1{font-size:1.5rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-text .tagline{font-size:.8rem;color:var(--text-muted)}.app-main{flex:1;padding:2rem;max-width:1400px;margin:0 auto;width:100%}.projects-section{margin-top:2rem;animation:slideUp .5s ease}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--accent-gradient);color:#fff;font-weight:600;font-size:.9rem;border-radius:var(--radius-md);transition:all var(--transition-normal);box-shadow:var(--accent-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #6366f166}.btn-primary svg{width:18px;height:18px}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-card);color:var(--text-secondary);font-weight:500;font-size:.85rem;border:1px solid var(--glass-border);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.btn-secondary:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn-secondary.import-btn{cursor:pointer}.btn-secondary svg,.btn-secondary.import-btn svg{width:16px;height:16px;flex-shrink:0}.btn-success{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:600;font-size:.85rem;border-radius:var(--radius-sm);transition:all var(--transition-fast);box-shadow:0 4px 15px #10b98140}.btn-success:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98159}.btn-success svg{width:16px;height:16px}.btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.btn-icon:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn-icon.danger:hover{background:#ef44441a;color:var(--status-lost)}.btn-icon svg{width:18px;height:18px}.dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;animation:fadeIn .5s ease}.stat-card{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition-normal);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent-gradient);opacity:0;transition:opacity var(--transition-normal)}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--glass-shadow);border-color:#6366f14d}.stat-card:hover:before{opacity:1}.stat-card .label{font-size:.85rem;color:var(--text-muted);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.stat-card .label svg{width:16px;height:16px;opacity:.7}.stat-card .value{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1.2}.stat-card .value.currency{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-card .subtitle{font-size:.8rem;color:var(--text-muted);margin-top:.5rem}.view-toggle{display:flex;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:4px}.view-toggle button{padding:.6rem 1.2rem;font-size:.9rem;font-weight:500;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;gap:.5rem}.view-toggle button svg{width:18px;height:18px}.view-toggle button.active{background:var(--accent-gradient);color:#fff;box-shadow:var(--accent-glow)}.view-toggle button:not(.active):hover{color:var(--text-primary);background:var(--bg-card-hover)}.filter-container{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000000a}.filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--glass-border)}.filter-title{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;color:var(--text-primary)}.filter-title svg{width:18px;height:18px;color:var(--accent-primary)}.filter-badge{background:var(--accent-gradient);color:#fff;font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:9999px;min-width:20px;text-align:center}.btn-clear{display:flex;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.8rem;font-weight:500;color:var(--text-muted);background:transparent;border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-clear svg{width:14px;height:14px}.btn-clear:hover{color:#ef4444;border-color:#ef4444;background:#ef44440d}.filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}.filter-section{display:flex;flex-direction:column;gap:.5rem}.filter-section-title{display:flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.filter-section-title svg{width:14px;height:14px;opacity:.7}.filter-row{display:flex;flex-direction:column;gap:.5rem}.filter-item input,.filter-item select{width:100%;padding:.55rem .75rem;font-size:.85rem;background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);transition:all var(--transition-fast)}.filter-item input:hover,.filter-item select:hover{border-color:#6366f166}.filter-item input:focus,.filter-item select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f11a}.filter-item input::-moz-placeholder{color:var(--text-muted)}.filter-item input::placeholder{color:var(--text-muted)}.filter-item.date-item{display:flex;align-items:center;gap:.5rem}.filter-item.date-item label{font-size:.75rem;color:var(--text-muted);min-width:20px}.filter-item.date-item input{flex:1}.filter-results{font-size:.85rem;color:var(--text-muted);margin-bottom:1rem}@media (max-width: 1200px){.filter-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.filter-grid{grid-template-columns:1fr}.filter-header{flex-direction:column;gap:.75rem;align-items:flex-start}}.filter-group select{padding:.6rem 1rem;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;min-width:150px;cursor:pointer;transition:all var(--transition-fast)}.filter-group select:hover{border-color:var(--accent-primary)}.filter-group select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f11a}.filter-group input{padding:.6rem 1rem;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;width:180px;transition:all var(--transition-fast)}.filter-group input::-moz-placeholder{color:var(--text-muted)}.filter-group input::placeholder{color:var(--text-muted)}.filter-group input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f11a}.project-table-container{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.filter-actions{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;background:#6366f10d;border-bottom:1px solid var(--glass-border)}.btn-clear-filters{padding:.4rem .8rem;background:transparent;color:var(--accent-primary);font-size:.8rem;font-weight:500;border:1px solid var(--accent-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-clear-filters:hover{background:var(--accent-primary);color:#fff}.filter-count{font-size:.85rem;color:var(--text-muted)}.project-table{width:100%;border-collapse:collapse;table-layout:auto}.project-table th,.project-table td{text-align:left;padding:.875rem 1rem;font-size:.85rem;border-bottom:1px solid var(--glass-border);vertical-align:top}.project-table th{font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;background:#00000008;white-space:nowrap}.project-table .col-date{width:95px;white-space:nowrap}.project-table .col-type{width:100px}.project-table .col-customer{width:130px}.project-table .col-case{width:180px}.project-table .col-goal{width:auto;min-width:200px}.project-table .col-status{width:70px;white-space:nowrap;text-align:center}.project-table th.col-status{text-align:center}.project-table .col-winrate{width:120px;white-space:nowrap}.project-table .col-owner{width:75px;white-space:nowrap}.project-table .col-fee{width:100px;text-align:right;white-space:nowrap}.project-table td.col-fee{text-align:right;font-weight:500}.win-rate-text-only{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.customer-cell{display:flex;flex-direction:column;gap:.15rem}.customer-cell .customer-name{font-weight:500;color:var(--text-primary)}.customer-cell .si-info{font-size:.75rem;color:var(--text-muted)}.goal-cell{word-wrap:break-word;line-height:1.4}.project-table th.sortable-header{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all var(--transition-fast)}.project-table th.sortable-header:hover{background:#6366f114;color:var(--accent-primary)}.sort-icon{margin-left:.5rem;font-size:.7rem;opacity:.4;transition:opacity var(--transition-fast)}.sort-icon.active{opacity:1;color:var(--accent-primary)}.project-table .filter-row th{padding:.5rem;background:#00000005}.column-filter{width:100%;padding:.4rem .6rem;font-size:.8rem;background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);transition:all var(--transition-fast)}.column-filter:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #6366f11a}.column-filter::-moz-placeholder{color:var(--text-muted);font-size:.75rem}.column-filter::placeholder{color:var(--text-muted);font-size:.75rem}.no-results{text-align:center;padding:2rem;color:var(--text-muted)}.view-indicator{display:flex;align-items:center}.view-badge{padding:.5rem 1rem;background:var(--accent-gradient);color:#fff;font-weight:600;font-size:.9rem;border-radius:var(--radius-md);box-shadow:var(--accent-glow)}.project-table td{padding:1rem 1.25rem;font-size:.9rem;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);vertical-align:middle}.project-table tr:last-child td{border-bottom:none}.project-table tr:hover td{background:var(--bg-card-hover)}.project-table tr.clickable-row{cursor:pointer;transition:all var(--transition-fast)}.project-table tr.clickable-row:hover td{background:#6366f10f}.project-table .case-name{font-weight:600;color:var(--text-primary)}.project-table .customer{color:var(--text-secondary)}.project-table .customer .si-info{color:var(--text-muted);font-size:.85em}.project-table .actions{display:flex;gap:.25rem;justify-content:flex-end}.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .75rem;font-size:.75rem;font-weight:600;border-radius:9999px;letter-spacing:.03em}.status-badge.進行中{background:#3b82f626;color:#3b82f6}.status-badge.結案{background:#10b98126;color:#10b981}.winrate-bar{display:flex;align-items:center;gap:.75rem}.winrate-bar .bar-container{flex:1;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;min-width:80px}.winrate-bar .bar-fill{height:100%;border-radius:4px;transition:width var(--transition-normal)}.winrate-bar .bar-fill.low{background:linear-gradient(90deg,var(--status-lost),#f97316)}.winrate-bar .bar-fill.medium{background:linear-gradient(90deg,#f97316,var(--status-prospecting))}.winrate-bar .bar-fill.high{background:linear-gradient(90deg,var(--status-prospecting),var(--status-won))}.winrate-bar .percentage{font-size:.85rem;font-weight:600;min-width:40px;text-align:right}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:fadeIn .2s ease}.modal{background:var(--bg-modal);border:1px solid var(--glass-border);border-radius:var(--radius-xl);width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:var(--glass-shadow);animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--glass-border)}.modal-header h3{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-card-hover);color:var(--text-primary)}.modal-close svg{width:20px;height:20px}.modal-body{padding:2rem}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-top:1px solid var(--glass-border)}.modal-footer-left{display:flex;align-items:center}.modal-footer-right{display:flex;gap:1rem}.btn-danger-outline{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:transparent;color:#ef4444;font-weight:500;font-size:.85rem;border:1px solid #ef4444;border-radius:var(--radius-sm);transition:all var(--transition-fast);cursor:pointer}.btn-danger-outline:hover{background:#ef44441a}.btn-danger{padding:.4rem .8rem;background:#ef4444;color:#fff;font-weight:500;font-size:.8rem;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-danger:hover{background:#dc2626}.btn-secondary-small{padding:.4rem .8rem;background:transparent;color:var(--text-muted);font-weight:500;font-size:.8rem;border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-secondary-small:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn-dispatch{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;font-weight:500;font-size:.8rem;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-dispatch:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-1px)}.btn-dispatch svg{width:14px;height:14px}.modal-header-left{display:flex;align-items:center;gap:1rem}.dispatch-form-section{padding:1rem 1.5rem;background:linear-gradient(135deg,#8b5cf61a,#7c3aed0d);border-bottom:1px solid var(--glass-border)}.dispatch-form-section .form-section-title{margin-bottom:.75rem;color:#8b5cf6}.dispatch-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.dispatch-form-grid .full-width{grid-column:1 / -1}.dispatch-form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.btn-success-small{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .8rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:500;font-size:.8rem;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-success-small:hover{background:linear-gradient(135deg,#059669,#047857)}.delete-confirm{display:flex;align-items:center;gap:.75rem}.delete-confirm span{font-size:.85rem;color:#ef4444;font-weight:500}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full-width{grid-column:span 2}.form-group label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;transition:all var(--transition-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f11a}.form-group textarea{min-height:100px;resize:vertical}.form-group input[type=range]{padding:0;background:transparent;border:none;height:8px;cursor:pointer}.form-group input[type=range]::-webkit-slider-track{height:8px;background:#ffffff1a;border-radius:4px}.form-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:var(--accent-primary);border-radius:50%;cursor:pointer;margin-top:-6px}.range-value{display:flex;justify-content:space-between;align-items:center}.range-value span{font-size:.9rem;font-weight:600;color:var(--accent-primary)}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.empty-state svg{width:64px;height:64px;margin-bottom:1rem;opacity:.5}.empty-state p{font-size:1rem}@media (max-width: 768px){.app-header{padding:1rem}.header-content{flex-direction:column;gap:1rem}.app-main{padding:1rem}.form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}.filter-bar{flex-direction:column}.section-header{flex-direction:column;gap:1rem;align-items:flex-start}}.pagination{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:1.5rem 0;margin-top:1rem;flex-wrap:nowrap;width:100%}.pagination-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem 1.2rem;font-size:.85rem;font-weight:600;color:#333;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .2s;white-space:nowrap;min-height:36px}.pagination-btn svg{width:14px;height:14px}.pagination-btn:hover:not(:disabled){background:#f5f5f5;border-color:#ccc}.pagination-btn:disabled{opacity:.3;cursor:not-allowed;background:#f9f9f9}.pagination-numbers{display:flex;align-items:center;gap:.3rem;flex-wrap:nowrap}.pagination-number{min-width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:500;color:#333;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .2s}.pagination-number:hover:not(.active){background:#f5f5f5;border-color:#ccc}.pagination-number.active{background:#dc3545;color:#fff;border-color:#dc3545;font-weight:600}.pagination-ellipsis{padding:0 .4rem;color:#666;font-size:.85rem;font-weight:600}.empty-state .empty-hint{font-size:.85rem;color:var(--text-muted);margin-top:.5rem}.logo-icon.aftersales-icon{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 15px #10b9814d}.logo-icon.sales-icon{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 15px #f59e0b4d}.sales-dashboard{grid-template-columns:repeat(4,1fr)}.sales-dashboard .success-value{color:#10b981!important;-webkit-text-fill-color:#10b981!important}.sales-dashboard .warning-value{color:#f59e0b!important;-webkit-text-fill-color:#f59e0b!important}.sales-table-container{overflow:visible}.sales-table-container .table-wrapper{overflow-x:auto}.sales-table{min-width:1400px}.sales-table .col-date{width:100px;white-space:nowrap}.sales-table .col-channel{width:60px;text-align:center}.sales-table .col-customer{width:120px}.sales-table .col-distributor{width:100px}.sales-table .col-product-line{width:110px}.sales-table .col-product-content{width:200px}.sales-table .col-deal-type{width:70px;text-align:center}.sales-table .col-price{width:110px;text-align:right}.sales-table .col-due{width:90px;white-space:nowrap}.sales-table .col-stage{width:100px;text-align:center}.sales-table .col-reported{width:50px;text-align:center}.sales-table .col-owner{width:80px}.truncate-text{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .5rem;font-size:.7rem;font-weight:600;border-radius:4px}.channel-badge.direct{background:#3b82f626;color:#3b82f6}.channel-badge.channel{background:#8b5cf626;color:#8b5cf6}.product-line-badge{display:inline-flex;padding:.25rem .5rem;font-size:.75rem;font-weight:500;background:#6366f11a;color:var(--accent-primary);border-radius:4px}.deal-type-badge{display:inline-flex;padding:.2rem .4rem;font-size:.7rem;font-weight:600;border-radius:4px;text-transform:uppercase}.deal-type-badge.new{background:#10b98126;color:#10b981}.deal-type-badge.upgrade{background:#3b82f626;color:#3b82f6}.deal-type-badge.addon{background:#f59e0b26;color:#d97706}.deal-type-badge.renew{background:#8b5cf626;color:#8b5cf6}.stage-badge{display:inline-flex;align-items:center;justify-content:center;padding:.3rem .6rem;font-size:.7rem;font-weight:600;border-radius:9999px}.stage-badge.badge-lead{background:#9ca3af33;color:#6b7280}.stage-badge.badge-discovery{background:#3b82f626;color:#3b82f6}.stage-badge.badge-poc{background:#8b5cf626;color:#8b5cf6}.stage-badge.badge-proposal{background:#f59e0b26;color:#d97706}.stage-badge.badge-negotiation{background:#f9731626;color:#ea580c}.stage-badge.badge-won{background:#10b98126;color:#10b981}.stage-badge.badge-lost{background:#ef444426;color:#ef4444}.reported-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:.7rem;font-weight:700;border-radius:50%}.reported-badge.yes{background:#10b98126;color:#10b981}.reported-badge.no{background:#ef444426;color:#ef4444}.sales-modal{max-width:900px;max-height:90vh;overflow-y:auto}.form-section{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--glass-border)}.form-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.form-section-title{font-size:.9rem;font-weight:600;color:var(--accent-primary);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.form-section-title:before{content:"";width:3px;height:16px;background:var(--accent-gradient);border-radius:2px}.checkbox-group{display:flex;align-items:center;padding-top:1.75rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-primary);cursor:pointer}.checkbox-text{font-size:.9rem;font-weight:500;color:var(--text-primary)}.readonly-input{background:#00000008!important;color:var(--text-muted)!important;cursor:not-allowed}.disabled-input{background:#0000000d!important;color:var(--text-muted)!important;cursor:not-allowed;opacity:.6}.checkbox-text.disabled{color:var(--text-muted);opacity:.7}.form-hint{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.form-hint.success-hint{color:#10b981;font-weight:500}@media (max-width: 1200px){.sales-dashboard{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.sales-dashboard{grid-template-columns:1fr}.sales-modal{max-width:95vw}}.stage-percent{display:inline-flex;align-items:center;justify-content:center;padding:.3rem .6rem;font-size:.75rem;font-weight:600;border-radius:4px;min-width:48px}.stage-percent.stage-high{background:#10b98126;color:#10b981}.stage-percent.stage-medium{background:#f59e0b26;color:#d97706}.stage-percent.stage-low{background:#6366f126;color:var(--accent-primary)}.status-pill{display:inline-flex;padding:.25rem .5rem;font-size:.7rem;font-weight:600;border-radius:9999px}.status-pill.pipeline{background:#3b82f626;color:#3b82f6}.status-pill.pending{background:#f59e0b26;color:#d97706}.status-pill.togo{background:#10b98126;color:#10b981}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1.5rem}.loading-spinner{width:50px;height:50px;border:4px solid var(--glass-border);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.loading-container p{color:var(--text-muted);font-size:1rem}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1.5rem;text-align:center}.error-message{color:var(--status-lost);font-size:1.1rem;font-weight:500}.error-container button{padding:.75rem 1.5rem;background:var(--accent-gradient);color:#fff;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal)}.error-container button:hover{transform:translateY(-2px);box-shadow:var(--accent-glow)}.header-actions{display:flex;align-items:center;gap:1rem}.import-group{display:flex;align-items:center;gap:.5rem}.import-btn{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer}.import-btn svg{width:18px;height:18px}.btn-link{background:none;border:none;color:var(--accent-primary);font-size:.85rem;cursor:pointer;text-decoration:underline;transition:color var(--transition-fast)}.btn-link:hover{color:var(--accent-secondary)}.importing-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:9999}.importing-content{background:var(--bg-card);padding:3rem 4rem;border-radius:var(--radius-lg);text-align:center;box-shadow:var(--glass-shadow)}.importing-content p{margin-top:1.5rem;font-size:1.2rem;font-weight:600;color:var(--text-primary)}.importing-subtitle{font-size:.9rem!important;font-weight:400!important;color:var(--text-muted)!important;margin-top:.5rem!important}.from-sales-hint{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.85rem;font-style:italic}.from-sales-hint svg{color:var(--accent-primary)}.sales-filter-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem}.sales-filter-fields .filter-field{display:flex;flex-direction:column;gap:.35rem}.sales-filter-fields .filter-field label{font-size:.75rem;font-weight:500;color:var(--text-muted)}.sales-filter-fields .filter-field input,.sales-filter-fields .filter-field select{padding:.5rem .75rem;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-size:.85rem;transition:all .2s ease}.sales-filter-fields .filter-field input:focus,.sales-filter-fields .filter-field select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f126}.sales-filter-fields .filter-field input::-moz-placeholder{color:var(--text-muted)}.sales-filter-fields .filter-field input::placeholder{color:var(--text-muted)}@media (max-width: 1200px){.sales-filter-fields{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.sales-filter-fields{grid-template-columns:repeat(2,1fr)}}.sidebar{position:fixed;left:0;top:0;height:100vh;background:var(--bg-card);border-right:1px solid var(--glass-border);transition:width .3s cubic-bezier(.4,0,.2,1);z-index:1000;display:flex;flex-direction:column;overflow:hidden;-ms-overflow-style:none;scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.sidebar.expanded{width:260px}.sidebar.collapsed{width:72px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;min-height:64px}.sidebar.collapsed .sidebar-header{justify-content:center}.sidebar-brand{display:flex;align-items:center;gap:.75rem;overflow:hidden}.brand-logo{width:28px;height:28px;flex-shrink:0;color:var(--accent-primary)}.brand-text{font-size:1.1rem;font-weight:700;color:var(--text-primary);background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap}.sidebar-toggle{width:36px;height:36px;background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;color:var(--accent-primary)}.sidebar-toggle svg{width:18px;height:18px;transition:transform .2s ease}.sidebar-toggle:hover{background:#6366f133;border-color:var(--accent-primary);transform:scale(1.05)}.sidebar-toggle:active{transform:scale(.95)}.sidebar.collapsed .sidebar-toggle{width:40px;height:40px;background:var(--accent-gradient);border-color:transparent;color:#fff}.sidebar.collapsed .sidebar-toggle:hover{box-shadow:0 4px 12px #6366f166;transform:scale(1.08)}.sidebar-divider{height:1px;background:linear-gradient(90deg,transparent,var(--glass-border),transparent);margin:0 1rem}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem;padding:1rem;flex:1;overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar.collapsed .sidebar-nav{padding:1rem .75rem;align-items:center}.sidebar-item{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;background:transparent;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;color:var(--text-secondary);font-size:.9rem;font-weight:500;text-align:left;white-space:nowrap;width:100%}.sidebar.collapsed .sidebar-item{width:48px;height:48px;padding:0;justify-content:center;border-radius:12px}.sidebar-item:hover{background:#6366f11a;color:var(--text-primary)}.sidebar-item.active{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 12px #6366f14d}.sidebar-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar.collapsed .sidebar-icon{width:24px;height:24px}.sidebar-icon svg{width:100%;height:100%}.sidebar-label{flex:1;overflow:hidden;text-overflow:ellipsis;transition:opacity .2s ease}.app{display:flex}.sidebar.expanded~.app-wrapper{margin-left:260px}.sidebar.collapsed~.app-wrapper{margin-left:72px}.app-wrapper{flex:1;transition:margin-left .3s cubic-bezier(.4,0,.2,1);min-height:100vh;display:flex;flex-direction:column}.sidebar.collapsed .sidebar-item{position:relative}.sidebar.collapsed .sidebar-item:after{content:attr(title);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);padding:.5rem .875rem;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:8px;font-size:.85rem;font-weight:500;color:var(--text-primary);white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s ease;z-index:1001;box-shadow:0 4px 12px #00000026;pointer-events:none}.sidebar.collapsed .sidebar-item:hover:after{opacity:1;visibility:visible}@media (max-width: 768px){.sidebar.expanded{width:220px}.sidebar.collapsed{width:64px}.sidebar.expanded~.app-wrapper{margin-left:220px}.sidebar.collapsed~.app-wrapper{margin-left:64px}.sidebar.collapsed .sidebar-item{width:44px;height:44px}.sidebar.collapsed .sidebar-icon{width:22px;height:22px}}.sidebar-footer{padding:1rem;border-top:1px solid var(--glass-border);margin-top:auto}.sidebar.collapsed .sidebar-footer{padding:.75rem}.user-profile{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:12px;background:#6366f10d;transition:all .2s ease}.user-profile:hover{background:#6366f11a}.sidebar.collapsed .user-profile{flex-direction:column;gap:.5rem;padding:.5rem}.user-avatar{width:40px;height:40px;border-radius:10px;background:var(--accent-gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0;box-shadow:0 2px 8px #6366f14d}.sidebar.collapsed .user-avatar{width:36px;height:36px;font-size:.8rem}.user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem;overflow:hidden}.user-name{font-weight:600;font-size:.875rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:.75rem;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-btn{width:36px;height:36px;background:transparent;border:1px solid rgba(239,68,68,.2);border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--text-tertiary);flex-shrink:0}.logout-btn svg{width:18px;height:18px}.logout-btn:hover{background:#ef44441a;border-color:#ef444466;color:#ef4444}.logout-btn:active{transform:scale(.95)}.sidebar.collapsed .logout-btn{width:32px;height:32px}.sidebar.collapsed .logout-btn svg{width:16px;height:16px}.user-profile .skeleton{background:linear-gradient(90deg,#6366f11a 25%,#6366f133,#6366f11a 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:8px}.user-avatar.skeleton{width:40px;height:40px;border-radius:10px}.user-info.skeleton{width:100%;height:36px}@media (max-width: 768px){.user-avatar{width:36px;height:36px;font-size:.8rem}.user-name{font-size:.8rem}.user-email{font-size:.7rem}.logout-btn{width:32px;height:32px}.logout-btn svg{width:16px;height:16px}}.main-dashboard{padding:1.5rem}.dashboard-header{margin-bottom:1.5rem}.dashboard-header h1{display:flex;align-items:center;gap:.75rem;font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.dashboard-header h1 svg{width:28px;height:28px;color:var(--accent-primary)}.summary-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}.summary-stats-grid.last-year-stats{margin-bottom:2rem}.summary-stats-grid.last-year-stats .summary-stat-card{opacity:.75;background:var(--bg-card);border-style:dashed}.summary-stats-grid.last-year-stats .summary-stat-card:hover{opacity:.9}.summary-stats-grid.last-year-stats .stat-value{font-size:1.5rem}@media (max-width: 1000px){.summary-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.summary-stats-grid{grid-template-columns:1fr}}.summary-stat-card{display:flex;align-items:center;gap:1.25rem;padding:1.5rem;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);transition:all .2s ease}.summary-stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.summary-stat-card .stat-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);flex-shrink:0}.summary-stat-card .stat-icon svg{width:28px;height:28px}.summary-stat-card.presales-stat .stat-icon{background:linear-gradient(135deg,#6366f126,#6366f10d);color:#6366f1}.summary-stat-card.winrate-stat .stat-icon{background:linear-gradient(135deg,#f59e0b26,#f59e0b0d);color:#f59e0b}.summary-stat-card.aftersales-stat .stat-icon{background:linear-gradient(135deg,#10b98126,#10b9810d);color:#10b981}.stat-content{display:flex;flex-direction:column;gap:.25rem;min-width:0}.stat-label{font-size:.85rem;font-weight:500;color:var(--text-muted)}.stat-value{font-size:1.75rem;font-weight:700;line-height:1.2}.stat-value.presales{background:linear-gradient(135deg,#6366f1,#4f46e5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-value.winrate{background:linear-gradient(135deg,#f59e0b,#d97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-value.aftersales{background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-subtitle{font-size:.8rem;color:var(--text-muted)}.dashboard-section{margin-bottom:2.5rem}.section-title-bar{display:flex;align-items:center;gap:.875rem;padding:1rem 1.5rem;border-radius:var(--radius-lg);margin-bottom:1.25rem}.section-title-bar.presales{background:linear-gradient(135deg,#6366f126,#6366f10d);border-left:4px solid #6366f1}.section-title-bar.aftersales{background:linear-gradient(135deg,#10b98126,#10b9810d);border-left:4px solid #10b981}.section-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md)}.section-title-bar.presales .section-icon{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 12px #6366f14d}.section-title-bar.aftersales .section-icon{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 12px #10b9814d}.section-icon svg{width:22px;height:22px}.section-title-bar h2{font-size:1.25rem;font-weight:700;margin:0;flex:1}.section-title-bar.presales h2{color:#6366f1}.section-title-bar.aftersales h2{color:#10b981}.section-stats{font-size:.85rem;font-weight:600;padding:.375rem .875rem;border-radius:var(--radius-full)}.section-title-bar.presales .section-stats{background:#6366f126;color:#6366f1}.section-title-bar.aftersales .section-stats{background:#10b98126;color:#10b981}.dashboard-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:1.5rem}@media (max-width: 1200px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-card{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden}.card-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--glass-border);background:linear-gradient(135deg,rgba(99,102,241,.05) 0%,transparent 100%)}.card-header h3{display:flex;align-items:center;gap:.625rem;font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.card-header h3 svg{width:18px;height:18px;color:var(--accent-primary)}.card-date{font-size:.85rem;color:var(--text-secondary);padding:.375rem .75rem;background:#6366f11a;border-radius:var(--radius-full)}.card-content{padding:1.5rem}.pie-chart-section .card-content{display:flex;justify-content:center}.pie-chart-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.pie-chart-svg{filter:drop-shadow(0 4px 12px rgba(0,0,0,.1))}.pie-segment{transition:all .2s ease;cursor:pointer}.pie-segment:hover{opacity:.85;transform-origin:center}.pie-chart-empty{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-secondary)}.pie-legend{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;max-width:100%}.legend-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;background:#ffffff05;border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:.85rem}.legend-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.legend-label{color:var(--text-primary);font-weight:500}.legend-value{color:var(--text-primary);font-weight:600}.legend-percentage{color:var(--text-secondary);font-size:.8rem}.overdue-count{font-size:.9rem;font-weight:600;color:#f59e0b;padding:.375rem .75rem;background:#f59e0b1a;border-radius:var(--radius-full)}.overdue-section .overdue-table-content{padding:0}.overdue-table-wrapper{max-height:400px;overflow-y:auto;overflow-x:auto}.overdue-table{width:100%;border-collapse:collapse;font-size:.85rem}.overdue-table thead{position:sticky;top:0;z-index:10;background:var(--bg-card)}.overdue-table th{padding:.75rem .875rem;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:2px solid var(--glass-border);white-space:nowrap;background:linear-gradient(135deg,rgba(99,102,241,.05) 0%,transparent 100%)}.overdue-table td{padding:.625rem .875rem;border-bottom:1px solid var(--glass-border);color:var(--text-primary)}.overdue-table tbody tr{transition:all .15s ease}.overdue-table tbody tr:hover{background:#6366f114}.overdue-row.urgency-critical{border-left:3px solid #ef4444}.overdue-row.urgency-warning{border-left:3px solid #f59e0b}.overdue-row.urgency-normal{border-left:3px solid #10b981}.overdue-table .col-days{width:70px;text-align:center}.overdue-table .col-type{width:110px}.overdue-table .col-goal{min-width:180px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overdue-table .col-customer{min-width:80px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overdue-table .col-si{min-width:60px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.overdue-table .col-fee{width:100px;font-weight:600;text-align:right;white-space:nowrap}.overdue-table .col-sales,.overdue-table .col-owner{width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overdue-table tbody tr.clickable{cursor:pointer!important;position:relative;z-index:1}.overdue-table tbody tr.clickable:hover{background:#6366f11f}.days-badge-compact{display:inline-block;font-size:.75rem;font-weight:700;padding:.25rem .5rem;border-radius:var(--radius-sm);min-width:45px;text-align:center}.days-badge-compact.critical{background:#ef444426;color:#ef4444}.days-badge-compact.warning{background:#f59e0b26;color:#f59e0b}.days-badge-compact.normal{background:#10b98126;color:#10b981}.type-badge-compact{display:inline-block;padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;white-space:nowrap}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center;color:var(--text-secondary)}.empty-state svg{width:48px;height:48px;margin-bottom:1rem;color:#10b981}.empty-state p{margin:0;font-size:1rem}.aftersales-project-card{transition:all .2s ease;display:flex;flex-direction:column}.aftersales-project-card:hover{transform:translateY(-2px);border-color:#10b9814d;box-shadow:0 8px 24px #10b9811f}.aftersales-card-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:linear-gradient(135deg,rgba(16,185,129,.08) 0%,transparent 100%);border-bottom:1px solid var(--glass-border)}.aftersales-project-name{font-weight:600;color:var(--text-primary);font-size:.95rem;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:.75rem}.aftersales-type-badge{padding:.25rem .625rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;flex-shrink:0}.aftersales-card-body{padding:1rem 1.25rem;flex:1;display:flex;flex-direction:column;gap:.625rem}.aftersales-info-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.aftersales-info-row svg{width:14px;height:14px;flex-shrink:0;opacity:.7}.aftersales-info-row.fee{margin-top:.25rem}.aftersales-fee{font-size:1.1rem;font-weight:700;background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.aftersales-card-footer{padding:.75rem 1.25rem;border-top:1px solid var(--glass-border);font-size:.8rem;color:var(--text-muted);background:#00000005}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:2rem;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 20% 80%,rgba(99,102,241,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(139,92,246,.15) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(59,130,246,.1) 0%,transparent 40%);animation:float 20s ease-in-out infinite;z-index:0}.login-card{position:relative;z-index:1;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:24px;padding:3rem 2.5rem;width:100%;max-width:380px;box-shadow:0 4px 24px #0000001a,0 0 0 1px #ffffff0d inset;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;flex-direction:column;align-items:center;gap:2rem}.login-header{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%}.login-logo{width:60px;height:60px;margin:0;background:var(--accent-gradient);border-radius:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px #6366f14d}.login-logo svg{width:32px;height:32px;color:#fff}.login-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.login-subtitle{font-size:.95rem;color:var(--text-secondary);margin:0}.login-btn{padding:1rem 1.5rem;font-size:1rem;font-weight:600;background:var(--accent-gradient);border:none;border-radius:12px;color:#fff;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;box-shadow:0 4px 12px #6366f14d;width:100%}.login-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #6366f166}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-btn svg,.microsoft-icon{width:20px;height:20px}.login-footer{margin:0;text-align:center;font-size:.85rem;color:var(--text-tertiary)}.login-footer p{margin:0}@media (max-width: 480px){.login-card{padding:2rem 1.5rem;border-radius:20px}.login-title{font-size:1.5rem}.login-logo{width:56px;height:56px}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Open Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}body{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1));font-family:Open Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:600}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.static{position:static}.fixed{position:fixed}.sticky{position:sticky}.bottom-6{bottom:1.5rem}.right-6{right:1.5rem}.top-0{top:0}.z-10{z-index:10}.z-50{z-index:50}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.h-10{height:2.5rem}.h-12{height:3rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-64{height:16rem}.h-8{height:2rem}.w-10{width:2.5rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-full{width:100%}.shrink-0{flex-shrink:0}.animate-fade-in{animation:fadeIn .2s ease-out}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-slide-up{animation:slideUp .3s ease-out}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:16px}.border{border-width:1px}.border-emerald-500\/20{border-color:#10b98133}.border-red-500\/20{border-color:#ef444433}.border-white\/20{border-color:#fff3}.bg-emerald-500\/10{background-color:#10b9811a}.bg-red-500\/10{background-color:#ef44441a}.bg-white\/10{background-color:#ffffff1a}.bg-white\/80{background-color:#fffc}.bg-white\/95{background-color:#fffffff2}.p-1{padding:.25rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-medium{font-weight:500}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-60{opacity:.6}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(2%,2%) rotate(1deg)}50%{transform:translateY(4%) rotate(0)}75%{transform:translate(-2%,2%) rotate(-1deg)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}.hover\:bg-black\/5:hover{background-color:#0000000d}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:opacity-100:hover{opacity:1}.group:hover .group-hover\:opacity-70{opacity:.7}@media (min-width: 768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
