/* =========================================================
   ERP PHP BASE PROFISSIONAL + PERMISSÕES
   assets/css/app.css
========================================================= */

:root {
    --primary:#2563eb;
    --primary-dark:#1d4ed8;
    --primary-light:#dbeafe;
    --secondary:#64748b;
    --success:#16a34a;
    --success-light:#dcfce7;
    --danger:#dc2626;
    --danger-light:#fee2e2;
    --warning:#d97706;
    --warning-light:#fef3c7;
    --info:#0891b2;
    --info-light:#cffafe;
    --purple:#7c3aed;
    --purple-light:#ede9fe;
    --dark:#0f172a;
    --text:#334155;
    --muted:#64748b;
    --bg:#f8fafc;
    --card:#ffffff;
    --border:#e2e8f0;
    --radius:10px;
    --shadow:0 4px 14px rgba(15,23,42,.08);
    --shadow-lg:0 20px 50px rgba(15,23,42,.20);
    --sidebar-width:260px;
    --sidebar-collapsed-width:82px;
    --content-width:100%;
}

[data-theme="dark"] {
    --primary-light:rgba(37,99,235,.20);
    --success-light:rgba(22,163,74,.18);
    --danger-light:rgba(220,38,38,.18);
    --warning-light:rgba(217,119,6,.18);
    --info-light:rgba(8,145,178,.18);
    --purple-light:rgba(124,58,237,.18);
    --bg:#0f172a;
    --card:#111827;
    --border:#1e293b;
    --dark:#f8fafc;
    --text:#cbd5e1;
    --muted:#94a3b8;
    --shadow:0 4px 14px rgba(0,0,0,.25);
    --shadow-lg:0 20px 50px rgba(0,0,0,.45);
}

*{margin:0;padding:0;box-sizing:border-box}
body{font-family:"Inter","Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}
a{color:var(--primary);text-decoration:none}
button,input,select,textarea{font-family:inherit}

.app-layout{display:flex;min-height:100vh}
.sidebar{width:var(--sidebar-width);min-height:100vh;background:linear-gradient(180deg,#0f172a,#111827);color:#fff;padding:20px 14px;position:sticky;top:0;transition:.25s;overflow:hidden}
.sidebar-logo{font-size:22px;font-weight:800;margin:0 10px 28px;white-space:nowrap}
.sidebar-menu{list-style:none}
.sidebar-menu li{margin-bottom:6px}
.sidebar-menu a{display:flex;align-items:center;gap:12px;color:#cbd5e1;padding:11px 12px;border-radius:10px;transition:.2s;white-space:nowrap}
.sidebar-menu a:hover,.sidebar-menu a.active{background:var(--primary);color:#fff}
.sidebar-icon{width:24px;text-align:center;flex-shrink:0}
.sidebar-section-title{font-size:11px;text-transform:uppercase;color:#94a3b8;margin:22px 12px 8px;letter-spacing:.08em;white-space:nowrap}
.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed-width)}
.sidebar-collapsed .sidebar-logo span,.sidebar-collapsed .sidebar-menu span,.sidebar-collapsed .sidebar-section-title{display:none}

.main-content{flex:1;min-width:0}
.topbar{min-height:72px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--border);padding:14px 24px;display:flex;justify-content:space-between;align-items:center;gap:18px;position:sticky;top:0;z-index:50;backdrop-filter:blur(10px)}
[data-theme="dark"] .topbar{background:rgba(17,24,39,.92)}
.container{width:var(--content-width);max-width:none;margin:0 auto;padding:24px}

.page-title{font-size:28px;color:var(--dark);font-weight:800;margin-bottom:6px}
.page-subtitle{color:var(--muted);margin-bottom:24px}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:20px}
.card-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding-bottom:14px;margin-bottom:18px;gap:14px}
.card-title{font-size:18px;font-weight:700;color:var(--dark)}
.card-subtitle{color:var(--muted);font-size:13px;margin-top:3px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:.2s;line-height:1.2;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-dark);color:#fff}
.btn-secondary{background:var(--secondary);color:#fff}
.btn-success{background:var(--success);color:#fff}
.btn-danger{background:var(--danger);color:#fff}
.btn-warning{background:var(--warning);color:#fff}
.btn-info{background:var(--info);color:#fff}
.btn-light{background:#f1f5f9;color:var(--dark)}
.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text)}
.btn-sm{padding:6px 10px;font-size:12px}
.btn-icon{width:38px;height:38px;padding:0}

label{display:block;font-weight:600;color:var(--dark);margin-bottom:6px}
.form-group{margin-bottom:16px}
input,select,textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:14px;color:var(--text);background:var(--card);outline:0;transition:.2s}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}
textarea{min-height:110px;resize:vertical}
.is-invalid{border-color:var(--danger)!important}
.invalid-feedback{color:var(--danger);font-size:12px;margin-top:5px;font-weight:600}

.form-row{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.col-12{grid-column:span 12}.col-8{grid-column:span 8}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.col-3{grid-column:span 3}.col-2{grid-column:span 2}

.global-search{position:relative;width:100%;max-width:460px}
.global-search input{height:46px;border-radius:12px;padding:0 98px 0 44px}
.global-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted)}
.shortcut{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:#f1f5f9;color:var(--muted);border:1px solid var(--border);padding:3px 8px;border-radius:7px;font-size:12px;font-weight:700}

.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}
.dashboard-grid-six{grid-template-columns:repeat(6,1fr)}
.metric-card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);padding:20px;box-shadow:var(--shadow)}
.metric-label{color:var(--muted);font-size:13px;margin-bottom:8px}
.metric-value{font-size:26px;font-weight:800;color:var(--dark)}
.money-positive,.metric-positive{color:var(--success);font-weight:700}
.money-negative,.metric-negative{color:var(--danger);font-weight:700}
.money-neutral{color:var(--dark);font-weight:700}
.dashboard-funnel-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}
.dashboard-funnel-item:last-child{border-bottom:0}
.dashboard-widget-config{display:none}
.dashboard-widget-config.active{display:block}

.table-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:16px;flex-wrap:wrap}
.table-search{width:340px;max-width:100%}
.table-responsive{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}
.card-collapsed .table-responsive{display:none}
.table{width:100%;border-collapse:collapse;background:var(--card)}
.table th{background:#f1f5f9;color:var(--dark);text-align:left;font-weight:700;padding:13px 14px;border-bottom:1px solid var(--border);white-space:nowrap;cursor:pointer}
[data-theme="dark"] .table th{background:#1e293b}
.table td{padding:13px 14px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}
.table-hover tbody tr:hover{background:#f8fafc}
.table-actions{display:flex;gap:8px;justify-content:flex-end}
.table-row-selected{background:#dbeafe!important}
.table-row-danger{background:#fef2f2}

.badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700}
.badge-success{background:var(--success-light);color:var(--success)}
.badge-danger{background:var(--danger-light);color:var(--danger)}
.badge-warning{background:var(--warning-light);color:var(--warning)}
.badge-info{background:var(--info-light);color:var(--info)}
.badge-purple{background:var(--purple-light);color:var(--purple)}
.badge-secondary{background:#e2e8f0;color:var(--secondary)}

.alert{padding:14px 16px;border-radius:var(--radius);margin-bottom:18px;font-weight:600;border-left:5px solid}
.alert-success{background:var(--success-light);color:var(--success);border-color:var(--success)}
.alert-danger{background:var(--danger-light);color:var(--danger);border-color:var(--danger)}
.alert-warning{background:var(--warning-light);color:var(--warning);border-color:var(--warning)}
.alert-info{background:var(--info-light);color:var(--info);border-color:var(--info)}
.alert[role="alert"]{box-shadow:0 0 0 1px rgba(15,23,42,.04)}

.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#eff6ff,#f8fafc 45%,#fff)}
.auth-container{width:100%;max-width:430px}
.auth-card{background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.7);border-radius:24px;padding:40px;box-shadow:var(--shadow-lg)}
.auth-brand{width:74px;height:74px;border-radius:20px;background:linear-gradient(135deg,var(--primary),#3b82f6);display:flex;align-items:center;justify-content:center;margin:0 auto 22px;color:#fff;font-size:28px;font-weight:800}
.auth-title{text-align:center;font-size:30px;font-weight:800;color:var(--dark);margin-bottom:8px}
.auth-subtitle{text-align:center;color:var(--muted);margin-bottom:24px}
.field-hint{margin-top:6px;color:var(--muted);font-size:12px}
.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--danger)!important}

button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
    outline:2px solid var(--primary);
    outline-offset:2px;
}

.filter-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:18px;box-shadow:var(--shadow)}
.filter-bar{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}
.filter-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.filter-tag{background:#f1f5f9;border:1px solid var(--border);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:600;color:var(--text)}

.datepicker{position:relative}
.datepicker input{padding-right:42px}
.datepicker-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}

.drawer-overlay{position:fixed;inset:0;background:rgba(15,23,42,.5);display:none;z-index:999}
.drawer-overlay.active{display:block}
.drawer{position:fixed;top:0;right:-540px;width:540px;max-width:100%;height:100vh;background:var(--card);z-index:1000;transition:.3s;box-shadow:-10px 0 40px rgba(0,0,0,.14);display:flex;flex-direction:column}
.drawer.active{right:0}
.drawer-header{padding:20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.drawer-body{flex:1;overflow:auto;padding:20px}
.drawer-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}

.toast-container{position:fixed;top:90px;right:22px;z-index:1100;display:grid;gap:10px}
.toast{min-width:320px;background:var(--card);border:1px solid var(--border);border-left:5px solid var(--primary);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:14px 16px}
.toast-title{font-weight:700;color:var(--dark)}
.toast-text{color:var(--muted);font-size:13px}

.command-palette{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:1200;display:none;align-items:flex-start;justify-content:center;padding-top:90px}
.command-palette.active{display:flex}
.command-box{width:100%;max-width:680px;background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-lg);overflow:hidden}
.command-input{border:0;border-bottom:1px solid var(--border);border-radius:0;height:58px;font-size:16px}
.command-list{padding:10px;display:grid;gap:6px}
.command-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border-radius:10px;cursor:pointer}
.command-item:hover{background:#f8fafc}

.permission-denied{border:1px dashed var(--danger);background:var(--danger-light);color:var(--danger);padding:14px;border-radius:var(--radius);font-weight:700}
.readonly{opacity:.75;pointer-events:none}

.avatar{width:42px;height:42px;border-radius:12px;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0}
.avatar-green{background:var(--success-light);color:var(--success)}
.avatar-warning{background:var(--warning-light);color:var(--warning)}

.tabs{display:flex;gap:10px;border-bottom:1px solid var(--border);padding-bottom:14px;overflow-x:auto}
.tab-button{border:0;background:transparent;padding:10px 16px;border-radius:10px;cursor:pointer;font-weight:600;color:var(--text);white-space:nowrap}
.tab-button.active{background:var(--primary);color:white}

.permissions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.permission-module{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--card)}
.permission-module-header{padding:18px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:14px}
.permission-module-header h3{margin-bottom:4px;color:var(--dark)}
.permission-module-header p{color:var(--muted);font-size:13px}
.permission-items{padding:14px}
.permission-item{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--border)}
.permission-item:last-child{border-bottom:0}
.permission-item strong{display:block;margin-bottom:4px;color:var(--dark)}
.permission-item p{color:var(--muted);font-size:13px}
.switch{position:relative;width:54px;height:28px;display:inline-block;flex-shrink:0}
.switch input{opacity:0;width:0;height:0}
.slider{position:absolute;inset:0;background:#cbd5e1;border-radius:999px;transition:.25s;cursor:pointer}
.slider::before{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:999px;background:white;transition:.25s}
.switch input:checked + .slider{background:var(--primary)}
.switch input:checked + .slider::before{transform:translateX(26px)}
.audit-item{display:flex;gap:16px;padding-bottom:20px}
.audit-icon{width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:white;font-weight:700;flex-shrink:0}
.bg-success{background:var(--success)}.bg-warning{background:var(--warning)}.bg-danger{background:var(--danger)}.bg-info{background:var(--info)}
.audit-content strong{display:block;margin-bottom:6px;color:var(--dark)}
.audit-content p{color:var(--text);margin-bottom:4px}
.audit-content small{color:var(--muted)}
.permission-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.permission-summary-item{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--card)}
.permission-summary-item strong{display:block;color:var(--dark);font-size:20px}
.permission-summary-item span{color:var(--muted);font-size:12px}

.chat-topbar-button{position:relative}
.chat-topbar-badge{
    display:none;
    margin-left:6px;
    min-width:20px;
    height:20px;
    border-radius:999px;
    align-items:center;
    justify-content:center;
    background:var(--danger);
    color:#fff;
    font-size:11px;
    font-weight:700;
    padding:0 6px;
}
.chat-topbar-badge.is-visible{display:inline-flex}

.chat-layout{display:grid;grid-template-columns:320px 1fr;gap:16px}
.chat-contacts{padding:0;overflow:hidden}
.chat-contacts-header{padding:16px 16px 10px;border-bottom:1px solid var(--border)}
.chat-contacts-list{max-height:620px;overflow:auto}
.chat-contact-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:14px 16px;
    border-bottom:1px solid var(--border);
    color:var(--text);
}
.chat-contact-item:hover{background:#f8fafc}
.chat-contact-item.active{background:var(--primary-light)}
.chat-contact-main{min-width:0}
.chat-contact-main strong{display:block;color:var(--dark)}
.chat-contact-main small{
    display:block;
    color:var(--muted);
    margin-top:4px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.chat-panel{
    padding:0;
    display:flex;
    flex-direction:column;
    min-height:620px;
    height:calc(100vh - 170px);
    overflow:hidden;
    position:relative;
}
.chat-panel-header{padding:16px;border-bottom:1px solid var(--border)}
.chat-search-input{max-width:220px}
.chat-messages{
    flex:1;
    min-height:0;
    padding:16px;
    overflow:auto;
    display:flex;
    flex-direction:column;
    gap:10px;
    background:rgba(241,245,249,.45);
}
[data-theme="dark"] .chat-messages{background:rgba(15,23,42,.45)}
.chat-bubble{
    max-width:78%;
    border-radius:14px;
    padding:10px 12px;
    border:1px solid var(--border);
    background:var(--card);
    box-shadow:0 1px 2px rgba(15,23,42,.08);
}
.chat-bubble.mine{
    margin-left:auto;
    background:linear-gradient(135deg,#22c55e,#16a34a);
    color:#fff;
    border-color:#15803d;
}
.chat-bubble.theirs{
    margin-right:auto;
    background:#ffffff;
    color:#1e293b;
    border-color:#e2e8f0;
}
.chat-bubble p{margin-bottom:6px;white-space:pre-wrap;word-break:break-word}
.chat-bubble span{display:block;font-size:11px;opacity:.85}
.chat-status-inline{margin-left:8px;font-size:10px;opacity:.9}
.chat-status-inline.is-read{color:#38bdf8}
.chat-edited-inline{margin-left:6px;font-size:10px;opacity:.88;font-style:normal}
.chat-reply-ref{display:block;font-size:11px;opacity:.8;margin-bottom:4px}
.chat-bubble-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:6px}
.chat-pin-btn,.chat-edit-btn,.chat-delete-btn{border:0;background:transparent;cursor:pointer;font-size:12px;opacity:.82;padding:2px 4px;border-radius:6px}
.chat-pin-btn:hover,.chat-edit-btn:hover,.chat-delete-btn:hover{background:rgba(255,255,255,.2);opacity:1}
.chat-bubble.theirs .chat-pin-btn:hover,.chat-bubble.theirs .chat-edit-btn:hover,.chat-bubble.theirs .chat-delete-btn:hover{background:#e2e8f0}
.chat-attachment-link{display:inline-flex;margin-top:6px;font-size:12px;font-weight:600}
.chat-attachment-preview{margin-top:8px;max-width:210px;max-height:170px;border-radius:8px;border:1px solid var(--border);display:block}
.chat-upload-progress-wrap{height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin:8px 14px 0}
.chat-upload-progress-bar{height:100%;width:0;background:#22c55e;transition:width .2s}
.chat-bubble.pending{opacity:.7}
.chat-bubble.failed{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger-light)}
.chat-bubble.is-deleted{opacity:.75}
.chat-bubble-highlight{box-shadow:0 0 0 2px #22c55e,0 8px 24px rgba(34,197,94,.24)}
.chat-typing-indicator{min-height:22px;padding:0 14px;color:var(--muted);font-size:12px}
.chat-reply-box{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 14px;border-top:1px dashed var(--border);background:var(--card)}
.chat-date-separator{align-self:center;font-size:11px;color:var(--muted);padding:3px 8px;border:1px solid var(--border);border-radius:999px;background:var(--card)}
.chat-pinned-card{
    display:none;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 14px;
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
    background:linear-gradient(135deg,#fffbeb,#fef3c7);
}
.chat-pinned-card.is-visible{display:flex}
.chat-pinned-content strong{display:block;font-size:12px;color:#92400e;margin-bottom:2px}
.chat-pinned-content p{margin:0;color:#7c2d12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}
[data-theme="dark"] .chat-pinned-card{background:linear-gradient(135deg,rgba(217,119,6,.2),rgba(146,64,14,.25))}
[data-theme="dark"] .chat-pinned-content strong{color:#fdba74}
[data-theme="dark"] .chat-pinned-content p{color:#fed7aa}
.chat-jump-latest{position:absolute;left:50%;transform:translateX(-50%);bottom:170px;z-index:6}
.chat-form{
    border-top:1px solid var(--border);
    background:var(--card);
    padding:14px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
    position:sticky;
    bottom:0;
    z-index:3;
}
.chat-form textarea{min-height:74px;max-height:140px;resize:vertical}
.chat-form input[type="file"]{align-self:center}
.chat-empty{
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
}

.kanban-board{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:14px;overflow-x:auto}
.kanban-column{background:var(--card);border:1px solid var(--border);border-radius:14px;min-width:220px}
.kanban-column-header{padding:12px 14px;border-bottom:1px solid var(--border);font-weight:700;color:var(--dark)}
.kanban-column-body{padding:12px;display:grid;gap:10px;max-height:560px;overflow:auto}
.kanban-card{border:1px solid var(--border);border-radius:12px;padding:12px;background:linear-gradient(180deg,#fff,#f8fafc)}
[data-theme="dark"] .kanban-card{background:linear-gradient(180deg,#111827,#0f172a)}
.kanban-card-title{font-weight:700;color:var(--dark)}
.kanban-card.is-dragging{opacity:.6;transform:rotate(1deg)}
.kanban-column.is-over{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}
.task-order-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:38px;
    height:22px;
    padding:0 8px;
    border-radius:999px;
    border:1px solid var(--border);
    background:#f1f5f9;
    color:var(--secondary);
    font-size:11px;
    font-weight:800;
    margin-bottom:8px;
}
[data-theme="dark"] .task-order-chip{background:#1e293b;color:#cbd5e1}
.task-progress{width:100%;height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden}
.task-progress-bar{height:100%;background:linear-gradient(90deg,var(--primary),#60a5fa);border-radius:999px}

.task-priority-baixa{background:#e2e8f0;color:#475569}
.task-priority-media{background:#fef3c7;color:#92400e}
.task-priority-alta{background:#fee2e2;color:#b91c1c}
.task-priority-urgente{background:#fee2e2;color:#991b1b;box-shadow:0 0 0 1px #ef4444 inset}

.task-status-pendente{background:#e2e8f0;color:#334155}
.task-status-em_andamento{background:#dbeafe;color:#1d4ed8}
.task-status-aguardando{background:#fef3c7;color:#92400e}
.task-status-concluida{background:#dcfce7;color:#15803d}
.task-status-cancelada{background:#fee2e2;color:#b91c1c}

.timeline-item{padding:12px 0;border-bottom:1px solid var(--border)}
.timeline-item:last-child{border-bottom:0}
.timeline-item strong{display:block;color:var(--dark);margin-bottom:4px}
.timeline-item p{margin:0;color:var(--text)}

.agenda-calendar-grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:10px;
}
.agenda-weekdays div{
    text-align:center;
    font-weight:700;
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
}
.agenda-day{
    border:1px solid var(--border);
    border-radius:10px;
    min-height:86px;
    padding:10px;
    background:var(--card);
    display:flex;
    flex-direction:column;
    gap:8px;
    color:var(--text);
}
.agenda-day:hover{border-color:var(--primary)}
.agenda-day-empty{background:transparent;border:1px dashed var(--border)}
.agenda-day-number{font-weight:800;color:var(--dark)}
.agenda-day-events{font-size:12px;color:var(--muted)}
.agenda-day.is-selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}
.agenda-day.is-today .agenda-day-number{color:var(--primary)}

.document-dropzone{
    border:2px dashed var(--border);
    border-radius:12px;
    padding:24px;
    text-align:center;
    background:var(--bg);
    cursor:pointer;
    transition:.2s;
}
.document-dropzone:hover{border-color:var(--primary)}
.document-dropzone.is-dragover{
    border-color:var(--primary);
    background:var(--primary-light);
}
.document-dropzone strong{display:block;color:var(--dark);margin-bottom:6px}
.document-dropzone span{color:var(--muted);font-size:13px}
.document-dropzone input[type="file"]{display:none}
.document-file-list{display:grid;gap:8px}
.document-file-item{
    border:1px solid var(--border);
    border-radius:10px;
    padding:10px 12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    background:var(--card);
}

.text-right{text-align:right}.text-center{text-align:center}.text-muted{color:var(--muted)}
.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}
.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}
.d-flex{display:flex}.justify-between{justify-content:space-between}.align-center{align-items:center}.flex-wrap{flex-wrap:wrap}.gap-1{gap:8px}.gap-2{gap:16px}.w-100{width:100%}

.swal2-popup{border-radius:14px!important;font-family:"Inter",sans-serif!important}
.swal2-confirm,.swal2-cancel{border-radius:8px!important;font-weight:600!important}

@media(max-width:1100px){.permissions-grid,.permission-summary{grid-template-columns:1fr}}
@media(max-width:992px){
    .container{width:100%}
    .dashboard-grid{grid-template-columns:repeat(2,1fr)}
    .dashboard-grid-six{grid-template-columns:repeat(2,1fr)}
    .form-row,.filter-bar{grid-template-columns:1fr}
    .col-12,.col-8,.col-6,.col-4,.col-3,.col-2{grid-column:span 1}
    .app-layout{flex-direction:column}.sidebar{width:100%;min-height:auto;position:relative}
    .sidebar-collapsed .sidebar{width:100%}
    .sidebar-collapsed .sidebar-logo span,.sidebar-collapsed .sidebar-menu span,.sidebar-collapsed .sidebar-section-title{display:inline}
    .topbar{position:relative;flex-direction:column;align-items:stretch}.global-search{max-width:100%}
}
@media(max-width:576px){
    .container{width:100%;padding:16px}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid-six{grid-template-columns:1fr}.card-header{flex-direction:column;align-items:flex-start}
    .toast-container{left:16px;right:16px}.toast{min-width:auto}
    .auth-card{padding:28px 20px;border-radius:18px}
    .auth-title{font-size:26px}
    .form-actions .btn{width:100%}
}
@media(max-width:992px){
    .chat-layout{grid-template-columns:1fr}
    .chat-contacts-list{max-height:260px}
    .chat-panel{min-height:520px;height:calc(100vh - 220px)}
    .kanban-board{grid-template-columns:repeat(2,minmax(220px,1fr))}
}
@media(max-width:576px){
    .kanban-board{grid-template-columns:1fr}
}
