*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #f0f4fc;--card: #ffffff;--sidebar: #ffffff;--accent: #2563eb;--text: #0f172a;--muted: #64748b;--border: #e2e8f0;--border-strong: #cbd5e1;--muted-bg: #f1f5f9;--input-bg: #ffffff;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 20px rgba(15, 23, 42, .08);--shadow-lg: 0 12px 40px rgba(15, 23, 42, .12)}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}input,button,select,textarea{padding:.5rem .75rem;border-radius:8px;border:1px solid var(--border-strong);background:var(--input-bg, var(--card));color:var(--text);font-size:1rem}textarea{width:100%;min-width:100%;box-sizing:border-box;resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1f}button{cursor:pointer;background:var(--accent);border-color:var(--accent);font-weight:600}button:hover{opacity:.9}button.secondary{background:var(--muted-bg);border-color:var(--border-strong);color:var(--text)}.admin-layout{min-height:100vh;display:flex;flex-direction:column}.admin-header{height:64px;background:var(--card);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;flex-shrink:0}.header-left{display:flex;align-items:center;gap:.75rem}.admin-logo-img{width:40px;height:40px;object-fit:contain;flex-shrink:0}.app-name{font-size:1.1rem;font-weight:600;color:var(--text)}.header-right{display:flex;align-items:center;gap:1rem}.header-btn{background:transparent;border:none;color:var(--muted);padding:.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:8px}.header-btn:hover{color:var(--text);background:#3b82f61a}.icon-btn{width:40px;height:40px}.sidebar-toggle{width:40px;height:40px;margin-right:.25rem}.header-user-wrap{position:relative}.header-user{display:flex;align-items:center;gap:.75rem;padding:.25rem .5rem;border-radius:8px;background:transparent;border:none;color:inherit;cursor:pointer;font:inherit}.header-user:hover{background:#3b82f614}.user-dropdown-arrow{transition:transform .2s}.user-dropdown-arrow.open{transform:rotate(180deg)}.user-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10}.user-menu{position:absolute;top:100%;right:0;margin-top:.25rem;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md);min-width:160px;z-index:20;overflow:hidden}.user-menu-item{display:block;width:100%;padding:.75rem 1rem;text-align:left;background:transparent;border:none;color:var(--text);font-size:.95rem;cursor:pointer;text-decoration:none;font-family:inherit}.user-menu-item:hover{background:#3b82f626}.header-notif-wrap,.header-notif-wrap .header-btn{position:relative}.header-notif-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;color:#fff;background:#ef4444;border-radius:8px;display:flex;align-items:center;justify-content:center}.notification-panel{position:absolute;top:100%;right:0;margin-top:.25rem;width:320px;max-height:400px;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md);z-index:20;overflow:hidden;display:flex;flex-direction:column}.notification-panel-header{padding:.75rem 1rem;font-weight:600;border-bottom:1px solid var(--border);flex-shrink:0}.notification-panel-empty{padding:1.5rem 1rem;color:var(--muted);font-size:.9rem;text-align:center}.notification-list{overflow-y:auto;flex:1;min-height:80px}.notification-item{display:block;padding:.75rem 1rem;border-bottom:1px solid var(--border);text-decoration:none;color:inherit;transition:background .15s}button.notification-item{width:100%;text-align:left;background:none;border:none;font:inherit;cursor:pointer}.notification-item:hover{background:#3b82f61a}.notification-item:last-child{border-bottom:none}.notification-item--task_overdue{border-left:3px solid #ef4444}.notification-item--lead_assigned{border-left:3px solid #22c55e}.notification-item--read{opacity:.75;background:#00000008}.notification-item--read .notification-item-title{font-weight:500}.notification-panel-mark-read{display:block;width:100%;padding:.5rem 1rem;font-size:.85rem;color:var(--muted);background:transparent;border:none;border-top:1px solid var(--border);cursor:pointer;text-align:center;transition:background .15s}.notification-panel-mark-read:hover{background:#3b82f614;color:var(--text)}.notification-item-title{font-weight:600;font-size:.9rem}.notification-item-message{font-size:.85rem;color:var(--muted);margin-top:.2rem}.notification-item-time{font-size:.75rem;color:var(--muted);margin-top:.3rem}.notification-panel-footer{padding:.6rem 1rem;font-size:.85rem;color:var(--accent);text-align:center;text-decoration:none;border-top:1px solid var(--border);flex-shrink:0}.notification-panel-footer:hover{background:#3b82f614}.user-avatar{width:40px;height:40px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem}.user-info{display:flex;flex-direction:column;align-items:flex-start}.user-name{font-weight:600;font-size:.95rem}.user-role{font-size:.8rem;color:var(--muted)}.admin-body{flex:1;display:flex;overflow:hidden}.admin-sidebar{width:260px;background:var(--sidebar);border-right:1px solid var(--border);overflow-y:auto;flex-shrink:0;transition:width .25s ease}.admin-sidebar.collapsed{width:72px}.admin-sidebar.collapsed .nav-group-title{opacity:0;height:0;padding:0;margin:0;overflow:hidden;visibility:hidden}.admin-sidebar.collapsed .nav-item span{opacity:0;width:0;overflow:hidden;white-space:nowrap;padding:0;margin:0}.admin-sidebar.collapsed .nav-item{justify-content:center;padding-left:0;padding-right:0}.admin-sidebar.collapsed .nav-group{margin-bottom:1rem}.sidebar-nav{padding:1rem 0;display:flex;flex-direction:column;gap:.25rem}.sidebar-nav>.nav-item,.sidebar-nav>.nav-menu{margin-bottom:.25rem}.nav-menu{display:flex;flex-direction:column;gap:0}.nav-item--parent{width:100%;text-align:left;border:none;background:none;cursor:pointer;font:inherit}.nav-item--parent .nav-item--chevron{margin-left:auto;opacity:.7}.nav-item--parent.open{color:var(--text);background:#3b82f60f}.nav-sub{padding-left:1.25rem;padding-top:0;padding-bottom:.25rem;display:flex;flex-direction:column}.nav-item--child{padding-left:1.25rem;font-size:.9375rem}.nav-group{margin-bottom:1.5rem}.nav-group-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:0 1.25rem;margin-bottom:.5rem;transition:opacity .2s,width .2s}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;color:var(--muted);text-decoration:none;transition:color .15s,background .15s,padding .2s;border-left:3px solid transparent}.nav-item span{transition:opacity .2s,width .2s}.nav-item:hover{color:var(--text);background:#3b82f614}.nav-item.active{color:var(--text);background:#3b82f626;border-left-color:var(--accent)}.nav-item svg{flex-shrink:0;opacity:.9}.admin-sidebar.collapsed .nav-sub{padding-left:0}.admin-sidebar.collapsed .nav-item--child{padding-left:0;justify-content:center;margin-left:.5rem}.admin-main{flex:1;overflow:auto;padding:1.5rem 2rem;background:var(--bg)}.page-header{margin-bottom:1.5rem}.page-title{font-size:1.5rem;font-weight:600;margin-bottom:.25rem}.page-subtitle{font-size:.9rem;color:var(--muted)}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.list-loading-host{position:relative}.list-loading-host--busy{min-height:200px}.list-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;background:#ffffffd1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:8px;margin:-.25rem;padding:.25rem}.list-loading-box{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem 1.5rem}.list-loading-spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:list-loading-spin .75s linear infinite}.list-loading-label{font-size:.9rem;font-weight:500;color:var(--muted)}@keyframes list-loading-spin{to{transform:rotate(360deg)}}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.stat{text-align:center}.stat-value{font-size:2rem;font-weight:700;color:var(--accent)}.stat-label{color:var(--muted);font-size:.875rem;margin-top:.25rem}.dashboard-page{padding-bottom:2rem}.dashboard-section-title{font-size:1rem;font-weight:600;color:var(--muted);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.03em}.dashboard-alerts-section{margin-bottom:1.5rem}.dashboard-alerts--empty .dashboard-alerts-tiles{display:none}.dashboard-alerts-title{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;margin-bottom:.75rem;color:var(--text)}.dashboard-alerts-icon{font-size:1.25rem}.dashboard-alerts-tiles{display:flex;flex-wrap:wrap;gap:.5rem}.dashboard-alert-tile{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:8px;text-decoration:none;color:inherit;font-size:.8rem;transition:background .15s,transform .08s}.dashboard-alert-tile:hover{transform:translateY(-1px)}.dashboard-alert-tile--danger{background:#ef444426;color:#dc2626}.dashboard-alert-tile--danger:hover{background:#ef444438}.dashboard-alert-tile--warning{background:#f59e0b26;color:#d97706}.dashboard-alert-tile--warning:hover{background:#f59e0b38}.dashboard-alert-tile--info{background:#3b82f61f;color:var(--accent)}.dashboard-alert-tile--info:hover{background:#3b82f62e}.dashboard-alert-tile-icon{font-size:1rem;flex-shrink:0}.dashboard-alert-tile-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.dashboard-alert-tile-count{font-weight:700;font-size:.9rem;flex-shrink:0}.dashboard-stats{margin-bottom:2rem}.dashboard-card-title{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--text)}.dashboard-conversion,.dashboard-financial{display:flex;flex-direction:column;gap:.75rem}.dashboard-conversion-row,.dashboard-financial-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border)}.dashboard-conversion-row:last-child,.dashboard-financial-row:last-child{border-bottom:none}.dashboard-conversion-value{font-weight:600;color:var(--accent)}.dashboard-financial-row strong{color:var(--text)}.dashboard-schedule-section{margin-bottom:2rem}.dashboard-schedule-header-inline{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.75rem}.dashboard-schedule-subtitle-inline{font-size:.875rem;color:var(--muted);font-weight:400}.dashboard-schedule-body{margin-top:0}.dashboard-schedule-list{list-style:none;margin:0;padding:0;flex:1;overflow:auto;max-height:380px}.dashboard-schedule-day{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.dashboard-schedule-day:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.dashboard-schedule-day--today{background:#3b82f60f;padding:.75rem 1rem 1rem;border-radius:8px;border-bottom-color:transparent}.dashboard-schedule-day-title{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.9rem;font-weight:600;color:var(--text)}.dashboard-schedule-today-badge{font-size:.7rem;font-weight:600;padding:.2rem .5rem;border-radius:6px;background:var(--accent);color:#fff}.dashboard-schedule-item{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.35rem;font-size:.9rem;color:inherit;text-decoration:none}.dashboard-schedule-item:hover{color:var(--accent)}.dashboard-schedule-time{color:var(--muted);white-space:nowrap}.dashboard-schedule-reminder{color:var(--accent)}.dashboard-schedule-lead{color:var(--muted)}.dashboard-empty{color:var(--muted);margin:0}table{width:100%;border-collapse:collapse}th,td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border)}.crm-task-row--active,.leads-row--active,.list-row--active{background:#3b82f626;border-left:3px solid var(--accent)}th{color:var(--muted);font-weight:500}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--muted)}.form-group input,.form-group select{width:100%}.search-bar{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-bar input{flex:1;min-width:200px}.search-bar select{min-width:180px}.pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1rem 0 0;margin-top:1rem}.pagination-info{font-size:.9rem;color:var(--muted)}.pagination-pages{display:flex;align-items:center;gap:.25rem}.pagination-btn{min-width:36px;height:36px;padding:0 .5rem;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:6px;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.pagination-btn:hover:not(:disabled){background:#3b82f633;border-color:var(--accent)}.pagination-btn.active{background:var(--accent);border-color:var(--accent)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-ellipsis{padding:0 .5rem;color:var(--muted);font-size:.9rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{background:var(--card);border-radius:12px;border:1px solid var(--border);box-shadow:var(--shadow-lg);max-width:500px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal .modal-header{flex-shrink:0}.modal .modal-body{flex:1;min-height:0;overflow-y:auto}.modal .modal-footer{flex-shrink:0}.modal .modal-footer-fixed{margin-top:auto;background:var(--card);border-top:1px solid var(--border)}.modal.modal-wide{max-width:920px}.modal.modal-detail-application{max-width:1000px;max-height:90vh;overflow-y:auto}.app-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media (max-width: 640px){.app-detail-grid{grid-template-columns:1fr}}.app-detail-section{padding:.75rem 0}.app-detail-section-title{font-size:.9rem;color:var(--muted);margin-bottom:.75rem;font-weight:600}.app-detail-fields{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem}.app-detail-fields.app-detail-grades{grid-template-columns:repeat(3,1fr)}.app-detail-field{display:flex;flex-direction:column;gap:.2rem}.app-detail-field.form-group-span-2{grid-column:1 / -1}.app-detail-field strong{font-size:.8rem;color:var(--muted);font-weight:500}.app-detail-field span{font-size:.95rem}.app-detail-images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.app-detail-image-card{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--card)}.app-detail-image-label{padding:.5rem .75rem;font-size:.85rem;font-weight:600;color:var(--muted);background:#0003}.app-detail-image-link{display:block;padding:.5rem;text-align:center}.app-detail-image{display:block;max-width:100%;height:auto;max-height:400px;object-fit:contain;margin:0 auto;border-radius:4px}.modal-form-stack{display:flex;flex-direction:column;gap:1rem}.modal-form-stack .form-group{margin-bottom:0}.modal-form-stack input,.modal-form-stack select{width:100%}.modal-form-grid{display:grid;grid-template-columns:1fr;gap:1rem 1.5rem}@media (min-width: 640px){.modal-form-grid{grid-template-columns:1fr 1fr}}.modal-form-grid .form-group-span-2{grid-column:1 / -1}.lead-detail-field{margin-bottom:0}.lead-detail-field strong{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.2rem}.lead-detail-value{color:var(--text);margin-top:2px}.phone-display{display:inline-flex;align-items:center;gap:.35rem}.phone-display-link{color:var(--accent);text-decoration:none}.phone-display-link:hover{text-decoration:underline}.phone-display-actions{display:inline-flex;align-items:center;gap:.2rem}.phone-display-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border-radius:4px;color:var(--muted);background:transparent;transition:color .15s,background .15s}.phone-display-btn:hover{color:var(--accent);background:#3b82f626}.phone-display-btn svg{width:14px;height:14px}a.phone-display-btn{text-decoration:none}.lead-detail-related-section{margin-top:1.25rem;padding-top:.5rem}.lead-detail-section-title{font-size:.9rem;color:var(--muted);margin-bottom:.75rem;font-weight:600}.lead-detail-related-card{padding:1rem;border:1px solid var(--border);border-radius:8px;background:var(--card)}.lead-detail-related-row{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;font-size:.9rem}.lead-detail-related-label{color:var(--muted);flex-shrink:0}.lead-detail-related-link{display:inline-block;margin-top:.75rem;font-size:.9rem;color:var(--accent);text-decoration:none}button.lead-detail-related-link{background:none;border:none;padding:0;font:inherit;cursor:pointer;text-align:left}button.lead-detail-related-link:disabled{opacity:.5;cursor:not-allowed}.payment-receipt-preview{margin-top:.5rem}.payment-receipt-preview a{display:inline-block}.payment-receipt-img{max-width:100%;max-height:320px;width:auto;height:auto;object-fit:contain;border-radius:8px;border:1px solid var(--border)}.lead-detail-related-link:hover:not(:disabled){text-decoration:underline}button.link-as-anchor{background:none;border:none;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline;text-align:left}button.link-as-anchor:hover{opacity:.9}.lead-detail-tasks-section{margin-top:1.25rem;padding-top:.5rem}.lead-detail-tasks-title{display:block;font-size:.9rem;color:var(--muted);margin-bottom:.75rem}.lead-detail-tasks-wrap{max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--card)}.lead-detail-tasks-table{width:100%;border-collapse:collapse;font-size:.9rem}.lead-detail-tasks-table th{position:sticky;top:0;background:var(--sidebar);color:var(--muted);font-weight:600;padding:.65rem .75rem;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.lead-detail-tasks-table td{padding:.65rem .75rem;border-bottom:1px solid var(--border);vertical-align:top}.lead-detail-tasks-table tbody tr:hover{background:#3b82f60f}.lead-detail-task-stt{width:2.5rem;text-align:center;color:var(--muted);font-variant-numeric:tabular-nums}.lead-detail-task-title{font-weight:600;min-width:140px;max-width:200px}.lead-detail-task-due{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}.lead-detail-task-desc{max-width:240px;white-space:pre-wrap;word-break:break-word;color:var(--text)}.lead-detail-task-status{display:inline-block;padding:.2rem .5rem;border-radius:6px;font-size:.8rem;font-weight:500;white-space:nowrap}.lead-detail-task-status--pending{background:#94a3b833;color:var(--muted)}.lead-detail-task-status--in_progress{background:#2563eb1f;color:#1d4ed8}.lead-detail-task-status--completed{background:#22c55e26;color:#15803d}.lead-detail-task-status--cancelled{background:#ef44441a;color:#b91c1c}.modal.modal-confirm{max-width:400px;text-align:center}.modal-confirm-icon{display:flex;justify-content:center;padding-top:1.5rem;color:#f59e0b;opacity:.95}.modal-confirm-title{font-size:1.15rem;margin:0 0 .5rem;font-weight:600}.modal-confirm-message{color:var(--muted);font-size:.95rem;line-height:1.5;margin:0}.icon-action{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);padding:.2rem}.icon-action:hover{color:var(--accent)}.icon-action svg{flex-shrink:0}.icon-action-danger:hover{color:#f87171}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.modal-header h3{font-size:1.1rem;margin:0}.modal-close{background:transparent;border:none;color:var(--muted);font-size:1.5rem;line-height:1;padding:.25rem;cursor:pointer}.modal-close:hover{color:var(--text)}.modal-body{padding:1.25rem}.modal-footer{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;padding:1rem 1.25rem;border-top:1px solid var(--border)}.btn-sm{padding:.35rem .75rem;font-size:.9rem}.btn-danger{background:#dc2626}.btn{padding:.5rem 1rem;border-radius:6px;font-weight:600;cursor:pointer;border:none}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:var(--muted-bg);color:var(--text);border:1px solid var(--border-strong)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box;background:linear-gradient(165deg,#e8f0fe,#f0f4fc 42%,#fff)}.login-box{background:var(--card);padding:2rem;border-radius:16px;width:100%;max-width:400px;border:1px solid var(--border);box-shadow:var(--shadow-lg)}.login-box h1{margin-bottom:1.5rem}.login-box .form-group{margin-bottom:1rem}.login-box input{width:100%}.login-box button{width:100%;padding:.75rem;margin-top:.5rem}.login-error{color:#dc2626;background:#dc26261a;border:1px solid rgba(220,38,38,.3);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.95rem}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.75rem;max-width:min(400px,calc(100vw - 2rem));pointer-events:none}.toast-container>*{pointer-events:auto}.toast{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;border-radius:8px;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-lg);max-width:min(400px,calc(100vw - 2rem));min-width:200px}.toast__content{flex:1;min-width:0}.toast__title{font-weight:600;font-size:.95rem;margin-bottom:.25rem;color:var(--text)}.toast__message{font-size:.9rem;color:var(--muted);line-height:1.4;word-break:break-word}.toast__close{flex-shrink:0;background:transparent;border:none;color:var(--muted);padding:.25rem;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center}.toast__close:hover{color:var(--text);background:var(--muted-bg)}.toast--success{border-left:4px solid #22c55e}.toast--error{border-left:4px solid #dc2626}.toast--info{border-left:4px solid var(--accent)}.admin-upload-docs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:.5rem}.admin-upload-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:0}.admin-upload-label{font-size:.9rem;font-weight:600;color:var(--text);flex-shrink:0}.admin-upload-area{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:140px;min-height:140px;max-height:140px;border-radius:8px;border:2px dashed var(--border-strong);background:var(--muted-bg);cursor:pointer;overflow:hidden;transition:border-color .2s,background .2s;flex-shrink:0}.admin-upload-area:hover{border-color:var(--accent);background:#3b82f614}.admin-upload-input,.admin-upload-input--capture{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.admin-upload-action{background:none;border:none;color:inherit;cursor:pointer;font:inherit;padding:0;text-decoration:underline}.admin-upload-action:hover{color:var(--accent);opacity:1}@media (min-width: 769px){.capture-mobile-only{display:none!important}}.admin-upload-placeholder .admin-upload-action{color:var(--accent)}.admin-upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);font-size:.9rem}.admin-upload-placeholder-icon{font-size:1.75rem;font-weight:300;color:var(--accent);margin-bottom:.25rem;line-height:1}.admin-upload-preview-wrap{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden}.admin-upload-preview-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.admin-upload-preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000080;color:#fff;font-size:.85rem;font-weight:600;opacity:0;transition:opacity .2s}.admin-upload-area:hover .admin-upload-preview-overlay{opacity:1}.admin-upload-filename{margin:0;font-size:.75rem;color:#22c55e}@media (max-width: 640px){.admin-upload-docs{grid-template-columns:1fr;max-width:200px}}.admin-autocomplete-list{position:absolute;top:100%;left:0;right:0;margin:0;padding:0;list-style:none;background:var(--card);border:1px solid var(--border);border-radius:6px;max-height:200px;overflow-y:auto;z-index:50;box-shadow:var(--shadow-md)}.admin-autocomplete-list li{padding:.6rem .75rem;cursor:pointer;font-size:.9rem;color:var(--text)}.admin-autocomplete-list li:hover{background:#3b82f626}.permission-matrix th,.permission-matrix td{padding:.6rem .75rem;border-bottom:1px solid var(--border)}.permission-matrix tbody tr:hover{background:#3b82f60f}.perm-yes{color:#22c55e;font-weight:600}.perm-no{color:var(--muted)}.badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.8rem;background:#22c55e33;color:#22c55e}.badge--muted{background:#94a3b833;color:var(--muted)}.btn-small{padding:.2rem .4rem;font-size:.75rem}.perm-checkbox{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.perm-checkbox input{display:none}.perm-checkbox .perm-checkmark{width:18px;height:18px;border:2px solid var(--border-strong);border-radius:4px;background:var(--card);position:relative}.perm-checkbox input:checked+.perm-checkmark{background:var(--accent);border-color:var(--accent)}.perm-checkbox input:checked+.perm-checkmark:after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.permission-matrix-editable .resource-first td{border-top:1px solid var(--border-strong)}@media (max-width: 768px){.admin-header{padding:0 1rem;height:56px}.notification-panel{position:fixed;left:1rem;right:1rem;top:calc(56px + .5rem);width:auto;max-width:none}.app-name{font-size:.95rem;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-user .user-info,.user-dropdown-arrow{display:none}.admin-body{position:relative}.admin-sidebar{position:fixed;top:56px;left:0;bottom:0;width:280px;max-width:85vw;z-index:50;transform:translate(-100%);transition:transform .25s ease,box-shadow .25s ease;box-shadow:none}.admin-sidebar.mobile-open{transform:translate(0);box-shadow:var(--shadow-lg)}.admin-sidebar.collapsed{width:280px;transform:translate(-100%)}.admin-sidebar.collapsed.mobile-open{transform:translate(0)}.admin-sidebar.collapsed .nav-group-title,.admin-sidebar.collapsed .nav-item span{opacity:1;height:auto;width:auto;visibility:visible;overflow:visible}.admin-sidebar.collapsed .nav-item{justify-content:flex-start;padding-left:1.25rem;padding-right:1.25rem}.admin-sidebar.collapsed .nav-sub{padding-left:1.25rem}.admin-sidebar.collapsed .nav-item--child{padding-left:1.25rem;margin-left:0;justify-content:flex-start}.sidebar-backdrop{display:none;position:fixed;right:0;bottom:0;left:0;top:56px;background:#0f172a59;z-index:40;opacity:0;transition:opacity .25s}.sidebar-backdrop.mobile-open{display:block;opacity:1}.admin-main{padding:1rem}.page-title{font-size:1.25rem}.card{padding:1rem}.grid-2,.grid-4{grid-template-columns:1fr}.dashboard-stats .grid-4{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-value{font-size:1.5rem}.search-bar{flex-direction:column}.search-bar input,.search-bar select{min-width:100%}.search-bar--mobile-2cols{flex-direction:row;flex-wrap:wrap;gap:.5rem 1rem}.search-bar--mobile-2cols input{flex:0 0 100%;width:100%;min-width:0;max-width:100%}.search-bar--mobile-2cols select{flex:0 0 calc(50% - .5rem);width:calc(50% - .5rem);min-width:0;max-width:calc(50% - .5rem)}.search-bar--crm-mobile{flex-direction:row;flex-wrap:wrap;gap:.5rem .75rem}.search-bar--crm-mobile input[type=text]{flex:0 0 100%;width:100%;min-width:0}.search-bar--crm-mobile input[type=date],.search-bar--crm-mobile select{flex:0 0 calc(33.333% - .5rem);width:calc(33.333% - .5rem);min-width:0}.card:has(table){overflow-x:auto;-webkit-overflow-scrolling:touch}.card:has(table) table{min-width:600px}.card th,.card td{padding:.5rem .6rem;font-size:.9rem}.modal-backdrop{padding:.5rem;align-items:flex-end}.modal{max-height:85vh}.modal.modal-wide,.modal.modal-detail-application{max-width:100%}.modal-header,.modal-body,.modal-footer{padding:1rem}.pagination{flex-direction:column;align-items:stretch}.dashboard-alert-tile-label{max-width:180px}.app-detail-fields{grid-template-columns:1fr}}@media (max-width: 480px){.admin-header{padding:0 .75rem}.app-name{max-width:100px}.sidebar-toggle{margin-right:0}.login-box{margin:1rem;padding:1.5rem}.modal.modal-confirm{max-width:100%}.permission-matrix{font-size:.85rem}.permission-matrix th,.permission-matrix td{padding:.4rem .5rem}}
