@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&display=swap");:root{--font-sans:"Montserrat",system-ui,-apple-system,sans-serif;--background:210 40% 98%;--foreground:222 47% 11%;--card:0 0% 100%;--card-foreground:222 47% 11%;--primary:197 100% 31%;--primary-hover:197 100% 25%;--primary-light:197 100% 96%;--primary-foreground:0 0% 100%;--secondary:210 40% 96.1%;--secondary-foreground:222 47% 11.2%;--muted:215 16% 47%;--muted-light:210 40% 94%;--success:142 76% 36%;--success-light:142 80% 95%;--warning:38 92% 50%;--warning-light:48 96% 93%;--danger:3 86% 44%;--danger-light:3 86% 96%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:197 100% 31%;--radius:8px;--radius-lg:12px;--radius-sm:6px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:hsl(var(--background));min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}body,h1,h2,h3,h4,h5,h6{color:hsl(var(--foreground))}h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:-.02em}a{color:hsl(var(--primary));text-decoration:none;transition:color .15s ease}a:hover{color:hsl(var(--primary-hover))}button,input,select,textarea{font-family:inherit;font-size:inherit}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.card:hover{box-shadow:var(--shadow-md)}.card-title{font-size:1.125rem;margin-bottom:.5rem}.card-desc{color:hsl(var(--muted));font-size:.875rem}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.375rem;color:hsl(var(--foreground))}.form-input,.form-select,.form-textarea{width:100%;padding:.625rem .875rem;border-radius:var(--radius);border:1px solid hsl(var(--border));background-color:hsl(var(--card));color:hsl(var(--foreground));outline:none;font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary-light))}.form-input::placeholder,.form-textarea::placeholder{color:hsl(var(--muted));opacity:.6}.form-textarea{resize:vertical;min-height:100px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:all .15s ease;gap:.5rem}.btn-primary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn-primary:hover{background-color:hsl(var(--primary-hover))}.btn-secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border-color:hsl(var(--border))}.btn-secondary:hover{background-color:hsl(var(--muted-light))}.btn-outline{background-color:transparent;border-color:hsl(var(--border));color:hsl(var(--foreground))}.btn-outline:hover{background-color:hsl(var(--secondary))}.btn-danger{background-color:hsl(var(--danger-light));color:hsl(var(--danger));border-color:hsl(var(--danger-light))}.btn-danger:hover{background-color:hsl(var(--danger));color:hsl(var(--primary-foreground))}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:600;border-radius:9999px;text-transform:capitalize}.badge-low{background-color:hsl(var(--secondary));color:hsl(var(--muted))}.badge-normal{background-color:hsl(var(--primary-light));color:hsl(var(--primary))}.badge-high{background-color:hsl(var(--warning-light));color:hsl(var(--warning))}.badge-overdue{animation:pulse 2s infinite}.badge-closed,.badge-overdue{background-color:hsl(var(--danger-light));color:hsl(var(--danger))}.badge-open{background-color:hsl(var(--success-light));color:hsl(var(--success))}.table-container{width:100%;max-width:100%;overflow-x:auto;border-radius:var(--radius-lg);border:1px solid hsl(var(--border));box-shadow:var(--shadow-sm);background-color:hsl(var(--card))}.table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.table th{background-color:hsl(var(--secondary));font-weight:500;padding:.75rem 1rem}.table td,.table th{color:hsl(var(--foreground));border-bottom:1px solid hsl(var(--border))}.table td{padding:1rem}.table tr:last-child td{border-bottom:none}.table tr:hover td{background-color:hsl(var(--secondary))}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1.25rem;gap:1.25rem;margin-bottom:2rem}.kpi-card{display:flex;flex-direction:column;justify-content:space-between}.kpi-value{font-size:2.25rem;font-weight:700;margin:.5rem 0;color:hsl(var(--foreground));line-height:1}.kpi-label{color:hsl(var(--muted));font-size:.875rem;font-weight:500}.timeline{display:flex;flex-direction:column;gap:1.5rem;position:relative;margin-top:1.5rem}.timeline:before{content:"";position:absolute;left:20px;top:10px;bottom:10px;width:2px;background-color:hsl(var(--border))}.timeline-item{display:flex;gap:1rem;position:relative}.timeline-badge{width:40px;height:40px;border-radius:50%;background-color:hsl(var(--secondary));border:2px solid hsl(var(--border));display:flex;align-items:center;justify-content:center;font-size:1rem;z-index:10;flex-shrink:0}.timeline-item-customer .timeline-badge{background-color:hsl(var(--primary-light));border-color:hsl(var(--primary));color:hsl(var(--primary))}.timeline-item-agent .timeline-badge{background-color:hsl(var(--success-light));border-color:hsl(var(--success));color:hsl(var(--success))}.timeline-item-system .timeline-badge{background-color:hsl(var(--warning-light));border-color:hsl(var(--warning));color:hsl(var(--warning))}.timeline-content{flex-grow:1;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);padding:1rem 1.25rem;box-shadow:var(--shadow-sm)}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.timeline-sender{font-weight:600;font-size:.875rem}.timeline-date{color:hsl(var(--muted));font-size:.75rem}.timeline-body{font-size:.875rem;color:hsl(var(--foreground));line-height:1.6;white-space:pre-wrap;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.rich-text-editor-content ul,.timeline-body ul{list-style-type:disc;list-style-position:outside;padding-left:1.5rem;margin:.75rem 0}.rich-text-editor-content ol,.timeline-body ol{list-style-type:decimal;list-style-position:outside;padding-left:1.5rem;margin:.75rem 0}.rich-text-editor-content li,.timeline-body li{margin-bottom:.35rem;line-height:1.6}.rich-text-editor-content a,.timeline-body a{color:hsl(var(--primary));text-decoration:underline}.rich-text-editor-content blockquote,.timeline-body blockquote{border-left:3px solid hsl(var(--border));padding-left:1rem;color:hsl(var(--muted));margin:.75rem 0}.timeline-item-system .timeline-content{background-color:hsl(var(--secondary));border-style:dashed}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.dashboard-container{display:flex;min-height:100vh}.sidebar{width:260px;background-color:hsl(var(--card));border-right:1px solid hsl(var(--border));display:flex;flex-direction:column;flex-shrink:0}.sidebar-brand{padding:1.5rem;font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:.5rem;border-bottom:1px solid hsl(var(--border))}.sidebar-brand span{color:hsl(var(--primary))}.sidebar-menu{list-style:none;padding:1.5rem .75rem;display:flex;flex-direction:column;gap:.25rem;flex-grow:1}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:hsl(var(--foreground));font-weight:500;font-size:.875rem;border-radius:var(--radius);transition:all .15s ease}.sidebar-link:hover{background-color:hsl(var(--secondary));color:hsl(var(--foreground))}.sidebar-link.active{background-color:hsl(var(--primary-light));color:hsl(var(--primary))}.sidebar-footer{padding:1rem;border-top:1px solid hsl(var(--border));display:flex;align-items:center;justify-content:space-between;font-size:.875rem}.sidebar-user-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.sidebar-user-role{font-size:.75rem;color:hsl(var(--muted))}.main-content{flex-grow:1;display:flex;flex-direction:column;overflow-y:auto;max-height:100vh;min-width:0}.top-bar{height:64px;background-color:hsl(var(--card));border-bottom:1px solid hsl(var(--border));display:flex;align-items:center;justify-content:space-between;padding:0 2rem;flex-shrink:0}.mobile-menu-btn{display:none;background:none;border:none;cursor:pointer;color:hsl(var(--foreground));padding:.5rem;align-items:center;justify-content:center;margin-right:.5rem}@media (max-width:1024px){.mobile-menu-btn{display:flex}}.page-title{font-size:1.1rem;font-weight:600}.page-body{padding:2rem;flex-grow:1;min-width:0;max-width:100%}.tabs{display:flex;border-bottom:1px solid hsl(var(--border));margin-bottom:1.5rem;gap:1.5rem;scrollbar-width:none;-ms-overflow-style:none}.tabs::-webkit-scrollbar{display:none}.tab{padding:.75rem .5rem;font-size:.875rem;font-weight:500;color:hsl(var(--muted));border-bottom:2px solid transparent;cursor:pointer;transition:all .15s ease}.tab:hover{color:hsl(var(--foreground))}.tab.active{color:hsl(var(--primary));border-bottom-color:hsl(var(--primary))}.btn-editor-tool{background-color:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:hsl(var(--foreground));cursor:pointer;display:inline-flex;align-items:center;justify-content:center;height:28px;min-width:28px;padding:0 6px;font-size:.8rem;font-weight:500;transition:all .15s ease}.btn-editor-tool:hover{background-color:hsl(var(--secondary));border-color:hsl(var(--border))}.btn-editor-tool:active{background-color:hsl(var(--primary-light));color:hsl(var(--primary))}[contentEditable]:empty:before{content:attr(placeholder);color:hsl(var(--muted));opacity:.6;pointer-events:none;display:block}.login-container{display:flex;min-height:100vh;flex-direction:column}.login-visual-panel{display:none}.login-form-panel{display:flex;flex:1 1;align-items:center;justify-content:center;padding:2rem;background:radial-gradient(circle at center,#fff 0,#f8fafc 100%);position:relative;overflow:hidden}@media (min-width:992px){.login-container{flex-direction:row}.login-visual-panel{display:flex;flex:1.1 1;background:linear-gradient(135deg,#004e6e,#006f9c 50%,#3ba7d4);position:relative;overflow:hidden;align-items:center;justify-content:center;padding:4rem}.login-form-panel{flex:0.9 1;min-height:100vh;padding:3rem}}@media (max-width:1024px){.dashboard-container{position:relative;overflow-x:hidden}.sidebar{position:fixed;top:0;bottom:0;left:-260px;z-index:999;transition:left .3s ease-in-out;box-shadow:var(--shadow-lg)}.sidebar.open{left:0}.sidebar-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(15,23,42,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:998;animation:fadeIn .2s ease-out}.main-content{width:100%;max-height:100vh}.top-bar{padding:0 1rem;gap:1rem}.page-body{padding:1.25rem 1rem}.mobile-hidden{display:none!important}}.portal-header{padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:relative}.portal-nav-mobile{top:100%}.portal-backdrop{position:fixed;top:0;bottom:0}.equal-split{justify-content:space-between;align-items:center;position:relative}.portal-nav-desktop{display:flex;gap:1.5rem;align-items:center}.portal-hamburger-btn-container{display:none;align-items:center;gap:.5rem}@media (max-width:768px){.portal-hamburger-btn-container{display:flex}}.portal-hamburger-btn{display:none;background:none;border:none;cursor:pointer;color:hsl(var(--foreground));padding:.5rem;align-items:center;justify-content:center}.portal-nav-mobile{position:absolute;top:calc(100% - 2px);left:0;right:0;background-color:hsl(var(--card));border-bottom:1px solid hsl(var(--border));box-shadow:var(--shadow-lg);padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;z-index:200;animation:slideDown .2s ease-out}.portal-backdrop{position:absolute;top:100%;left:0;right:0;height:100vh;background-color:rgba(15,23,42,.15);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:90;animation:fadeIn .2s ease-out}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:1rem;gap:1rem}.workspace-split{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:1.5rem;gap:1.5rem;align-items:start}@media (max-width:1024px){.workspace-split{grid-template-columns:minmax(0,1fr)}}@media (max-width:768px){.portal-nav-desktop{display:none}.portal-hamburger-btn{display:flex}.portal-header{padding:1rem}.tabs{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;gap:1rem!important}.tab{flex-shrink:0}.form-grid-3{grid-template-columns:1fr}.page-title{font-size:.95rem!important}}.dashboard-filter-bar{justify-content:space-between}.dashboard-filter-bar,.dashboard-filter-group{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.dashboard-filter-item{display:flex;align-items:center;gap:.5rem}.dashboard-search-container{position:relative;width:320px}@media (max-width:640px){.dashboard-search-container{width:100%!important}.dashboard-filter-group{gap:.75rem!important}.dashboard-filter-group,.dashboard-filter-item{width:100%;flex-direction:column;align-items:stretch}.dashboard-filter-item{display:flex;gap:.25rem}.dashboard-filter-item select{width:100%!important}}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}@media (max-width:640px){.form-grid-2{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(3,1fr)!important;gap:.5rem!important}.kpi-card{padding:.75rem .5rem!important}.kpi-value{font-size:1.5rem!important;margin:.25rem 0 0!important}.kpi-label{font-size:.7rem!important}}.equal-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:2rem;gap:2rem;align-items:start}@media (max-width:1024px){.equal-split{grid-template-columns:minmax(0,1fr);gap:1.5rem}}@keyframes skeleton-loading{0%{background-color:#e2e8f0;opacity:.6}50%{background-color:#cbd5e1;opacity:.9}to{background-color:#e2e8f0;opacity:.6}}.skeleton{background-color:#e2e8f0;border-radius:var(--radius-sm);display:inline-block;width:100%;animation:skeleton-loading 1.6s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{transform:translateY(-16px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideIn{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}