:root{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-light:#dbeafe;--color-primary-dark:#1e40af;--color-neutral-50:#fafafa;--color-neutral-100:#f5f5f5;--color-neutral-200:#e5e5e5;--color-neutral-300:#d4d4d4;--color-neutral-400:#a3a3a3;--color-neutral-500:#737373;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#262626;--color-neutral-900:#171717;--color-success:#10b981;--color-success-light:#d1fae5;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-error:#ef4444;--color-error-light:#fee2e2;--color-info:#3b82f6;--color-info-light:#dbeafe;--color-bg-primary:#fff;--color-bg-secondary:#fafafa;--color-bg-tertiary:#f5f5f5;--color-bg-elevated:#fff;--color-text-primary:#171717;--color-text-secondary:#525252;--color-text-tertiary:#a3a3a3;--color-text-inverse:#fff;--color-border-light:#f5f5f5;--color-border-medium:#e5e5e5;--color-border-strong:#d4d4d4;--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;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Consolas,"Liberation Mono",Menlo,monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-full:9999px;--transition-fast:150ms ease;--transition-normal:200ms ease;--transition-slow:300ms ease;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-sans);line-height:1.5;line-height:var(--leading-normal)}body{background-color:#fafafa;color:#171717;font-size:1rem}.container{margin:0 auto;max-width:1280px;padding:0 1rem;padding:0 var(--space-4);width:100%}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem;gap:var(--space-2)}.gap-4{gap:1rem;gap:var(--space-4)}.gap-6{gap:1.5rem;gap:var(--space-6)}.p-4{padding:1rem;padding:var(--space-4)}.p-6{padding:1.5rem;padding:var(--space-6)}.p-8{padding:2rem;padding:var(--space-8)}.px-4{padding-left:1rem;padding-left:var(--space-4);padding-right:1rem;padding-right:var(--space-4)}.py-2{padding-bottom:.5rem;padding-bottom:var(--space-2);padding-top:.5rem;padding-top:var(--space-2)}.py-4{padding-bottom:1rem;padding-bottom:var(--space-4);padding-top:1rem;padding-top:var(--space-4)}.mb-4{margin-bottom:1rem;margin-bottom:var(--space-4)}.mb-6{margin-bottom:1.5rem;margin-bottom:var(--space-6)}.mb-8{margin-bottom:2rem;margin-bottom:var(--space-8)}.text-sm{font-size:.875rem;font-size:var(--text-sm)}.text-base{font-size:1rem;font-size:var(--text-base)}.text-lg{font-size:1.125rem;font-size:var(--text-lg)}.text-xl{font-size:1.25rem;font-size:var(--text-xl)}.text-2xl{font-size:1.5rem;font-size:var(--text-2xl)}.text-3xl{font-size:1.875rem;font-size:var(--text-3xl)}.font-medium{font-weight:500;font-weight:var(--font-medium)}.font-semibold{font-weight:600;font-weight:var(--font-semibold)}.font-bold{font-weight:700;font-weight:var(--font-bold)}.text-primary{color:#171717;color:var(--color-text-primary)}.text-secondary{color:#525252;color:var(--color-text-secondary)}.text-tertiary{color:#a3a3a3;color:var(--color-text-tertiary)}.bg-white{background-color:#fff;background-color:var(--color-bg-primary)}.bg-gray-50{background-color:#fafafa;background-color:var(--color-neutral-50)}.bg-primary{background-color:#2563eb;background-color:var(--color-primary);color:#fff;color:var(--color-text-inverse)}.border{border:1px solid #e5e5e5;border:1px solid var(--color-border-medium)}.border-light{border:1px solid #f5f5f5;border:1px solid var(--color-border-light)}.rounded-md{border-radius:.375rem;border-radius:var(--radius-md)}.rounded-lg{border-radius:.5rem;border-radius:var(--radius-lg)}.rounded-xl{border-radius:.75rem;border-radius:var(--radius-xl)}.rounded-2xl{border-radius:1rem;border-radius:var(--radius-2xl)}.shadow-sm{box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg)}.transition{transition:all .2s ease;transition:all var(--transition-normal)}.hover-lift:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-1px)}.focus-ring:focus{outline:2px solid #2563eb;outline:2px solid var(--color-primary);outline-offset:2px}.btn{align-items:center;border:none;border-radius:.5rem;border-radius:var(--radius-lg);cursor:pointer;display:inline-flex;font-size:.875rem;font-size:var(--text-sm);font-weight:500;font-weight:var(--font-medium);gap:.5rem;gap:var(--space-2);justify-content:center;outline:none;padding:.75rem 1.5rem;padding:var(--space-3) var(--space-6);text-decoration:none;transition:.15s ease;transition:var(--transition-fast)}.btn:focus{outline:2px solid #2563eb;outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary{background-color:#2563eb;background-color:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover{background-color:#1d4ed8;background-color:var(--color-primary-hover)}.btn-secondary{background-color:#fff;background-color:var(--color-bg-primary);border:1px solid #e5e5e5;border:1px solid var(--color-border-medium);color:#171717;color:var(--color-text-primary)}.btn-secondary:hover{background-color:#fafafa;background-color:var(--color-neutral-50)}.btn-ghost{background-color:initial;color:#525252;color:var(--color-text-secondary)}.btn-ghost:hover{background-color:#f5f5f5;background-color:var(--color-neutral-100)}.btn-ghost:hover,.input{color:#171717;color:var(--color-text-primary)}.input{background-color:#fff;background-color:var(--color-bg-primary);border:1px solid #e5e5e5;border:1px solid var(--color-border-medium);border-radius:.5rem;border-radius:var(--radius-lg);font-size:.875rem;font-size:var(--text-sm);padding:.75rem 1rem;padding:var(--space-3) var(--space-4);transition:.15s ease;transition:var(--transition-fast);width:100%}.input:focus{border-color:#2563eb;border-color:var(--color-primary);box-shadow:0 0 0 3px #dbeafe;box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.input::placeholder{color:#a3a3a3;color:var(--color-text-tertiary)}.card{background-color:#fff;background-color:var(--color-bg-elevated);border:1px solid #f5f5f5;border:1px solid var(--color-border-light);border-radius:.75rem;border-radius:var(--radius-xl);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);transition:.2s ease;transition:var(--transition-normal)}.card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md)}.form-group{margin-bottom:1.5rem}.form-label{color:#171717;margin-bottom:.5rem}.form-error{color:#ef4444;font-size:.875rem;margin-top:.25rem}.status-success{background-color:#d1fae5;background-color:var(--color-success-light);color:#10b981;color:var(--color-success)}.status-warning{background-color:#fef3c7;background-color:var(--color-warning-light);color:#f59e0b;color:var(--color-warning)}.status-error{background-color:#fee2e2;background-color:var(--color-error-light);color:#ef4444;color:var(--color-error)}.status-info{background-color:#dbeafe;background-color:var(--color-info-light);color:#3b82f6;color:var(--color-info)}@media (max-width:768px){.container{padding:0 .75rem;padding:0 var(--space-3)}.btn{font-size:.875rem;font-size:var(--text-sm);padding:.75rem 1rem;padding:var(--space-3) var(--space-4)}.text-3xl{font-size:1.5rem;font-size:var(--text-2xl)}.text-2xl{font-size:1.25rem;font-size:var(--text-xl)}}*,:after,:before{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-secondary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);margin:0;padding:0}#root,body{min-height:100vh}#root{display:flex;flex-direction:column}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:var(--color-neutral-100);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:var(--radius-full);-webkit-transition:var(--transition-fast);transition:var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}*{scrollbar-color:var(--color-neutral-300) var(--color-neutral-100);scrollbar-width:thin}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);font-weight:var(--font-semibold);line-height:var(--leading-tight);margin:0}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{line-height:var(--leading-relaxed);margin:0}a{color:var(--color-primary);text-decoration:none;transition:var(--transition-fast)}a:hover{color:var(--color-primary-hover);text-decoration:underline}:focus{outline:none}:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--color-primary);outline-offset:2px}::selection{background-color:var(--color-primary-light);color:var(--color-text-primary)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-in{animation:slideIn .3s ease-out}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{font-family:inherit;font-size:var(--text-sm);line-height:var(--leading-normal)}input,select,textarea{background:none;border:none;outline:none}input[type=checkbox],input[type=radio]{height:16px;margin-right:var(--space-2);width:16px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;padding:0;position:absolute;width:1px}.sr-only,.truncate{overflow:hidden;white-space:nowrap}.truncate{text-overflow:ellipsis}.hidden{display:none!important}.w-full{width:100%}.h-full{height:100%}.select-none{-webkit-user-select:none;user-select:none}.pointer-events-none{pointer-events:none}@media (min-width:640px){.sm\:hidden{display:none}.sm\:block{display:block}.sm\:flex{display:flex}}@media (min-width:768px){.md\:hidden{display:none}.md\:block{display:block}.md\:flex{display:flex}}@media (min-width:1024px){.lg\:hidden{display:none}.lg\:block{display:block}.lg\:flex{display:flex}}@media print{.no-print{display:none!important}body{background:#fff!important;color:#000!important}.card{border:1px solid #ccc!important;box-shadow:none!important}}.voice-input-button{position:relative;transition:all .2s ease-in-out}.voice-input-button:hover{transform:scale(1.05)}.voice-input-button.recording{animation:recording-pulse 1.5s ease-in-out infinite;box-shadow:0 0 0 2px #f443364d}@keyframes recording-pulse{0%{box-shadow:0 0 0 2px #f443364d}50%{box-shadow:0 0 0 6px #f443361a}to{box-shadow:0 0 0 2px #f443364d}}.interim-transcript{background:#000c;border-radius:4px;color:#fff;font-size:12px;margin-top:8px;max-width:200px;overflow:hidden;padding:4px 8px;text-overflow:ellipsis;top:100%;white-space:nowrap;z-index:1000}.interim-transcript,.interim-transcript:before{left:50%;position:absolute;transform:translateX(-50%)}.interim-transcript:before{border-bottom:4px solid #000c;border-left:4px solid #0000;border-right:4px solid #0000;content:"";top:-4px}.voice-input-button.recording .MuiSvgIcon-root{animation:recording-icon-pulse 1s ease-in-out infinite}@keyframes recording-icon-pulse{0%,to{opacity:1}50%{opacity:.7}}.voice-input-button[aria-describedby]{border:1px solid #f44336}@media (max-width:600px){.interim-transcript{font-size:11px;max-width:150px}}.voice-input-button:focus-visible{outline:2px solid #1976d2;outline-offset:2px}.chat-input .voice-input-button{margin-right:8px}@media (prefers-contrast:high){.voice-input-button.recording{animation:none;border:2px solid #f44336}.interim-transcript{background:#000;border:1px solid #fff}}@media (prefers-reduced-motion:reduce){.voice-input-button,.voice-input-button.recording,.voice-input-button.recording .MuiSvgIcon-root,.voice-input-button:hover{animation:none;transition:none}.voice-input-button:hover{transform:none}}.voice-speaker-container{align-items:center;display:flex;gap:4px;margin-top:8px}.voice-speaker-button{opacity:.7;transition:all .2s ease-in-out}.voice-speaker-button:hover{opacity:1;transform:scale(1.05)}.voice-speaker-button.speaking{animation:speaking-pulse 2s ease-in-out infinite;opacity:1}@keyframes speaking-pulse{0%,to{box-shadow:0 0 0 2px #1976d24d;transform:scale(1)}50%{box-shadow:0 0 0 4px #1976d21a;transform:scale(1.1)}}.voice-settings-button,.voice-stop-button{opacity:.5;transition:opacity .2s ease-in-out}.voice-settings-button:hover,.voice-stop-button:hover{opacity:1}.message-bubble.assistant .voice-speaker-container{border-top:1px solid #0000001a;margin-top:8px;padding-top:8px}@media (max-width:600px){.voice-speaker-container{gap:2px}.voice-settings-button{display:none}}@media (prefers-contrast:high){.voice-speaker-button.speaking{animation:none;border:2px solid #1976d2}.message-bubble.assistant .voice-speaker-container{border-top:2px solid #000}}@media (prefers-reduced-motion:reduce){.voice-speaker-button,.voice-speaker-button.speaking,.voice-speaker-button:hover{animation:none;transition:none}.voice-speaker-button:hover{transform:none}}.voice-settings-button:focus-visible,.voice-speaker-button:focus-visible,.voice-stop-button:focus-visible{outline:2px solid #1976d2;outline-offset:2px}.voice-speaker-button .MuiCircularProgress-root{color:inherit}.voice-speaker-button[aria-describedby]{color:#f44336}@media (prefers-color-scheme:dark){.message-bubble.assistant .voice-speaker-container{border-top-color:#ffffff1a}@media (prefers-contrast:high){.message-bubble.assistant .voice-speaker-container{border-top:2px solid #fff}}}.chat-main-layout{background:var(--color-bg-secondary);min-height:100vh;position:relative;width:100%}.chat-content-area{margin:0 auto 0 300px;max-width:1200px;padding:var(--space-6);position:relative;transition:margin-left .3s ease}.chat-content-area.history-hidden{margin-left:0}.chat-container{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;height:calc(100vh - 120px);overflow:hidden}.chat-header{background:var(--color-primary);border-bottom:1px solid var(--color-border-light);color:var(--color-text-inverse);justify-content:space-between;padding:var(--space-6)}.chat-header,.chat-header-left{align-items:center;display:flex}.chat-header-left{gap:var(--space-4)}.chat-header-avatar{align-items:center;background-color:#fff3;border-radius:var(--radius-full);display:flex;height:40px;justify-content:center;width:40px}.chat-header-title{font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0}.chat-header-subtitle{font-size:var(--text-sm);margin:0;margin-top:var(--space-1);opacity:.9}.chat-header-right{align-items:center;display:flex;gap:var(--space-4)}.chat-user-info{text-align:right}.chat-user-email{font-size:var(--text-sm);margin:0;opacity:.9}.chat-user-department{font-size:var(--text-xs);margin:0;margin-top:var(--space-1);opacity:.7}.desktop-history-toggle,.mobile-menu-btn{align-items:center;background-color:#ffffff1a;border:none;border-radius:var(--radius-lg);color:var(--color-text-inverse);cursor:pointer;display:flex;height:40px;justify-content:center;transition:var(--transition-fast);width:40px}.desktop-history-toggle:hover,.mobile-menu-btn:hover{background-color:#fff3}.messages-container{background:var(--color-bg-primary);flex:1 1;overflow-y:auto;padding:var(--space-6);scroll-behavior:smooth}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:var(--color-neutral-100);border-radius:var(--radius-full)}.messages-container::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:var(--radius-full)}.messages-container::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}.empty-state{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:var(--space-12)}.empty-state-icon{color:var(--color-neutral-400);height:64px;margin-bottom:var(--space-6);width:64px}.empty-state-title{color:var(--color-text-secondary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0 0 var(--space-2) 0}.empty-state-subtitle{color:var(--color-text-tertiary);font-size:var(--text-base);margin:0}.message-row{align-items:flex-start;animation:fadeIn .3s ease-out;display:flex;gap:var(--space-3);margin-bottom:var(--space-6)}.message-row.user{justify-content:flex-end}.message-row.assistant{justify-content:flex-start}.message-bubble{word-wrap:break-word;border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);line-height:var(--leading-relaxed);max-width:75%;padding:var(--space-4) var(--space-5);position:relative;white-space:pre-wrap}.message-bubble.user{background:var(--color-primary);border-bottom-right-radius:var(--radius-md);color:var(--color-text-inverse);margin-left:var(--space-12)}.message-bubble.assistant{background:var(--color-neutral-100);border-bottom-left-radius:var(--radius-md);color:var(--color-text-primary);margin-right:var(--space-12)}.message-avatar{align-items:center;border-radius:var(--radius-full);display:flex;flex-shrink:0;height:32px;justify-content:center;margin-top:var(--space-1);width:32px}.message-avatar.bot{background-color:var(--color-primary);color:var(--color-text-inverse)}.message-avatar.user{background-color:var(--color-neutral-600);color:var(--color-text-inverse)}.typing-container{align-items:center;display:flex;gap:var(--space-2)}.typing-dot{animation:typing 1.4s ease-in-out infinite;background-color:var(--color-neutral-400);border-radius:var(--radius-full);height:8px;width:8px}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}.typing-text{color:var(--color-text-tertiary);font-size:var(--text-sm);margin-left:var(--space-2)}@keyframes typing{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-8px)}}.source-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2);margin-top:var(--space-3);max-width:75%}.source-chip{background:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius-full);color:var(--color-primary);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-1) var(--space-3);transition:var(--transition-fast)}.source-chip:hover{background:var(--color-primary);color:var(--color-text-inverse)}.input-area{background:var(--color-bg-primary);border-top:1px solid var(--color-border-light);padding:var(--space-6)}.suggestions-toggle{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-4)}.suggestions-toggle-text{color:var(--color-text-tertiary);font-size:var(--text-sm)}.suggestions-toggle-btn{background:#0000;border:1px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-xs);padding:var(--space-1) var(--space-3);transition:var(--transition-fast)}.suggestions-toggle-btn:hover{background:var(--color-neutral-50);border-color:var(--color-primary);color:var(--color-primary)}.chat-input{position:relative}.chat-input input,.chat-input textarea{scroll-behavior:auto}.chat-input .MuiOutlinedInput-root:focus-within{scroll-margin-top:0}.chat-input .MuiOutlinedInput-root{background-color:var(--color-bg-primary);border:1px solid var(--color-border-medium);border-radius:var(--radius-xl);font-size:var(--text-base);line-height:var(--leading-relaxed);transition:var(--transition-fast)}.chat-input .MuiOutlinedInput-root.Mui-focused,.chat-input .MuiOutlinedInput-root:hover{background-color:var(--color-bg-primary);border-color:var(--color-primary)}.chat-input .MuiOutlinedInput-root.Mui-focused{box-shadow:0 0 0 3px var(--color-primary-light)}.chat-input .MuiInputBase-input{font-size:var(--text-base);line-height:var(--leading-relaxed);padding:var(--space-4)}.chat-input .MuiInputBase-input::placeholder{color:var(--color-text-tertiary);opacity:1}.send-button{align-items:center;background-color:var(--color-primary);border:none;border-radius:var(--radius-full);color:var(--color-text-inverse);cursor:pointer;display:flex;height:40px;justify-content:center;transition:var(--transition-fast);width:40px}.send-button:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.send-button.disabled{color:var(--color-neutral-500);cursor:not-allowed}.send-button.disabled,.send-button.disabled:hover{background-color:var(--color-neutral-300);box-shadow:none;transform:none}.suggestions-container{margin-top:var(--space-6)}.suggestions-title{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);margin-bottom:var(--space-3)}.suggestions-list{display:flex;flex-direction:column;gap:var(--space-2)}.suggestion-item{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);cursor:pointer;padding:var(--space-4);transition:var(--transition-fast)}.suggestion-item:hover{background:var(--color-primary-light);border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.suggestion-question{color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);margin-bottom:var(--space-1)}.suggestion-time{color:var(--color-text-tertiary);font-size:var(--text-xs)}@media (max-width:768px){.chat-content-area{padding:var(--space-4)}.chat-container{border-radius:var(--radius-xl);height:calc(100vh - 80px)}.chat-header{padding:var(--space-4)}.chat-header-left{gap:var(--space-3)}.chat-header-right{gap:var(--space-2)}.chat-user-info{display:none}.messages-container{padding:var(--space-4)}.message-bubble{max-width:85%;padding:var(--space-3) var(--space-4)}.message-bubble.user{margin-left:var(--space-8)}.message-bubble.assistant{margin-right:var(--space-8)}.source-chips{max-width:85%}.input-area{padding:var(--space-4)}.suggestions-toggle{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.mobile-menu-btn{display:flex}.desktop-history-toggle{display:none}}@media (min-width:769px){.mobile-menu-btn{display:none}.desktop-history-toggle{display:flex}}.login-page{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:var(--space-6);position:relative}.login-page:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='2' fill='%23fff' fill-opacity='.03' fill-rule='evenodd'/%3E%3C/svg%3E") repeat;bottom:0;content:"";left:0;opacity:.5;position:absolute;right:0;top:0}.login-container{max-width:440px;position:relative;width:100%;z-index:1}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-bg-primary);border:1px solid #ffffff1a;border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);overflow:hidden}.login-content{padding:var(--space-12) var(--space-8)}.login-header{margin-bottom:var(--space-10);text-align:center}.login-logo{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);color:var(--color-text-inverse);display:flex;height:64px;justify-content:center;margin:0 auto var(--space-6) auto;width:64px}.login-title{color:var(--color-text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);line-height:var(--leading-tight);margin:0 0 var(--space-2) 0}.login-subtitle{color:var(--color-text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed);margin:0 0 var(--space-4) 0}.login-badge{align-items:center;background:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius-full);color:var(--color-primary);display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-2);padding:var(--space-2) var(--space-4)}.login-badge-icon{height:16px;width:16px}.login-form{margin-bottom:var(--space-8)}.login-form-group{margin-bottom:var(--space-6)}.login-form-group:last-of-type{margin-bottom:var(--space-8)}.login-input{background-color:var(--color-bg-primary);border:2px solid var(--color-border-medium);border-radius:var(--radius-xl);color:var(--color-text-primary);font-family:inherit;font-size:var(--text-base);line-height:var(--leading-normal);outline:none;padding:var(--space-4) var(--space-5);transition:var(--transition-fast);width:100%}.login-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-light)}.login-input::placeholder{color:var(--color-text-tertiary)}.login-input-error,.login-input-error:focus{border-color:var(--color-error)}.login-input-error:focus{box-shadow:0 0 0 4px var(--color-error-light)}.login-password-container{position:relative}.login-password-toggle{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--color-text-tertiary);cursor:pointer;display:flex;height:24px;justify-content:center;position:absolute;right:var(--space-4);top:50%;transform:translateY(-50%);transition:var(--transition-fast);width:24px}.login-password-toggle:hover{background:var(--color-neutral-100);color:var(--color-text-secondary)}.login-password-toggle:focus{outline:2px solid var(--color-primary);outline-offset:2px}.login-error{align-items:flex-start;background:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--radius-lg);color:var(--color-error);display:flex;font-size:var(--text-sm);gap:var(--space-2);line-height:var(--leading-relaxed);margin-bottom:var(--space-6);padding:var(--space-4)}.login-error-icon{flex-shrink:0;height:16px;margin-top:2px;width:16px}.login-submit-btn{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);border:none;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);color:var(--color-text-inverse);cursor:pointer;display:flex;font-family:inherit;font-size:var(--text-base);font-weight:var(--font-semibold);gap:var(--space-2);justify-content:center;outline:none;overflow:hidden;padding:var(--space-4) var(--space-6);position:relative;transition:var(--transition-fast);width:100%}.login-submit-btn:hover:not(:disabled){box-shadow:var(--shadow-xl);transform:translateY(-2px)}.login-submit-btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}.login-submit-btn:disabled{box-shadow:var(--shadow-lg);cursor:not-allowed;opacity:.6;transform:none}.login-submit-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.login-submit-btn:hover:not(:disabled):before{left:100%}.login-submit-icon{height:20px;width:20px}.login-loading-spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:var(--radius-full);border-top:2px solid var(--color-text-inverse);height:20px;width:20px}.login-demo{background:var(--color-neutral-50);border-top:1px solid var(--color-border-light);padding:var(--space-6);text-align:left}.login-demo-title{color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);margin:0 0 var(--space-3) 0}.login-demo-list{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0}.login-demo-item{align-items:center;background:var(--color-bg-primary);border-radius:var(--radius-lg);display:flex;font-family:var(--font-mono);font-size:var(--text-xs);gap:var(--space-2);margin-bottom:var(--space-2);padding:var(--space-2)}.login-demo-item:last-child{margin-bottom:0}.login-demo-bullet{background:var(--color-primary);border-radius:var(--radius-full);flex-shrink:0;height:6px;width:6px}@media (max-width:768px){.login-page{padding:var(--space-4)}.login-content{padding:var(--space-8) var(--space-6)}.login-header{margin-bottom:var(--space-8)}.login-logo{height:56px;margin-bottom:var(--space-4);width:56px}.login-title{font-size:var(--text-2xl)}.login-subtitle{font-size:var(--text-sm)}.login-demo{padding:var(--space-4)}}@media (max-width:480px){.login-page{padding:var(--space-3)}.login-content{padding:var(--space-6) var(--space-4)}.login-card{border-radius:var(--radius-xl)}}@media (prefers-reduced-motion:reduce){.login-submit-btn{transition:none}.login-submit-btn:hover:not(:disabled){transform:none}.login-loading-spinner{animation:none}}@media (prefers-contrast:high){.login-input:focus,.login-submit-btn:focus{outline:3px solid;outline-offset:2px}}.expense-management,.financial-container,.financial-dashboard,.invoice-management,.stock-management{margin:0 auto;max-width:1400px;padding:20px}.dashboard-header,.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.dashboard-header h2,.page-header h2{color:#1f2937;color:var(--color-text,#1f2937);font-size:1.5rem;margin:0}.metrics-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:24px}.metric-card{align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px;padding:20px;transition:transform .2s,box-shadow .2s}.metric-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.metric-icon{align-items:center;border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-size:1.2rem;font-weight:700;height:44px;justify-content:center;width:44px}.metric-card.revenue .metric-icon{background:#16a34a}.metric-card.expenses .metric-icon{background:#dc2626}.metric-card.profit .metric-icon{background:#2563eb}.metric-card.outstanding .metric-icon{background:#d97706}.metric-content{display:flex;flex-direction:column;gap:4px}.metric-label{color:#6b7280;font-size:.875rem}.metric-value{color:#1f2937;font-size:1.5rem;font-weight:700}.metric-sub{color:#9ca3af;font-size:.75rem}.growth{border-radius:4px;font-weight:600;margin-left:8px;padding:2px 6px}.growth.positive{background:#dcfce7;color:#16a34a}.growth.negative{background:#fee2e2;color:#dc2626}.summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:24px}.summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px}.summary-card h3{border-bottom:1px solid #e5e7eb;color:#374151;font-size:1rem;margin:0 0 16px;padding-bottom:12px}.summary-stats{display:flex;flex-direction:column;gap:12px}.stat-row{align-items:center;display:flex;justify-content:space-between}.stat-label{color:#6b7280;font-size:.875rem}.stat-value{font-size:.875rem;font-weight:600}.badge-draft{background:#f3f4f6;color:#6b7280}.badge-draft,.badge-sent{border-radius:9999px;padding:2px 8px}.badge-sent{background:#dbeafe;color:#2563eb}.badge-paid{background:#dcfce7;color:#16a34a}.badge-overdue,.badge-paid{border-radius:9999px;padding:2px 8px}.badge-overdue{background:#fee2e2;color:#dc2626}.badge-pending{background:#fef3c7;color:#d97706}.badge-approved,.badge-pending{border-radius:9999px;padding:2px 8px}.badge-approved{background:#dcfce7;color:#16a34a}.text-success{color:#16a34a!important}.text-danger{color:#dc2626!important}.charts-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:24px}.chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px}.chart-card h3{color:#374151;font-size:1rem;margin:0 0 16px}.chart-bars{align-items:flex-end;border-bottom:2px solid #e5e7eb;display:flex;height:150px;justify-content:space-around;padding-top:20px}.bar-container{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%}.bar{border-radius:4px 4px 0 0;cursor:pointer;transition:height .3s ease;width:30px}.revenue-bar{background:linear-gradient(0deg,#3b82f6,#60a5fa)}.expense-bar{background:linear-gradient(0deg,#ef4444,#f87171)}.bar-label{color:#6b7280;font-size:.75rem;margin-top:8px}.category-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px}.category-card h3{color:#374151;font-size:1rem;margin:0 0 16px}.category-list{display:flex;flex-direction:column;gap:12px}.category-row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:120px 1fr 100px 60px}.category-name{color:#374151;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-bar-container{background:#f3f4f6;border-radius:4px;height:8px;overflow:hidden}.category-bar{background:linear-gradient(90deg,#8b5cf6,#a78bfa);border-radius:4px;height:100%;transition:width .3s ease}.category-value{color:#1f2937;font-size:.875rem;font-weight:600;text-align:right}.category-percent{color:#6b7280;font-size:.75rem;text-align:right}.data-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.data-table{border-collapse:collapse;width:100%}.data-table td,.data-table th{border-bottom:1px solid #e5e7eb;padding:12px 16px;text-align:left}.data-table th{background:#f9fafb;color:#374151;font-size:.875rem;font-weight:600}.data-table td{color:#4b5563;font-size:.875rem}.data-table tr:hover{background:#f9fafb}.form-group{margin-bottom:16px}.form-group label{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea,.form-input,.form-select,.form-textarea{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:.875rem;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}@media (max-width:500px){.form-row{grid-template-columns:1fr}}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:400!important;gap:8px}.checkbox-label input[type=checkbox]{cursor:pointer;width:auto}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:transform .2s,box-shadow .2s}.btn-primary:hover{box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-weight:500;padding:10px 20px;transition:background .2s}.btn-secondary:hover{background:#e5e7eb}.btn-danger{background:#fee2e2;border:none;border-radius:6px;color:#dc2626;cursor:pointer;font-weight:500;padding:8px 16px}.btn-danger:hover{background:#fecaca}.btn-success{background:#dcfce7;border:none;border-radius:6px;color:#16a34a;cursor:pointer;font-weight:500;padding:8px 16px}.btn-success:hover{background:#bbf7d0}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 50px #0003;max-height:90vh;max-width:600px;overflow-y:auto;padding:24px;width:90%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.modal-header h3{color:#1f2937;font-size:1.25rem;margin:0}.modal-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.5rem}.modal-actions,.modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px}.btn-primary:disabled,.btn-secondary:disabled,.btn-success:disabled{cursor:not-allowed;opacity:.6}.loading-container{color:#6b7280;flex-direction:column;padding:60px 20px}.loading-spinner{border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:40px;margin-bottom:12px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.error-message{color:#dc2626;padding:40px 20px;text-align:center}.error-message h3{margin:0 0 12px}.error-message p{color:#6b7280;margin-bottom:16px}.tab-navigation{border-bottom:2px solid #e5e7eb;display:flex;gap:4px;margin-bottom:24px}.tab-button{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-weight:500;margin-bottom:-2px;padding:12px 20px;transition:color .2s,border-color .2s}.tab-button:hover{color:#3b82f6}.tab-button.active{border-bottom-color:#3b82f6;color:#3b82f6}.empty-state{color:#9ca3af;padding:60px 20px;text-align:center}.empty-state-icon{color:#d1d5db;font-size:2rem;font-weight:300;margin-bottom:16px}.empty-state h3{color:#6b7280;margin:0 0 8px}.action-buttons{display:flex;gap:8px}.action-btn{border:none;border-radius:6px;cursor:pointer;font-size:.75rem;font-weight:500;padding:6px 12px;transition:opacity .2s}.action-btn:hover{opacity:.8}.financial-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.financial-title{color:#1f2937;font-size:1.5rem;margin:0}.financial-subtitle{color:#6b7280;font-size:.875rem;margin:4px 0 0}.tab-container{border-bottom:2px solid #e5e7eb;display:flex;gap:0;margin-bottom:20px}.form-label{color:#374151;font-size:.875rem;font-weight:500;margin-bottom:6px}.form-control{background:#fff;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:.875rem;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-control:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-grid-2{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.table-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.loading-state{color:#6b7280;font-size:.9rem;padding:48px 20px;text-align:center}.btn-icon{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;padding:4px 10px;transition:background .15s,border-color .15s;white-space:nowrap}.btn-icon:hover{background:#f3f4f6}.btn-icon:disabled{cursor:not-allowed;opacity:.6}@media (max-width:600px){.form-grid-2{grid-template-columns:1fr}}@media (max-width:768px){.charts-grid,.metrics-grid,.summary-grid{grid-template-columns:1fr}.category-row{grid-template-columns:100px 1fr 80px}.category-percent{display:none}.data-table-container{overflow-x:auto}}.invoice-items-mobile{display:none}.invoice-items-desktop{display:block;overflow-x:auto}@media (max-width:640px){.invoice-items-mobile{display:block}.invoice-items-desktop{display:none}}.pm-page{color:#111827;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0 auto;max-width:1400px;padding:24px}.pm-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.pm-title{color:#111827;font-size:22px;font-weight:700;margin:0}.pm-subtitle{color:#6b7280;font-size:13px;margin:4px 0 0}.pm-header-actions{display:flex;flex-shrink:0;gap:10px}.pm-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;justify-content:center;min-height:40px;padding:9px 18px;transition:all .15s ease;white-space:nowrap}.pm-btn:disabled{cursor:not-allowed;opacity:.6}.pm-btn-primary{background:#1e40af;color:#fff}.pm-btn-primary:hover:not(:disabled){background:#1d3a9e}.pm-btn-secondary{background:#f3f4f6;color:#374151}.pm-btn-secondary:hover:not(:disabled){background:#e5e7eb}.pm-btn-outline{background:#fff;border:1px solid #d1d5db;color:#374151}.pm-btn-outline:hover:not(:disabled){background:#f9fafb}.pm-btn-sm{font-size:12px;min-height:34px;padding:6px 14px}.pm-btn-link{background:none;border:none;border-radius:4px;color:#1e40af;cursor:pointer;font-size:12px;font-weight:600;padding:2px 6px}.pm-btn-link:hover{background:#eff6ff}.pm-link-muted{color:#6b7280}.pm-link-muted:hover{background:#f3f4f6}.pm-link-edit{color:#0369a1}.pm-link-edit:hover{background:#e0f2fe}.pm-link-danger{color:#b91c1c}.pm-link-danger:hover{background:#fee2e2}.pm-btn-danger{background:#dc2626;color:#fff}.pm-btn-danger:hover:not(:disabled){background:#b91c1c}.pm-tabs{-webkit-overflow-scrolling:touch;border-bottom:2px solid #e5e7eb;display:flex;gap:4px;margin-bottom:24px;overflow-x:auto;padding-bottom:1px;scrollbar-width:none}.pm-tabs::-webkit-scrollbar{display:none}.pm-tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;margin-bottom:-2px;min-height:44px;padding:10px 18px;position:relative;transition:color .15s;white-space:nowrap}.pm-tab:hover{color:#1e40af}.pm-tab-active{border-bottom-color:#1e40af;color:#1e40af}.pm-badge-alert{background:#ef4444;border-radius:10px;color:#fff;font-size:10px;font-weight:700;padding:1px 6px}.pm-tab-content{animation:pm-fade .2s ease}@keyframes pm-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.pm-summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.pm-summary-card{border-left:4px solid #0000;border-radius:12px;padding:18px}.pm-card-green{background:#f0fdf4;border-left-color:#16a34a}.pm-card-red{background:#fef2f2;border-left-color:#dc2626}.pm-card-blue{background:#eff6ff;border-left-color:#1d4ed8}.pm-card-orange{background:#fff7ed;border-left-color:#ea580c}.pm-card-purple{background:#faf5ff;border-left-color:#7c3aed}.pm-card-label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.pm-card-value{color:#111827;font-size:20px;font-weight:700}.pm-card-sub{color:#9ca3af;font-size:11px;margin-top:4px}.pm-outstanding-row{background:#e5e7eb;border-radius:10px;display:flex;gap:1px;margin-bottom:24px;overflow:hidden}.pm-outstanding-item{background:#f9fafb;display:flex;flex:1 1;flex-direction:column;gap:4px;padding:14px 18px}.pm-outstanding-label{color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.pm-outstanding-value{color:#111827;font-size:16px;font-weight:700}.pm-upcoming-section{border:1px solid #fde68a;border-radius:12px;margin-bottom:16px;overflow:hidden}.pm-upcoming-header{align-items:center;background:#fef3c7;color:#92400e;display:flex;font-size:13px;font-weight:700;gap:8px;padding:12px 18px}.pm-upcoming-icon{font-size:16px}.pm-upcoming-list{background:#fff}.pm-upcoming-item{align-items:center;border-bottom:1px solid #fef9c3;display:flex;gap:16px;justify-content:space-between;padding:14px 18px}.pm-upcoming-item:last-child{border-bottom:none}.pm-upcoming-left{flex:1 1;min-width:0}.pm-upcoming-name{color:#111827;font-size:14px;font-weight:600}.pm-upcoming-meta{align-items:center;color:#6b7280;display:flex;flex-wrap:wrap;font-size:12px;gap:6px;margin-top:2px}.pm-upcoming-right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:4px;text-align:right}.pm-upcoming-amount{color:#111827;font-size:14px;font-weight:700}.pm-upcoming-date{color:#6b7280;font-size:11px}.pm-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.pm-search{flex:1 1;min-width:200px}.pm-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;font-size:13px;min-height:40px;padding:9px 12px;transition:border-color .15s}.pm-input:focus{border-color:#1e40af;box-shadow:0 0 0 3px #1e40af1a;outline:none}.pm-select{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;cursor:pointer;font-size:13px;min-height:40px;padding:9px 12px}.pm-select:focus{border-color:#1e40af;outline:none}.pm-full{box-sizing:border-box;width:100%}.pm-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid #e5e7eb;border-radius:10px;overflow-x:auto}.pm-table{border-collapse:collapse;font-size:13px;min-width:600px;width:100%}.pm-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:11px;font-weight:700;letter-spacing:.05em;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.pm-table td{border-bottom:1px solid #f3f4f6;color:#374151;padding:12px 14px;vertical-align:middle}.pm-table tr:last-child td{border-bottom:none}.pm-table tbody tr:hover{background:#f9fafb}.pm-row-warn{background:#fffbeb!important}.pm-party-name{color:#111827;font-weight:600}.pm-party-type{color:#9ca3af;font-size:11px;margin-top:2px}.pm-mono{background:#f3f4f6;border-radius:4px;color:#374151;font-family:Courier New,monospace;font-size:12px;padding:2px 6px}.pm-amount{color:#111827;font-weight:600;white-space:nowrap}.pm-amount-in{color:#15803d}.pm-amount-in,.pm-amount-out{font-weight:700;white-space:nowrap}.pm-amount-out{color:#b91c1c}.pm-loading{font-size:14px;padding:48px}.pm-empty-state,.pm-loading{color:#9ca3af;text-align:center}.pm-empty-state{padding:56px 24px}.pm-empty-icon{color:#d1d5db;font-size:24px;font-weight:300;margin-bottom:12px}.pm-empty-title{color:#374151;font-size:16px;font-weight:600;margin-bottom:6px}.pm-empty-sub{color:#9ca3af;font-size:13px}.pm-pagination{color:#374151;gap:16px;justify-content:center;margin-top:16px}.pm-alert,.pm-pagination{align-items:center;display:flex;font-size:13px}.pm-alert{border-radius:8px;font-weight:500;gap:12px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.pm-alert-error{background:#fee2e2;border:1px solid #fca5a5;color:#b91c1c}.pm-alert-close{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;line-height:1;padding:0}.pm-modal-overlay{align-items:center;background:#00000073;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.pm-modal,.pm-modal-overlay{display:flex;overflow-y:auto}.pm-modal{background:#fff;border-radius:14px;box-shadow:0 20px 60px #0003;flex-direction:column;max-height:90vh;max-width:620px;width:100%}.pm-modal-sm{max-width:400px}.pm-modal-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.pm-modal-header h2{color:#111827;font-size:16px;font-weight:700;margin:0}.pm-modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:flex;font-size:22px;justify-content:center;line-height:1;min-height:32px;min-width:32px;padding:0}.pm-modal-close:hover{background:#f3f4f6;color:#374151}.pm-modal-body{flex:1 1;padding:20px 24px}.pm-modal-footer{background:#f9fafb;border-radius:0 0 14px 14px;border-top:1px solid #e5e7eb;bottom:0;display:flex;gap:10px;justify-content:flex-end;padding:16px 24px;position:-webkit-sticky;position:sticky}.pm-form-grid-2{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.pm-field{display:flex;flex-direction:column;gap:5px}.pm-field label{color:#374151;font-size:12px;font-weight:600}.pm-span-2{grid-column:span 2}.pm-textarea{border:1px solid #d1d5db;border-radius:8px;color:#111827;font-family:inherit;font-size:13px;min-height:40px;padding:9px 12px;resize:vertical}.pm-textarea:focus{border-color:#1e40af;box-shadow:0 0 0 3px #1e40af1a;outline:none}.pm-detail-grid{display:flex;flex-direction:column;gap:0}.pm-detail-row{border-bottom:1px solid #f3f4f6;display:flex;gap:16px;padding:10px 0}.pm-detail-row:last-child{border-bottom:none}.pm-detail-label{color:#6b7280;flex-shrink:0;font-size:12px;font-weight:600;min-width:140px}.pm-detail-value{color:#111827;font-size:13px;word-break:break-word}.pm-status-item-info{background:#f9fafb;border-radius:8px;color:#374151;font-size:13px;font-weight:500;margin-bottom:16px;padding:10px 14px}@media (max-width:1024px){.pm-summary-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.pm-page{padding:16px 12px}.pm-header{flex-direction:column;gap:12px}.pm-header-actions{width:100%}.pm-header-actions .pm-btn{justify-content:center;width:100%}.pm-title{font-size:18px}.pm-tabs{gap:0}.pm-tab{font-size:12px;padding:10px 14px}.pm-summary-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.pm-card-value{font-size:16px}.pm-outstanding-row{flex-direction:column;gap:0}.pm-filters{gap:8px}.pm-search{min-width:0;min-width:auto;width:100%}.pm-select{width:100%}.pm-upcoming-item{align-items:flex-start;flex-direction:column;gap:8px}.pm-upcoming-right{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:8px;text-align:left}.pm-modal-overlay{align-items:flex-end;padding:0}.pm-modal{border-radius:16px 16px 0 0;max-height:95vh;max-width:100%;width:100%}.pm-form-grid-2{grid-template-columns:1fr}.pm-span-2{grid-column:span 1}.pm-modal-footer{flex-direction:column-reverse}.pm-modal-footer .pm-btn{justify-content:center;width:100%}.pm-detail-row{flex-direction:column;gap:2px;padding:8px 0}.pm-detail-label{min-width:0;min-width:auto}.pm-table-wrap{border-radius:8px}.pm-pagination{font-size:12px;gap:10px}}@media (max-width:480px){.pm-summary-grid{grid-template-columns:1fr}.pm-card-value{font-size:18px}.pm-tab{font-size:11px;padding:9px 10px}}.gd-page{color:#111827;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0 auto;max-width:1400px;padding:24px}.gd-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.gd-title{color:#111827;font-size:22px;font-weight:700;margin:0}.gd-subtitle{color:#6b7280;font-size:13px;margin:4px 0 0}.gd-header-actions{display:flex;flex-shrink:0;gap:10px}.gd-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;justify-content:center;min-height:40px;padding:9px 18px;transition:all .15s ease;white-space:nowrap}.gd-btn:disabled{cursor:not-allowed;opacity:.6}.gd-btn-primary{background:#1e40af;color:#fff}.gd-btn-primary:hover:not(:disabled){background:#1d3a9e}.gd-btn-secondary{background:#f3f4f6;color:#374151}.gd-btn-secondary:hover:not(:disabled){background:#e5e7eb}.gd-btn-outline{background:#fff;border:1px solid #d1d5db;color:#374151}.gd-btn-outline:hover:not(:disabled){background:#f9fafb}.gd-btn-danger{background:#dc2626;color:#fff}.gd-btn-danger:hover:not(:disabled){background:#b91c1c}.gd-btn-sm{font-size:12px;min-height:34px;padding:6px 14px}.gd-btn-link{background:none;border:none;border-radius:4px;color:#1e40af;cursor:pointer;font-size:12px;font-weight:600;padding:2px 6px}.gd-btn-link:hover{background:#eff6ff}.gd-link-edit{color:#0369a1}.gd-link-edit:hover{background:#e0f2fe}.gd-link-muted{color:#6b7280}.gd-link-muted:hover{background:#f3f4f6}.gd-link-danger{color:#b91c1c}.gd-link-danger:hover{background:#fee2e2}.gd-tabs{-webkit-overflow-scrolling:touch;border-bottom:2px solid #e5e7eb;display:flex;gap:4px;margin-bottom:24px;overflow-x:auto;padding-bottom:1px;scrollbar-width:none}.gd-tabs::-webkit-scrollbar{display:none}.gd-tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;margin-bottom:-2px;min-height:44px;padding:10px 18px;position:relative;transition:color .15s;white-space:nowrap}.gd-tab:hover{color:#1e40af}.gd-tab-active{border-bottom-color:#1e40af;color:#1e40af}.gd-badge-alert{background:#ef4444;border-radius:10px;color:#fff;font-size:10px;font-weight:700;padding:1px 6px}.gd-content{animation:gd-fade .2s ease}@keyframes gd-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.gd-summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.gd-card{border-left:4px solid #0000;border-radius:12px;padding:18px}.gd-card-blue{background:#eff6ff;border-left-color:#1d4ed8}.gd-card-orange{background:#fff7ed;border-left-color:#ea580c}.gd-card-green{background:#f0fdf4;border-left-color:#16a34a}.gd-card-purple{background:#faf5ff;border-left-color:#7c3aed}.gd-card-label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.gd-card-value{color:#111827;font-size:20px;font-weight:700}.gd-card-sub{color:#9ca3af;font-size:11px;margin-top:4px}.gd-alert-section{border:1px solid #fde68a;border-radius:12px;margin-bottom:16px;overflow:hidden}.gd-alert-header{background:#fef3c7;color:#92400e;font-size:13px;font-weight:700;gap:8px;padding:12px 18px}.gd-alert-header,.gd-alert-row{align-items:center;display:flex}.gd-alert-row{background:#fff;border-bottom:1px solid #fef9c3;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:14px 18px}.gd-alert-row:last-child{border-bottom:none}.gd-alert-left,.gd-alert-right{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.gd-alert-right{flex-shrink:0}.gd-alert-consignee{color:#111827;font-size:14px;font-weight:600}.gd-date-muted{color:#9ca3af;font-size:11px}.gd-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.gd-search{flex:1 1;min-width:200px}.gd-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;color:#111827;font-size:13px;min-height:40px;padding:9px 12px;transition:border-color .15s}.gd-input:focus{border-color:#1e40af;box-shadow:0 0 0 3px #1e40af1a;outline:none}.gd-select{background:#fff;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;color:#111827;cursor:pointer;font-size:13px;min-height:40px;padding:9px 12px}.gd-select:focus{border-color:#1e40af;outline:none}.gd-full{width:100%}.gd-textarea{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;color:#111827;font-family:inherit;font-size:13px;min-height:40px;padding:9px 12px;resize:vertical}.gd-textarea:focus{border-color:#1e40af;box-shadow:0 0 0 3px #1e40af1a;outline:none}.gd-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid #e5e7eb;border-radius:10px;overflow-x:auto}.gd-table{border-collapse:collapse;font-size:13px;min-width:700px;width:100%}.gd-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:11px;font-weight:700;letter-spacing:.05em;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.gd-table td{border-bottom:1px solid #f3f4f6;color:#374151;padding:12px 14px;vertical-align:middle}.gd-table tr:last-child td{border-bottom:none}.gd-table tbody tr:hover{background:#f9fafb}.gd-row-warn{background:#fffbeb!important}.gd-mono{background:#f3f4f6;border-radius:4px;color:#374151;font-family:Courier New,monospace;font-size:12px;padding:2px 6px}.gd-amount{white-space:nowrap}.gd-amount,.gd-consignee-name{color:#111827;font-weight:600}.gd-consignee-country{color:#9ca3af;font-size:11px;margin-top:2px}.gd-actions{white-space:nowrap}.gd-loading{font-size:14px;padding:48px}.gd-empty,.gd-loading{color:#9ca3af;text-align:center}.gd-empty{padding:56px 24px}.gd-empty-icon{color:#d1d5db;font-size:24px;font-weight:300;margin-bottom:12px}.gd-empty-title{color:#374151;font-size:16px;font-weight:600;margin-bottom:6px}.gd-empty-sub{color:#9ca3af;font-size:13px}.gd-section-hint{color:#6b7280;font-size:13px;margin:0 0 16px}.gd-pagination{color:#374151;gap:16px;justify-content:center;margin-top:16px}.gd-alert,.gd-pagination{align-items:center;display:flex;font-size:13px}.gd-alert{border-radius:8px;font-weight:500;gap:12px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.gd-alert-error{background:#fee2e2;border:1px solid #fca5a5;color:#b91c1c}.gd-alert-close{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;line-height:1;padding:0}.gd-overlay{align-items:center;background:#00000073;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.gd-modal,.gd-overlay{display:flex;overflow-y:auto}.gd-modal{background:#fff;border-radius:14px;box-shadow:0 20px 60px #0003;flex-direction:column;max-height:90vh;max-width:640px;width:100%}.gd-modal-wide{max-width:780px}.gd-modal-sm{max-width:420px}.gd-modal-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;justify-content:space-between;padding:20px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.gd-modal-header h2{color:#111827;font-size:16px;font-weight:700;margin:0}.gd-modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:flex;flex-shrink:0;font-size:22px;justify-content:center;min-height:32px;min-width:32px;padding:0}.gd-modal-close:hover{background:#f3f4f6;color:#374151}.gd-modal-body{flex:1 1;padding:20px 24px}.gd-modal-footer{background:#f9fafb;border-radius:0 0 14px 14px;border-top:1px solid #e5e7eb;bottom:0;display:flex;gap:10px;justify-content:flex-end;padding:16px 24px;position:-webkit-sticky;position:sticky}.gd-grid-2{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.gd-field{display:flex;flex-direction:column;gap:5px}.gd-field label{color:#374151;font-size:12px;font-weight:600}.gd-span-2{grid-column:span 2}.gd-hint{color:#9ca3af;font-size:10px;font-weight:400}.gd-section-label{color:#6b7280;font-size:11px;font-weight:700;letter-spacing:.05em;margin-bottom:12px;text-transform:uppercase}.gd-detail-grid{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr 1fr;margin-bottom:20px}.gd-detail-row{border-bottom:1px solid #f3f4f6;display:flex;flex-direction:column;gap:2px;padding:10px 12px}.gd-detail-span{grid-column:span 2}.gd-detail-label{color:#6b7280;font-size:11px;font-weight:600;text-transform:uppercase}.gd-detail-value{color:#111827;font-size:13px;word-break:break-word}.gd-docs-section{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.gd-docs-header{align-items:center;background:#f9fafb;color:#374151;display:flex;font-size:13px;font-weight:700;justify-content:space-between;padding:12px 16px}.gd-docs-empty{color:#9ca3af;font-size:13px;padding:16px;text-align:center}.gd-doc-row{border-top:1px solid #f3f4f6;gap:12px;justify-content:space-between;padding:10px 16px}.gd-doc-left,.gd-doc-row{align-items:center;display:flex;flex-wrap:wrap}.gd-doc-left{flex:1 1;gap:8px}.gd-doc-type{background:#dbeafe;border-radius:10px;color:#1d4ed8;font-size:10px;font-weight:700;padding:2px 8px;text-transform:uppercase}.gd-doc-name{color:#111827;font-size:13px;font-weight:600}.gd-doc-ref{color:#6b7280;font-size:11px}.gd-doc-date{color:#9ca3af;font-size:11px}.gd-status-info{background:#f9fafb;border-radius:8px;color:#374151;font-size:13px;font-weight:500;margin-bottom:16px;padding:10px 14px}@media (max-width:1024px){.gd-summary-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.gd-page{padding:16px 12px}.gd-header{flex-direction:column;gap:12px}.gd-header-actions{width:100%}.gd-header-actions .gd-btn{justify-content:center;width:100%}.gd-title{font-size:18px}.gd-summary-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.gd-card-value{font-size:16px}.gd-tab{font-size:12px;padding:10px 12px}.gd-filters{gap:8px}.gd-search{min-width:0;min-width:auto;width:100%}.gd-select{width:100%}.gd-alert-row{align-items:flex-start;flex-direction:column;gap:8px}.gd-alert-right{flex-direction:row;flex-wrap:wrap}.gd-overlay{align-items:flex-end;padding:0}.gd-modal{border-radius:16px 16px 0 0;max-height:95vh;max-width:100%;width:100%}.gd-grid-2{grid-template-columns:1fr}.gd-span-2{grid-column:span 1}.gd-detail-grid{grid-template-columns:1fr}.gd-detail-span{grid-column:span 1}.gd-modal-footer{flex-direction:column-reverse}.gd-modal-footer .gd-btn{justify-content:center;width:100%}}@media (max-width:480px){.gd-summary-grid{grid-template-columns:1fr}.gd-tab{font-size:11px;padding:9px 10px}}.app-layout{background:var(--color-bg-secondary);display:flex;flex-direction:column;min-height:100vh}.app-navbar{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);position:-webkit-sticky;position:sticky;top:0;z-index:1000}.navbar-content{height:64px;justify-content:space-between;margin:0 auto;max-width:1280px;padding:0 var(--space-6)}.navbar-brand,.navbar-content{align-items:center;display:flex}.navbar-brand{color:var(--color-text-primary);gap:var(--space-3);text-decoration:none}.navbar-logo{align-items:center;background:var(--color-primary);border-radius:var(--radius-lg);color:var(--color-text-inverse);display:flex;height:32px;justify-content:center;width:32px}.navbar-title{font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0}.navbar-subtitle{color:var(--color-text-secondary);display:none;font-size:var(--text-sm);margin:0}.navbar-nav,.navbar-nav-item{align-items:center;display:flex;gap:var(--space-2)}.navbar-nav-item{background:#0000;border:none;border-radius:var(--radius-lg);color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-4);text-decoration:none;transition:var(--transition-fast)}.navbar-nav-item:hover{background:var(--color-neutral-100);color:var(--color-text-primary)}.navbar-nav-item.active{background:var(--color-primary-light);color:var(--color-primary)}.navbar-nav-item-icon{height:16px;width:16px}.nav-group{position:relative}.nav-group-btn{align-items:center;cursor:pointer;display:flex;gap:var(--space-2);-webkit-user-select:none;user-select:none;white-space:nowrap}.nav-group-btn.open{background:var(--color-neutral-100);color:var(--color-text-primary)}.nav-group-arrow{font-size:9px;margin-left:2px;opacity:.5;transition:transform .15s ease}.nav-group-btn.open .nav-group-arrow{opacity:.8}.nav-group-dropdown{animation:dropdownFadeIn .12s ease;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 12px 32px #0000001f,0 2px 8px #0000000f;display:flex;flex-direction:column;gap:2px;left:0;min-width:210px;padding:8px;position:absolute;top:calc(100% + 6px);z-index:1000}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nav-dropdown-group-label{border-bottom:1px solid #f3f4f6;color:#9ca3af;font-size:10px;font-weight:700;letter-spacing:.07em;margin-bottom:4px;padding:4px 10px 6px;text-transform:uppercase}.nav-dropdown-item{align-items:center;border-radius:7px;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:10px;padding:9px 12px;text-decoration:none;transition:background .1s ease,color .1s ease;white-space:nowrap}.nav-dropdown-item:hover{background:#f3f4f6;color:var(--color-text-primary)}.nav-dropdown-item.active{background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.nav-dropdown-icon{align-items:center;display:flex;flex-shrink:0;height:16px;opacity:.7;width:16px}.nav-dropdown-item.active .nav-dropdown-icon,.nav-dropdown-item:hover .nav-dropdown-icon{opacity:1}.financial-tab-bar{border-bottom:2px solid #e5e7eb;display:flex;gap:2px;margin-bottom:20px;overflow-x:auto;scrollbar-width:none}.financial-tab-bar::-webkit-scrollbar{display:none}.financial-table{border-collapse:collapse;font-size:13px;width:100%}.financial-table thead tr{background:#f9fafb;border-bottom:2px solid #e5e7eb}.financial-table th{color:#374151;font-size:12px;font-weight:600;letter-spacing:.03em;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.financial-table td{border-bottom:1px solid #f3f4f6;color:#374151;padding:10px 12px}.financial-table tbody tr:hover td{background:#fafafa}.financial-table tbody tr:last-child td{border-bottom:none}.table-actions{align-items:center;display:flex;gap:6px}.status-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:11px;font-weight:600;padding:2px 10px;white-space:nowrap}.mobile-nav-group-label{color:#9ca3af;color:var(--color-text-tertiary,#9ca3af);font-size:10px;font-weight:700;letter-spacing:.08em;padding:14px 16px 4px;text-transform:uppercase}.mobile-menu-button{align-items:center;background:#0000;border:none;border-radius:var(--radius-lg);color:var(--color-text-secondary);cursor:pointer;display:none;height:40px;justify-content:center;transition:var(--transition-fast);width:40px}.mobile-menu-button:hover{background:var(--color-neutral-100);color:var(--color-text-primary)}.mobile-nav-overlay{background:#00000080;bottom:0;left:0;opacity:0;position:fixed;right:0;top:0;transition:var(--transition-normal);visibility:hidden;z-index:1100}.mobile-nav-overlay.open{opacity:1;visibility:visible}.mobile-nav-panel{background:var(--color-bg-primary);border-right:1px solid var(--color-border-light);display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%);transition:var(--transition-normal);width:280px;z-index:1200}.mobile-nav-panel.open{transform:translateX(0)}.mobile-nav-header{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:var(--space-4) var(--space-6)}.mobile-nav-close{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:var(--transition-fast);width:32px}.mobile-nav-close:hover{background:var(--color-neutral-100);color:var(--color-text-primary)}.mobile-nav-list{flex:1 1;padding:var(--space-4)}.mobile-nav-item{align-items:center;border-radius:var(--radius-lg);color:var(--color-text-secondary);display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-3);margin-bottom:var(--space-1);padding:var(--space-3) var(--space-4);text-decoration:none;transition:var(--transition-fast)}.mobile-nav-item:hover{background:var(--color-neutral-100);color:var(--color-text-primary)}.mobile-nav-item.active{background:var(--color-primary-light);color:var(--color-primary)}.mobile-nav-item-icon{height:20px;width:20px}.user-menu{position:relative}.user-menu-button{align-items:center;background:#0000;border:none;border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:var(--space-2);padding:var(--space-2);transition:var(--transition-fast)}.user-menu-button:hover{background:var(--color-neutral-100)}.user-avatar{align-items:center;background:var(--color-primary);border-radius:var(--radius-full);color:var(--color-text-inverse);display:flex;font-size:var(--text-sm);font-weight:var(--font-semibold);height:32px;justify-content:center;width:32px}.user-info{align-items:flex-start;display:flex;flex-direction:column;text-align:left}.user-name{color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-medium)}.user-name,.user-role{line-height:1.2;margin:0}.status-indicator,.user-role{color:var(--color-text-secondary);font-size:var(--text-xs)}.status-indicator{align-items:center;background:var(--color-neutral-100);border-radius:var(--radius-full);display:flex;font-weight:var(--font-medium);gap:var(--space-2);padding:var(--space-1) var(--space-3)}.status-indicator.active{background:var(--color-success-light);color:var(--color-success)}.status-indicator.setup{background:var(--color-info-light);color:var(--color-info)}.status-indicator.upload{background:var(--color-warning-light);color:var(--color-warning)}.status-dot{background:currentColor;border-radius:var(--radius-full);height:6px;width:6px}.main-content{flex:1 1;margin:0 auto;max-width:1280px;padding:var(--space-8) var(--space-6);width:100%}.content-card{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);min-height:calc(100vh - 200px);overflow:hidden}.loading-container{align-items:center;background:var(--color-bg-secondary);display:flex;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border-top:3px solid var(--color-neutral-200);border:3px solid var(--color-neutral-200);border-radius:var(--radius-full);border-top-color:var(--color-primary);height:32px;width:32px}.loading-text{color:var(--color-text-secondary);font-size:var(--text-base);margin-left:var(--space-3)}@media (max-width:768px){.navbar-content{padding:0 var(--space-4)}.navbar-subtitle{display:block}.navbar-nav{display:none}.mobile-menu-button{display:flex}.user-info{display:none}.main-content{padding:var(--space-4)}.content-card{border-radius:var(--radius-xl);min-height:calc(100vh - 120px)}}@media (max-width:480px){.navbar-content{padding:0 var(--space-3)}.navbar-title{font-size:var(--text-base)}.main-content{padding:var(--space-3)}}.mobile-menu-button:focus,.mobile-nav-close:focus,.mobile-nav-item:focus,.navbar-nav-item:focus,.user-menu-button:focus{outline:2px solid var(--color-primary);outline-offset:2px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-slide-down{animation:slideDown .2s ease-out}.form-container{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);margin:0 auto;max-width:600px;padding:var(--space-8)}.form-header{margin-bottom:var(--space-8);text-align:center}.form-title{color:var(--color-text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);margin:0 0 var(--space-2) 0}.form-subtitle{color:var(--color-text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed);margin:0}.form-icon{color:var(--color-primary);height:48px;margin:0 auto var(--space-4) auto;width:48px}.form-section{margin-bottom:var(--space-8)}.form-section-title{align-items:center;border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary);display:flex;font-size:var(--text-lg);font-weight:var(--font-semibold);gap:var(--space-2);margin:0 0 var(--space-4) 0;padding-bottom:var(--space-2)}.form-section-icon{color:var(--color-primary);height:20px;width:20px}.form-group{margin-bottom:var(--space-6)}.form-group-row{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr}.form-group-full{grid-column:1/-1}.form-label{color:var(--color-text-primary);display:block;font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--leading-normal);margin-bottom:var(--space-2)}.form-label-required:after{color:var(--color-error);content:" *"}.form-label-optional{color:var(--color-text-secondary)}.form-label-optional:after{color:var(--color-text-tertiary);content:" (optional)";font-size:var(--text-xs);font-weight:var(--font-normal)}.form-input{background-color:var(--color-bg-primary);border:1px solid var(--color-border-medium);border-radius:var(--radius-lg);color:var(--color-text-primary);font-family:inherit;font-size:var(--text-sm);line-height:var(--leading-normal);outline:none;padding:var(--space-3) var(--space-4);transition:var(--transition-fast);width:100%}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-input:disabled{background-color:var(--color-neutral-100);cursor:not-allowed}.form-input::placeholder,.form-input:disabled{color:var(--color-text-tertiary)}.form-input-lg{font-size:var(--text-base);padding:var(--space-4) var(--space-5)}.form-input-sm{font-size:var(--text-xs);padding:var(--space-2) var(--space-3)}.form-textarea{line-height:var(--leading-relaxed);min-height:100px;resize:vertical}.form-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right var(--space-3) center;background-repeat:no-repeat;background-size:16px 16px;padding-right:var(--space-10)}.form-select:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%232563eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E")}.form-checkbox,.form-radio{align-items:center;color:var(--color-text-primary);cursor:pointer;display:inline-flex;font-size:var(--text-sm);gap:var(--space-3);position:relative}.form-checkbox input,.form-radio input{background-color:var(--color-bg-primary);border:2px solid var(--color-border-medium);cursor:pointer;height:18px;transition:var(--transition-fast);width:18px}.form-checkbox input{border-radius:var(--radius-sm)}.form-radio input{border-radius:var(--radius-full)}.form-checkbox input:checked,.form-radio input:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.form-checkbox input:focus,.form-radio input:focus{box-shadow:0 0 0 3px var(--color-primary-light)}.form-input-error,.form-input-error:focus{border-color:var(--color-error)}.form-input-error:focus{box-shadow:0 0 0 3px var(--color-error-light)}.form-input-success,.form-input-success:focus{border-color:var(--color-success)}.form-input-success:focus{box-shadow:0 0 0 3px var(--color-success-light)}.form-error{color:var(--color-error)}.form-error,.form-success{display:block;font-size:var(--text-sm);line-height:var(--leading-normal);margin-top:var(--space-1)}.form-success{color:var(--color-success)}.form-help{color:var(--color-text-tertiary);display:block;font-size:var(--text-sm);line-height:var(--leading-normal);margin-top:var(--space-1)}.form-actions{border-top:1px solid var(--color-border-light);display:flex;gap:var(--space-4);justify-content:flex-end;margin-top:var(--space-8);padding-top:var(--space-6)}.form-button{align-items:center;border:1px solid #0000;border-radius:var(--radius-lg);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-2);justify-content:center;line-height:var(--leading-normal);min-width:120px;outline:none;padding:var(--space-3) var(--space-6);text-decoration:none;transition:var(--transition-fast)}.form-button:focus{outline:2px solid var(--color-primary);outline-offset:2px}.form-button:disabled{cursor:not-allowed;opacity:.6}.form-button-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.form-button-primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.form-button-secondary{background-color:var(--color-bg-primary);border-color:var(--color-border-medium);color:var(--color-text-primary)}.form-button-secondary:hover:not(:disabled){background-color:var(--color-neutral-50);border-color:var(--color-border-strong)}.form-button-ghost{background-color:initial;border-color:#0000;color:var(--color-text-secondary)}.form-button-ghost:hover:not(:disabled){background-color:var(--color-neutral-100);color:var(--color-text-primary)}.form-button-danger{background-color:var(--color-error);border-color:var(--color-error);color:var(--color-text-inverse)}.form-button-danger:hover:not(:disabled){background-color:#dc2626;border-color:#dc2626}.form-button-sm{font-size:var(--text-xs);min-width:80px;padding:var(--space-2) var(--space-4)}.form-button-lg{font-size:var(--text-base);min-width:160px;padding:var(--space-4) var(--space-8)}.form-alert{border-radius:var(--radius-lg);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin-bottom:var(--space-6);padding:var(--space-4)}.form-alert-success{background-color:var(--color-success-light);border:1px solid var(--color-success);color:var(--color-success)}.form-alert-error{background-color:var(--color-error-light);border:1px solid var(--color-error);color:var(--color-error)}.form-alert-warning{background-color:var(--color-warning-light);border:1px solid var(--color-warning);color:var(--color-warning)}.form-alert-info{background-color:var(--color-info-light);border:1px solid var(--color-info);color:var(--color-info)}.form-loading{overflow:hidden;position:relative}.form-loading:after{align-items:center;background-color:#fffc;bottom:0;content:"";display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.form-spinner{animation:spin 1s linear infinite;border-top:2px solid var(--color-neutral-200);border:2px solid var(--color-neutral-200);border-radius:var(--radius-full);border-top-color:var(--color-primary);height:20px;width:20px}@media (max-width:768px){.form-container{border-radius:var(--radius-xl);margin:var(--space-4);padding:var(--space-6)}.form-title{font-size:var(--text-2xl)}.form-group-row{gap:var(--space-4);grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;gap:var(--space-3)}.form-button{justify-content:center;width:100%}}.form-input:invalid{border-color:var(--color-error)}.form-input:valid:not(:placeholder-shown){border-color:var(--color-success)}@media (prefers-contrast:high){.form-input:focus{outline:2px solid;outline-offset:2px}}
/*# sourceMappingURL=main.75991bc2.css.map*/