:root{--tricoci-primary:#6f42c1;--tricoci-secondary:#495057;--tricoci-success:#29a847;--tricoci-info:#17a2b8;--tricoci-warning:#ffc107;--tricoci-danger:#dc3545}.app-wrapper{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1 1;padding:1rem}.app-sidebar{position:fixed;top:0;left:0;bottom:0;width:70px;background:#343a40;z-index:1040;display:flex;flex-direction:column;transition:width .3s ease;box-shadow:2px 0 8px rgba(0,0,0,.15);overflow:hidden}.app-sidebar.expanded{width:250px}.app-sidebar .nav-link span,.app-sidebar .sidebar-brand span{opacity:0;white-space:nowrap;transition:opacity .2s ease}.app-sidebar.expanded .nav-link span,.app-sidebar.expanded .sidebar-brand span{opacity:1}.app-sidebar .nav-link{display:flex;align-items:center;gap:.75rem}.app-sidebar .nav-link i{min-width:24px;text-align:center;font-size:1.25rem}.app-sidebar .nav-link .bi-chevron-down,.app-sidebar .nav-link .bi-chevron-right{opacity:0;transition:opacity .2s ease}.app-sidebar.expanded .nav-link .bi-chevron-down,.app-sidebar.expanded .nav-link .bi-chevron-right{opacity:1}.app-sidebar .nav-item .nav-link.ps-4{display:none}.app-sidebar.expanded .nav-item .nav-link.ps-4{display:flex}.sidebar-brand{flex-shrink:0;border-bottom:1px solid hsla(0,0%,100%,.1)}.sidebar-nav{flex:1 1;overflow-y:auto;overflow-x:hidden;padding-bottom:1rem}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:hsla(0,0%,100%,.1)}.sidebar-nav::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.3);border-radius:3px}.app-sidebar .nav-link{color:hsla(0,0%,100%,.8);padding:.75rem 1rem}.app-sidebar .nav-link:hover{color:#fff;background:hsla(0,0%,100%,.1)}.app-sidebar .nav-link.active{color:#fff;background:var(--tricoci-primary)}.sidebar-toggle{background:none;border:none;color:#333;padding:.5rem;cursor:pointer;position:fixed;top:10px;left:80px;z-index:1050;transition:left .3s ease}.sidebar-expanded .sidebar-toggle{left:260px}.sidebar-toggle:hover{color:var(--tricoci-primary)}.sidebar-collapse-btn{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);color:hsla(0,0%,100%,.8);padding:.5rem 1rem;border-radius:.375rem;cursor:pointer;transition:all .2s ease}.sidebar-collapse-btn:hover{background:hsla(0,0%,100%,.2);color:#fff}.app-sidebar:not(.expanded){cursor:pointer}.app-sidebar:not(.expanded):hover{background:#3d444b}.app-header{position:fixed;top:0;left:70px;right:0;height:60px;background:#fff;border-bottom:1px solid #dee2e6;z-index:1020;display:flex;align-items:center;padding:0 1rem;transition:left .3s ease}.sidebar-expanded .app-header{left:250px}.content-wrapper{margin-left:70px;margin-top:60px;padding:1.5rem;min-height:calc(100vh - 60px);transition:margin-left .3s ease}.sidebar-expanded .content-wrapper{margin-left:250px}.nav-link.text-success:hover{background:hsla(0,0%,100%,.05)}.nav-item .nav-link.ps-4{padding-left:2rem!important;font-size:.9rem}.small-box{border-radius:.5rem;padding:1.25rem;position:relative;overflow:hidden}.small-box .inner h3{font-size:2.2rem;font-weight:700;margin:0}.small-box .inner p{margin:.5rem 0 0;font-size:.9rem}.small-box .icon{position:absolute;right:15px;top:15px;font-size:4rem;opacity:.15}.small-box-footer{display:block;padding:.5rem 0;text-decoration:none;color:hsla(0,0%,100%,.8);border-top:1px solid hsla(0,0%,100%,.2);margin-top:1rem}.small-box-footer:hover{color:#fff}.info-box{background:#fff;padding:1rem;box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.2)}.info-box,.info-box-icon{border-radius:.5rem;display:flex;align-items:center}.info-box-icon{width:70px;height:70px;justify-content:center;font-size:1.875rem}.info-box-content{margin-left:1rem;flex:1 1}.info-box-text{font-size:.875rem;color:#6c757d;margin:0}.info-box-number{font-size:1.5rem;font-weight:700;margin:0}.table-responsive{overflow-x:auto}.table th{background:#f8f9fa;font-weight:600;white-space:nowrap}.metric-card{background:#fff;border-radius:.5rem;padding:1.5rem;box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.2);transition:transform .2s}.metric-card:hover{transform:translateY(-2px)}.metric-card .metric-value{font-size:2rem;font-weight:700;line-height:1.2}.metric-card .metric-label{font-size:.875rem;color:#6c757d;margin-top:.25rem}.metric-card .metric-change{font-size:.75rem;margin-top:.5rem}.metric-card .metric-change.positive{color:var(--tricoci-success)}.metric-card .metric-change.negative{color:var(--tricoci-danger)}.channel-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600}.channel-badge.paid-sem{background:#e3f2fd;color:#1976d2}.channel-badge.paid-social{background:#fce4ec;color:#c2185b}.channel-badge.organic{background:#e8f5e9;color:#388e3c}.form-control:focus,.form-select:focus{border-color:var(--tricoci-primary);box-shadow:0 0 0 .2rem rgba(111,66,193,.25)}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}