@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{--primary-color: #0c7ff2;--primary-hover: #0a6bd6;--secondary-color: #f0f2f5;--text-primary: #111418;--text-secondary: #60758a;--border-color: #dbe0e6;--bg-main: #f8fafc;--success-color: #22c55e;--warning-color: #f59e0b;--danger-color: #ef4444}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:Manrope,Noto Sans,sans-serif;background:var(--bg-main);color:var(--text-primary);min-height:100vh}.page-container{display:flex;min-height:100vh}.sidebar{width:18rem;background:#fff;border-right:1px solid var(--border-color);box-shadow:1px 0 3px #0000000a;position:sticky;top:0;height:100vh;padding:5rem 1.5rem 1.5rem}.main-content{flex:1;padding:5rem 2rem 2rem}.header{position:fixed;top:0;left:0;right:0;height:4rem;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;border-bottom:1px solid var(--border-color);box-shadow:0 1px 3px #0000001a;z-index:10}.logo-section{display:flex;align-items:center;gap:.75rem;color:var(--primary-color);font-weight:700;font-size:1.25rem}.user-info{display:flex;align-items:center;gap:1rem;font-size:.875rem;color:var(--text-secondary)}.user-avatar{padding:.5rem 1rem;border-radius:.5rem;background:var(--primary-color);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem;white-space:nowrap}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--text-primary);text-decoration:none;transition:background .2s,color .2s;white-space:nowrap;overflow:hidden}.sidebar-link:hover,.sidebar-link.router-link-active,.sidebar-link.router-link-exact-active{background:var(--primary-color);color:#fff}.card{background:#fff;padding:1.5rem;border-radius:.75rem;box-shadow:0 10px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid var(--border-color);transition:box-shadow .2s}.card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.card-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.card-icon{width:3rem;height:3rem;border-radius:50%;background:#0c7ff21a;display:flex;align-items:center;justify-content:center;color:var(--primary-color);font-size:1.5rem;flex-shrink:0}.card-title{font-size:.875rem;color:var(--text-secondary);margin-bottom:.25rem}.card-value{font-size:1.5rem;font-weight:700;margin-bottom:.25rem;color:var(--text-primary)}.card-subtitle{font-size:.75rem;color:var(--text-secondary)}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mt-4{margin-top:1rem}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.grid{display:grid}.w-full{width:100%}.text-warning{color:var(--warning-color)}.text-center{text-align:center}.mt-8{margin-top:2rem}.w-50{width:12.5rem}.btn{padding:.75rem 1rem;background:var(--primary-color);color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s,box-shadow .2s}.btn:hover{background:var(--primary-hover)}.btn:active{transform:scale(.98)}.btn-sm{padding:.5rem 1rem;font-size:.75rem;width:auto}.tag-chip{display:inline-flex;align-items:center;gap:.25rem;background:var(--secondary-color);color:var(--text-primary);font-size:.75rem;padding:.25rem .5rem;border-radius:9999px}.tag-chip.active{background:var(--primary-color);color:#fff}.tag-count{font-weight:600}.emotion-tag{display:inline-flex;align-items:center;gap:.25rem;background:var(--secondary-color);color:var(--text-primary);font-size:.75rem;padding:.25rem .5rem;border-radius:9999px}.emotion-tag.positive{background:#22c55e1a;color:var(--success-color);border:1px solid rgba(34,197,94,.3)}.emotion-tag.neutral{background:#60758a1a;color:var(--text-secondary);border:1px solid rgba(96,117,138,.3)}.emotion-tag.negative{background:#ef44441a;color:var(--danger-color);border:1px solid rgba(239,68,68,.3)}.switch{position:relative;display:inline-block;width:3rem;height:1.75rem}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#ccc;transition:.4s;border-radius:1.75rem}.slider:before{position:absolute;content:"";height:1.375rem;width:1.375rem;left:.1875rem;bottom:.1875rem;background:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background:var(--primary-color)}input:checked+.slider:before{transform:translate(1.25rem)}.status-indicator{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:var(--border-color)}.status-active{background:var(--success-color)}.status-warning{background:var(--warning-color)}.status-danger{background:var(--danger-color)}.chart-placeholder{height:12rem;background:var(--secondary-color);border-radius:.5rem;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-secondary);border:1px solid var(--border-color);padding:.5rem}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th,.table td{padding:.5rem;text-align:left}.table thead{background:var(--secondary-color);font-weight:600}.table tbody tr{border-bottom:1px solid var(--border-color)}.table tbody tr:hover{background:var(--secondary-color)}.message-area{display:flex;align-items:center;gap:.75rem;background:#0c7ff21a;border:1px solid rgba(12,127,242,.3);color:var(--primary-color);padding:1rem;border-radius:.5rem;font-size:.875rem}.message-icon{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center}.input-control{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:.5rem;font-size:.875rem;background:#fff}.select-control{padding:.75rem;border:1px solid var(--border-color);border-radius:.5rem;font-size:.875rem;background:#fff}.title-xl{font-size:1.5rem;font-weight:700}.title-lg{font-size:1.25rem;font-weight:700}.title-md{font-size:1.125rem;font-weight:600}.min-w-48{min-width:12rem}.min-w-50{min-width:12.5rem}.block{display:block}.mb-1{margin-bottom:.25rem}.text-secondary{color:var(--text-secondary)}.justify-center{justify-content:center}.min-h-screen{min-height:100vh}.p-4{padding:1rem}.card-login{max-width:25rem;width:100%}.font-medium{font-weight:500}
