@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{--color-bg: #0f1219;--color-bg-elevated: #161b26;--color-bg-card: #1c2333;--color-bg-hover: #232c3f;--color-bg-active: #2a354b;--color-bg-input: #131822;--color-border: #232c3f;--color-border-focus: #10a6cc;--color-primary: #10a6cc;--color-primary-hover: #2ec1e6;--color-primary-bg: rgba(16, 166, 204, .12);--color-primary-subtle: rgba(16, 166, 204, .06);--color-text: #f0f4f8;--color-text-secondary: #8d99ae;--color-text-muted: #5c6b82;--color-success: #22c55e;--color-success-bg: rgba(34, 197, 94, .1);--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .1);--color-danger: #ef4444;--color-danger-bg: rgba(239, 68, 68, .1);--color-info: #3b82f6;--color-info-bg: rgba(59, 130, 246, .1);--color-neutral: #64748b;--color-neutral-bg: rgba(100, 116, 139, .1);--font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .45);--shadow-glow: 0 0 20px rgba(16, 166, 204, .15);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--sidebar-width: 240px;--header-height: 56px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);line-height:1.5;min-height:100vh}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--color-bg-elevated);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform var(--transition-base)}.sidebar-logo{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text);letter-spacing:-.02em}.sidebar-logo .logo-icon{width:28px;height:28px;background:linear-gradient(135deg,var(--color-primary),#2ec1e6);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);color:#fff;font-weight:var(--font-weight-bold)}.sidebar-logo .trashlab-logo-svg{height:24px;width:auto}.sidebar-nav{flex:1;padding:var(--space-4) var(--space-3);display:flex;flex-direction:column;gap:var(--space-1);overflow-y:auto}.sidebar-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);cursor:pointer}.sidebar-link:hover{background:var(--color-bg-hover);color:var(--color-text)}.sidebar-link.active{background:var(--color-primary-bg);color:var(--color-primary-hover)}.sidebar-link .link-icon{font-size:var(--font-size-lg);width:22px;text-align:center}.sidebar-toggle{display:none;position:fixed;top:var(--space-3);left:var(--space-3);z-index:200;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);color:var(--color-text);font-size:var(--font-size-lg);cursor:pointer;line-height:1;transition:all var(--transition-fast)}.sidebar-toggle:hover{background:var(--color-bg-hover);border-color:var(--color-primary)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:90}.main-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left var(--transition-base)}.page{padding:var(--space-8);max-width:1400px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);gap:var(--space-4)}.page-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em}.page-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-base);margin-top:var(--space-1)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:var(--font-family);cursor:pointer;border:1px solid transparent;transition:all var(--transition-fast);white-space:nowrap;line-height:1.4}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 0 0 3px var(--color-primary-bg),var(--shadow-glow)}.btn-secondary{background:var(--color-bg-card);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-text-muted)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text)}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:#ef444433}.btn-danger:hover:not(:disabled){background:var(--color-danger);color:#fff}.btn-success{background:var(--color-success-bg);color:var(--color-success);border-color:#22c55e33}.btn-success:hover:not(:disabled){background:var(--color-success);color:#fff}.btn-warning{background:var(--color-warning-bg);color:var(--color-warning);border-color:#f59e0b33}.btn-warning:hover:not(:disabled){background:var(--color-warning);color:#fff}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm)}.btn-icon{padding:var(--space-2);min-width:34px;min-height:34px}.btn-group{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.form-input,.form-select,.form-textarea{padding:var(--space-2) var(--space-3);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-base);font-family:var(--font-family);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-bg)}.form-input::placeholder{color:var(--color-text-muted)}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238d99ae' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:var(--space-8)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-textarea{resize:vertical;min-height:80px}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}.metric-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);transition:all var(--transition-fast);position:relative;overflow:hidden}.metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-hover));opacity:0;transition:opacity var(--transition-fast)}.metric-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md),var(--shadow-glow)}.metric-card:hover:before{opacity:1}.metric-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.05em}.metric-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em}.metric-value.danger{color:var(--color-danger)}.metric-value.warning{color:var(--color-warning)}.metric-value.success{color:var(--color-success)}.metric-value.info{color:var(--color-info)}.table-container{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.table-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);gap:var(--space-3);flex-wrap:wrap}.table-search{flex:1;max-width:320px;min-width:160px}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}thead th{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border);white-space:nowrap;-webkit-user-select:none;user-select:none}thead th.sortable{cursor:pointer;transition:color var(--transition-fast)}thead th.sortable:hover{color:var(--color-text)}thead th.sorted{color:var(--color-primary-hover)}tbody tr{border-bottom:1px solid var(--color-border);transition:background var(--transition-fast)}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:var(--color-bg-hover)}tbody tr.selected{background:var(--color-primary-bg)}tbody td{padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);vertical-align:middle}.table-empty{text-align:center;padding:var(--space-12) var(--space-4);color:var(--color-text-muted)}.table-checkbox{width:40px}.table-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary)}.table-pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-secondary);flex-wrap:wrap;gap:var(--space-2)}.table-pagination .pagination-buttons{display:flex;gap:var(--space-1)}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-6);overflow-x:auto}.tab{padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;font-family:var(--font-family)}.tab:hover{color:var(--color-text-secondary)}.tab.active{color:var(--color-primary-hover);border-bottom-color:var(--color-primary)}.tab .tab-count{margin-left:var(--space-2);padding:1px var(--space-2);background:var(--color-bg-active);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.tab.active .tab-count{background:var(--color-primary-bg);color:var(--color-primary-hover)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;line-height:1.6}.badge-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.badge-draft{background:var(--color-neutral-bg);color:var(--color-neutral)}.badge-draft .badge-dot{background:var(--color-neutral)}.badge-pending{background:var(--color-warning-bg);color:var(--color-warning)}.badge-pending .badge-dot{background:var(--color-warning)}.badge-approved{background:var(--color-info-bg);color:var(--color-info)}.badge-approved .badge-dot{background:var(--color-info)}.badge-rejected{background:var(--color-danger-bg);color:var(--color-danger)}.badge-rejected .badge-dot{background:var(--color-danger)}.badge-scheduled{background:var(--color-primary-bg);color:var(--color-primary-hover)}.badge-scheduled .badge-dot{background:var(--color-primary)}.badge-paid,.badge-completed{background:var(--color-success-bg);color:var(--color-success)}.badge-paid .badge-dot,.badge-completed .badge-dot{background:var(--color-success)}.badge-archived,.badge-cancelled{background:var(--color-neutral-bg);color:var(--color-text-muted)}.badge-archived .badge-dot,.badge-cancelled .badge-dot{background:var(--color-text-muted)}.badge-processing{background:var(--color-info-bg);color:var(--color-info)}.badge-processing .badge-dot{background:var(--color-info)}.badge-failed{background:var(--color-danger-bg);color:var(--color-danger)}.badge-failed .badge-dot{background:var(--color-danger)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn var(--transition-fast);padding:var(--space-4)}.modal{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp var(--transition-base)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border)}.modal-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.modal-body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.detail-field{display:flex;flex-direction:column;gap:var(--space-1)}.detail-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--font-weight-semibold)}.detail-value{font-size:var(--font-size-base);color:var(--color-text)}.detail-section{margin-top:var(--space-6)}.detail-section-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.filters-bar{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.filters-bar .form-select,.filters-bar .form-input{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);min-width:140px}.amount{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-medium)}.amount-large{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-sm{font-size:var(--font-size-sm)}.overdue{color:var(--color-danger)}.clickable-row{cursor:pointer}.inline-link{color:var(--color-primary);cursor:pointer}.inline-link:hover{color:var(--color-primary-hover);text-decoration:underline}.loading{display:flex;align-items:center;justify-content:center;padding:var(--space-12);color:var(--color-text-muted)}.error-message{background:var(--color-danger-bg);color:var(--color-danger);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid rgba(239,68,68,.2);font-size:var(--font-size-sm)}.toast{position:fixed;bottom:var(--space-6);right:var(--space-6);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-5);box-shadow:var(--shadow-lg);z-index:2000;font-size:var(--font-size-sm);animation:slideUp var(--transition-base)}.toast-success{border-color:var(--color-success);color:var(--color-success)}.toast-error{border-color:var(--color-danger);color:var(--color-danger)}.back-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-4);cursor:pointer}.back-link:hover{color:var(--color-text)}.bulk-toolbar{background:var(--color-primary-bg);border:1px solid rgba(16,166,204,.2);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);font-size:var(--font-size-sm);color:var(--color-primary-hover);animation:fadeIn var(--transition-fast)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}@media(max-width:1024px){:root{--sidebar-width: 220px}.page{padding:var(--space-6)}.detail-grid{grid-template-columns:1fr 1fr}.card-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media(max-width:768px){.sidebar{transform:translate(-100%);width:260px;z-index:150}.sidebar.open{transform:translate(0)}.sidebar-toggle{display:flex;align-items:center;justify-content:center}.sidebar-overlay.visible{display:block}.main-content{margin-left:0;overflow-x:hidden}.page{padding:var(--space-4);padding-top:calc(var(--space-4) + 48px);overflow-x:hidden;max-width:100vw}.page-header{flex-direction:column;align-items:flex-start}.page-title{font-size:var(--font-size-xl)}.card-grid{grid-template-columns:1fr 1fr;gap:var(--space-3)}.detail-grid,.form-row{grid-template-columns:1fr}.table-toolbar{flex-direction:column;align-items:stretch}.table-search{max-width:100%}.filters-bar{flex-direction:column;align-items:stretch}.filters-bar .form-select,.filters-bar .form-input{min-width:100%}.btn-group{width:100%;flex-wrap:wrap;gap:var(--space-2)}.btn-group .btn{flex:0 1 auto;min-width:fit-content}.bulk-toolbar{flex-wrap:wrap;gap:var(--space-2)}.bulk-toolbar .btn-group{width:100%;justify-content:flex-start}.modal-overlay{padding:var(--space-2)}.modal{margin:0;max-width:100%;max-height:100%;border-radius:var(--radius-lg)}.modal-body{padding:var(--space-4)}.modal-header,.modal-footer{padding:var(--space-3) var(--space-4)}.modal-footer{flex-wrap:wrap}.modal-footer .btn{flex:1;min-width:0}.tabs{-webkit-overflow-scrolling:touch}.tab{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.table-pagination{flex-direction:column;align-items:center;gap:var(--space-3)}.dashboard-two-col{grid-template-columns:1fr!important}.table-container .table-wrapper table thead{display:none}.table-container .table-wrapper table,.table-container .table-wrapper table tbody{display:block;width:100%}.table-container .table-wrapper table tr{display:block;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);position:relative}.table-container .table-wrapper table tbody tr:last-child{border-bottom:none}.table-container .table-wrapper table td{display:flex;justify-content:space-between;align-items:center;padding:var(--space-1) 0;border:none;gap:var(--space-3)}.table-container .table-wrapper table td:before{content:attr(data-label);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;min-width:90px}.table-container .table-wrapper table td:empty{display:none}.table-container .table-wrapper table td.table-checkbox{position:absolute;top:var(--space-3);right:var(--space-3);padding:0;min-width:auto}.table-container .table-wrapper table td.table-checkbox:before{display:none}.detail-header-flex{flex-direction:column!important;gap:var(--space-3)!important;align-items:flex-start!important}.detail-header-flex>div{text-align:left!important}}@media(max-width:480px){.card-grid{grid-template-columns:1fr}.metric-value{font-size:var(--font-size-xl)}.page{padding:var(--space-3);padding-top:calc(var(--space-3) + 48px)}.modal-overlay{padding:0;align-items:stretch}.modal{border-radius:0;max-height:100vh;height:100%;display:flex;flex-direction:column}.modal-body{flex:1;overflow-y:auto;padding:var(--space-3)}.modal-header{padding:var(--space-3);position:sticky;top:0;background:var(--color-bg-elevated);z-index:1}.modal-footer{position:sticky;bottom:0;background:var(--color-bg-elevated);z-index:1;padding:var(--space-3)}.table-container .table-wrapper table tr{padding:var(--space-2) var(--space-3)}.table-container .table-wrapper table td{font-size:var(--font-size-sm)}}
