:root{--primary:#38b2a6;--primary-dark:#2a8f85;--primary-light:#e0f2f0;--secondary:#2d3748;--bg-color:#f7fafc;--card-bg:#fff;--text-main:#4a5568;--text-muted:#718096;--border-color:#e2e8f0;--success:#10b981;--pending:#f59e0b;--danger:#dc2626;--danger-light:#fee2e2}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,sans-serif}html,body{background-color:var(--bg-color);color:var(--text-main);line-height:1.6}body{padding-bottom:60px}a{color:inherit}.navbar{background:var(--card-bg);border-bottom:1px solid var(--border-color);z-index:100;justify-content:space-between;align-items:center;padding:16px 40px;display:flex;position:sticky;top:0}.logo{color:var(--secondary);letter-spacing:-.5px;align-items:center;font-size:18px;font-weight:700;display:flex}.logo img{height:28px;display:block}.logo-admin-label{background:var(--primary-light);height:16px;color:var(--primary-dark);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;margin-left:8px;padding:2px 6px;font-size:9px;font-weight:700;line-height:1;display:inline-flex}.nav-profile{color:var(--secondary);align-items:center;gap:12px;font-size:14px;font-weight:600;display:flex}.nav-profile img{border:2px solid var(--primary-light);border-radius:50%;width:36px;height:36px}.nav-links{align-items:center;gap:20px;display:flex}.nav-links a{color:var(--text-muted);font-size:14px;font-weight:600;text-decoration:none}.nav-links a:hover,.nav-links a.active{color:var(--primary)}.container{flex-direction:column;gap:30px;max-width:1200px;margin:40px auto;padding:0 20px;display:flex}.container.narrow{max-width:640px}.welcome-banner h1{color:var(--secondary);letter-spacing:-.5px;font-size:28px;font-weight:700}.welcome-banner p{color:var(--text-muted);margin-top:4px;font-size:16px}.grid-2{grid-template-columns:1fr 1fr;gap:30px;display:grid}@media (max-width:800px){.grid-2{grid-template-columns:1fr}.navbar{padding:16px 20px}}.card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:30px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d}.card-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;display:flex}.card-header .title-group{align-items:center;gap:12px;display:flex}.card-header h2{color:var(--secondary);text-transform:uppercase;letter-spacing:1px;font-size:16px;font-weight:700}.card-header i{color:var(--primary);font-size:18px}.team-wrapper{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}.team-member{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;align-items:flex-start;gap:16px;padding:16px;display:flex}.team-member img{object-fit:cover;border:2px solid #fff;border-radius:50%;flex-shrink:0;width:56px;height:56px;box-shadow:0 2px 4px #0000001a}.team-member .avatar-fallback{background:var(--secondary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-weight:700;display:flex}.team-info h4{color:var(--secondary);margin-bottom:2px;font-size:16px}.team-info .role{color:var(--primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.team-info .bio{color:var(--text-main);font-size:13px;line-height:1.5}.btn{background:var(--primary);color:#fff;text-align:center;cursor:pointer;border:none;border-radius:6px;width:100%;padding:12px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s;display:inline-block}.btn:hover{background:var(--primary-dark)}.btn i{margin-right:8px}.btn.secondary{background:var(--card-bg);color:var(--secondary);border:1px solid var(--border-color);width:auto}.btn.secondary:hover{background:var(--bg-color)}.btn.small{width:auto;padding:8px 14px;font-size:13px}.btn.danger{background:var(--danger)}.btn.danger:hover{background:#b91c1c}.btn:disabled{opacity:.6;cursor:not-allowed}.checklist{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:500px){.checklist{grid-template-columns:1fr}}.checklist-item{color:var(--secondary);background:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;align-items:center;gap:12px;padding:12px;font-size:14px;font-weight:500;display:flex}.checklist-mark{border:2px solid var(--border-color);color:#fff;background:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;display:inline-flex}.checklist-mark.checked{background:var(--primary);border-color:var(--primary)}.card-footnote{color:var(--text-muted);margin-top:16px;font-size:13px;font-style:italic}.team-email{color:var(--primary);margin-top:2px;font-size:13px;text-decoration:none;display:block}.team-email:hover{text-decoration:underline}.inline-edit{align-items:center;gap:8px;display:flex}.inline-edit input{min-width:160px}.upload-box{border:2px dashed var(--border-color);text-align:center;background:var(--bg-color);cursor:pointer;border-radius:8px;margin-top:24px;padding:24px;transition:all .2s}.upload-box:hover{border-color:var(--primary);background:var(--primary-light)}.upload-box i{color:var(--primary);margin-bottom:10px;font-size:24px}.upload-box p{color:var(--secondary);font-size:14px;font-weight:600}.upload-box span{color:var(--text-muted);font-size:12px}.asset-list{flex-direction:column;gap:8px;margin-top:16px;display:flex}.asset-list .asset-row{background:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.data-table{table-layout:fixed;border-collapse:collapse;width:100%}.data-table th{text-align:left;background:var(--bg-color);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color);padding:12px 16px;font-size:12px;font-weight:700}.data-table td{border-bottom:1px solid var(--border-color);color:var(--secondary);vertical-align:middle;overflow-wrap:anywhere;padding:16px;font-size:14px}.sync-log-table th.col-provider,.sync-log-table td:first-child{width:16%}.sync-log-table th.col-status,.sync-log-table td:nth-child(2){width:12%}.sync-log-table th.col-started,.sync-log-table td:nth-child(4){width:18%}.sync-log-table .cell-message{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.data-table tr:last-child td{border-bottom:none}.data-table.compact th,.data-table.compact td{padding:8px 12px;font-size:13px}.invoices-table th,.invoices-table td{padding:6px 10px;font-size:12px;line-height:1.3}.invoices-table th{font-size:11px}.invoices-table .col-number,.invoices-table td:first-child{width:14%}.invoices-table .col-date,.invoices-table td:nth-child(2){white-space:nowrap;width:12%}.invoices-table .col-amount,.invoices-table td:nth-child(4){white-space:nowrap;font-variant-numeric:tabular-nums;width:12%;font-size:13px}.invoices-table .col-status,.invoices-table td:nth-child(5){white-space:nowrap;width:12%;font-size:13px}.invoices-table .cell-description{overflow:hidden}.invoices-table .cell-description-text{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.text-link{color:var(--primary);font-weight:600;text-decoration:none}.text-link:hover{text-decoration:underline}.empty-state{color:var(--text-muted);padding:12px 0;font-size:14px}.status{align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.status.complete{color:var(--success)}.status.pending{color:var(--text-muted)}.status.tracking{color:var(--primary)}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:700}.badge.paid{color:#047857;background:#dcfce7}.badge.unpaid{color:#b45309;background:#fef3c7}.badge.overdue{background:var(--danger-light);color:var(--danger)}.badge.draft{background:var(--border-color);color:var(--text-muted)}.badge.active{color:#047857;background:#dcfce7}.badge.paused{color:#b45309;background:#fef3c7}.badge.archived{background:var(--border-color);color:var(--text-muted)}.badge.valid{color:#047857;background:#dcfce7}.badge.invalid{background:var(--danger-light);color:var(--danger)}.badge.granted{background:color-mix(in srgb, var(--success) 18%, white);color:#047857}.badge.pending{background:color-mix(in srgb, var(--pending) 18%, white);color:#b45309}button.badge{cursor:pointer;border:none;align-items:center;font-family:inherit;display:inline-flex}button.badge:hover{filter:brightness(.97)}.item-with-handle{align-items:center;gap:10px;display:inline-flex}.item-complete{color:var(--text-muted);text-decoration:line-through}.drag-handle{cursor:grab;color:var(--text-muted);background:0 0;border:none;padding:4px;line-height:1}.drag-handle:active{cursor:grabbing}.data-table tr.drag-over td{border-top:2px solid var(--primary)}.row-actions{align-items:center;gap:6px;display:flex}.data-table th.actions,.data-table td.actions{text-align:right}.data-table td.actions .row-actions{justify-content:flex-end}.editable-cell{cursor:text;min-width:140px}.editable-cell .item-complete,.editable-cell span{border:1px solid #0000;border-radius:6px;margin:-6px -8px;padding:6px 8px;display:inline-block}.editable-cell:hover span{border-color:var(--border-color);background:#fff}.inline-edit-input{border:1px solid var(--border-color);width:100%;max-width:320px;color:var(--secondary);background:#fff;border-radius:6px;padding:8px 10px;font-family:inherit;font-size:14px}.inline-edit-input:focus{outline:2px solid var(--primary);outline-offset:1px}.btn.icon{width:auto;padding:8px 10px}.btn.icon i{margin-right:0}.agenda-list{list-style:none}.agenda-list li{color:var(--text-main);margin-bottom:20px;padding-left:28px;font-size:15px;position:relative}.agenda-list li:before{content:"";color:var(--success);font-family:"Font Awesome 6 Free";font-size:16px;font-weight:900;position:absolute;top:2px;left:0}.agenda-list li strong{color:var(--secondary)}.agenda-list li.empty-state{padding-left:0}.agenda-list li.empty-state:before{content:none}.checklist-empty{text-align:center;border:1px dashed var(--border-color);background:var(--bg-color);border-radius:8px;grid-column:1/-1;padding:24px 16px}.billing-resources{border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:16px;margin-bottom:20px;padding-bottom:20px;display:flex}.resource-btn{background:var(--primary-light);color:var(--primary-dark);border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.resource-btn:hover{border-color:var(--primary);background:#ccfbf1}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-group label{color:var(--secondary);font-size:13px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border-color);color:var(--secondary);background:#fff;border-radius:6px;padding:10px 12px;font-size:14px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid var(--primary);outline-offset:1px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:600px){.form-row{grid-template-columns:1fr}}.form-actions{gap:12px;margin-top:8px;display:flex}.table-sort-bar{justify-content:flex-end;align-items:center;gap:8px;padding:12px 16px 0;display:flex}.table-sort-bar label{letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:700}.table-sort-bar select{border:1px solid var(--border-color);color:var(--secondary);background:#fff;border-radius:6px;padding:6px 10px;font-size:13px}.table-sort-bar select:focus{outline:2px solid var(--primary);outline-offset:1px}.card.create-bar-card{padding:16px 20px}.create-bar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.create-bar h3{color:var(--secondary);white-space:nowrap;margin:0;font-size:14px;font-weight:600}.create-bar input,.create-bar textarea{border:1px solid var(--border-color);min-width:160px;color:var(--secondary);background:#fff;border-radius:6px;flex:1;padding:10px 12px;font-size:14px}.create-bar textarea{resize:vertical;min-height:42px}.create-bar input:focus,.create-bar textarea:focus{outline:2px solid var(--primary);outline-offset:1px}.create-bar .btn{flex-shrink:0}.form-actions .btn{width:auto}.hint{color:var(--text-muted);font-size:12px}.alert{border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.alert.error{background:var(--danger-light);color:var(--danger);border:1px solid #fecaca}.alert.success{color:#047857;background:#dcfce7;border:1px solid #bbf7d0}.alert.warning{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{width:100%;max-width:400px}.brand-logo{width:auto;height:28px;display:block}.login-card .login-logo{height:48px;margin-bottom:20px}.login-card h1{color:var(--secondary);margin-bottom:4px;font-size:22px}.login-card p.subtitle{color:var(--text-muted);margin-bottom:24px;font-size:14px}.admin-shell{min-height:calc(100vh - 68px);display:flex}.admin-sidebar{background:var(--card-bg);border-right:1px solid var(--border-color);flex-shrink:0;width:220px;padding:24px 0}.admin-sidebar a{color:var(--text-muted);padding:10px 24px;font-size:14px;font-weight:600;text-decoration:none;display:block}.admin-sidebar a:hover,.admin-sidebar a.active{color:var(--primary);background:var(--primary-light)}.admin-main{flex:1;max-width:1100px;padding:32px 40px}@media (max-width:800px){.admin-shell{flex-direction:column}.admin-sidebar{width:100%;padding:8px;display:flex;overflow-x:auto}.admin-main{padding:20px}}.section-title{color:var(--secondary);margin-bottom:20px;font-size:20px;font-weight:700}.table-actions{gap:8px;display:flex}.documents-filters{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.documents-filters .form-group{margin-bottom:0}@media (max-width:600px){.documents-filters{grid-template-columns:1fr}}.masked-secret{background:var(--bg-color);border-radius:4px;padding:4px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px}.generated-secret-row{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 6px;display:flex}input.masked-secret{border:1px solid var(--border-color);color:var(--secondary);min-width:220px}.tab-bar{border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:4px;margin-bottom:20px;display:flex}.tab-link{color:var(--text-muted);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.tab-link:hover{color:var(--secondary)}.tab-link.active{color:var(--primary);border-bottom-color:var(--primary)}.admin-preview-banner{background:var(--secondary);color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;font-size:14px;font-weight:600;display:flex}.admin-preview-banner a{color:#fff;text-decoration:underline}.filterable-select{z-index:1;width:100%;position:relative}.filterable-select input[type=text]{box-sizing:border-box;width:100%}.filterable-select:focus-within{z-index:30}.filterable-select:has(.filterable-select-list){z-index:30}.filterable-select-list{z-index:20;box-sizing:border-box;border:1px solid var(--border-color);background:#fff;border-radius:6px;width:100%;max-height:280px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0f172a1f}.filterable-select-list li{color:var(--secondary);cursor:pointer;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 12px;font-size:14px;display:flex}.filterable-select-list li.is-active,.filterable-select-list li:hover{background:#f0fdfa}.filterable-select-empty{color:#64748b;cursor:default}.filterable-select-hint{color:#64748b;flex-shrink:0;font-size:12px}.collapsible-card{padding:16px 20px}.collapsible-card-summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;list-style:none;display:flex}.collapsible-card-summary::-webkit-details-marker{content:"";display:none}.collapsible-card-summary::marker{content:"";display:none}.collapsible-card-summary:before{content:"";border-left:5px solid var(--text-muted);border-top:4px solid #0000;border-bottom:4px solid #0000;flex-shrink:0;width:0;height:0;transition:transform .15s;transform:rotate(0)}.collapsible-card[open] .collapsible-card-summary:before{transform:rotate(90deg)}.collapsible-card[open] .collapsible-card-summary{border-bottom:1px solid var(--border-color);margin-bottom:12px;padding-bottom:12px}.collapsible-card-summary h3{color:var(--secondary);margin:0;font-size:14px;font-weight:700}.collapsible-card-summary .hint{margin:0}
