@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=JetBrains+Mono:wght@400;500&display=swap";[data-theme=dark]{--color-bg: #0a0f14;--color-bg-elevated: #111920;--color-bg-card: #151d26;--color-bg-hover: #1a2633;--color-border: #243040;--color-border-light: #2d3e50;--color-text: #e8eef4;--color-text-muted: #8899a8;--color-text-subtle: #5a6b7a;--color-primary: #14b8a6;--color-primary-hover: #0d9488;--color-primary-muted: rgba(20, 184, 166, .15);--color-accent: #f59e0b;--color-accent-muted: rgba(245, 158, 11, .15);--color-success: #22c55e;--color-success-muted: rgba(34, 197, 94, .15);--color-warning: #f59e0b;--color-warning-muted: rgba(245, 158, 11, .15);--color-error: #ef4444;--color-error-muted: rgba(239, 68, 68, .15);--color-info: #3b82f6;--color-info-muted: rgba(59, 130, 246, .15);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(20, 184, 166, .3);--color-overlay: rgba(0, 0, 0, .7);--scrollbar-track: #0a0f14;--scrollbar-thumb: #243040;--scrollbar-thumb-hover: #2d3e50;--auth-gradient-1: rgba(20, 184, 166, .15);--auth-gradient-2: rgba(245, 158, 11, .1);--auth-grid-line: rgba(255, 255, 255, .02);--color-purple: #a855f7;--color-purple-muted: rgba(168, 85, 247, .15);--select-chevron-color: %238899a8}[data-theme=light]{--color-bg: #f5f7fa;--color-bg-elevated: #ffffff;--color-bg-card: #ffffff;--color-bg-hover: #f0f2f5;--color-border: #e2e6eb;--color-border-light: #d0d5dc;--color-text: #1a2332;--color-text-muted: #5c6b7f;--color-text-subtle: #8895a7;--color-primary: #0d9488;--color-primary-hover: #0f766e;--color-primary-muted: rgba(13, 148, 136, .1);--color-accent: #d97706;--color-accent-muted: rgba(217, 119, 6, .1);--color-success: #16a34a;--color-success-muted: rgba(22, 163, 74, .1);--color-warning: #d97706;--color-warning-muted: rgba(217, 119, 6, .1);--color-error: #dc2626;--color-error-muted: rgba(220, 38, 38, .08);--color-info: #2563eb;--color-info-muted: rgba(37, 99, 235, .08);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-glow: 0 0 20px rgba(13, 148, 136, .2);--color-overlay: rgba(0, 0, 0, .4);--scrollbar-track: #f5f7fa;--scrollbar-thumb: #d0d5dc;--scrollbar-thumb-hover: #b8bfc8;--auth-gradient-1: rgba(13, 148, 136, .08);--auth-gradient-2: rgba(217, 119, 6, .06);--auth-grid-line: rgba(0, 0, 0, .03);--color-purple: #7c3aed;--color-purple-muted: rgba(124, 58, 237, .1);--select-chevron-color: %235c6b7f}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh;transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--color-text)}h1{font-size:2rem;letter-spacing:-.02em}h2{font-size:1.5rem;letter-spacing:-.01em}h3{font-size:1.25rem}h4{font-size:1.125rem}p{color:var(--color-text-muted)}a{color:var(--color-primary);text-decoration:none;transition:color .15s ease}a:hover{color:var(--color-primary-hover)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeIn .3s ease forwards}.spinning{animation:spin 1s linear infinite}button{font-family:inherit;cursor:pointer;border:none;outline:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:10px;transition:all .15s ease}.btn-primary{background:var(--color-primary);color:var(--color-bg)}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-glow)}.btn-secondary{background:var(--color-bg-card);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-hover);border-color:var(--color-border-light)}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:hover{background:var(--color-bg-hover);color:var(--color-text)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover{background:#dc2626}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover{background:#16a34a}.btn-sm{padding:.25rem .5rem;font-size:.8125rem}.btn-icon{background:transparent;border:none;padding:.25rem;border-radius:10px;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-icon:hover{background:var(--color-bg-hover);color:var(--color-primary)}.btn-icon.btn-danger:hover,.btn-icon-danger:hover{background:var(--color-error-muted);color:var(--color-error)}.btn-icon-sm{background:transparent;border:none;padding:4px;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;color:var(--color-text-subtle);border-radius:6px}.btn-icon-sm:hover{background:var(--color-bg-hover);color:var(--color-primary)}.btn-icon-small{background:transparent;border:none;padding:4px;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;display:inline-flex;border-radius:6px;vertical-align:middle}.btn-icon-small:hover{background:var(--color-bg-hover);color:var(--color-primary)}input,textarea,select{font-family:inherit;font-size:.9375rem;padding:.5rem 1rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);transition:all .15s ease;width:100%}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #14b8a626}input::placeholder,textarea::placeholder,select::placeholder{color:var(--color-text-subtle)}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:1.5rem;transition:all .25s ease}.card:hover{border-color:var(--color-border-light);box-shadow:var(--shadow-md)}table{width:100%;border-collapse:collapse;font-size:.875rem}th{text-align:left;padding:1rem;background:var(--color-bg-elevated);color:var(--color-text-muted);font-weight:500;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;border-bottom:1px solid var(--color-border);white-space:nowrap}td{padding:1rem;border-bottom:1px solid var(--color-border);color:var(--color-text)}@media(max-width:500px){td{padding:.5rem;font-size:.8125rem}}tr:last-child td{border-bottom:none}tr:hover td{background:var(--color-bg-hover)}.badge{display:inline-flex;align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:9999px;text-transform:capitalize}.badge-success{background:var(--color-success-muted);color:var(--color-success)}.badge-warning{background:var(--color-warning-muted);color:var(--color-warning)}.badge-error{background:var(--color-error-muted);color:var(--color-error)}.badge-info{background:var(--color-info-muted);color:var(--color-info)}.badge-default{background:var(--color-bg-hover);color:var(--color-text-muted)}.badge-purple{background:var(--color-purple-muted);color:var(--color-purple)}.text-subtle{color:var(--color-text-subtle)}.text-success{color:var(--color-success)!important}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-mono{font-family:JetBrains Mono,monospace;font-size:.875em}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:.5rem}.gap-md{gap:1rem}.gap-lg{gap:1.5rem}.mt-sm{margin-top:.5rem}.mt-md{margin-top:1rem}.mt-lg{margin-top:1.5rem}.mb-md{margin-bottom:1rem}.mb-lg{margin-bottom:1.5rem}.loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--color-text-muted)}.spinner{width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.empty-state{text-align:center;padding:3rem;color:var(--color-text-muted)}.error-message{background:var(--color-error-muted);color:var(--color-error);padding:1rem;border-radius:10px;font-size:.875rem}.layout{display:flex;min-height:100vh}.main-content{flex:1;margin-left:260px;padding:calc(56px + 1rem) 2rem 2rem;min-height:100vh;background:var(--color-bg);transition:margin-left .25s ease;transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}.sidebar-collapsed .main-content{margin-left:72px}@media(max-width:768px){.main-content{margin-left:0;padding:calc(56px + .5rem) 1rem 1rem}}@media(max-width:500px){.main-content{padding:calc(56px + .5rem) .5rem .5rem}}.topbar{position:fixed;top:0;right:0;left:260px;height:56px;display:flex;align-items:center;padding:0 1.5rem;background:var(--color-bg);border-bottom:1px solid var(--color-border);z-index:90;transition:left .25s ease;transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}.sidebar-collapsed .topbar{left:72px}@media(max-width:768px){.topbar{left:0}}.sidebar-toggle{background:transparent;border:none;padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;border-radius:10px;color:var(--color-text-muted)}.sidebar-toggle:hover{background:var(--color-bg-hover);color:var(--color-text)}.sidebar-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99;animation:fadeInOverlay .2s ease}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1.5rem}.page-header h1{margin-bottom:.25rem}.page-header p{color:var(--color-text-muted);font-size:.9375rem}@media(max-width:768px){.page-header{flex-direction:column;gap:1rem;margin-bottom:1.5rem}.page-header h1{font-size:1.5rem}}@media(max-width:500px){.page-header h1{font-size:1.25rem}.page-header p{font-size:.8125rem}}.sidebar{width:260px;background:var(--color-bg-elevated);border-right:1px solid var(--color-border);padding:1.5rem;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;overflow-y:auto;overflow-x:hidden;z-index:100;transition:width .25s ease,transform .25s ease;transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}.sidebar.collapsed{width:72px;padding:1.5rem .5rem}.sidebar.collapsed .logo-text,.sidebar.collapsed .logo-subtitle,.sidebar.collapsed .nav-label,.sidebar.collapsed .toggle-label,.sidebar.collapsed .toggle-switch,.sidebar.collapsed .user-details{opacity:0;width:0;overflow:hidden;white-space:nowrap}.sidebar.collapsed .sidebar-header{align-items:center}.sidebar.collapsed .logo{justify-content:center}.sidebar.collapsed .sidebar-collapse-btn{position:static;margin-top:.5rem;transform:rotate(180deg)}.sidebar.collapsed .nav-link,.sidebar.collapsed .theme-toggle{justify-content:center;padding:.5rem}.sidebar.collapsed .sidebar-footer,.sidebar.collapsed .sidebar-footer .user-info{justify-content:center}.sidebar.collapsed .sidebar-footer .logout-btn{display:none}.sidebar.collapsed .user-avatar{width:32px;height:32px;font-size:.75rem}@media(max-width:768px){.sidebar{transform:translate(-100%);width:260px;padding:1.5rem;box-shadow:none}.sidebar.mobile-open{transform:translate(0);box-shadow:4px 0 24px #0000004d}.sidebar.collapsed{width:260px;padding:1.5rem}.sidebar.collapsed .logo-text,.sidebar.collapsed .logo-subtitle,.sidebar.collapsed .nav-label,.sidebar.collapsed .toggle-label,.sidebar.collapsed .toggle-switch,.sidebar.collapsed .user-details{opacity:1;width:auto}.sidebar.collapsed .nav-link,.sidebar.collapsed .theme-toggle{justify-content:flex-start;padding:.5rem 1rem}.sidebar.collapsed .sidebar-footer{justify-content:flex-start}.sidebar.collapsed .sidebar-footer .logout-btn{display:flex}.sidebar.collapsed .user-avatar{width:36px;height:36px;font-size:.875rem}}.sidebar-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border);position:relative}.logo{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;color:var(--color-text)}.logo-icon{color:var(--color-primary);flex-shrink:0}.logo-text{transition:opacity .25s ease;white-space:nowrap}.logo-subtitle{font-size:.75rem;color:var(--color-text-subtle);margin-top:.25rem;text-transform:uppercase;letter-spacing:.1em;transition:opacity .25s ease;white-space:nowrap}.sidebar-collapse-btn{position:absolute;top:.25rem;right:0;background:transparent;border:none;padding:.25rem;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:10px;color:var(--color-text-subtle);transition:all .15s ease}.sidebar-collapse-btn:hover{background:var(--color-bg-hover);color:var(--color-text)}@media(max-width:768px){.sidebar-collapse-btn{display:none}}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.nav-link{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;color:var(--color-text-muted);border-radius:10px;font-size:.9375rem;font-weight:500;transition:all .15s ease;text-decoration:none;white-space:nowrap}.nav-link svg{flex-shrink:0}.nav-link .nav-label{transition:opacity .25s ease}.nav-link:hover{background:var(--color-bg-hover);color:var(--color-text)}.nav-link.active{background:var(--color-primary-muted);color:var(--color-primary)}.nav-link.active svg{color:var(--color-primary)}.theme-toggle-section{padding:1rem 0;border-top:1px solid var(--color-border)}.theme-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;width:100%;background:transparent;border:none;color:var(--color-text-muted);border-radius:10px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.theme-toggle svg{flex-shrink:0}.theme-toggle:hover{background:var(--color-bg-hover);color:var(--color-text)}.theme-toggle .toggle-label{flex:1;text-align:left;transition:opacity .25s ease}.theme-toggle .toggle-switch{position:relative;width:40px;height:22px;background:var(--color-border);border-radius:9999px;transition:background .15s ease,opacity .25s ease;flex-shrink:0}.theme-toggle .toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;background:var(--color-text-muted);border-radius:50%;transition:all .15s ease}.theme-toggle.active .toggle-switch{background:var(--color-primary)}.theme-toggle.active .toggle-switch:after{left:21px;background:#fff}.sidebar-footer{margin-top:auto;padding-top:1.5rem;border-top:1px solid var(--color-border);display:flex;align-items:center;gap:.5rem}.user-info{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.user-avatar{width:36px;height:36px;border-radius:9999px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;color:var(--color-bg);flex-shrink:0;transition:all .25s ease}.user-details{display:flex;flex-direction:column;min-width:0;transition:opacity .25s ease}.user-name{font-size:.875rem;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:.75rem;color:var(--color-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-btn{padding:.5rem;color:var(--color-text-muted);border-radius:10px;flex-shrink:0}.logout-btn:hover{background:var(--color-error-muted);color:var(--color-error)}.modal-overlay{position:fixed;inset:0;background:var(--color-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem;animation:fadeIn .2s ease}@media(max-width:768px){.modal-overlay{padding:1rem;align-items:flex-end}}@media(max-width:500px){.modal-overlay{padding:0}}.modal-container{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease}@media(max-width:768px){.modal-container{max-height:85vh;border-radius:16px 16px 0 0}}@media(max-width:500px){.modal-container{max-height:100vh;border-radius:16px 16px 0 0}}.modal-sm{max-width:400px}.modal-md{max-width:560px}.modal-lg{max-width:720px}.modal-xl{max-width:900px}@media(max-width:768px){.modal-sm,.modal-md,.modal-lg,.modal-xl{max-width:100%}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--color-border)}.modal-header h2{font-size:1.125rem;font-weight:600}@media(max-width:500px){.modal-header{padding:1rem}.modal-header h2{font-size:1rem}}.modal-close{background:transparent;border:none;padding:.25rem;border-radius:10px;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.modal-close:hover{background:var(--color-bg-hover);color:var(--color-text)}.modal-content{padding:1.5rem;overflow-y:auto}@media(max-width:500px){.modal-content{padding:1rem}}.confirm-modal{text-align:center}.confirm-message{color:var(--color-text-muted);margin-bottom:2rem;line-height:1.6}.confirm-actions{display:flex;gap:1rem;justify-content:center}.confirm-actions .btn{min-width:120px}@media(max-width:500px){.confirm-actions{flex-direction:column}.confirm-actions .btn{min-width:0;width:100%}}.table-wrapper{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;overflow:hidden}.table-loading,.table-error,.table-empty{display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:center;padding:3rem;color:var(--color-text-muted);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;text-align:center}.table-loading .spinner,.table-error .spinner,.table-empty .spinner{width:32px;height:32px}.table-loading svg,.table-error svg,.table-empty svg{opacity:.3}.table-error{color:var(--color-error)}.table-toolbar{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);flex-wrap:wrap}@media(max-width:640px){.table-toolbar{flex-direction:column;align-items:stretch}}.search-box{display:flex;align-items:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;transition:all .15s ease;flex:1;max-width:400px}.search-box:focus-within{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #14b8a626}@media(max-width:640px){.search-box{max-width:100%}}.search-input{flex:1;padding:.5rem 1rem;border:none;background:transparent;color:var(--color-text);font-size:.9375rem;outline:none;min-width:150px}.search-input::placeholder{color:var(--color-text-subtle)}@media(max-width:500px){.search-input{min-width:0;font-size:.875rem}}.search-clear{background:transparent;border:none;padding:.5rem;border-radius:10px;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.search-clear:hover{color:var(--color-error)}.search-btn{display:flex;align-items:center;justify-content:center;padding:.5rem 1rem;background:var(--color-primary);border:none;color:#fff;cursor:pointer;transition:all .15s ease}.search-btn:hover{background:var(--color-primary-hover)}.search-results-info{font-size:.8125rem;color:var(--color-text-muted);padding:.25rem .5rem;background:var(--color-bg-card);border-radius:6px}@media(max-width:640px){.search-results-info{text-align:center}}table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}table thead th.sortable:hover{background:var(--color-bg-hover)}table thead th.sortable:hover .sort-icon.inactive{opacity:.6}.th-content{display:flex;align-items:center;gap:.25rem}.sort-icon{flex-shrink:0;transition:all .15s ease}.sort-icon.inactive{opacity:.3}.sort-icon.active{opacity:1;color:var(--color-primary)}.no-results{text-align:center;padding:2rem!important;color:var(--color-text-muted);font-style:italic}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:var(--color-bg-elevated);border-top:1px solid var(--color-border)}@media(max-width:500px){.table-footer{flex-direction:column;gap:.5rem}}.record-count{font-size:.8125rem;color:var(--color-text-subtle)}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:768px){.table-container{position:relative}.table-container:after{content:"";position:absolute;top:0;right:0;bottom:0;width:24px;background:linear-gradient(to left,var(--color-bg-card),transparent);pointer-events:none;opacity:.8}}.table-container table{min-width:700px}@media(max-width:500px){.table-container table{min-width:600px}}.client-form,.invoice-form,.email-account-form{display:flex;flex-direction:column;gap:1.5rem}.form-section{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:10px;padding:1.5rem}.form-section h3{font-size:.875rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(max-width:640px){.form-row{grid-template-columns:1fr}}.form-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media(max-width:768px){.form-row-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.form-row-3{grid-template-columns:1fr}}.form-row-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}@media(max-width:768px){.form-row-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.form-row-4{grid-template-columns:1fr}}.form-row-inline{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.form-group{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.form-group:last-child{margin-bottom:0}.form-group label{font-size:.875rem;font-weight:500;color:var(--color-text)}.form-group .required{color:var(--color-error)}.form-group input,.form-group select,.form-group textarea{padding:.5rem 1rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);font-size:.9375rem;transition:all .15s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #14b8a626}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:var(--color-error)}.form-group input.error:focus,.form-group select.error:focus,.form-group textarea.error:focus{box-shadow:0 0 0 3px var(--color-error-muted)}.form-group textarea{resize:vertical;min-height:60px}.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='var(--select-chevron-color)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.form-actions .btn{min-width:140px}@media(max-width:500px){.form-actions{flex-direction:column-reverse}.form-actions .btn{min-width:0;width:100%}}.form-error-banner{background:var(--color-error-muted);color:var(--color-error);padding:1rem;border-radius:10px;margin-bottom:1.5rem;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.field-hint{font-size:.75rem;color:var(--color-text-subtle);margin-top:.25rem}.section-hint{font-size:.8125rem;color:var(--color-text-subtle);margin-top:-.25rem;margin-bottom:1rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem 0;margin-top:1.5rem}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.checkbox-text{font-size:.9375rem;color:var(--color-text)}.portal-section{background:linear-gradient(135deg,var(--color-bg-elevated),rgba(99,102,241,.05));border-color:#6366f133}.portal-section h3{display:flex;align-items:center;gap:.5rem;color:var(--color-primary)}.portal-section .checkbox-label{margin-top:0;padding:.5rem 0}.portal-section .checkbox-label span{font-size:.9375rem;color:var(--color-text)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{flex:1;padding-right:48px}.password-toggle{position:absolute;right:8px;background:transparent;border:none;padding:8px;border-radius:10px;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.password-toggle:hover{background:var(--color-bg-hover);color:var(--color-primary)}.password-input{display:flex;gap:.25rem}.password-input input{flex:1}.password-generate{display:flex;align-items:center;justify-content:center;width:40px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.password-generate:hover{background:var(--color-bg-hover);color:var(--color-primary);border-color:var(--color-primary)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h3{margin-bottom:0!important}.input-wrapper{position:relative}.input-wrapper .input-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--color-text-subtle);pointer-events:none}.input-wrapper input{padding-left:2.75rem}.input-with-action{display:flex;gap:.25rem;align-items:center}.input-with-action input{flex:1}.input-with-action .btn-icon{padding:.5rem;background:var(--color-bg-hover);border-radius:10px}.input-with-action .btn-icon:hover{background:var(--color-primary-muted);color:var(--color-primary)}.file-selector{display:flex;flex-direction:column;gap:.5rem}.file-selector.compact .dropzone{flex-direction:row;padding:.5rem 1rem;gap:.5rem}.file-selector.compact .dropzone span{font-size:.8125rem}.dropzone{display:flex;flex-direction:column;gap:.5rem;align-items:center;justify-content:center;padding:2rem;border:2px dashed var(--color-border);border-radius:10px;background:var(--color-bg-elevated);cursor:pointer;transition:all .15s ease}.dropzone input{display:none}.dropzone:hover,.dropzone.active{border-color:var(--color-primary);background:var(--color-primary-muted)}.dropzone.disabled{opacity:.5;cursor:not-allowed}.dropzone svg{color:var(--color-text-muted)}.dropzone-text{font-size:.9375rem;color:var(--color-text)}.dropzone-hint{font-size:.75rem;color:var(--color-text-subtle)}.selected-files{display:flex;flex-wrap:wrap;gap:.5rem}.selected-file{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:10px;max-width:200px}.selected-file .file-preview{width:40px;height:40px;object-fit:cover;border-radius:6px}.selected-file .file-icon-wrapper{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-hover);border-radius:6px;color:var(--color-text-muted)}.selected-file .file-info{flex:1;min-width:0;display:flex;flex-direction:column}.selected-file .file-name{font-size:.8125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-file .file-size{font-size:.6875rem;color:var(--color-text-subtle)}.selected-file .file-remove{background:transparent;border:none;padding:4px;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;border-radius:6px}.selected-file .file-remove:hover{background:var(--color-error-muted);color:var(--color-error)}.attachment-list{display:flex;flex-wrap:wrap;gap:.5rem}.attachment-list.compact{gap:.25rem}.attachment-item{position:relative}.attachment-link{display:block;text-decoration:none;color:var(--color-text);transition:all .15s ease}.attachment-link.image{width:80px;height:80px;border-radius:10px;overflow:hidden;border:1px solid var(--color-border)}.attachment-link.image:hover{border-color:var(--color-primary);transform:scale(1.05)}.attachment-link.image img{width:100%;height:100%;object-fit:cover}.attachment-link.file{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:10px}.attachment-link.file:hover{border-color:var(--color-primary);background:var(--color-bg-hover)}.attachment-link.file svg{color:var(--color-primary);flex-shrink:0}.attachment-info{display:flex;flex-direction:column;min-width:0}.attachment-name{font-size:.8125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.attachment-size{font-size:.6875rem;color:var(--color-text-subtle)}.attachment-delete{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--color-error);color:#fff;border:2px solid var(--color-bg-card);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease}.attachment-item:hover .attachment-delete{opacity:1}.attachment-delete:disabled{cursor:wait}.file-uploader{display:flex;flex-direction:column;gap:1rem}.file-uploader .btn{align-self:flex-start}.email-account-form .form-section h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--color-text)}.email-account-form .form-section h3 svg{color:var(--color-primary)}.server-config-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}@media(max-width:1024px){.server-config-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.server-config-grid{grid-template-columns:1fr}}.server-block{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:10px;padding:1rem}.server-block h4{font-size:.875rem;font-weight:600;margin-bottom:1rem;color:var(--color-text)}.server-block .form-group{margin-bottom:.5rem}.server-block .form-group:last-child{margin-bottom:0}.server-block label{font-size:.75rem;color:var(--color-text-muted)}.server-block input,.server-block select{padding:.25rem .5rem;font-size:.875rem}.invoice-form .form-section{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:10px;padding:1.5rem}.invoice-form .form-section h3{font-size:.875rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.invoice-form .form-actions{padding-top:1rem;border-top:1px solid var(--color-border)}.invoice-items{display:flex;flex-direction:column;gap:1rem}.invoice-item{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.item-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border)}.item-type-selector{display:flex;gap:.25rem}.type-btn{padding:.25rem .5rem;background:transparent;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.type-btn:hover{background:var(--color-bg-hover);color:var(--color-text)}.type-btn.active{background:var(--color-primary-muted);border-color:var(--color-primary);color:var(--color-primary)}.item-body{padding:1rem;display:flex;flex-direction:column;gap:1rem}.item-body .form-group{margin-bottom:0}.item-body .form-group label{font-size:.75rem;color:var(--color-text-subtle);margin-bottom:.25rem}.item-line-total{display:flex;align-items:center;gap:1rem;margin-left:auto;padding:.5rem 1rem;background:var(--color-bg-elevated);border-radius:10px}.total-label{font-size:.875rem;color:var(--color-text-muted)}.total-value{font-size:1rem;font-weight:600;color:var(--color-text);font-family:JetBrains Mono,monospace}.invoice-totals{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:10px;padding:1.5rem;margin-left:auto;width:100%;max-width:350px}.totals-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.9375rem}.totals-row span:first-child{color:var(--color-text-muted)}.totals-row span:last-child{font-family:JetBrains Mono,monospace;color:var(--color-text)}.totals-row.total-final{border-top:1px solid var(--color-border);margin-top:.5rem;padding-top:1rem}.totals-row.total-final span:first-child{font-weight:600;color:var(--color-text)}.totals-row.total-final span:last-child{font-size:1.25rem;font-weight:700;color:var(--color-primary)}.totals-row.margin-row span:first-child{font-size:.8125rem}.totals-row.margin-row span:last-child{font-size:.875rem}.totals-row.margin-row.highlight span:last-child{color:var(--color-success);font-weight:600}.totals-divider{height:1px;background:var(--color-border);margin:1rem 0}.ticket-detail{display:flex;flex-direction:column;height:100%;max-height:85vh}.ticket-detail-header{display:flex;align-items:center;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border);margin-bottom:1.5rem}.btn-back{background:transparent;border:none;padding:.25rem;border-radius:10px;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-back:hover{background:var(--color-bg-hover);color:var(--color-text)}.ticket-title{flex:1}.ticket-title h2{font-size:1.25rem;margin-top:.25rem}.ticket-number{font-size:.75rem;font-family:JetBrains Mono,monospace;color:var(--color-primary);font-weight:600}.ticket-detail-body{display:grid;grid-template-columns:1fr 280px;gap:2rem;overflow:hidden;flex:1}@media(max-width:900px){.ticket-detail-body{grid-template-columns:1fr;overflow-y:auto}}.ticket-main{overflow-y:auto;padding-right:1rem;display:flex;flex-direction:column;gap:1.5rem}.ticket-section h3{font-size:.875rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.ticket-description{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:10px;padding:1.5rem;white-space:pre-wrap;line-height:1.6}.upload-area{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.upload-area .btn{align-self:flex-start}.section-tabs{display:flex;gap:.25rem;margin-bottom:1rem;border-bottom:1px solid var(--color-border)}.tab-btn{display:flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease;font-size:.875rem;font-weight:500;margin-bottom:-1px}.tab-btn:hover{color:var(--color-text)}.tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-content{display:flex;flex-direction:column;gap:1rem}.messages-list{display:flex;flex-direction:column;gap:1rem;max-height:400px;overflow-y:auto;padding:.5rem}.message{display:flex;gap:.5rem;max-width:85%}.message.incoming{align-self:flex-start}.message.outgoing{align-self:flex-end;flex-direction:row-reverse}.message.outgoing .message-content{background:var(--color-primary-muted);border-color:var(--color-primary)}.message-avatar{flex-shrink:0;color:var(--color-text-muted)}.message-content{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:16px;overflow:hidden}.message-header{display:flex;justify-content:space-between;align-items:center;padding:.25rem 1rem;background:#0000001a;font-size:.75rem}.message-sender{font-weight:600;display:flex;align-items:center;gap:.25rem}.message-time{color:var(--color-text-subtle)}.message-body{padding:.5rem 1rem;white-space:pre-wrap;line-height:1.5}.message-attachments{padding:.5rem 1rem;border-top:1px solid var(--color-border)}.sender-badge{padding:2px 6px;background:var(--color-success-muted);color:var(--color-success);border-radius:6px;font-size:.625rem;text-transform:uppercase;font-weight:700}.message-form{display:flex;flex-direction:column;gap:.5rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:10px;padding:1rem}.message-form textarea{width:100%;background:transparent;border:none;resize:none;font-size:.9375rem;color:var(--color-text)}.message-form textarea:focus{outline:none}.message-form .form-actions{display:flex;justify-content:flex-end}.notes-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.internal-note{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:10px;padding:.5rem 1rem}.note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem;font-size:.75rem}.note-author{display:flex;align-items:center;gap:.25rem;font-weight:600;color:var(--color-warning)}.note-time{color:var(--color-text-subtle)}.note-body{font-size:.875rem;white-space:pre-wrap;line-height:1.5}.note-form{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.note-form textarea{width:100%;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:10px;padding:.5rem;resize:none;font-size:.875rem;color:var(--color-text)}.note-form textarea:focus{outline:none;border-color:var(--color-warning)}.note-form .btn{align-self:flex-start}.ticket-sidebar{display:flex;flex-direction:column;gap:.5rem}@media(max-width:900px){.ticket-sidebar{order:-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem}}.sidebar-section{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:10px;padding:1rem}.sidebar-section h4{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-subtle);margin-bottom:.5rem}.sidebar-value{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text)}.sidebar-value.small{font-size:.75rem;color:var(--color-text-muted);margin-top:.25rem}.sidebar-value.resolved{color:var(--color-success)}.sidebar-value+.sidebar-value{margin-top:.5rem}.priority-badge{display:inline-flex;align-items:center;gap:.25rem;padding:3px 8px;border-radius:6px;font-size:.75rem;font-weight:600}.priority-badge.priority-baja{background:var(--color-success-muted);color:var(--color-success)}.priority-badge.priority-media{background:#3b82f626;color:#3b82f6}.priority-badge.priority-alta{background:var(--color-warning-muted);color:var(--color-warning)}.priority-badge.priority-urgente{background:var(--color-error-muted);color:var(--color-error)}.category-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.875rem;color:var(--color-text)}.provider-icon{display:inline-block;vertical-align:middle;flex-shrink:0}.provider-with-icon{display:inline-flex;align-items:center;gap:6px}.provider-icon--hosting-mexico .provider-icon__shield{color:var(--color-text)}.provider-icon--hosting-mexico .provider-icon__cactus{fill:var(--color-bg-card)}.provider-icon--squarespace .provider-icon__squarespace-fill{color:var(--color-text)}.credentials-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:768px){.credentials-grid{grid-template-columns:1fr}}.credentials-group{padding:1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary)}.credentials-group h4{margin:0 0 .75rem;font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.link-items-grid{display:flex;flex-wrap:wrap;gap:.5rem}.link-item-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-size:.85rem;transition:all .2s}.link-item-btn:hover{border-color:var(--primary);background:var(--bg-secondary)}.link-item-btn.linked{border-color:var(--primary);background:var(--primary-light, rgba(99, 102, 241, .1));color:var(--primary);font-weight:500}.link-item-btn .link-item-date{color:var(--text-muted);font-size:.75rem}.planes-list{display:flex;flex-direction:column;gap:1rem}.plan-card{padding:1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary)}.plan-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.plan-index{font-weight:600;color:var(--text-secondary);font-size:.85rem}.badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:8px;font-size:.75rem;font-weight:600;border-radius:10px;background:var(--primary);color:#fff;vertical-align:middle}.service-content-badges{display:flex;gap:.4rem;flex-wrap:wrap}.content-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.content-badge.hosting-badge{background:#6366f11a;color:var(--primary)}.content-badge.domain-badge{background:#10b9811a;color:#10b981}.content-badge.item-badge{background:#f59e0b1a;color:#f59e0b}.role-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.section-header{display:flex;align-items:center;justify-content:space-between}.section-header h3{display:flex;align-items:center}.section-hint{font-size:.85rem;color:var(--text-muted);margin-bottom:1rem}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.auth-background{position:absolute;inset:0;z-index:0}.bg-gradient{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 20%,var(--auth-gradient-1) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,var(--auth-gradient-2) 0%,transparent 50%),var(--color-bg)}.bg-grid{position:absolute;inset:0;background-image:linear-gradient(var(--auth-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--auth-grid-line) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:radial-gradient(ellipse at center,black 20%,transparent 70%);mask-image:radial-gradient(ellipse at center,black 20%,transparent 70%)}.auth-container{position:relative;z-index:1;width:100%;max-width:420px;padding:2rem}.auth-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:2rem;box-shadow:var(--shadow-lg);animation:fadeIn .4s ease}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{font-size:1.5rem;margin-bottom:.25rem}.auth-header p{color:var(--color-text-muted);font-size:.9375rem}.auth-logo{display:inline-flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;color:var(--color-text);margin-bottom:1.5rem}.auth-logo .logo-icon{color:var(--color-primary)}.auth-error{display:flex;align-items:center;gap:.5rem;padding:1rem;background:var(--color-error-muted);color:var(--color-error);border-radius:10px;font-size:.875rem;margin-bottom:1.5rem}.auth-info-message{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#3b82f61a;color:#60a5fa;border-radius:10px;font-size:.875rem;margin-bottom:1.5rem;border:1px solid rgba(59,130,246,.2)}.auth-info-message svg{flex-shrink:0}.auth-warning{display:flex;gap:.5rem;padding:1rem;background:var(--color-warning-muted);color:var(--color-warning);border-radius:10px;font-size:.8125rem;margin-bottom:1.5rem}.auth-warning>svg{flex-shrink:0;margin-top:2px}.auth-warning>div{display:flex;flex-direction:column;gap:.25rem}.auth-warning strong{font-size:.875rem}.auth-warning span{opacity:.9}.auth-warning code{font-family:JetBrains Mono,monospace;font-size:.75rem}.auth-warning .env-example{display:block;background:#0003;padding:.5rem;border-radius:6px;margin-top:.25rem;line-height:1.6}.auth-success{text-align:center;padding:1.5rem}.auth-success svg{color:var(--color-success);margin-bottom:1.5rem}.auth-success h2{margin-bottom:1rem}.auth-success p{margin-bottom:2rem;line-height:1.6}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form .form-group input,.auth-form .form-group select,.auth-form .form-group textarea{padding:.5rem 2rem}.auth-submit{margin-top:1rem;padding:1rem;font-size:1rem}.auth-submit:disabled{opacity:.7;cursor:not-allowed}.auth-submit .spinner{width:18px;height:18px;border-width:2px}.auth-info{text-align:center;margin-top:2rem}.auth-info p{font-size:.75rem;color:var(--color-text-subtle)}.dashboard{padding:1.5rem;max-width:1400px}@media(max-width:768px){.dashboard{padding:1rem}}@media(max-width:500px){.dashboard{padding:.5rem}}.dashboard-header{margin-bottom:2rem}.dashboard-header h1{font-size:1.75rem;font-weight:700;margin-bottom:.25rem}@media(max-width:500px){.dashboard-header h1{font-size:1.375rem}}.dashboard-header p{color:var(--color-text-muted)}.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;margin-bottom:2rem}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;text-decoration:none;transition:all .15s ease}.stat-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-card h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.5rem}.stat-card .value{font-size:2rem;font-weight:700;color:var(--color-text)}.stat-card .change{font-size:.75rem;margin-top:.25rem}@media(max-width:500px){.stat-card{padding:1rem;gap:.5rem}.stat-card .value{font-size:1.5rem}}.stat-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.stat-icon.clients{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.stat-icon.domains{background:linear-gradient(135deg,#10b981,#059669)}.stat-icon.hostings{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-icon.emails{background:linear-gradient(135deg,#3b82f6,#2563eb)}.stat-icon.tickets{background:linear-gradient(135deg,#ef4444,#dc2626)}.stat-icon.invoices{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}@media(max-width:500px){.stat-icon{width:40px;height:40px}.stat-icon svg{width:18px;height:18px}}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:1.5rem;font-weight:700;color:var(--color-text);line-height:1.2}.stat-label{font-size:.8125rem;color:var(--color-text-muted)}.dashboard-section{margin-bottom:2rem}.section-link{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:var(--color-primary);text-decoration:none}.section-link:hover{text-decoration:underline}.tickets-overview{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:1.5rem}@media(max-width:900px){.tickets-overview{grid-template-columns:1fr}}.ticket-mini-stats{display:flex;flex-direction:column;gap:.5rem;min-width:140px}.mini-stat{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:10px;background:var(--color-bg-elevated)}.mini-stat.open{border-left:3px solid #3b82f6}.mini-stat.progress{border-left:3px solid #f59e0b}.mini-stat.pending{border-left:3px solid #8b5cf6}.mini-stat.urgent{border-left:3px solid #ef4444;color:#ef4444}.mini-value{font-size:1.25rem;font-weight:700}.mini-label{font-size:.75rem;color:var(--color-text-muted)}.tickets-chart{flex:1}.tickets-chart h3{font-size:.875rem;font-weight:600;color:var(--color-text-muted);margin-bottom:1rem}.category-bars{display:flex;flex-direction:column;gap:1rem}.category-bar-item{display:flex;flex-direction:column;gap:.25rem}.category-bar-header{display:flex;justify-content:space-between;align-items:center}.category-name{font-size:.8125rem;color:var(--color-text)}.category-count{font-size:.875rem;font-weight:600;color:var(--color-text)}.category-bar-track{height:8px;background:var(--color-bg-elevated);border-radius:4px;overflow:hidden}.category-bar-fill{height:100%;border-radius:4px;transition:width .5s ease}.dashboard-lists{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media(max-width:900px){.dashboard-lists{grid-template-columns:1fr}}@media(max-width:500px){.dashboard-lists{gap:1rem}}.dashboard-list{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;overflow:hidden}.list-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-elevated)}.list-header h3{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600}.list-header a{font-size:.8125rem;color:var(--color-primary);text-decoration:none}.list-header a:hover{text-decoration:underline}.list-content{padding:.5rem;max-height:280px;overflow-y:auto}.list-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;border-radius:10px;transition:background .15s ease}.list-item:hover{background:var(--color-bg-hover)}.item-main{display:flex;flex-direction:column;min-width:0}.item-title{font-size:.875rem;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-sub{font-size:.75rem;color:var(--color-text-muted)}.item-badge{padding:2px 8px;border-radius:6px;font-size:.6875rem;font-weight:600;text-transform:uppercase}.item-badge.danger{background:var(--color-error-muted);color:var(--color-error)}.item-badge.warning{background:var(--color-warning-muted);color:var(--color-warning)}.item-badge.info{background:#3b82f626;color:#3b82f6}.item-badge.priority-baja{background:var(--color-success-muted);color:var(--color-success)}.item-badge.priority-media{background:#3b82f626;color:#3b82f6}.item-badge.priority-alta{background:var(--color-warning-muted);color:var(--color-warning)}.item-badge.priority-urgente{background:var(--color-error-muted);color:var(--color-error)}.item-amount{font-size:.875rem;font-weight:600;color:var(--color-primary)}.empty-message{text-align:center;padding:1.5rem;color:var(--color-text-subtle);font-size:.875rem}.renewals-list.full-width{grid-column:1/-1}.list-header-right{display:flex;align-items:center;gap:1rem}.list-header-badge{padding:2px 10px;border-radius:9999px;font-size:.75rem;font-weight:600;background:#14b8a61f;color:var(--color-primary);letter-spacing:.02em}.renewals-table-wrap{max-height:none;overflow-x:auto}.renewals-table{width:100%;border-collapse:collapse}.renewals-table thead th{text-align:left;padding:.5rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap}.renewals-table tbody tr{border-bottom:1px solid var(--color-border);transition:background .15s ease}.renewals-table tbody tr:last-child{border-bottom:none}.renewals-table tbody tr:hover{background:var(--color-bg-hover)}.renewals-table td{padding:1rem;vertical-align:top}.rt-client{min-width:140px}.rt-client-name{font-weight:600;font-size:.9375rem;color:var(--color-text)}.rt-services{min-width:180px}.rt-service-item{display:flex;align-items:center;gap:.5rem;padding:3px 0}.rt-service-item+.rt-service-item{margin-top:4px}.rt-days{display:inline-block;min-width:60px;text-align:center;padding:2px 8px;border-radius:6px;font-size:.6875rem;font-weight:700;white-space:nowrap;flex-shrink:0}.rt-days.danger{background:var(--color-error-muted);color:var(--color-error)}.rt-days.warning{background:var(--color-warning-muted);color:var(--color-warning)}.rt-days.info{background:#3b82f61f;color:#60a5fa}.rt-service-label{font-size:.8125rem;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rt-prices{text-align:right;min-width:100px;white-space:nowrap}.rt-price-item{padding:3px 0;font-size:.8125rem;color:var(--color-text);font-variant-numeric:tabular-nums}.rt-price-item+.rt-price-item{margin-top:4px}.rt-no-price{color:var(--color-text-subtle)}.rt-price-total{margin-top:6px;padding-top:6px;border-top:1px solid var(--color-border);font-weight:700;font-size:.875rem;color:var(--color-primary);font-variant-numeric:tabular-nums}.rt-empty{color:var(--color-text-subtle);font-size:.875rem}.rt-action{width:100px;text-align:center}.rt-doc-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;border:none;background:none;cursor:pointer;color:var(--color-text-muted);transition:color .15s ease;border-radius:6px}.rt-doc-btn:hover{color:var(--color-primary);background:var(--color-bg-hover)}@media(max-width:500px){.renewals-table{font-size:.8125rem}.renewals-table td,.renewals-table thead th{padding:.5rem}}.renewal-doc-form .form-section{margin-bottom:1.5rem}.rdoc-checks{display:flex;gap:1.5rem;flex-wrap:wrap}.rdoc-check{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9375rem;color:var(--color-text)}.rdoc-check input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.rdoc-list-items{display:flex;flex-direction:column;gap:.25rem}.rdoc-list-item{display:flex;align-items:center;gap:.5rem}.rdoc-list-item .rdoc-list-num{font-size:.8125rem;font-weight:600;color:var(--color-text-muted);min-width:24px;text-align:right}.rdoc-list-item input{flex:1}.rdoc-cost-items{display:flex;flex-direction:column;gap:.5rem}.rdoc-cost-row{display:flex;align-items:flex-end;gap:.5rem}.service-invoice-form .form-section{margin-bottom:1.5rem}.si-service-summary{padding:1rem;background:var(--color-bg-elevated);border-radius:10px;border-left:3px solid var(--color-primary)}.si-service-name{font-weight:600;font-size:1rem;color:var(--color-text)}.si-service-client{font-size:.8125rem;color:var(--color-text-muted);margin-top:2px}.si-iva-options{display:flex;flex-direction:column;gap:.5rem}.si-iva-option{display:flex;align-items:flex-start;gap:.5rem;padding:1rem;border-radius:10px;border:1px solid var(--color-border);cursor:pointer;transition:all .15s ease}.si-iva-option:hover{border-color:var(--color-primary);background:var(--color-bg-hover)}.si-iva-option:has(input:checked){border-color:var(--color-primary);background:#14b8a60f}.si-iva-option input[type=radio]{margin-top:3px;accent-color:var(--color-primary);cursor:pointer}.si-iva-label{display:block;font-weight:600;font-size:.9375rem;color:var(--color-text)}.si-iva-desc{display:block;font-size:.75rem;color:var(--color-text-muted);margin-top:2px}.si-totals-preview{background:var(--color-bg-elevated);border-radius:10px;padding:1rem}.si-preview-row{display:flex;justify-content:space-between;padding:4px 0;font-size:.875rem}.si-preview-label{color:var(--color-text-muted)}.si-preview-value{font-variant-numeric:tabular-nums;color:var(--color-text)}.si-preview-subtotal{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border)}.si-preview-total{margin-top:.25rem;padding-top:.5rem;border-top:2px solid var(--color-text)}.si-preview-total .si-preview-label{font-weight:700;color:var(--color-text)}.si-preview-total .si-preview-value{font-weight:700;font-size:1rem;color:var(--color-primary)}.page{animation:fadeIn .4s ease}.service-counts{display:flex;align-items:center;gap:4px;font-size:.6875rem;font-family:JetBrains Mono,monospace;color:var(--color-text-subtle);margin-top:4px;letter-spacing:.02em}.service-sep{color:var(--color-border)}.actions-cell{display:flex;gap:.25rem}.invoice-stats{display:flex;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}@media(max-width:768px){.invoice-stats{gap:1rem}}@media(max-width:500px){.invoice-stats{flex-direction:column}}.invoice-stat{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}@media(max-width:500px){.invoice-stat{padding:.5rem 1rem}}.invoice-stat .stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.invoice-stat .stat-value{font-size:1.25rem;font-weight:700;font-family:JetBrains Mono,monospace;color:var(--color-text)}.invoice-stat .stat-value.pending{color:var(--color-warning)}.invoice-stat .stat-value.paid{color:var(--color-success)}.ticket-stats{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}@media(max-width:500px){.ticket-stats{gap:.5rem}}.ticket-stat{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.25rem;align-items:center;cursor:pointer;transition:all .15s ease;min-width:100px;flex:1}@media(max-width:500px){.ticket-stat{padding:.5rem 1rem;min-width:80px}}.ticket-stat:hover{border-color:var(--color-primary);background:var(--color-bg-hover)}.ticket-stat .stat-value{font-size:1.5rem;font-weight:700;color:var(--color-text)}.ticket-stat .stat-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.ticket-stat.urgent{border-color:var(--color-error-muted)}.ticket-stat.urgent .stat-value{color:var(--color-error)}.ticket-filters{display:flex;gap:1.5rem;align-items:center;margin-bottom:1.5rem;padding:1rem;background:var(--color-bg-elevated);border-radius:10px;flex-wrap:wrap}@media(max-width:768px){.ticket-filters{gap:1rem}}@media(max-width:500px){.ticket-filters{flex-direction:column;align-items:stretch;gap:.5rem}}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group label{font-size:.8125rem;color:var(--color-text-muted)}.filter-group select{padding:.25rem .5rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:.875rem}.priority-indicator{width:4px;height:32px;border-radius:2px;flex-shrink:0}.priority-indicator.priority-baja{background:var(--color-success)}.priority-indicator.priority-media{background:var(--color-info, #3b82f6)}.priority-indicator.priority-alta{background:var(--color-warning)}.priority-indicator.priority-urgente{background:var(--color-error)}.ticket-link{cursor:pointer;transition:color .15s ease}.ticket-link:hover{color:var(--color-primary)}.category-tag{font-size:.8125rem;color:var(--color-text-muted)}.email-stats{display:flex;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}@media(max-width:500px){.email-stats{flex-direction:column;gap:1rem}}.email-stat{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;flex:1;min-width:0}@media(max-width:500px){.email-stat{padding:.5rem 1rem}}.email-stat svg{color:var(--color-primary)}.email-stat>div{display:flex;flex-direction:column}.email-stat .stat-value{font-size:1.25rem;font-weight:700;color:var(--color-text)}.email-stat .stat-label{font-size:.75rem;color:var(--color-text-muted)}.stat-dot{width:12px;height:12px;border-radius:50%}.stat-dot.active{background:var(--color-success)}.stat-dot.suspended{background:var(--color-warning)}.password-cell{display:flex;align-items:center;gap:.5rem}.password-value{font-family:JetBrains Mono,monospace;font-size:.8125rem;color:var(--color-text-muted);min-width:70px}.password-actions{display:flex;gap:2px}.product-stats{display:flex;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}@media(max-width:500px){.product-stats{flex-direction:column;gap:1rem}}.product-stat{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;flex:1;min-width:0}@media(max-width:500px){.product-stat{padding:.5rem 1rem}}.product-stat svg{color:var(--color-primary)}.product-stat>div{display:flex;flex-direction:column}.product-stat .stat-value{font-size:1.25rem;font-weight:700;color:var(--color-text)}.product-stat .stat-label{font-size:.75rem;color:var(--color-text-muted)}.cell-primary{display:flex;align-items:center;gap:.5rem}.cell-icon{color:var(--color-primary);flex-shrink:0}.cell-main{font-weight:500;color:var(--color-text);display:block}.cell-main.cell-clickable:hover{color:var(--color-primary)}.cell-sub{font-size:.8125rem;color:var(--color-text-muted);display:flex;align-items:center;gap:4px;margin-top:2px}.cell-secondary{display:flex;align-items:center;gap:.25rem;color:var(--color-text-muted)}.cell-link{display:flex;align-items:center;gap:.25rem;color:var(--color-text-muted);transition:color .15s ease}.cell-link:hover{color:var(--color-primary)}.cell-notes{color:var(--color-text-muted);font-size:.875rem;font-style:italic}.domain-link{display:flex;align-items:center;gap:.25rem;color:var(--color-primary);font-weight:500}.domain-link:hover{text-decoration:underline}.expiry-cell{display:flex;align-items:flex-start;gap:.5rem}.expiry-icon{margin-top:2px}.expiry-icon.active{color:var(--color-success)}.expiry-icon.expiring_soon{color:var(--color-warning)}.expiry-icon.expired{color:var(--color-error)}.expiry-days{font-size:.75rem;display:block;margin-top:2px}.expiry-days.active{color:var(--color-success)}.expiry-days.expiring_soon{color:var(--color-warning)}.expiry-days.expired{color:var(--color-error)}.auto-renew-cell{display:flex;align-items:center;gap:.25rem;font-size:.875rem}.auto-renew-cell svg.active{color:var(--color-success)}.auto-renew-cell svg.inactive{color:var(--color-text-subtle)}.price-cell{display:flex;align-items:center;gap:.25rem}.price-icon{color:var(--color-success)}.price-value{font-weight:600;color:var(--color-text);font-family:JetBrains Mono,monospace}.status-cell{display:flex;align-items:center;gap:.25rem;font-size:.875rem}.status-cell.active{color:var(--color-success)}.status-cell.inactive{color:var(--color-text-subtle)}.amount-cell{display:flex;flex-direction:column;gap:4px}.amount-row{display:flex;align-items:center;gap:.25rem;font-size:.8125rem}.amount-row.final .amount-value{color:var(--color-success)}.amount-label{color:var(--color-text-subtle)}.amount-value{font-family:JetBrains Mono,monospace;font-weight:500;color:var(--color-text-muted)}.dates-cell{display:flex;flex-direction:column;gap:4px}.date-row{display:flex;align-items:center;gap:.25rem;font-size:.8125rem;color:var(--color-text-muted)}.role-cell{display:flex;align-items:center;gap:.5rem}.role-icon{flex-shrink:0}.role-icon.role-admin{color:var(--color-primary)}.role-icon.role-editor{color:var(--color-warning)}.role-icon.role-viewer{color:var(--color-text-muted)}.user-avatar-img{width:36px;height:36px;border-radius:9999px;object-fit:cover;flex-shrink:0}.user-avatar-placeholder{width:36px;height:36px;border-radius:9999px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;color:var(--color-bg);flex-shrink:0}.uid-cell{background:var(--color-bg-hover);padding:2px 6px;border-radius:6px;font-size:.75rem}.portal-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px;border-radius:6px;transition:all .15s ease}.portal-badge.portal-active{color:var(--color-success);background:var(--color-success-muted)}.portal-badge.portal-inactive{color:var(--color-text-subtle);background:var(--color-bg-hover)}.alert{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;border-radius:10px;margin-bottom:1.5rem;font-size:.9375rem}.alert-info{background:#3b82f61a;border:1px solid rgba(59,130,246,.2);color:#60a5fa}.alert-error{background:var(--color-error-muted);border:1px solid rgba(239,68,68,.3);color:var(--color-error)}.alert-success{background:var(--color-success-muted);border:1px solid rgba(34,197,94,.3);color:var(--color-success)}.alert-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);color:#fbbf24}.client-profile{max-width:1100px;padding-bottom:3rem}.profile-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.profile-back{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:var(--color-text-muted);padding:.25rem .5rem;border-radius:10px;transition:all .15s ease}.profile-back:hover{color:var(--color-primary);background:var(--color-bg-hover)}.profile-topbar-actions{display:flex;gap:.5rem}.profile-header-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:1.5rem 2rem;display:flex;gap:1.5rem;align-items:flex-start;margin-bottom:1.5rem}@media(max-width:500px){.profile-header-card{flex-direction:column;padding:1rem;gap:1rem}}.profile-avatar{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;flex-shrink:0}@media(max-width:500px){.profile-avatar{width:48px;height:48px;font-size:1.25rem}}.profile-header-info{flex:1;min-width:0}.profile-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.profile-header-top h1{font-size:1.5rem;font-weight:700;color:var(--color-text);line-height:1.2}@media(max-width:500px){.profile-header-top h1{font-size:1.25rem}}.profile-contact-name{font-size:.9375rem;color:var(--color-text-muted);margin-top:2px}.profile-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.profile-meta-item{display:flex;align-items:center;gap:.25rem;font-size:.8125rem;color:var(--color-text-muted);text-decoration:none;transition:color .15s ease}.profile-meta-item:hover{color:var(--color-primary)}.profile-meta-item.portal-active{color:var(--color-success)}.profile-meta-item.portal-inactive{color:var(--color-text-subtle)}.profile-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin-bottom:1.5rem}@media(max-width:768px){.profile-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:500px){.profile-stats{grid-template-columns:repeat(2,1fr);gap:.25rem}}.profile-stat{border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem;cursor:pointer;transition:all .15s ease;border:1px solid var(--color-border);background:var(--color-bg-card)}.profile-stat:hover{border-color:var(--color-primary);background:var(--color-bg-hover)}.profile-stat.active{border-color:var(--color-primary);background:var(--color-primary-muted);box-shadow:0 0 0 1px var(--color-primary)}.profile-stat-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff}.profile-stat-icon.services{background:linear-gradient(135deg,#14b8a6,#0d9488)}.profile-stat-icon.emails{background:linear-gradient(135deg,#3b82f6,#2563eb)}.profile-stat-icon.tickets{background:linear-gradient(135deg,#ef4444,#dc2626)}.profile-stat-icon.invoices{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.profile-stat-icon.partners{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.profile-stat-value{font-size:1.5rem;font-weight:700;color:var(--color-text);line-height:1}.profile-stat-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.profile-section{margin-bottom:2rem}.profile-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.profile-section-header h2{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;color:var(--color-text)}.profile-section-actions{display:flex;gap:.25rem;flex-wrap:wrap}.btn-sm{padding:.25rem .5rem!important;font-size:.8125rem!important}.btn-sm svg{width:14px;height:14px}.profile-loading{align-items:center;justify-content:center;display:flex;flex-direction:column;gap:1rem;padding:3rem;color:var(--color-text-muted)}.profile-loading-inline{display:flex;align-items:center;justify-content:center;padding:2rem}.profile-empty{align-items:center;justify-content:center;display:flex;flex-direction:column;gap:1rem;padding:3rem;text-align:center;color:var(--color-text-subtle)}.profile-empty h2{color:var(--color-text)}.profile-empty-section{align-items:center;justify-content:center;display:flex;flex-direction:column;gap:.5rem;padding:2rem;text-align:center;color:var(--color-text-subtle);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px}.profile-services-list{display:flex;flex-direction:column;gap:1rem}.profile-service-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;overflow:hidden}.profile-service-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:.5rem}.profile-service-title{display:flex;align-items:center;gap:.5rem}.profile-service-title .service-icon{color:var(--color-primary)}.profile-service-title h3{font-size:1rem;font-weight:600;color:var(--color-text)}.status-badge-sm{display:inline-flex;padding:2px 8px;border-radius:9999px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.status-badge-sm.status-active{background:var(--color-success-muted);color:var(--color-success)}.status-badge-sm.status-warning{background:var(--color-warning-muted);color:var(--color-warning)}.status-badge-sm.status-danger{background:var(--color-error-muted);color:var(--color-error)}.status-badge-sm.status-info{background:#3b82f61f;color:#3b82f6}.status-badge-sm.status-purple{background:var(--color-purple-muted);color:var(--color-purple)}.status-badge-sm.status-muted{background:var(--color-bg-hover);color:var(--color-text-muted)}.profile-service-link{display:flex;align-items:center;gap:.25rem;font-size:.8125rem;color:var(--color-primary);text-decoration:none}.profile-service-link:hover{text-decoration:underline}.profile-service-actions{display:flex;align-items:center;gap:.25rem}.btn-icon-xs{background:transparent;border:none;padding:4px;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;color:var(--color-text-subtle);opacity:0;transition:all .15s ease}.btn-icon-xs:hover{color:var(--color-primary);background:var(--color-bg-hover)}.btn-icon-xs.btn-icon-danger:hover{color:var(--color-error);background:var(--color-error-muted)}.profile-item-row:hover .btn-icon-xs{opacity:1}.profile-item-actions{display:flex;gap:2px;flex-shrink:0}.profile-partner-actions{display:flex;flex-direction:column;gap:2px}.profile-unlinked-card{margin-top:1rem;border-style:dashed}.profile-unlinked-card .profile-service-header{background:var(--color-warning-muted);border-bottom-color:var(--color-warning)}.text-warning-icon{color:var(--color-warning)}.profile-service-items{padding:.5rem 1rem}.profile-service-footer{display:flex;align-items:center;justify-content:flex-end;gap:1.5rem;padding:.5rem 1.5rem;border-top:1px solid var(--color-border);background:var(--color-bg-elevated)}.profile-service-footer-item{display:flex;align-items:center;gap:.25rem}.profile-service-footer-item .footer-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-weight:500}.profile-service-footer-item .footer-value{font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums}.profile-service-footer-item .footer-value.cost{color:var(--color-text-muted)}.profile-service-footer-item .footer-value.price{color:var(--color-primary)}.profile-service-footer-item .footer-value.margin-positive{color:var(--color-success)}.profile-service-footer-item .footer-value.margin-negative{color:var(--color-error)}.profile-item-row{display:flex;align-items:center;gap:1rem;padding:.5rem;border-radius:10px;transition:background .15s ease}.profile-item-row:hover{background:var(--color-bg-hover)}.profile-item-row+.profile-item-row{border-top:1px solid var(--color-border)}.profile-item-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-item-icon.hosting{background:#6366f11a;color:#6366f1}.profile-item-icon.domain{background:#10b9811a;color:#10b981}.profile-item-icon.item{background:#f59e0b1a;color:#f59e0b}.profile-item-info{flex:1;min-width:0}.profile-item-name{font-size:.875rem;font-weight:500;color:var(--color-text);display:block}.profile-item-detail{font-size:.75rem;color:var(--color-text-muted);display:flex;align-items:center;gap:4px;margin-top:1px}.profile-item-date{display:flex;align-items:center;gap:.25rem;font-size:.8125rem;color:var(--color-text-muted);flex-shrink:0;white-space:nowrap}.profile-item-prices{display:flex;align-items:center;gap:1rem;flex-shrink:0;font-size:.75rem;font-variant-numeric:tabular-nums}.profile-item-prices .item-cost{color:var(--color-text-muted)}.profile-item-prices .item-cost:before{content:"C: ";font-size:.625rem;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.profile-item-prices .item-price{color:var(--color-primary);font-weight:500}.profile-item-prices .item-price:before{content:"P: ";font-size:.625rem;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.profile-days-badge{display:inline-block;padding:1px 6px;border-radius:6px;font-size:.6875rem;font-weight:600}.profile-days-badge.danger{background:var(--color-error-muted);color:var(--color-error)}.profile-days-badge.warning{background:var(--color-warning-muted);color:var(--color-warning)}.profile-days-badge.info{background:#3b82f61a;color:#60a5fa}.profile-item-empty{padding:1rem;color:var(--color-text-subtle);font-size:.875rem;text-align:center}.profile-mini-stats{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.profile-mini-stat{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;flex:1;min-width:120px}.profile-mini-stat .mini-val{font-size:1.125rem;font-weight:700;color:var(--color-text)}.profile-mini-stat .mini-lbl{font-size:.6875rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.profile-mini-stat.open{border-left:3px solid #3b82f6}.profile-mini-stat.progress{border-left:3px solid #f59e0b}.profile-mini-stat.pending{border-left:3px solid #8b5cf6}.profile-mini-stat.resolved,.profile-mini-stat.paid{border-left:3px solid #22c55e}.profile-mini-stat.pending-inv{border-left:3px solid #f59e0b}.profile-table-wrap{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;overflow-x:auto}.profile-table{width:100%;border-collapse:collapse}.profile-table thead th{text-align:left;padding:.5rem 1rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);background:var(--color-bg-elevated);white-space:nowrap}.profile-table tbody tr{border-bottom:1px solid var(--color-border);transition:background .15s ease}.profile-table tbody tr:last-child{border-bottom:none}.profile-table tbody tr:hover{background:var(--color-bg-hover)}.profile-table td{padding:.5rem 1rem;font-size:.875rem;vertical-align:middle}.profile-email-cell{display:flex;align-items:center;gap:.25rem;color:var(--color-text)}.profile-ticket-subject{font-weight:500;display:block}.mono-text{font-family:JetBrains Mono,monospace;font-size:.8125rem;color:var(--color-text-muted)}.text-muted{color:var(--color-text-muted)}.amount-highlight{font-weight:600;font-family:JetBrains Mono,monospace;color:var(--color-text)}.capitalize{text-transform:capitalize}.priority-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.25rem}.priority-dot.priority-baja{background:var(--color-success)}.priority-dot.priority-media{background:#3b82f6}.priority-dot.priority-alta{background:var(--color-warning)}.priority-dot.priority-urgente{background:var(--color-error)}.profile-partners-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.profile-partner-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:1rem;display:flex;gap:1rem;align-items:flex-start}.profile-partner-avatar{width:40px;height:40px;border-radius:9999px;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem;flex-shrink:0}.profile-partner-info{flex:1;min-width:0}.profile-partner-info h4{font-size:.9375rem;font-weight:600;color:var(--color-text)}.profile-partner-role{display:inline-block;padding:1px 6px;border-radius:6px;font-size:.6875rem;background:var(--color-bg-hover);color:var(--color-text-muted);margin-top:2px}.profile-partner-contact{display:flex;align-items:center;gap:4px;font-size:.8125rem;color:var(--color-text-muted);text-decoration:none;margin-top:4px}.profile-partner-contact:hover{color:var(--color-primary)}.profile-details-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:1.5rem;margin-top:1.5rem}.profile-details-card h3{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:1rem}.profile-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(max-width:500px){.profile-details-grid{grid-template-columns:1fr}}.profile-detail.full-width{grid-column:1/-1}.profile-detail-label{display:block;font-size:.75rem;color:var(--color-text-subtle);margin-bottom:2px}.profile-detail-value{font-size:.9375rem;color:var(--color-text)}@media(max-width:500px){.profile-topbar{flex-direction:column;align-items:flex-start}.profile-item-row{flex-wrap:wrap}.profile-item-date{width:100%;margin-top:4px}.profile-table{font-size:.8125rem}.profile-table td,.profile-table thead th{padding:.25rem .5rem}}
