:root{--font-family: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", monospace;--font-size-xs: .8125rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.5rem;--font-size-4xl: 3rem;--font-size-display: clamp(2.75rem, 5vw + 1rem, 4.5rem);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.15;--line-height-snug: 1.3;--line-height-normal: 1.55;--line-height-relaxed: 1.65;--letter-spacing-tight: -.025em;--letter-spacing-tighter: -.04em;--letter-spacing-normal: -.01em;--letter-spacing-wide: .02em;--letter-spacing-wider: .06em;--letter-spacing-button: -.01em;--color-primary: #1a2a3a;--color-primary-light: #2c3e50;--color-primary-lighter: #4a6580;--color-primary-dark: #0f1a26;--color-accent: #2563eb;--color-accent-light: #4f8cff;--color-accent-dark: #1a4db3;--color-success: #1a7f3a;--color-success-light: #e8f5ec;--color-success-dark: #0f5c2a;--color-warning: #b8860b;--color-warning-light: #faf3e0;--color-warning-dark: #8b6508;--color-danger: #b91c1c;--color-danger-light: #fae8e8;--color-danger-dark: #8a1515;--color-info: #2563eb;--color-info-light: #e8effa;--color-info-dark: #1a4db3;--color-bg: #f5f5f7;--color-bg-secondary: #fafafa;--color-surface: #ffffff;--color-border: #e5e5e7;--color-border-light: #f0f0f2;--color-text: #1d1d1f;--color-text-secondary: #6e6e73;--color-text-muted: #a1a1a6;--color-text-on-primary: #ffffff;--spacing-3xs: .125rem;--spacing-2xs: .25rem;--spacing-xs: .375rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 2.5rem;--spacing-3xl: 3.5rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .03);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-md: 0 4px 12px rgba(0, 0, 0, .05), 0 1px 3px rgba(0, 0, 0, .03);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .08), 0 4px 12px rgba(0, 0, 0, .04);--shadow-xl: 0 24px 48px rgba(0, 0, 0, .1), 0 8px 24px rgba(0, 0, 0, .05);--shadow-inner: inset 0 1px 2px rgba(0, 0, 0, .03);--sidebar-width: 240px;--header-height: 56px;--max-content-width: 1200px;--transition-fast: .2s cubic-bezier(.25, .1, .25, 1);--transition-normal: .3s cubic-bezier(.25, .1, .25, 1);--transition-slow: .45s cubic-bezier(.25, .1, .25, 1)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:.5rem 1rem;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.2;letter-spacing:var(--letter-spacing-button);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-primary:hover:not(:disabled){background:var(--color-accent-light);border-color:var(--color-accent-light)}.btn-secondary{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-text-muted)}.btn-danger{background:transparent;color:var(--color-danger);border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger-light)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--color-bg);color:var(--color-text)}.btn-outline{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border)}.btn-outline:hover:not(:disabled){background:var(--color-bg);color:var(--color-text);border-color:var(--color-text-muted)}.btn-sm{padding:.3125rem .625rem;font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.btn-lg{padding:.625rem 1.5rem;font-size:var(--font-size-md);border-radius:var(--radius-lg)}.btn-icon{width:36px;height:36px;padding:0}.btn-icon.btn-sm{width:28px;height:28px}.btn-icon.btn-lg{width:44px;height:44px}.btn-block{width:100%}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:var(--radius-full);animation:spin .5s linear infinite;flex-shrink:0}.btn-secondary .btn-spinner,.btn-ghost .btn-spinner{border-color:#00000026;border-top-color:var(--color-accent)}.input-field{display:flex;flex-direction:column;gap:var(--spacing-2xs)}.input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);letter-spacing:var(--letter-spacing-normal)}.input-label-required{color:var(--color-danger);margin-left:2px}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:.75rem;color:var(--color-text-muted);pointer-events:none;display:flex;flex-shrink:0}.input-icon-right{position:absolute;right:.75rem;color:var(--color-text-muted);pointer-events:none;display:flex;flex-shrink:0}.input-element{width:100%;padding:.625rem .875rem;font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.input-element:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #2563eb1f}.input-element::placeholder{color:var(--color-text-muted)}.input-element.input-with-icon{padding-left:2.5rem}.input-element.input-with-icon-right{padding-right:2.5rem}.input-element.input-error{border-color:var(--color-danger);box-shadow:0 0 0 3px #b91c1c1a}.input-element.input-lg{padding:.75rem 1rem;font-size:var(--font-size-md);min-height:48px}.input-element.input-sm{padding:.375rem .625rem;font-size:var(--font-size-sm)}.input-error-text{font-size:var(--font-size-xs);color:var(--color-danger)}.input-help-text{font-size:var(--font-size-xs);color:var(--color-text-muted)}.input-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236e6e73'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem;cursor:pointer}.input-textarea{min-height:80px;resize:vertical}.ds-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal),border-color var(--transition-normal);min-width:0}.ds-card-hover:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-light)}.ds-card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border-light);gap:var(--spacing-sm);flex-wrap:wrap}.ds-card-header-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text)}.ds-card-header-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-3xs)}.ds-card-body{padding:var(--spacing-xl)}.ds-card-body-compact{padding:var(--spacing-lg)}.ds-card-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);border-top:1px solid var(--color-border-light)}.ds-card-p-sm .ds-card-body{padding:var(--spacing-lg)}.ds-card-p-xs .ds-card-body{padding:var(--spacing-md)}.badge{display:inline-flex;align-items:center;gap:var(--spacing-2xs);padding:.125rem .5rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);line-height:1.4;letter-spacing:var(--letter-spacing-normal);white-space:nowrap}.badge-success{background:var(--color-success-light);color:var(--color-success-dark)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning-dark)}.badge-danger{background:var(--color-danger-light);color:var(--color-danger-dark)}.badge-info{background:var(--color-info-light);color:var(--color-info-dark)}.badge-neutral{background:var(--color-bg);color:var(--color-text-secondary)}.badge-outline{background:transparent;border:1px solid currentColor}.badge-dot:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);background:currentColor;flex-shrink:0}.badge-sm{font-size:.625rem;padding:.0625rem .375rem;letter-spacing:var(--letter-spacing-wider);text-transform:uppercase}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);padding-top:calc(var(--spacing-xl) + var(--safe-top));padding-bottom:calc(var(--spacing-xl) + var(--safe-bottom));background:#00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn var(--transition-fast)}.modal-overlay.modal-closing{animation:fadeOut var(--transition-fast) forwards}.ds-modal{background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;animation:scaleIn var(--transition-normal)}.modal-overlay.modal-closing .ds-modal{animation:scaleOut var(--transition-fast) forwards}.ds-modal-sm{max-width:360px}.ds-modal-lg{max-width:640px}.ds-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border-light);gap:var(--spacing-sm);flex-shrink:0}.ds-modal-header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight)}.ds-modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-fast);flex-shrink:0;-webkit-tap-highlight-color:transparent}.ds-modal-close:hover{background:var(--color-bg);color:var(--color-text)}.ds-modal-body{padding:var(--spacing-xl);overflow-y:auto;flex:1}.ds-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);border-top:1px solid var(--color-border-light);flex-shrink:0}@media(max-width:640px){.modal-overlay{padding:var(--spacing-md);align-items:flex-end}.ds-modal{max-height:85vh;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}}.ds-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl) var(--spacing-xl);text-align:center}.ds-empty-state-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--color-bg);border-radius:var(--radius-full);margin-bottom:var(--spacing-lg);color:var(--color-text-muted)}.ds-empty-state h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs);letter-spacing:var(--letter-spacing-tight);color:var(--color-text)}.ds-empty-state p{font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:320px;margin-bottom:var(--spacing-lg);line-height:var(--line-height-relaxed)}.ds-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.ds-page-header-text h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text)}.ds-page-header-text p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-3xs)}.ds-page-header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}@media(max-width:640px){.ds-page-header{flex-direction:column;align-items:flex-start}.ds-page-header-actions{width:100%}.ds-page-header-actions .btn{flex:1}}.ds-filter-bar{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.ds-filter-bar .input-element,.ds-filter-bar .input-select{width:auto;min-width:160px}.ds-filter-bar-active{border-color:var(--color-accent);background:var(--color-info-light)}.ds-filter-clear{margin-left:auto}@media(max-width:768px){.ds-filter-bar{flex-direction:column;align-items:stretch}.ds-filter-bar .input-element,.ds-filter-bar .input-select{width:100%;min-width:unset}.ds-filter-clear{margin-left:0}}.ds-status-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-lg) var(--spacing-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.ds-status-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--status-color, transparent);border-radius:var(--radius-xl) 0 0 var(--radius-xl);pointer-events:none}.ds-status-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.ds-status-card-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);margin-bottom:var(--spacing-xs)}.ds-status-card-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);letter-spacing:var(--letter-spacing-tight);line-height:1.1}.ds-status-card-sub{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-3xs)}.ds-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm);-webkit-overflow-scrolling:touch}.ds-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.ds-table thead{background:var(--color-bg-secondary)}.ds-table th{padding:var(--spacing-sm) var(--spacing-lg);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);text-align:left;white-space:nowrap;border-bottom:1px solid var(--color-border)}.ds-table td{padding:var(--spacing-sm) var(--spacing-lg);color:var(--color-text);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.ds-table tbody tr:last-child td{border-bottom:none}.ds-table tbody tr{transition:background var(--transition-fast)}.ds-table tbody tr:hover{background:#00000005}.ds-table .ds-table-actions{display:flex;align-items:center;gap:var(--spacing-2xs);justify-content:flex-end}.ds-table .ds-table-actions button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-fast)}.ds-table .ds-table-actions button:hover{background:var(--color-bg);color:var(--color-text)}.ds-table .ds-table-actions button.danger:hover{background:var(--color-danger-light);color:var(--color-danger)}@media(max-width:767px){.ds-table-responsive thead{display:none}.ds-table-responsive,.ds-table-responsive tbody,.ds-table-responsive tr,.ds-table-responsive td{display:block}.ds-table-responsive tr{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-lg);margin-bottom:var(--spacing-md);box-shadow:var(--shadow-sm)}.ds-table-responsive td{padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);overflow-wrap:break-word;word-break:break-word}.ds-table-responsive td:last-child{border-bottom:none}.ds-table-responsive td:before{content:attr(data-label);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);flex-shrink:0}.ds-table-responsive td:empty{display:none}}.ds-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);gap:var(--spacing-md)}.ds-loading-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:var(--radius-full);animation:spin .6s linear infinite}.ds-loading-spinner-sm{width:20px;height:20px;border-width:2px}.ds-loading-text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ds-loading-page{min-height:60vh}.toast-container{position:fixed;top:calc(var(--spacing-lg) + var(--safe-top));right:calc(var(--spacing-lg) + var(--safe-right));z-index:2000;display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:360px;pointer-events:none}.toast{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);animation:slideInRight var(--transition-normal);pointer-events:auto}.toast-text{flex:1}.toast-progress{position:absolute;bottom:0;left:0;right:0;height:2px;overflow:hidden;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.toast-progress-bar{height:100%;background:var(--color-accent);animation:toastProgress linear forwards;transform-origin:left}.toast-exit{animation:slideOutRight var(--transition-fast) forwards}.toast-success{border-left:3px solid var(--color-success)}.toast-error{border-left:3px solid var(--color-danger)}.toast-info{border-left:3px solid var(--color-accent)}.ds-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--color-bg);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);flex-shrink:0;overflow:hidden;-webkit-user-select:none;user-select:none}.ds-avatar img{width:100%;height:100%;object-fit:cover}.ds-avatar-sm{width:28px;height:28px;font-size:var(--font-size-xs)}.ds-avatar-md{width:36px;height:36px;font-size:var(--font-size-sm)}.ds-avatar-lg{width:48px;height:48px;font-size:var(--font-size-md)}.ds-avatar-xl{width:64px;height:64px;font-size:var(--font-size-xl)}.skel-line{border-radius:var(--radius-sm)}.skel-header{height:14px;width:60%}.skel-cell{height:14px;width:80%}.skel-card-title{height:20px;width:60%;margin-bottom:12px}.skel-card-sub{height:14px;width:40%;margin-bottom:8px}.skel-card-body{height:14px;width:80%}.skel-detail-title{height:22px;width:50%;margin-bottom:16px}.skel-detail-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--color-border-light)}.skel-detail-label{height:14px;width:30%}.skel-detail-value{height:14px;width:40%}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}@keyframes toastProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes staggerFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ds-section{margin-bottom:var(--spacing-2xl)}.ds-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);gap:var(--spacing-md);flex-wrap:wrap}.ds-section-header h2{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text);line-height:var(--line-height-tight)}.ds-section-header p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-3xs)}.ds-section-header-action{flex-shrink:0}.ds-attention-alert{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);border:1px solid transparent}.ds-attention-alert-critical{background:var(--color-danger-light);border-color:#b91c1c26;color:var(--color-danger-dark)}.ds-attention-alert-warning{background:var(--color-warning-light);border-color:#b8860b26;color:var(--color-warning-dark)}.ds-attention-alert-icon{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:#0000000f}.ds-attention-alert-content{flex:1;min-width:0;font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.ds-attention-alert-content strong{font-weight:var(--font-weight-semibold)}.ds-attention-alert-content span{margin-left:var(--spacing-xs);opacity:.85}.ds-attention-alert-actions{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.ds-attention-alert-actions .btn{color:inherit;border-color:currentColor;opacity:.7}.ds-attention-alert-actions .btn:hover{opacity:1}@media(max-width:640px){.ds-attention-alert{flex-wrap:wrap;gap:var(--spacing-sm)}.ds-attention-alert-actions{width:100%;justify-content:flex-end}}.ds-timeline{display:flex;flex-direction:column}.ds-timeline-empty{padding:var(--spacing-xl) 0;text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.ds-timeline-item{display:flex;gap:var(--spacing-md);position:relative;padding-bottom:var(--spacing-lg);animation:staggerFadeIn .3s ease both;animation-delay:calc(var(--stagger, 0) * 50ms)}.ds-timeline-item:last-child{padding-bottom:0}.ds-timeline-item:last-child .ds-timeline-line{display:none}.ds-timeline-dot{width:28px;height:28px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--color-bg);color:var(--color-text-muted);border:2px solid var(--color-border);z-index:1}.ds-timeline-dot-success{background:var(--color-success-light);color:var(--color-success);border-color:var(--color-success)}.ds-timeline-dot-warning{background:var(--color-warning-light);color:var(--color-warning);border-color:var(--color-warning)}.ds-timeline-dot-danger{background:var(--color-danger-light);color:var(--color-danger);border-color:var(--color-danger)}.ds-timeline-dot-accent{background:var(--color-info-light);color:var(--color-accent);border-color:var(--color-accent)}.ds-timeline-dot-info{background:var(--color-info-light);color:var(--color-info);border-color:var(--color-info)}.ds-timeline-dot-neutral{background:var(--color-bg);color:var(--color-text-muted);border-color:var(--color-border)}.ds-timeline-line{position:absolute;left:13px;top:28px;bottom:0;width:2px;background:var(--color-border-light);border-radius:var(--radius-full)}.ds-timeline-content{flex:1;min-width:0;padding-top:2px}.ds-timeline-content-header{display:flex;align-items:baseline;gap:var(--spacing-sm);flex-wrap:wrap}.ds-timeline-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);line-height:var(--line-height-snug)}.ds-timeline-time{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;margin-left:auto}.ds-timeline-subtitle{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--spacing-2xs);line-height:var(--line-height-normal)}.ds-timeline-more{padding-top:var(--spacing-sm);text-align:center}@media(max-width:640px){.ds-timeline-item{gap:var(--spacing-sm)}.ds-timeline-dot{width:24px;height:24px}.ds-timeline-line{left:11px;top:24px}}.ds-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}.ds-stat-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);text-align:center;position:relative;transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.ds-stat-item:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--stat-color, var(--color-accent))}.ds-stat-item:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.ds-stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text);line-height:1;margin-bottom:var(--spacing-2xs)}.ds-stat-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}@media(max-width:768px){.ds-stat-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.ds-stat-row{grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.ds-stat-item{padding:var(--spacing-sm) var(--spacing-md)}.ds-stat-value{font-size:var(--font-size-lg)}}.btn:focus-visible,.ds-card:focus-visible,.ds-attention-alert .btn:focus-visible,.ds-timeline-more .btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.input-currency-wrap{position:relative;display:flex;align-items:center}.input-currency-symbol{position:absolute;left:10px;font-size:var(--font-size-sm);color:var(--color-text-muted);pointer-events:none;z-index:1}.input-currency-wrap .input-currency{padding-left:24px;width:100%;box-sizing:border-box}.status-title--ok{color:var(--color-success)}.status-title--warning{color:var(--color-warning)}.status-title--danger{color:var(--color-danger)}@media(prefers-reduced-motion:reduce){.btn,.ds-card,.ds-modal,.ds-status-card,.ds-table tbody tr,.ds-modal-close,.toast,.ds-timeline-item,.ds-stat-item{transition:none}.modal-overlay,.modal-overlay.modal-closing,.ds-modal,.modal-overlay.modal-closing .ds-modal,.toast,.toast-exit,.ds-timeline-item{animation:none}.btn:active:not(:disabled){transform:none}.ds-status-card:hover,.ds-stat-item:hover{transform:none}}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}body{margin:0;padding:0;font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg);letter-spacing:var(--letter-spacing-normal);overflow-x:clip}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text)}p{margin:0}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-light)}ul,ol{margin:0;padding:0;list-style:none}img{max-width:100%;height:auto;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000026;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#00000040}.app-layout{display:flex;min-height:100vh;min-height:calc(100vh - var(--safe-top) - var(--safe-bottom));padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);overflow-x:clip}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;height:calc(100vh - var(--safe-top) - var(--safe-bottom));padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);z-index:100;background:#141419;border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;overflow-y:auto;transition:transform var(--transition-normal) cubic-bezier(.32,.72,0,1);transform:translate(-100%)}@media(max-width:767px){.sidebar{width:min(85vw,320px)}}@media(min-width:768px){.sidebar{transform:translate(0)}}.sidebar-header{padding:24px 20px 16px;border-bottom:1px solid rgba(255,255,255,.05);flex-shrink:0}.sidebar-brand{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:#ffffffeb;letter-spacing:-.3px}.sidebar-nav{flex:1;padding:10px 10px 4px;overflow-y:auto}.sidebar-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;font-size:14px;font-weight:500;color:#ffffff6b;background:none;border:none;border-radius:7px;cursor:pointer;transition:all .18s cubic-bezier(.25,.1,.25,1);text-align:left;text-decoration:none;letter-spacing:-.01em;position:relative}.sidebar-item svg{flex-shrink:0;opacity:.42;transition:opacity .18s cubic-bezier(.25,.1,.25,1)}.sidebar-item:hover{color:#ffffffc7;background:#ffffff0f}.sidebar-item:hover svg{opacity:.78}.sidebar-item.active{color:#fff;background:#ffffff17;font-weight:600}.sidebar-item.active svg{opacity:1}.sidebar-item.active:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:3px;height:14px;border-radius:0 2px 2px 0;background:var(--color-accent)}.sidebar-footer{padding:8px 10px 12px;border-top:1px solid rgba(255,255,255,.05);flex-shrink:0}.sidebar-footer .sidebar-item{color:#ffffff59;font-size:13px}.sidebar-footer .sidebar-item:hover{color:#fffc}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.app-layout.sidebar-open .sidebar{transform:translate(0)}.sidebar-toggle{position:relative;z-index:200;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text);font-size:var(--font-size-lg);box-shadow:var(--shadow-sm);flex-shrink:0;-webkit-tap-highlight-color:transparent}.main-content{flex:1;min-height:calc(100vh - var(--safe-top) - var(--safe-bottom));display:flex;flex-direction:column;overflow-x:hidden}.header{position:sticky;top:0;z-index:50;height:var(--header-height);background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);display:flex;align-items:center;padding:0 var(--spacing-xl);gap:var(--spacing-md)}.header-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text);letter-spacing:var(--letter-spacing-tight)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:var(--spacing-sm)}.header-actions .user-info{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.header-actions .user-avatar{width:28px;height:28px;border-radius:var(--radius-full);background:var(--color-border);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.page-content{flex:1;padding:var(--spacing-xl);max-width:var(--max-content-width);width:100%;margin:0 auto}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.page-header h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text)}.page-header p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-3xs)}.card{background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal),border-color var(--transition-normal);min-width:0}.card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-light)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-sm)}.card-header h2,.card-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight)}.card-header p{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.card-body{line-height:var(--line-height-relaxed)}.card-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.notif-item .badge{font-size:.625rem;padding:.0625rem .375rem;letter-spacing:var(--letter-spacing-wider);text-transform:uppercase}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;margin-bottom:var(--spacing-2xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);letter-spacing:var(--letter-spacing-normal)}.form-label .required{color:var(--color-danger);margin-left:var(--spacing-3xs)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-error{margin-top:var(--spacing-2xs);font-size:var(--font-size-xs);color:var(--color-danger)}.form-help{margin-top:var(--spacing-2xs);font-size:var(--font-size-xs);color:var(--color-text-muted)}.form-textarea{min-height:80px;resize:vertical}.form-inline{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}@media(min-width:1024px){.card form,.form-container{max-width:640px}}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}@media(max-width:640px){.form-row{grid-template-columns:1fr}}.tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-xl);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-right:var(--spacing-lg)}.tabs::-webkit-scrollbar{display:none}.tab{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--transition-fast);margin-bottom:-1px;letter-spacing:var(--letter-spacing-normal)}.tab:hover{color:var(--color-text);border-bottom-color:var(--color-border)}.tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:var(--font-weight-semibold)}.dropdown{position:relative;display:inline-block}.dropdown-menu{position:absolute;top:100%;right:0;z-index:300;min-width:160px;padding:var(--spacing-2xs);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:scaleIn var(--transition-fast);transform-origin:top right}.dropdown-menu-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);text-align:left;text-decoration:none}.dropdown-menu-item:hover{background:var(--color-bg)}.dropdown-menu-item.danger{color:var(--color-danger)}.dropdown-menu-item.danger:hover{background:var(--color-danger-light)}.activity-log{list-style:none;padding:0;margin:0}.activity-log li{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md) 0;border-bottom:1px solid var(--color-border-light)}.activity-log li:last-child{border-bottom:none}.activity-log .activity-icon{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-text-muted)}.activity-log .activity-content{flex:1;min-width:0}.activity-log .activity-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.activity-log .activity-description{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--spacing-3xs)}.activity-log .activity-time{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;flex-shrink:0}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.summary-card{position:relative;min-width:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-lg) var(--spacing-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.summary-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--card-accent, transparent);border-radius:var(--radius-xl) 0 0 var(--radius-xl);pointer-events:none}.summary-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.summary-card-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);margin-bottom:var(--spacing-xs)}.summary-card-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);letter-spacing:var(--letter-spacing-tight);line-height:1.1;overflow-wrap:break-word;word-break:break-word}.summary-card-change{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-3xs)}.info-row{display:flex;align-items:flex-start;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light)}.search-bar{position:relative}.search-bar .form-input{padding-left:2rem}.search-bar-icon{position:absolute;left:.625rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);font-size:var(--font-size-sm);pointer-events:none}.plan-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);text-align:center;transition:box-shadow var(--transition-normal),border-color var(--transition-normal),transform var(--transition-normal)}.plan-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-light);transform:translateY(-2px)}.plan-card.featured{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent),var(--shadow-md)}.plan-card-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);margin-bottom:var(--spacing-xs)}.plan-card-price{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text);margin-bottom:var(--spacing-2xs)}.plan-card-period{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.plan-card-features{text-align:left;margin-bottom:var(--spacing-lg)}.plan-card-features li{padding:var(--spacing-xs) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--spacing-sm)}.upgrade-options{display:flex;flex-direction:column;gap:var(--spacing-md)}.upgrade-option{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);background:var(--color-surface)}.upgrade-option:hover{border-color:var(--color-accent)}.upgrade-option.selected{border-color:var(--color-accent);background:var(--color-info-light)}.upgrade-option-radio{width:16px;height:16px;border-radius:var(--radius-full);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.upgrade-option.selected .upgrade-option-radio{border-color:var(--color-accent)}.upgrade-option.selected .upgrade-option-radio:after{content:"";width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-accent)}.upgrade-option-info{flex:1}.upgrade-option-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.upgrade-option-price{font-size:var(--font-size-xs);color:var(--color-text-secondary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}.mtn-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.mtn-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-lg) var(--spacing-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal),border-color var(--transition-normal)}.mtn-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-light)}.mtn-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xs);gap:var(--spacing-sm)}.mtn-type{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text);letter-spacing:var(--letter-spacing-tight)}.mtn-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);line-height:var(--line-height-normal)}.mtn-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-xs) var(--spacing-lg);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.mtn-meta-item{display:inline-flex;align-items:center;gap:var(--spacing-2xs)}.mtn-meta-item svg{width:14px;height:14px;opacity:.6;flex-shrink:0}.mtn-desc-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mtn-expand-btn{display:inline;padding:0;margin-left:var(--spacing-2xs);font-size:inherit;font-weight:var(--font-weight-medium);color:var(--color-accent);background:none;border:none;cursor:pointer;white-space:nowrap}.mtn-expand-btn:hover{color:var(--color-accent-light)}.mtn-card-actions{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light)}.mtn-card-actions .btn-sm{padding:.25rem .5rem;font-size:var(--font-size-xs)}.vd{display:flex;flex-direction:column;gap:var(--spacing-lg)}.badge-lg{padding:.25rem .75rem;font-size:var(--font-size-sm)}.rp-report-header{margin-bottom:var(--spacing-md)}.rp-report-header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);margin-bottom:var(--spacing-2xs)}.rp-report-header p{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.rp-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm)}.rp-table-wrap .table{margin-bottom:0}.rp-section{margin-bottom:var(--spacing-lg)}@media(max-width:1024px){.page-content{padding:var(--spacing-lg)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.card .flex.justify-between{flex-wrap:wrap;gap:var(--spacing-sm)}.card .flex.justify-between .flex-shrink-0,.card .flex.justify-between .ml-auto{max-width:100%}.card .btn-sm{white-space:normal;text-align:center;word-break:break-word}.card .flex.gap-sm{flex-wrap:wrap}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:stretch}.filter-bar .form-input,.filter-bar .form-select{width:100%;min-width:unset}.page-header{flex-direction:column;align-items:flex-start}}@media(max-width:768px){.page-content{padding:var(--spacing-md)}.app-header,.header{padding:0 var(--spacing-md)}.hide-mobile{display:none}.min-w-180,.min-w-160,.min-w-140{min-width:0;width:100%}.modal{border-radius:var(--radius-xl)}.modal-overlay{padding:var(--spacing-md)}.modal-card{max-height:85vh}.ready-card h2.text-xl{font-size:var(--font-size-lg)}.ready-card p.text-sm{font-size:var(--font-size-xs)}.mtn-meta{gap:var(--spacing-xs) var(--spacing-md)}.mtn-card{padding:var(--spacing-md)}.mtn-card-top{flex-direction:column;align-items:flex-start}.mtn-card-actions{flex-wrap:wrap}.mtn-type{font-size:var(--font-size-sm)}.tab{padding:var(--spacing-xs) var(--spacing-md)}.form-group{margin-bottom:var(--spacing-sm)}.card .input{padding:.5rem .75rem}.page-header h1{font-size:var(--font-size-lg)}}@media(max-width:480px){.summary-grid{grid-template-columns:1fr}.card,.summary-card{padding:var(--spacing-lg)}.summary-card-value{font-size:var(--font-size-lg)}.notif-item.card{padding:var(--spacing-sm) var(--spacing-md)}.page-content{padding:var(--spacing-md)}.data-grid{border-radius:var(--radius-lg)}.data-grid th,.data-grid td{padding:var(--spacing-sm) var(--spacing-md)}.page-header h1{font-size:var(--font-size-lg)}.card .flex.flex-wrap{flex-direction:column}.card .flex.flex-wrap .btn{width:100%}}@media(max-width:400px){.card{padding:var(--spacing-md)}.page-content{padding:var(--spacing-sm)}.modal-card,.report-filters{padding:var(--spacing-md)}}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.text-primary{color:var(--color-primary)}.text-center{text-align:center}.text-right{text-align:right}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-shrink-0{flex-shrink:0}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.flex-1{flex:1}.fw-600{font-weight:var(--font-weight-semibold)}.fw-700{font-weight:var(--font-weight-bold)}.mt-0{margin-top:0}.mt-2xs{margin-top:var(--spacing-2xs)}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.cursor-pointer{cursor:pointer}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hidden{display:none}.border-bottom{border-bottom:1px solid var(--color-border-light)}.border-top{border-top:1px solid var(--color-border)}.overflow-y-auto{overflow-y:auto}.display-none{display:none!important}.min-w-0{min-width:0}.text-break-word{overflow-wrap:break-word;word-break:break-word}.bg-secondary{background:var(--color-bg-secondary)}.bg-info-light{background:var(--color-info-light)}.bg-danger-light{background:var(--color-danger-light)}.justify-end{justify-content:flex-end}.items-end{align-items:flex-end}.min-w-180{min-width:180px}.min-w-160{min-width:160px}.min-w-140{min-width:140px}.ml-auto{margin-left:auto}.pt-md{padding-top:var(--spacing-md)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.grid-2>*{min-width:0}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--spacing-lg)}.grid-3>*{min-width:0}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg)}.grid-4>*{min-width:0}@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.hide-mobile{display:none}.min-w-180,.min-w-160,.min-w-140{min-width:0;width:100%}}@media(min-width:769px){.hide-desktop{display:none}}.app-header{position:sticky;top:0;z-index:50;height:var(--header-height);height:calc(var(--header-height) + var(--safe-top));background:#ffffffd1;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--color-border);display:flex;align-items:center;padding:var(--safe-top) var(--spacing-lg) 0;gap:var(--spacing-sm)}.header-left{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.header-logo{display:flex;align-items:center;font-weight:var(--font-weight-semibold);color:var(--color-text);text-decoration:none;font-size:var(--font-size-md);line-height:1;letter-spacing:var(--letter-spacing-tight);flex-shrink:0}@media(min-width:768px){.header-logo,.sidebar-toggle{display:none}}.header-right{margin-left:auto;display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.main-wrapper{flex:1;min-height:100vh;display:flex;flex-direction:column;transition:margin-left var(--transition-normal)}@media(min-width:768px){.main-wrapper{margin-left:var(--sidebar-width)}}.page-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text)}.page-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-3xs)}.section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text);margin-bottom:var(--spacing-md)}.back-link{display:inline-flex;align-items:center;gap:var(--spacing-2xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);text-decoration:none;margin-bottom:var(--spacing-md)}.back-link:hover{color:var(--color-accent)}.link{color:var(--color-accent);cursor:pointer;transition:color var(--transition-fast)}.link:hover{color:var(--color-accent-light)}.btn-outline{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn-outline:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-text-muted)}.btn-accent{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-accent:hover:not(:disabled){background:var(--color-accent-light);border-color:var(--color-accent-light)}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:var(--radius-full);animation:spin .5s linear infinite}.btn-outline .btn-spinner{border-color:#00000026;border-top-color:var(--color-accent)}.input-lg{padding:.625rem .875rem;font-size:var(--font-size-md)}.input-xs{padding:2px .5rem;font-size:var(--font-size-xs)}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.table th{padding:var(--spacing-sm) var(--spacing-lg);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);text-align:left;white-space:nowrap;border-bottom:1px solid var(--color-border)}.table td{padding:var(--spacing-sm) var(--spacing-lg);color:var(--color-text);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:#00000005}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-th:hover{color:var(--color-text)}.overflow-auto{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight)}.card.mb-lg{margin-bottom:var(--spacing-lg)}.card.mb-md{margin-bottom:var(--spacing-md)}.card.mb-sm{margin-bottom:var(--spacing-sm)}.card h3 .icon,.card h3 svg,h3 svg,h2 svg{vertical-align:-2px}.btn svg,button svg{vertical-align:middle}.card .badge{vertical-align:middle}.card .text-right a{font-size:var(--font-size-xs);color:var(--color-accent);font-weight:var(--font-weight-medium)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-lg) var(--spacing-xl);box-shadow:var(--shadow-sm)}.stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text);letter-spacing:var(--letter-spacing-tight);line-height:1.1}.stat-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);margin-top:var(--spacing-2xs)}.vehicle-card{cursor:pointer}.ready-card.card{padding:var(--spacing-lg) var(--spacing-xl)}.ready-card{position:relative}.ready-card .mb-sm:first-child{margin-bottom:var(--spacing-xs);line-height:1}.ready-card h2{margin-bottom:var(--spacing-2xs)}.ready-card.ok:before,.ready-card.issues:before,.ready-card.attention:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--radius-xl) 0 0 var(--radius-xl)}.ready-card.ok:before{background:var(--color-success)}.ready-card.issues:before{background:var(--color-warning)}.ready-card.attention:before{background:var(--color-danger)}.vehicles-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.issues-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-md);box-shadow:var(--shadow-sm)}.issues-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.issues-list{display:flex;flex-direction:column;gap:var(--spacing-2xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.odo-summary{margin-bottom:var(--spacing-md)}.border-status-accent,.border-status-danger,.border-status-success,.border-status-warning,.border-status{position:relative}.border-status-accent:before,.border-status-danger:before,.border-status-success:before,.border-status-warning:before,.border-status:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--radius-xl) 0 0 var(--radius-xl)}.border-status-accent:before{background:var(--color-accent)}.border-status-danger:before{background:var(--color-danger)}.border-status-success:before{background:var(--color-success)}.border-status-warning:before{background:var(--color-warning)}.border-status:before{background:var(--color-border)}.progress-bar{height:6px;background:var(--color-bg);border-radius:var(--radius-full);overflow:hidden;margin-top:var(--spacing-2xs)}.progress-bar-sm{height:8px}.progress-bar-md{height:10px}.progress-bar-lg{height:12px}.progress-fill{height:100%;border-radius:var(--radius-full);background:var(--color-accent);transition:width var(--transition-normal)}.progress-bar+.text-sm{margin-top:var(--spacing-xs)}.status-list{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.status-item{display:inline-flex;align-items:center;gap:var(--spacing-2xs);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.status-item.ok{color:var(--color-success)}.status-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-border)}.status-dot.ok{background:var(--color-success)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm) var(--spacing-xl)}@media(max-width:640px){.detail-grid{grid-template-columns:1fr}}.detail-row{display:flex;align-items:flex-start;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light)}.detail-row:last-child{border-bottom:none}.detail-label{flex:0 0 140px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.detail-value{flex:1;font-size:var(--font-size-sm);color:var(--color-text);word-break:break-word;overflow-wrap:break-word}.info-grid{display:grid;grid-template-columns:auto 1fr;gap:0 12px}.info-label{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.info-value{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);text-align:left;word-break:break-word;overflow-wrap:break-word}.info-grid>:last-child,.info-grid>:nth-last-child(2){border-bottom:none}@media(max-width:767px){.info-grid{grid-template-columns:auto 1fr;gap:0 8px}.info-label{padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-xs)}.info-value{padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-sm);font-weight:600}.info-grid>:last-child,.info-grid>:nth-last-child(2){border-bottom:none}}@media(max-width:380px){.info-grid{grid-template-columns:1fr;gap:0}.info-label{padding:var(--spacing-2xs) 0 1px;border-bottom:none}.info-value{padding:0 0 var(--spacing-2xs);font-weight:600}}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);align-items:start}.detail-col{min-width:0;display:flex;flex-direction:column}@media(max-width:1024px){.detail-columns{grid-template-columns:1fr}}@media(max-width:480px){.info-value{word-break:break-word;overflow-wrap:break-word}}@media(max-width:480px){.card,.ready-card.card{padding:var(--spacing-lg)}}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.inline-form{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);cursor:pointer}.method-toggle{display:flex;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--spacing-md)}.method-toggle .btn{border-radius:0;border:none;padding:.5rem 1rem;font-size:var(--font-size-sm)}.method-toggle .btn:not(:last-child){border-right:1px solid var(--color-border)}.input{width:100%;padding:.625rem .875rem;font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #2563eb1f}.input::placeholder{color:var(--color-text-muted)}.label{display:block;margin-bottom:var(--spacing-2xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);letter-spacing:var(--letter-spacing-normal)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);position:relative;background:var(--color-primary)}.login-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(/images/hero/aldia-fondo.webp) center 30% / cover no-repeat;filter:saturate(.5) brightness(.8);opacity:.55;pointer-events:none}.login-page:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#1a2a3a59,#1a2a3a8c 30%,#0f1a26cc 70%,#0f1a26eb);pointer-events:none}.login-card{position:relative;z-index:1;width:100%;max-width:420px;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-2xl);border:1px solid rgba(255,255,255,.2);box-shadow:0 24px 80px -12px #00000059,0 0 1px #0000001a;padding:2.5rem 2rem;animation:scaleIn var(--transition-normal)}.login-header{text-align:center;margin-bottom:2rem}.login-header svg{margin:0 auto}.login-header h1{font-size:var(--font-size-2xl);font-weight:800;color:var(--color-primary);margin-top:.75rem;letter-spacing:-.03em}.login-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-top:.375rem;line-height:var(--line-height-normal)}.login-tabs{display:flex;gap:0;margin-bottom:1.75rem;border-bottom:1px solid var(--color-border)}.login-tab{flex:1;padding:.625rem var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--transition-fast);margin-bottom:-1px;font-family:inherit;letter-spacing:-.01em}.login-tab:hover{color:var(--color-text)}.login-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:var(--font-weight-semibold)}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-form .form-group{margin-bottom:0}.login-form .form-group:last-of-type{margin-bottom:0}.login-form .label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:.375rem}.login-form .input{padding:.75rem .875rem;font-size:var(--font-size-base);border-radius:var(--radius-lg);min-height:48px}.login-form button[type=submit]{margin-top:.5rem;padding:.75rem 1.5rem;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);border-radius:var(--radius-lg);min-height:48px}.alert-banner{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin-top:var(--spacing-md)}.alert-banner.critical{background:var(--color-danger-light);color:var(--color-danger-dark);border:1px solid var(--color-danger)}.alert-banner.warning{background:var(--color-warning-light);color:var(--color-warning-dark);border:1px solid var(--color-warning)}.alert-error{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-danger-light);color:var(--color-danger-dark);border:1px solid var(--color-danger)}.alert-info{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-info-light);color:var(--color-info-dark);border:1px solid var(--color-info)}.alert-warning{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-warning-light);color:var(--color-warning-dark);border:1px solid var(--color-warning)}.modal-card{background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;animation:scaleIn var(--transition-normal);padding:var(--spacing-xl);overflow-y:auto}.modal-card .detail-grid .detail-value{word-break:break-word;overflow-wrap:break-word}.modal-card-sm{max-width:400px;text-align:center}.modal-card-lg{max-width:560px}.badge-secondary{background:var(--color-bg);color:var(--color-text-secondary)}.badge-primary{background:var(--color-info-light);color:var(--color-info-dark)}.notifications-list{display:flex;flex-direction:column;gap:var(--spacing-2xs)}.notif-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);transition:background var(--transition-fast)}.notif-item .text-md{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.notif-item .text-xs{font-size:.75rem;margin-top:var(--spacing-2xs)}.notif-item:hover{background:var(--color-bg)}.notif-item.unread{background:var(--color-info-light)}.notif-item.read{opacity:.7}.insp-item-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light)}.insp-item-name{flex:1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.insp-item-options{display:flex;gap:var(--spacing-2xs)}.insp-option{padding:var(--spacing-2xs) var(--spacing-sm);font-size:var(--font-size-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:var(--color-surface);transition:all var(--transition-fast)}.insp-option-pass.selected{background:var(--color-success-light);border-color:var(--color-success);color:var(--color-success-dark)}.insp-option-fail.selected{background:var(--color-danger-light);border-color:var(--color-danger);color:var(--color-danger-dark)}.insp-option-na.selected{background:var(--color-bg);border-color:var(--color-text-muted);color:var(--color-text-secondary)}.plan-cards{display:flex;flex-direction:column;gap:var(--spacing-md)}.plan-card-header{text-align:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.plan-card-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-2xs)}.plan-card-badge{margin-bottom:var(--spacing-sm)}.plan-card.selected{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent),var(--shadow-md)}.plan-card.recommended{border-color:var(--color-accent)}.plan-price{text-align:center;margin-bottom:var(--spacing-lg)}.plan-price-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text)}.plan-price-period{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.plan-features{list-style:none;padding:0;margin:0 0 var(--spacing-lg)}.plan-features li{padding:var(--spacing-xs) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--spacing-sm)}.plan-trust{display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:center;padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light)}.plan-trust-item{display:flex;align-items:center;gap:var(--spacing-2xs);font-size:var(--font-size-xs);color:var(--color-text-muted)}.plan-actions{margin-top:var(--spacing-lg);text-align:center}.plan-cards-mobile{display:none;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.plan-card-mobile{display:flex;flex-direction:column;gap:var(--spacing-md)}.plan-card-mobile-header{display:flex;align-items:center;justify-content:space-between}.plan-card-mobile-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight)}.plan-card-mobile-price{display:flex;align-items:baseline;gap:var(--spacing-2xs);padding:var(--spacing-sm) 0}.plan-card-mobile-amount{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text)}.plan-card-mobile-period{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.plan-card-mobile-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-2xs)}.plan-card-mobile-features li{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-2xs) 0;border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-sm)}.plan-card-mobile-features li:last-child{border-bottom:none}.plan-feature-label{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.plan-feature-value{color:var(--color-text);font-weight:var(--font-weight-semibold)}.plan-card-mobile .btn{margin-top:var(--spacing-sm)}.plan-card-current{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent),var(--shadow-sm)}.plan-card-next{border-color:var(--color-warning)}.plan-comparison-table{display:block}.upgrade-modal-card{max-width:560px}.upgrade-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light);margin-bottom:var(--spacing-md);flex-shrink:0}.upgrade-modal-close{padding:6px;border-radius:var(--radius-sm);line-height:0;color:var(--color-text-muted);background:none;border:none;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.upgrade-modal-close:hover{background:var(--color-bg);color:var(--color-text)}.upgrade-modal-body{overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.upgrade-modal-footer{flex-shrink:0;display:flex;flex-direction:column;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light);margin-top:var(--spacing-md)}.report-filters-responsive{display:block}.report-exports{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}@media(max-width:767px){.plan-cards-mobile{display:flex}.plan-comparison-table{display:none}.rp-table-wrap{border:none;background:transparent;box-shadow:none}.rp-table-wrap .responsive-table{margin-bottom:0}.upgrade-modal-card{margin:var(--spacing-sm);max-height:85vh}.upgrade-modal-header{flex-direction:column;align-items:stretch}.upgrade-modal-header>div{padding-right:var(--spacing-xl)}.upgrade-modal-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md)}.upgrade-modal-card{position:relative}.plan-card{padding:var(--spacing-md)}.plan-card-header{padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.plan-price-value{font-size:var(--font-size-2xl)}.plan-features li{padding:var(--spacing-2xs) 0;font-size:var(--font-size-xs)}.plan-trust{flex-direction:column;gap:var(--spacing-sm);padding-top:var(--spacing-sm)}.report-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.report-tabs::-webkit-scrollbar{display:none}.report-tab{white-space:nowrap;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.report-filters .form-actions{flex-direction:column;align-items:stretch}.report-filters .form-actions .btn{width:100%}.report-cards{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.report-summary-card{padding:var(--spacing-sm) var(--spacing-md)}.report-summary-value{font-size:var(--font-size-md)}.report-summary-label{font-size:.625rem}.report-exports{flex-direction:column}.report-exports .btn{width:100%}.responsive-table thead{display:none}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block}.responsive-table tr{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-lg);margin-bottom:var(--spacing-md);box-shadow:var(--shadow-sm)}.responsive-table td{padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);gap:var(--spacing-sm);overflow-wrap:break-word;word-break:break-word}.responsive-table td:last-child{border-bottom:none}.responsive-table td:before{content:attr(data-label);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);flex-shrink:0}.responsive-table td:empty{display:none}.responsive-table .overflow-auto{overflow-x:auto}}@media(min-width:768px)and (max-width:1023px){.plan-comparison-table .table th,.plan-comparison-table .table td{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs)}.plan-comparison-table .min-w-180{min-width:120px}.plan-comparison-table .min-w-140{min-width:100px}}.report-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-lg)}.report-tab{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--transition-fast);margin-bottom:-1px;font-family:inherit;letter-spacing:var(--letter-spacing-normal)}.report-tab:hover{color:var(--color-text);border-bottom-color:var(--color-border)}.report-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:var(--font-weight-semibold)}.report-filters{margin-bottom:var(--spacing-lg);padding:var(--spacing-xl);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.report-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.report-summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg)}.report-summary-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);margin-bottom:var(--spacing-2xs)}.report-summary-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text)}.report-header-print{display:none}.report-print-area{width:100%;min-width:0}@media print{.report-header-print{display:block}.report-print-area{padding:20px;background:#fff}}.receipt{font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:1.5;white-space:pre-wrap}.install-prompt{position:fixed;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);z-index:1000;animation:slideUp var(--transition-normal)}.install-prompt-content{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.install-prompt-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center}.install-prompt-text{font-size:var(--font-size-sm);line-height:1.3;color:var(--color-text)}.install-prompt-actions{display:flex;gap:var(--spacing-2xs)}.extinguisher-badge{display:inline-flex;align-items:center;gap:var(--spacing-2xs);padding:.125rem .375rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm)}.extinguisher-badge-text{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.skeleton{background:linear-gradient(90deg,var(--color-bg) 25%,var(--color-border-light) 50%,var(--color-bg) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-lg)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);gap:var(--spacing-md)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.m-0{margin:0}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:768px){.login-page{padding:var(--spacing-md);align-items:center}.login-page:before{background-size:140% auto;background-position:center 30%}.login-card{padding:2rem 1.5rem}.login-header h1{font-size:1.75rem}.detail-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.sidebar{transition:none}.install-prompt{animation:none}}.landing-page{--nav-h: 56px;--max-w: 1120px;overflow-x:clip;color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.landing-page img{display:block;max-width:100%;height:auto}.btn-primary,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-button);cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;border:none;line-height:1.1}.btn-primary{background:var(--color-accent);color:#fff;border-radius:var(--radius-lg);padding:.625rem 1.25rem;font-size:var(--font-size-sm)}.btn-primary:hover{background:var(--color-accent-dark);box-shadow:0 4px 16px #2563eb33;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-radius:var(--radius-lg);padding:.625rem 1.25rem;font-size:var(--font-size-sm)}.btn-ghost:hover{background:#0000000a;color:var(--color-text)}.btn-sm{padding:.4rem .875rem;font-size:var(--font-size-xs)}.btn-lg{padding:.8rem 1.75rem;font-size:var(--font-size-base);border-radius:var(--radius-lg)}.w-full{width:100%}.landing-nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;background:#fffc;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid transparent;transition:border-color .3s ease,box-shadow .3s ease}.landing-nav.scrolled{border-bottom-color:#0000000f;box-shadow:0 1px 3px #00000005}.landing-nav-logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--color-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:-.025em}.landing-nav-links{display:flex;align-items:center;gap:2rem}.landing-nav-link{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);transition:color .2s ease;cursor:pointer;background:none;border:none;font-family:inherit;padding:0;letter-spacing:-.01em}.landing-nav-link:hover{color:var(--color-text)}.landing-nav-actions{display:flex;align-items:center;gap:.5rem}.landing-nav-cta{border-radius:var(--radius-md)}.landing-mobile-toggle{display:none;color:var(--color-text);width:44px;height:44px;padding:10px;border-radius:var(--radius-md);background:none;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.landing-mobile-menu{display:none;position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;background:#fffffffa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:99;padding:1.5rem;flex-direction:column;gap:0}.landing-mobile-menu.open{display:flex}.landing-mobile-link{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text);padding:.875rem 0;border-bottom:1px solid var(--color-border-light);cursor:pointer;background:none;border-left:none;border-right:none;border-top:none;font-family:inherit;text-align:left;letter-spacing:-.01em}.landing-mobile-menu-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem}.landing-section{padding:6rem 1.5rem}.landing-section--muted{background:var(--color-bg)}.landing-section--dark{background:var(--color-primary);color:#fff}.landing-container{max-width:var(--max-w);margin:0 auto}.landing-section-header{max-width:680px;margin-bottom:3.5rem}.landing-section-header[style*="text-align:center"]{margin-left:auto;margin-right:auto}.landing-section-label{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-accent);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;margin-bottom:1rem}.landing-section-label--light{color:#ffffff73}.landing-section-title{font-size:clamp(2rem,3.5vw,2.75rem);font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:var(--line-height-tight);letter-spacing:-.03em;margin-bottom:1rem}.landing-section-title--light{color:#fff}.landing-section-sub{font-size:clamp(1.0625rem,1.5vw,1.25rem);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:580px;letter-spacing:-.01em}.landing-hero{position:relative;padding:calc(var(--nav-h) + 5rem) 1.5rem 0;background:var(--color-primary);overflow:hidden;contain:layout paint}.landing-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:url(/images/hero/aldia-fondo.webp) center 30% / cover no-repeat;filter:saturate(.5) brightness(.85);opacity:.65;pointer-events:none}@supports not (background-image: url(/images/hero/aldia-fondo.webp)){.landing-hero-bg{background-image:url(/images/hero/aldia-fondo-optimized.png)}}.landing-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#1a2a3a40,#1a2a3a73,#0f1a26bf,#0f1a26eb,#0f1a26fa);pointer-events:none;z-index:1}.landing-hero-inner{position:relative;z-index:2;max-width:var(--max-w);margin:0 auto}.landing-hero-content{text-align:center;max-width:780px;margin:0 auto 3rem}.landing-hero-content h1{font-size:clamp(2.75rem,5.5vw,4.5rem);font-weight:800;color:#fff;line-height:1.05;letter-spacing:-.04em;margin-bottom:1.5rem;text-shadow:0 2px 20px rgba(0,0,0,.3)}.landing-hero-content p{font-size:clamp(1.125rem,1.8vw,1.375rem);color:#fff9;font-weight:500;line-height:var(--line-height-relaxed);max-width:600px;margin:0 auto 2.5rem;letter-spacing:-.01em;text-shadow:0 1px 8px rgba(0,0,0,.2)}.landing-hero-actions{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap}.landing-hero-actions .btn-primary{padding:.875rem 2.25rem;font-size:var(--font-size-md);border-radius:var(--radius-lg);box-shadow:0 4px 20px #2563eb4d}.landing-hero-actions .btn-primary:hover{box-shadow:0 6px 28px #2563eb66}.landing-hero-actions .btn-ghost{color:#fff9;padding:.875rem 1.75rem;font-size:var(--font-size-md)}.landing-hero-actions .btn-ghost:hover{background:#ffffff0f;color:#fff}.landing-hero-phone-bleed{max-height:440px;overflow:hidden;position:relative;display:flex;justify-content:center;padding-top:1rem;transform-style:flat}.landing-hero-phone-bleed:after{content:"";position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(to bottom,transparent 0%,rgba(15,26,38,.4) 40%,var(--color-primary) 100%);pointer-events:none;z-index:1}.landing-section--benefits{padding-top:0;padding-bottom:4rem;background:var(--color-primary)}.landing-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.landing-benefit{text-align:center;padding:2rem 1.5rem}.landing-benefit-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:#ffffff0f;color:#ffffff80;margin-bottom:1.25rem}.landing-benefit h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:#fff;margin-bottom:.5rem;letter-spacing:-.02em;line-height:var(--line-height-snug)}.landing-benefit p{font-size:var(--font-size-sm);color:#ffffff73;line-height:var(--line-height-relaxed)}.landing-section--showcase{padding-top:0;padding-bottom:4rem;background:var(--color-primary)}.landing-showcase-overflow{overflow:hidden;margin:0 -1.5rem}.landing-dashboard-showcase{max-width:960px;margin:0 auto}.landing-device--showcase{border-radius:var(--radius-xl);overflow:hidden}.landing-device--showcase .landing-device-chrome{padding:10px 16px}.landing-device--showcase .landing-device-screenshot{width:100%;display:block}.landing-hero-mockup{margin:0 auto;max-width:1100px;position:relative}.landing-hero-mockup-inner{display:flex;align-items:flex-end;justify-content:center;gap:1.5rem;position:relative}.landing-device{border-radius:var(--radius-xl);overflow:hidden;background:var(--color-surface);box-shadow:0 0 0 1px #ffffff14,0 2px 4px #0000000f,0 8px 16px #00000014,0 24px 48px -8px #00000029,0 0 120px -20px #2563eb1f;transition:transform .6s cubic-bezier(.25,.1,.25,1),box-shadow .6s cubic-bezier(.25,.1,.25,1);flex-shrink:0}.landing-device:hover{transform:translateY(-4px);box-shadow:0 0 0 1px #ffffff1a,0 4px 8px #00000014,0 12px 24px #0000001a,0 32px 64px -8px #0000002e,0 0 160px -20px #2563eb26}.landing-device--desktop{flex:1;max-width:820px}.landing-device--mobile{width:240px;flex-shrink:0;border-radius:32px;box-shadow:0 0 0 1px #ffffff1a,0 2px 4px #00000014,0 8px 16px #0000001a,0 16px 32px -4px #00000026,0 32px 64px -8px #0003,0 0 100px -16px #2563eb1a;transform:perspective(1200px) rotateY(-4deg) rotateX(2deg)}.landing-device--mobile:hover{transform:perspective(1200px) rotateY(-2deg) rotateX(1deg) translateY(-4px)}.landing-device--mobile .landing-device-chrome{padding:8px 12px;border-radius:24px 24px 0 0}.landing-device--mobile .landing-device-dots{display:none}.landing-device--mobile .landing-device-url{font-size:10px}.landing-device--mobile .landing-device-notch{display:block;width:60px;height:6px;margin:0 auto;background:var(--color-border);border-radius:3px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.landing-device--desktop .landing-device-notch{display:none}.landing-device-chrome{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--color-bg);border-bottom:1px solid var(--color-border-light)}.landing-device-dots{display:flex;gap:6px}.landing-device-dots i{width:10px;height:10px;border-radius:50%;background:var(--color-border);display:block}.landing-device-url{flex:1;text-align:center;font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:0}.landing-device-screenshot{width:100%;display:block}.landing-hero-stats{display:flex;align-items:center;justify-content:center;gap:3rem;padding:3.5rem 0 4.5rem}.landing-hero-stat{display:flex;flex-direction:column;align-items:center;gap:6px}.landing-hero-stat-value{font-size:clamp(1.75rem,2.5vw,2.25rem);font-weight:var(--font-weight-bold);color:#fff;line-height:1.1;letter-spacing:-.03em;text-shadow:0 1px 8px rgba(0,0,0,.2)}.landing-hero-stat-label{font-size:var(--font-size-sm);color:#ffffff73;letter-spacing:-.01em;text-shadow:0 1px 6px rgba(0,0,0,.15)}.landing-hero-stat-divider{width:1px;height:36px;background:#ffffff14}.landing-problem-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.landing-problem-left{position:sticky;top:calc(var(--nav-h) + 2rem)}.landing-problem-right{display:flex;flex-direction:column;gap:0}.landing-problem-item{display:flex;gap:1.25rem;padding:1.75rem 0;border-bottom:1px solid var(--color-border-light)}.landing-problem-item:first-child{padding-top:0}.landing-problem-item:last-child{border-bottom:none}.landing-problem-num{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);font-family:var(--font-mono);flex-shrink:0;padding-top:2px}.landing-problem-item h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:.375rem;letter-spacing:-.02em;line-height:var(--line-height-snug)}.landing-problem-item p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.landing-flow{display:flex;flex-direction:column;gap:0}.landing-flow-step{display:grid;grid-template-columns:1fr 1.4fr;gap:3.5rem;align-items:center;padding:3.5rem 0;border-bottom:1px solid var(--color-border-light)}.landing-flow-step:last-child{border-bottom:none;padding-bottom:0}.landing-flow-step:first-child{padding-top:0}.landing-flow-step--reverse{grid-template-columns:1.4fr 1fr}.landing-flow-step--reverse .landing-flow-text{order:2}.landing-flow-step--reverse .landing-flow-visual{order:1}.landing-flow-tag{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-accent);font-family:var(--font-mono);margin-bottom:1rem}.landing-flow-text h3{font-size:clamp(1.375rem,2vw,1.75rem);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:.625rem;letter-spacing:-.025em;line-height:var(--line-height-snug)}.landing-flow-text p{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:420px}.landing-flow-screen{border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border-light);box-shadow:var(--shadow-lg)}.landing-flow-screen img{width:100%;display:block}.landing-bento{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.landing-bento-item{background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border-light);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .4s ease,border-color .4s ease,transform .4s ease}.landing-bento-item:hover{box-shadow:0 12px 40px #0000001f;border-color:var(--color-border);transform:translateY(-2px)}.landing-bento-item--hero{grid-column:1 / -1}.landing-bento-item--wide{grid-column:span 2}.landing-bento-content{padding:1.5rem 1.75rem 1rem}.landing-bento-content h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:.375rem;letter-spacing:-.02em;line-height:var(--line-height-snug)}.landing-bento-content p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.landing-bento-screenshot{flex:1;overflow:hidden;margin:0 1rem 1rem;border-radius:var(--radius-md);background:var(--color-bg)}.landing-bento-item--hero .landing-bento-screenshot{margin:0 1.25rem 1.25rem;border-radius:var(--radius-lg)}.landing-bento-screenshot img{width:100%;display:block}.landing-bento-screenshot--multi{position:relative;padding:2rem;min-height:320px}.landing-bento-devices{display:flex;align-items:flex-end;justify-content:center;gap:1.25rem;height:100%;min-height:280px}.landing-bento-img{display:block;border-radius:10px;box-shadow:0 12px 40px #0000002e;object-fit:cover;transition:transform .4s cubic-bezier(.25,.1,.25,1)}.landing-bento-img:hover{transform:translateY(-4px)}.landing-bento-img--desktop{width:60%;max-width:480px;border-radius:10px}.landing-bento-img--tablet{width:24%;max-width:150px;border-radius:12px;transform:translateY(-10px)}.landing-bento-img--tablet:hover{transform:translateY(-14px)}.landing-bento-img--mobile{width:12%;max-width:75px;border-radius:14px;transform:translateY(-6px)}.landing-bento-img--mobile:hover{transform:translateY(-10px)}.landing-roles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.landing-role{padding:2rem;border-radius:var(--radius-xl);background:#ffffff0a;border:1px solid rgba(255,255,255,.06);transition:background .3s ease}.landing-role:hover{background:#ffffff0f}.landing-role-tag{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:#ffffff4d;letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;margin-bottom:1rem}.landing-role h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:#fff;margin-bottom:.5rem;letter-spacing:-.02em;line-height:var(--line-height-snug)}.landing-role p{font-size:var(--font-size-base);color:#ffffff73;line-height:var(--line-height-relaxed)}.landing-faq{max-width:720px;margin:0 auto}.landing-faq-item{border-bottom:1px solid var(--color-border-light)}.landing-faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 0;background:none;border:none;cursor:pointer;text-align:left;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text);font-family:inherit;line-height:var(--line-height-snug);letter-spacing:-.015em;transition:color .2s ease}.landing-faq-question:hover{color:var(--color-accent)}.landing-faq-chevron{flex-shrink:0;color:var(--color-text-muted);transition:transform .2s ease;display:flex;align-items:center}.landing-faq-item.open .landing-faq-chevron{transform:rotate(180deg)}.landing-faq-answer{overflow:hidden;max-height:0;transition:max-height .3s ease}.landing-faq-item.open .landing-faq-answer{max-height:500px}.landing-faq-answer p{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);padding-bottom:1.25rem}.landing-cta{text-align:center;padding:2rem 0}.landing-cta-inner{max-width:600px;margin:0 auto}.landing-cta h2{font-size:clamp(2rem,3.5vw,2.75rem);font-weight:var(--font-weight-bold);color:#fff;margin-bottom:1rem;letter-spacing:-.03em;line-height:var(--line-height-tight)}.landing-cta p{font-size:clamp(1.0625rem,1.5vw,1.25rem);color:#ffffff73;margin-bottom:2.5rem;letter-spacing:-.01em;line-height:var(--line-height-relaxed)}.landing-cta .btn-primary{padding:.875rem 2.25rem;font-size:var(--font-size-md);border-radius:var(--radius-lg);box-shadow:0 4px 20px #2563eb4d}.landing-cta .btn-primary:hover{box-shadow:0 6px 28px #2563eb66}.landing-footer{background:var(--color-primary-dark);color:#fff6;padding:3.5rem 1.5rem 1.5rem;font-size:var(--font-size-sm)}.landing-footer-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;margin-bottom:2rem}.landing-footer-brand{display:flex;flex-direction:column;gap:.75rem}.landing-footer-logo{display:flex;align-items:center;gap:8px;color:#fff;font-weight:var(--font-weight-bold);font-size:var(--font-size-base);text-decoration:none;letter-spacing:-.02em}.landing-footer-brand p{line-height:var(--line-height-relaxed);max-width:320px;color:#ffffff59}.landing-footer-group{display:flex;flex-direction:column;gap:.625rem}.landing-footer-group h4{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:#ffffff8c;margin-bottom:.5rem;letter-spacing:var(--letter-spacing-wider);text-transform:uppercase}.landing-footer-group button{color:#ffffff59;text-decoration:none;transition:color .2s ease;cursor:pointer;background:none;border:none;text-align:left;font-family:inherit;font-size:inherit;padding:0}.landing-footer-group button:hover{color:#fff}.landing-footer-bottom{max-width:var(--max-w);margin:0 auto;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.06);text-align:center;font-size:var(--font-size-xs);color:#ffffff40}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.25,.1,.25,1),transform .6s cubic-bezier(.25,.1,.25,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.landing-device{transform:none;transition:none}.landing-device:hover{transform:none}.landing-faq-answer,.landing-faq-chevron,.btn-primary,.btn-ghost,.landing-nav,.landing-bento-item,.landing-role,.landing-bento-img{transition:none}.landing-bento-img:hover{transform:none}}@media(max-width:900px){.landing-problem-layout{grid-template-columns:1fr;gap:2.5rem}.landing-problem-left{position:static}.landing-flow-step{grid-template-columns:1fr;gap:2rem}.landing-flow-step--reverse{grid-template-columns:1fr}.landing-flow-step--reverse .landing-flow-text{order:1}.landing-flow-step--reverse .landing-flow-visual{order:2}.landing-bento{grid-template-columns:1fr 1fr}.landing-bento-item--hero{grid-column:1 / -1}.landing-bento-item--wide{grid-column:span 2}.landing-roles{grid-template-columns:1fr;gap:1rem}.landing-bento-screenshot--multi{min-height:260px;padding:1.5rem}.landing-bento-devices{min-height:220px;gap:1rem}.landing-bento-img--desktop{width:65%}.landing-bento-img--tablet{width:22%;max-width:130px}.landing-bento-img--mobile{width:13%;max-width:70px}}@media(max-width:768px){.landing-nav{padding:0 1rem}.landing-nav-links,.landing-nav-actions .btn-ghost{display:none}.landing-mobile-toggle{display:block}.landing-hero{padding:calc(var(--nav-h) + 2.5rem) 1rem 0}.landing-hero-bg{background-position:center 30%;background-size:160% auto;opacity:.5}.landing-hero-content{margin-bottom:2rem}.landing-hero-content h1{font-size:clamp(2rem,7vw,2.5rem)}.landing-hero-content p{font-size:1rem}.landing-hero-actions .btn-primary,.landing-hero-actions .btn-ghost{padding:.75rem 1.5rem;font-size:var(--font-size-base)}.landing-device{transform:none;border-radius:var(--radius-lg)}.landing-device:hover{transform:none}.landing-hero-phone-bleed{max-height:340px}.landing-hero-phone-bleed .landing-device--mobile{width:180px;border-radius:24px;transform:none}.landing-hero-phone-bleed .landing-device--mobile:hover{transform:none}.landing-benefits{grid-template-columns:1fr;gap:1rem}.landing-benefit{padding:1.5rem 1rem}.landing-showcase-overflow{margin:0}.landing-dashboard-showcase,.landing-device--showcase{border-radius:0}.landing-section{padding:4rem 1rem}.landing-section-header{margin-bottom:2.5rem}.landing-bento{grid-template-columns:1fr}.landing-bento-item--wide{grid-column:1}.landing-bento-screenshot--multi{min-height:220px;padding:1rem}.landing-bento-devices{min-height:180px;gap:.75rem}.landing-bento-img--desktop{width:60%}.landing-bento-img--tablet{width:25%;max-width:110px}.landing-bento-img--mobile{width:15%;max-width:65px}.landing-cta h2{font-size:clamp(1.75rem,6vw,2.25rem)}.landing-footer-inner{grid-template-columns:1fr;gap:1.5rem}}@media(max-width:480px){.landing-hero-bg{background-size:200% auto;background-position:center 25%;opacity:.45}.landing-hero-content h1{font-size:1.875rem}.landing-hero-phone-bleed{max-height:300px}.landing-hero-phone-bleed .landing-device--mobile{width:160px;border-radius:22px}.landing-hero-actions{flex-direction:column;align-items:stretch}.landing-hero-actions .btn-primary,.landing-hero-actions .btn-ghost{width:100%}.landing-device-chrome{padding:8px 12px}.landing-device-dots i{width:8px;height:8px}.landing-device-url{font-size:.625rem}.landing-cta .btn-primary{width:100%}.landing-bento-screenshot--multi{min-height:180px;padding:.75rem}.landing-bento-devices{min-height:150px;gap:.5rem}.landing-bento-img--desktop{width:65%}.landing-bento-img--tablet{display:none}.landing-bento-img--mobile{width:20%;max-width:60px}}
