.voice-assistant-button{position:fixed;right:28px;bottom:28px;width:62px;height:62px;border:none;border-radius:50%;background:linear-gradient(135deg,#111827,#374151);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 30px #00000038;z-index:9999;transition:transform .2s ease,box-shadow .2s ease}.voice-assistant-button:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 16px 34px #00000047}.voice-assistant-icon{font-size:27px;line-height:1}.voice-assistant-panel{position:fixed;right:28px;bottom:28px;width:370px;max-width:calc(100vw - 32px);border-radius:22px;background:#fff;box-shadow:0 24px 70px #00000038;border:1px solid rgba(17,24,39,.08);overflow:hidden;z-index:10000;animation:voicePanelEnter .22s ease-out}@keyframes voicePanelEnter{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.voice-assistant-header{padding:18px;background:linear-gradient(135deg,#111827,#1f2937);color:#fff;display:flex;justify-content:space-between;align-items:center}.voice-assistant-title-area{display:flex;align-items:center;gap:12px}.voice-assistant-avatar{width:42px;height:42px;border-radius:14px;background:#ffffff1f;display:flex;align-items:center;justify-content:center;font-size:21px}.voice-assistant-title-area h3{margin:0;font-size:16px;font-weight:700}.voice-assistant-title-area span{display:block;margin-top:3px;font-size:12px;color:#ffffffb3}.voice-assistant-close{width:34px;height:34px;border:none;border-radius:10px;background:#ffffff1a;color:#fff;font-size:24px;cursor:pointer}.voice-assistant-body{padding:28px 24px 24px;text-align:center}.voice-assistant-welcome{padding:8px 8px 18px}.voice-assistant-large-icon{width:74px;height:74px;margin:0 auto 16px;border-radius:50%;background:#f3f4f6;color:#111827;display:flex;align-items:center;justify-content:center;font-size:30px}.voice-assistant-welcome h4{margin:0;font-size:20px;color:#111827}.voice-assistant-welcome p{margin:9px auto 0;max-width:290px;font-size:13px;line-height:1.6;color:#6b7280}.voice-assistant-status{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;background:#f3f4f6;color:#4b5563;font-size:12px;font-weight:600;margin-bottom:20px}.voice-status-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px #22c55e1f}.voice-microphone-button{width:76px;height:76px;border:none;border-radius:50%;background:#111827;color:#fff;font-size:30px;display:flex;align-items:center;justify-content:center;margin:0 auto;cursor:pointer;box-shadow:0 12px 25px #11182738;transition:transform .2s ease,box-shadow .2s ease}.voice-microphone-button:hover{transform:scale(1.05);box-shadow:0 16px 30px #11182745}.voice-assistant-hint{margin:18px 0 0;font-size:11px;color:#9ca3af}@media (max-width: 600px){.voice-assistant-button{right:18px;bottom:18px;width:58px;height:58px}.voice-assistant-panel{right:16px;bottom:16px;width:calc(100vw - 32px)}}.voice-listening-animation{animation:voiceListeningPulse 1.3s ease-in-out infinite}@keyframes voiceListeningPulse{0%{transform:scale(1);box-shadow:0 0 #1118272e}50%{transform:scale(1.06);box-shadow:0 0 0 14px #1118270d}to{transform:scale(1);box-shadow:0 0 #1118272e}}.voice-status-listening{background:#eef2ff}.voice-status-listening .voice-status-dot{animation:voiceDotPulse 1s ease-in-out infinite}@keyframes voiceDotPulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.65}to{transform:scale(1);opacity:1}}.voice-microphone-listening{animation:microphonePulse 1.2s ease-in-out infinite}@keyframes microphonePulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.voice-transcript-box{width:100%;box-sizing:border-box;margin:0 auto 20px;padding:13px 15px;border-radius:14px;background:#f8fafc;border:1px solid #e5e7eb;text-align:left}.voice-transcript-label{font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.voice-transcript-text{font-size:14px;line-height:1.5;color:#111827;word-break:break-word}.voice-error-message{width:100%;box-sizing:border-box;margin:0 auto 18px;padding:11px 13px;border-radius:12px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:12px;line-height:1.5}:root{--navy: #16273f;--navy-light: #2d425d;--navy-hover: #223852;--brass: #a97a3f;--brass-light: #f2e3cf;--canvas: #f7f5f1;--surface: #ffffff;--border: #e4e0d8;--text-primary: #1c2530;--text-secondary: #666a70;--text-muted: #9a9d9f;--success-bg: #e5f3e6;--success-text: #2c6e31;--warning-bg: #fbf0dc;--warning-text: #92650f;--danger-bg: #fbe6e3;--danger-text: #a4321f;--info-bg: #e4edf7;--info-text: #2b5586;--radius: 8px;--font-heading: "Source Serif 4", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--canvas);color:var(--text-primary);font-family:var(--font-body);font-size:14px;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-heading);font-weight:600;margin:0}a{color:var(--brass);text-decoration:none}button,input,select,textarea{font-family:var(--font-body);font-size:14px}button{cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);padding:8px 14px;color:var(--text-primary);transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}button:hover{background:var(--canvas)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brass);outline-offset:1px}button.primary{background:var(--navy);color:#fff;border-color:var(--navy)}button.primary:hover{background:var(--navy-light)}button.danger{color:var(--danger-text);border-color:var(--danger-bg)}button.danger:hover{background:var(--danger-bg)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;background:var(--surface);color:var(--text-primary);width:100%}label{display:block;font-size:12.5px;color:var(--text-secondary);margin-bottom:4px;font-weight:500}.field{margin-bottom:14px}.app-shell{display:flex;min-height:100vh}.sidebar{width:270px;background:var(--navy);color:#fff;flex-shrink:0;padding:28px 16px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;box-shadow:2px 0 14px #0000000d}.sidebar .brand{display:flex;flex-direction:column;align-items:flex-start;padding:0 16px;margin-bottom:42px}.sidebar .brand-logo{width:58px;height:58px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:#fff}.sidebar .brand-logo svg{width:42px;height:42px}.sidebar .brand-name{font-family:var(--font-heading);font-size:34px;font-weight:600;line-height:1.05;color:#fff;letter-spacing:-.5px}.sidebar .brand-subtitle{margin-top:10px;color:#ffffffd1;font-size:13px;font-weight:500;letter-spacing:.025em;line-height:1.45}.sidebar .workspace-badge{margin-top:5px;color:#fffffff2;font-size:13px;font-weight:500;letter-spacing:.025em;line-height:1.45}.sidebar-nav{display:flex;flex-direction:column;gap:7px}.nav-section-title{padding:0 16px;margin-bottom:12px;color:#ffffffc7;font-size:12px;font-weight:600;letter-spacing:.1em}.sidebar a{display:flex;align-items:center;gap:15px;min-height:52px;padding:11px 15px;border-radius:11px;color:#ffffffb3;font-size:15px;font-weight:500;transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.sidebar .nav-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#ffffffad;transition:color .18s ease,transform .18s ease}.sidebar .nav-icon svg{width:24px;height:24px;display:block}.sidebar .nav-label{line-height:1}.sidebar a:hover{background:#fff1;color:#fff;transform:translate(2px)}.sidebar a:hover .nav-icon{color:#fff;transform:scale(1.04)}.sidebar a.active{background:var(--navy-light);color:#fff;box-shadow:inset 4px 0 0 var(--brass),0 3px 10px #00000014}.sidebar a.active .nav-icon{color:#fff}.sidebar a.active .nav-label{font-weight:600}.sidebar .user-box{margin-top:auto;padding:18px 8px 0;border-top:1px solid rgba(255,255,255,.12);color:#ffffffb3}.user-profile{display:flex;align-items:center;gap:12px;padding:8px 7px 14px}.user-avatar{width:46px;height:46px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;color:#fff;font-size:17px;font-weight:600;flex-shrink:0}.user-details{min-width:0;flex:1}.user-name{color:#fff;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{margin-top:4px;color:#ffffff94;font-size:12px;text-transform:capitalize}.logout-button{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;padding:9px 10px;background:transparent;border:1px solid rgba(255,255,255,.12);color:#ffffffad;border-radius:8px;font-size:12.5px}.logout-button:hover{background:#ffffff12;color:#fff;border-color:#fff3}.main{flex:1;padding:2rem 2.5rem;max-width:1180px;min-width:0}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.page-header h1{font-size:22px}.page-header p{color:var(--text-secondary);margin:4px 0 0;font-size:13.5px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:1.75rem}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem 1.1rem}.metric-card .label{font-size:12.5px;color:var(--text-secondary)}.metric-card .value{font-size:24px;font-weight:600;margin-top:4px;font-family:var(--font-heading)}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-weight:600;padding:10px 12px;border-bottom:1px solid var(--border)}td{padding:12px;border-bottom:1px solid var(--border);font-size:13.5px}tr:last-child td{border-bottom:none}tr.clickable:hover{background:var(--canvas);cursor:pointer}.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:500}.badge.open,.badge.scheduled,.badge.unpaid{background:var(--info-bg);color:var(--info-text)}.badge.in_progress,.badge.medium{background:var(--warning-bg);color:var(--warning-text)}.badge.closed,.badge.won,.badge.paid,.badge.completed,.badge.low{background:var(--success-bg);color:var(--success-text)}.badge.urgent,.badge.high,.badge.lost,.badge.overdue,.badge.cancelled{background:var(--danger-bg);color:var(--danger-text)}.badge.on_hold,.badge.postponed{background:#eee;color:var(--text-secondary)}.toolbar{display:flex;gap:10px;margin-bottom:1.25rem;flex-wrap:wrap;align-items:center}.toolbar input,.toolbar select{width:auto;min-width:160px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14192373;display:flex;align-items:flex-start;justify-content:center;padding:4vh 1rem;overflow-y:auto;z-index:50}.modal{background:var(--surface);border-radius:12px;width:100%;max-width:560px;padding:1.75rem}.modal h2{font-size:18px;margin-bottom:1.25rem}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:1.5rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.error-text{color:var(--danger-text);font-size:13px;margin-top:8px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:1.25rem}.tabs button{border:none;border-bottom:2px solid transparent;border-radius:0;background:none;padding:10px 4px;margin-right:20px;color:var(--text-secondary)}.tabs button.active{color:var(--navy);border-bottom-color:var(--brass);font-weight:600}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--navy)}.auth-card{background:var(--surface);width:100%;max-width:380px;padding:2.25rem;border-radius:12px}.auth-card h1{text-align:center;margin-bottom:1.75rem;color:var(--navy)}@media (max-width: 1100px){.sidebar{width:250px}.main{padding:1.75rem 2rem}}@media (max-width: 900px){.sidebar{width:220px}.sidebar .brand-name{font-size:29px}.sidebar .brand-subtitle,.sidebar .workspace-badge{font-size:12px}.sidebar a{font-size:13.5px}.main{padding:1.5rem}.grid-2{grid-template-columns:1fr}}@media (max-width: 700px){.app-shell{display:block}.sidebar{position:relative;width:100%;height:auto;min-height:auto;padding:20px 14px}.sidebar .brand{margin-bottom:24px}.sidebar-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.nav-section-title{grid-column:1 / -1}.sidebar .user-box{margin-top:20px}.main{max-width:none;padding:1.25rem}.page-header{flex-direction:column;gap:12px}}.sidebar .nav-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:23px;line-height:1;color:#ffffffd1;transition:transform .18s ease,filter .18s ease}.sidebar a:first-of-type .nav-icon{font-size:28px;font-weight:300}.sidebar a:hover .nav-icon{transform:scale(1.08)}.sidebar a.active .nav-icon{transform:scale(1.05);color:#fff}.sidebar .brand-logo{width:58px;height:58px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;position:relative}.sidebar .brand-logo:before{content:"";position:absolute;width:43px;height:50px;border:4px solid #ffffff;border-radius:13px 13px 20px 20px;transform:rotate(0);clip-path:polygon(50% 0%,92% 18%,92% 57%,78% 78%,50% 100%,22% 78%,8% 57%,8% 18%)}.sidebar .brand-shield{position:relative;z-index:2;color:#fff;font-size:26px;font-weight:700;line-height:1;margin-top:2px}
