/* MANU Visual Technology V2 — skin visual, sem alteração estrutural. */
:root {
    --manu-bg-0: #050b0b;
    --manu-bg-1: #081210;
    --manu-bg-2: #0b1716;
    --manu-surface: rgba(12, 25, 21, .94);
    --manu-surface-raised: rgba(16, 32, 27, .96);
    --manu-surface-hover: rgba(26, 48, 39, .78);
    --manu-border: rgba(126, 170, 144, .18);
    --manu-border-active: rgba(92, 215, 111, .52);
    --manu-green: #59d86d;
    --manu-green-soft: rgba(89, 216, 109, .11);
    --manu-green-glow: rgba(89, 216, 109, .18);
    --manu-blue-deep: #102329;
    --manu-text: #e8f1eb;
    --manu-text-muted: #9aada2;
    --manu-text-dim: #70847a;
    --manu-warning: #d6a764;
    --manu-danger: #d77d77;
    --manu-success: #72dc83;
    --manu-motion-fast: 140ms;
    --manu-motion-normal: 210ms;
    --manu-motion-slow: 380ms;
    --manu-shadow-soft: 0 10px 26px rgba(0, 0, 0, .19);
    --manu-shadow-raised: 0 16px 42px rgba(0, 0, 0, .25);
    --manu-inner-highlight: inset 0 1px rgba(255, 255, 255, .028);
}

body {
    background:
        radial-gradient(ellipse at 74% -8%, rgba(28, 74, 89, .18), transparent 43%),
        radial-gradient(ellipse at 28% 80%, rgba(48, 132, 67, .075), transparent 48%),
        linear-gradient(145deg, var(--manu-bg-0), var(--manu-bg-1) 48%, #071110);
    color: var(--manu-text);
}

.tech-background {
    background:
        linear-gradient(115deg, transparent 0 63%, rgba(77, 128, 100, .025) 63% 63.1%, transparent 63.1%),
        radial-gradient(ellipse at 18% 12%, rgba(79, 176, 97, .055), transparent 43%),
        radial-gradient(ellipse at 82% 20%, rgba(38, 91, 111, .07), transparent 38%);
}

.tech-grid {
    opacity: .2;
    background-image:
        linear-gradient(rgba(120, 167, 139, .05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(120, 167, 139, .05) 1px, transparent 1px),
        linear-gradient(rgba(120, 167, 139, .018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(120, 167, 139, .018) 1px, transparent 1px);
    background-size: 48px 48px, 48px 48px, 12px 12px, 12px 12px;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .82), rgba(0, 0, 0, .26) 72%, transparent);
}

.sidebar,
.topbar,
.context-panel,
.document-panel,
.library-panel,
.users-panel,
.budget-panel,
.agenda-panel,
.media-panel,
.schedule-panel {
    border-color: var(--manu-border);
    box-shadow: var(--manu-shadow-soft), var(--manu-inner-highlight);
}

.sidebar {
    background: linear-gradient(180deg, rgba(8, 19, 16, .98), rgba(7, 15, 14, .985));
    box-shadow: 12px 0 38px rgba(0, 0, 0, .16), inset -1px 0 rgba(117, 164, 135, .055);
}

.brand-text h1 { letter-spacing: .09em; }
.brand-text span,
.menu-label,
.eyebrow { color: var(--manu-text-dim); letter-spacing: .13em; }

.new-chat {
    border-color: rgba(89, 216, 109, .25);
    background: linear-gradient(135deg, rgba(48, 151, 67, .2), rgba(21, 64, 42, .16));
    box-shadow: var(--manu-inner-highlight);
    transition: border-color var(--manu-motion-fast), background var(--manu-motion-fast), transform var(--manu-motion-fast);
}
.new-chat:hover { border-color: rgba(89, 216, 109, .48); background: rgba(89, 216, 109, .12); transform: translateY(-1px); }

.menu-item {
    position: relative;
    border: 1px solid transparent;
    color: var(--manu-text-muted);
    transition: color var(--manu-motion-fast), background var(--manu-motion-fast), border-color var(--manu-motion-fast), transform var(--manu-motion-fast);
}
.menu-item:hover { border-color: rgba(116, 160, 132, .12); background: rgba(112, 157, 130, .055); color: var(--manu-text); transform: translateX(1px); }
.menu-item.active {
    border-color: rgba(89, 216, 109, .18);
    background: linear-gradient(90deg, rgba(89, 216, 109, .13), rgba(89, 216, 109, .035));
    color: #effaf1;
    box-shadow: inset 2px 0 var(--manu-green), var(--manu-inner-highlight);
}
.menu-item.active .menu-icon { color: var(--manu-green); filter: saturate(.78); }
.sidebar-card { border-color: rgba(114, 156, 130, .14); background: linear-gradient(145deg, rgba(17, 35, 29, .72), rgba(10, 22, 19, .72)); box-shadow: var(--manu-inner-highlight); }

.topbar {
    background: linear-gradient(180deg, rgba(9, 21, 19, .95), rgba(9, 19, 18, .89));
    box-shadow: 0 9px 28px rgba(0, 0, 0, .14), inset 0 -1px rgba(109, 159, 130, .05);
}
.topbar-title h2 { color: var(--manu-text); font-weight: 620; letter-spacing: -.018em; }
.topbar-title p { color: var(--manu-text-muted); }
.online-status { border-color: rgba(89, 216, 109, .2); background: rgba(54, 134, 68, .075); color: #b3cdb9; box-shadow: var(--manu-inner-highlight); }
.online-status span { background: var(--manu-success); box-shadow: 0 0 6px rgba(114, 220, 131, .42); }
.logout-button { color: var(--manu-text-dim); transition: color var(--manu-motion-fast), background var(--manu-motion-fast); }
.logout-button:hover { color: var(--manu-text); background: rgba(255, 255, 255, .035); }

.top-avatar.is-fallback,
.profile-menu-avatar { border-color: rgba(100, 183, 120, .27) !important; background: linear-gradient(145deg, #254b39, #112821) !important; box-shadow: 0 7px 18px rgba(0, 0, 0, .22), var(--manu-inner-highlight) !important; }
.profile-menu { border-color: var(--manu-border); background: linear-gradient(145deg, rgba(15, 31, 27, .99), rgba(8, 20, 18, .99)); box-shadow: 0 26px 66px rgba(0, 0, 0, .48), var(--manu-inner-highlight); }

.context-panel {
    background: linear-gradient(180deg, rgba(13, 27, 23, .91), rgba(10, 22, 20, .88));
    box-shadow: 0 8px 24px rgba(0, 0, 0, .13), var(--manu-inner-highlight);
}
.context-heading label { color: var(--manu-text-dim); letter-spacing: .055em; }
.context-action { color: #73d984; opacity: .9; transition: color var(--manu-motion-fast), opacity var(--manu-motion-fast); }
.context-action:hover { color: #a2efac; opacity: 1; }
.context-panel select,
.context-modal input {
    border-color: rgba(113, 162, 132, .27);
    background: linear-gradient(180deg, rgba(8, 18, 16, .96), rgba(11, 24, 20, .96));
    color: var(--manu-text);
    box-shadow: var(--manu-inner-highlight);
    transition: border-color var(--manu-motion-fast), box-shadow var(--manu-motion-fast);
}
.context-panel select:focus,
.context-modal input:focus { border-color: var(--manu-border-active); box-shadow: 0 0 0 3px rgba(89, 216, 109, .055), var(--manu-inner-highlight); }

.document-panel { background: linear-gradient(90deg, rgba(14, 29, 24, .94), rgba(11, 25, 23, .88)); }
.document-status,
.library-status.success { color: var(--manu-success); }
.document-status::before { background: var(--manu-success); box-shadow: 0 0 6px rgba(114, 220, 131, .4); }

.chat { background: radial-gradient(ellipse at 52% 84%, rgba(53, 133, 68, .035), transparent 42%); }
.message-content { transition: transform var(--manu-motion-fast); }
.message-row:hover .message-content { transform: translateY(-1px); }
.message {
    border: 1px solid rgba(116, 160, 132, .15);
    box-shadow: 0 7px 19px rgba(0, 0, 0, .13), var(--manu-inner-highlight);
}
.bot-message { border-color: rgba(100, 153, 120, .17); background: linear-gradient(145deg, rgba(15, 31, 26, .94), rgba(11, 24, 22, .94)); }
.user-message { border-color: rgba(89, 216, 109, .2); background: linear-gradient(145deg, rgba(35, 91, 54, .88), rgba(21, 61, 42, .9)); }
.sender { color: var(--manu-text-muted); letter-spacing: .045em; }
.message-time { color: var(--manu-text-dim); font-variant-numeric: tabular-nums; }
.avatar { border-color: rgba(113, 165, 131, .2); box-shadow: 0 5px 14px rgba(0, 0, 0, .16), var(--manu-inner-highlight); }
.bot-avatar { background: linear-gradient(145deg, #1f4a32, #112a21); color: #c8f4cf; }

.message-attachment,
.chat-attachment-card { border-color: rgba(104, 168, 124, .23); background: linear-gradient(145deg, #102019, #0a1714); box-shadow: 0 8px 18px rgba(0, 0, 0, .17), var(--manu-inner-highlight); transition: border-color var(--manu-motion-fast), transform var(--manu-motion-fast); }
.message-attachment:hover { border-color: rgba(89, 216, 109, .48); transform: translateY(-1px); }
.message-attachment span { border-top: 1px solid rgba(115, 159, 132, .12); color: var(--manu-text-muted); }
.chat-download-button { border-color: rgba(89, 216, 109, .34); background: linear-gradient(135deg, rgba(47, 139, 64, .2), rgba(22, 70, 43, .16)); box-shadow: var(--manu-inner-highlight); }

.input-container { background: linear-gradient(0deg, rgba(6, 13, 12, .98), rgba(7, 16, 14, .92)); }
.manu-composer .input-shell {
    border-color: rgba(89, 216, 109, .25);
    background: linear-gradient(145deg, rgba(16, 32, 27, .98), rgba(10, 23, 20, .98));
    box-shadow: 0 13px 36px rgba(0, 0, 0, .25), var(--manu-inner-highlight);
    transition: border-color var(--manu-motion-normal), box-shadow var(--manu-motion-normal), background var(--manu-motion-normal);
}
.manu-composer .input-shell:focus-within { border-color: rgba(89, 216, 109, .56); background: linear-gradient(145deg, rgba(18, 37, 30, .99), rgba(11, 26, 22, .99)); box-shadow: 0 0 0 3px rgba(89, 216, 109, .045), 0 16px 42px rgba(0, 0, 0, .27), var(--manu-inner-highlight); }
.attachment-button { border-color: rgba(111, 159, 128, .21); color: #a7c9af; transition: border-color var(--manu-motion-fast), color var(--manu-motion-fast), background var(--manu-motion-fast); }
.attachment-button:hover { border-color: rgba(89, 216, 109, .43); color: #d7f6dc; background: rgba(89, 216, 109, .09); }
.send-button { border: 1px solid rgba(111, 238, 130, .25); background: linear-gradient(135deg, #45bd58, #2b9143); box-shadow: 0 7px 18px rgba(29, 108, 49, .21), var(--manu-inner-highlight); transition: filter var(--manu-motion-fast), transform var(--manu-motion-fast), box-shadow var(--manu-motion-fast); }
.send-button:hover { filter: brightness(1.08); transform: translateY(-1px); box-shadow: 0 9px 22px rgba(29, 108, 49, .26), var(--manu-inner-highlight); }
.typing-container { color: var(--manu-text-muted); }
body:has(.manu-avatar--thinking) .manu-composer .input-shell { border-color: rgba(89, 216, 109, .39); box-shadow: 0 0 22px rgba(89, 216, 109, .035), 0 13px 36px rgba(0, 0, 0, .25), var(--manu-inner-highlight); }
.manu-composer .manu-avatar--thinking img { filter: brightness(1.045) drop-shadow(0 0 5px rgba(89, 216, 109, .22)); }

.users-panel,
.budget-panel,
.agenda-panel,
.media-panel,
.schedule-panel { background: linear-gradient(145deg, rgba(10, 22, 19, .97), rgba(11, 26, 27, .96)); }

.agenda-control-row,
.agenda-manu,
.agenda-proposal,
.agenda-summary article,
.agenda-item,
.media-upload,
.media-card,
.media-analysis,
.schedule-summary article,
.schedule-toolbar,
.budget-summary article,
.budget-deviations article,
.budget-ai,
.budget-create-identification {
    border-color: var(--manu-border);
    background: linear-gradient(145deg, rgba(14, 29, 24, .9), rgba(10, 23, 21, .9));
    box-shadow: var(--manu-inner-highlight);
}

.agenda-item,
.media-card,
.schedule-summary article,
.budget-summary article { transition: border-color var(--manu-motion-fast), background var(--manu-motion-fast), transform var(--manu-motion-fast), box-shadow var(--manu-motion-fast); }
.agenda-item:hover,
.media-card:hover,
.schedule-summary article:hover,
.budget-summary article:hover { border-color: rgba(89, 216, 109, .28); background: var(--manu-surface-hover); transform: translateY(-1px); box-shadow: 0 9px 22px rgba(0, 0, 0, .16), var(--manu-inner-highlight); }

.agenda-controls button,
.agenda-filters input,
.media-upload input,
.media-upload select,
.media-analysis textarea,
.schedule-header-actions button,
.schedule-picker button,
.schedule-toolbar button,
.schedule-toolbar select,
.schedule-toolbar input,
.budget-panel input,
.budget-panel select,
.budget-panel textarea {
    border-color: rgba(111, 160, 130, .25);
    background: rgba(8, 19, 16, .9);
    color: var(--manu-text);
    box-shadow: var(--manu-inner-highlight);
    transition: border-color var(--manu-motion-fast), background var(--manu-motion-fast), box-shadow var(--manu-motion-fast);
}

.agenda-controls button:hover,
.schedule-header-actions button:hover,
.schedule-picker button:hover,
.schedule-toolbar button:hover { border-color: var(--manu-border-active); background: var(--manu-green-soft); }

.schedule-gantt { border-color: rgba(111, 162, 132, .25); background: #081511; box-shadow: inset 0 1px rgba(255,255,255,.02); }
.schedule-grid-head,
.schedule-timeline-head { border-color: rgba(111, 162, 132, .2); background: linear-gradient(180deg, #142820, #102119); color: #91aa9c; }
.schedule-task-info:hover,
.schedule-task-info.is-selected { background: rgba(89, 216, 109, .052); box-shadow: inset 2px 0 var(--manu-green); }
.schedule-bar { border-color: rgba(112, 174, 132, .48); background: linear-gradient(180deg, #23414a, #1b3339); box-shadow: 0 5px 13px rgba(0,0,0,.2), inset 0 1px rgba(255,255,255,.08); transition: border-color var(--manu-motion-fast), filter var(--manu-motion-fast), transform var(--manu-motion-fast); }
.schedule-bar:hover { border-color: rgba(114, 220, 131, .62); filter: brightness(1.07); transform: translateY(-1px); }
.schedule-bar span { background: linear-gradient(90deg, #328f4b, #49b45e); }
.schedule-today { border-left-color: #dfad68; text-shadow: 0 0 7px rgba(223, 173, 104, .35); }
.schedule-today::before { width: 5px; height: 5px; margin-left: -3px; border-radius: 50%; background: #e6bd7f; box-shadow: 0 0 7px rgba(230, 189, 127, .5); content: ""; }

.media-card-image { filter: saturate(.92) contrast(1.025); transition: filter var(--manu-motion-normal), transform var(--manu-motion-normal); }
.media-card:hover .media-card-image { filter: saturate(1.03) contrast(1.04); transform: scale(1.012); }
.media-analysis-result section { border-left-color: rgba(89, 216, 109, .46); }
.media-analysis-result h5 { color: #9ae9a6; letter-spacing: .025em; }

.budget-card-value,
.budget-summary strong,
.budget-simple-total,
.budget-table td { font-variant-numeric: tabular-nums; }
.budget-table th { background: linear-gradient(180deg, #14271f, #102119); color: #91a99b; box-shadow: inset 0 -1px rgba(111, 160, 130, .16); }
.budget-table tbody tr { transition: background var(--manu-motion-fast); }
.budget-table tbody tr:hover { background: rgba(89, 216, 109, .028); }
.budget-ai-answer { border-left-color: rgba(89, 216, 109, .55); background: linear-gradient(145deg, rgba(17, 34, 28, .9), rgba(11, 25, 22, .9)); box-shadow: var(--manu-inner-highlight); }

dialog,
.context-modal,
.media-viewer {
    border-color: rgba(118, 169, 136, .25);
    background: linear-gradient(145deg, rgba(15, 31, 27, .99), rgba(8, 20, 18, .99));
    box-shadow: 0 28px 72px rgba(0, 0, 0, .52), var(--manu-inner-highlight);
}
dialog::backdrop,
.context-modal::backdrop,
.media-viewer::backdrop { background: rgba(2, 8, 7, .76); backdrop-filter: blur(2px); }

.login-card { border-color: rgba(89, 216, 109, .2); background: linear-gradient(145deg, rgba(13, 30, 25, .98), rgba(8, 22, 20, .98)); box-shadow: 0 28px 74px rgba(0,0,0,.5), inset 0 1px rgba(255,255,255,.035); }
.login-card input { border-color: rgba(114, 161, 132, .29); background: rgba(7, 17, 15, .95); transition: border-color var(--manu-motion-fast), box-shadow var(--manu-motion-fast); }
.login-card input:focus { border-color: var(--manu-border-active); box-shadow: 0 0 0 3px rgba(89,216,109,.055); }
.login-card button { background: linear-gradient(135deg, #47be58, #2d9844); box-shadow: 0 8px 20px rgba(27, 104, 47, .22), var(--manu-inner-highlight); }

/* V2.1 — acabamento premium cirúrgico. Somente pintura e microinteração. */
:root {
    --manu-line-technical: rgba(122, 174, 142, .115);
    --manu-line-technical-strong: rgba(122, 190, 143, .24);
    --manu-surface-quiet: rgba(10, 22, 19, .72);
    --manu-focus-ring: 0 0 0 3px rgba(89, 216, 109, .06);
}

/* Central: hierarquia e identidade técnica, sem alterar a grade existente. */
.welcome-label { color: #69d87a; letter-spacing: .17em; text-shadow: 0 0 18px rgba(89, 216, 109, .13); }
.welcome h2 { color: #f0f7f2; letter-spacing: -.025em; text-shadow: 0 8px 28px rgba(0, 0, 0, .22); }
.welcome > p { color: #96aaa0; }
.capability {
    position: relative;
    border-color: var(--manu-line-technical);
    background:
        linear-gradient(90deg, rgba(89, 216, 109, .28), rgba(89, 216, 109, .02)) 0 0 / 36% 1px no-repeat,
        linear-gradient(145deg, rgba(15, 31, 26, .82), rgba(9, 23, 21, .78));
    box-shadow: inset 0 1px rgba(255,255,255,.025), 0 10px 25px rgba(0,0,0,.1);
    transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.capability::after {
    position: absolute;
    top: 10px;
    right: 11px;
    width: 12px;
    height: 12px;
    border-top: 1px solid rgba(113, 190, 134, .22);
    border-right: 1px solid rgba(113, 190, 134, .22);
    content: "";
    pointer-events: none;
}
.capability:hover {
    border-color: rgba(89, 216, 109, .29);
    background:
        linear-gradient(90deg, rgba(89, 216, 109, .46), rgba(89, 216, 109, .04)) 0 0 / 46% 1px no-repeat,
        linear-gradient(145deg, rgba(19, 39, 31, .92), rgba(11, 28, 24, .9));
    box-shadow: 0 0 0 1px rgba(89,216,109,.025), 0 12px 28px rgba(0,0,0,.16), inset 0 1px rgba(255,255,255,.035);
    transform: translateY(-1px);
}
.capability > span { color: #72d681; font-variant-numeric: tabular-nums; letter-spacing: .08em; }
.capability strong { color: #edf6ef; letter-spacing: .005em; }
.capability small { color: #81968b; line-height: 1.45; }

.suggestion {
    border-color: rgba(119, 163, 133, .18);
    background: linear-gradient(180deg, rgba(17, 34, 28, .8), rgba(10, 23, 20, .82));
    color: #adc2b4;
    box-shadow: inset 0 1px rgba(255,255,255,.025);
    transition: border-color 160ms ease, color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.suggestion::after { content: "  ↗"; color: #62bd70; font-size: .8em; }
.suggestion:hover,
.suggestion:focus-visible { border-color: rgba(89,216,109,.39); background: rgba(89,216,109,.075); color: #e2eee5; box-shadow: var(--manu-focus-ring); transform: translateY(-1px); }

/* MANU CORE como painel de estado integrado. */
.sidebar-card {
    border-color: rgba(107, 158, 126, .16);
    background:
        linear-gradient(90deg, rgba(89,216,109,.34), transparent 58%) 0 0 / 100% 1px no-repeat,
        linear-gradient(145deg, rgba(17, 35, 29, .76), rgba(8, 21, 18, .82));
    box-shadow: 0 9px 24px rgba(0,0,0,.13), inset 0 1px rgba(255,255,255,.025);
}
.sidebar-card-label { color: #65cc75; letter-spacing: .15em; }
.sidebar-card strong { color: #e6f1e8; font-weight: 650; letter-spacing: -.005em; }
.sidebar-card p { color: #7f9288; line-height: 1.45; }
.system-status { color: #94aa9d; }
.status-dot { background: #6edb7d; box-shadow: 0 0 8px rgba(89,216,109,.48); }

/* Contexto ativo: menos formulário, mais estado operacional. */
.context-heading label { color: #83988c; font-weight: 650; letter-spacing: .09em; }
.context-action { color: #70c97e; }
.context-action:hover,
.context-action:focus-visible { color: #b0edb8; text-shadow: 0 0 12px rgba(89,216,109,.18); }
.context-panel select {
    border-color: rgba(117, 158, 130, .19);
    background-color: rgba(8, 19, 16, .76);
    background-image: linear-gradient(180deg, rgba(13, 29, 24, .88), rgba(8, 20, 17, .88));
    color: #d7e4da;
}
.context-panel select:hover { border-color: rgba(115, 176, 132, .31); }
.context-panel select:focus-visible { outline: none; border-color: rgba(89,216,109,.48); box-shadow: var(--manu-focus-ring), inset 0 1px rgba(255,255,255,.03); }

/* Header e presença do sistema. */
.online-status { border-color: rgba(100, 174, 118, .14); background: rgba(35, 91, 51, .07); color: #9fb7a6; letter-spacing: .075em; }
.online-status span { animation: manuV21Online 3.4s ease-in-out infinite; }
@keyframes manuV21Online { 50% { opacity: .62; box-shadow: 0 0 10px rgba(114,220,131,.3); } }
.top-avatar { border-color: rgba(106, 180, 124, .24) !important; box-shadow: 0 6px 17px rgba(0,0,0,.19), inset 0 1px rgba(255,255,255,.05) !important; }
.logout-button { border-color: rgba(122, 157, 133, .11); color: #71857a; }
.logout-button:hover { border-color: rgba(122, 173, 139, .2); color: #b8c9bd; }

/* Final density V1: estrutura global menor, conteúdo dos módulos mais cedo. */
.topbar{min-height:64px;padding:9px 28px;gap:18px}
.topbar-title{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:10px;row-gap:0}
.topbar-title .eyebrow{grid-column:1/-1;margin:0 0 1px;font-size:8px;letter-spacing:.15em}
.topbar-title h2{margin:0;font-size:17px;line-height:1.15}
.topbar-title p{margin:0;font-size:10px;line-height:1.2;white-space:nowrap}
.topbar-actions{gap:8px}
.online-status{min-height:28px;padding:5px 9px;font-size:8px}
.top-avatar{position:relative;width:36px;height:36px;flex:0 0 36px}
.logout-button{min-height:30px;padding:5px 9px}
.context-panel{position:relative;z-index:2}

/* Monograma único e consistente para toda ocorrência sem fotografia. */
.top-avatar.is-fallback,.profile-menu-avatar.is-fallback,.user-avatar:not(:has(img)){
    background:linear-gradient(145deg,#28513d,#10241d)!important;
    border:1px solid rgba(112,204,136,.38)!important;
    color:#effaf2!important;font-weight:700!important;letter-spacing:.06em!important;
    text-shadow:0 1px 2px rgba(0,0,0,.35);box-shadow:0 7px 18px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.07)!important
}
.top-avatar.is-fallback{font-size:11px}
.profile-menu-avatar.is-fallback{font-size:18px}
.top-avatar::after{content:"";position:absolute;right:-1px;bottom:0;width:8px;height:8px;border:2px solid #0b1713;border-radius:50%;background:#68d97a;box-shadow:0 0 5px rgba(104,217,122,.42)}
.top-avatar.has-photo::after{display:block}
.user-avatar:not(:has(img)){display:grid;place-items:center;font-size:10px}

@media(max-width:760px){.topbar{min-height:58px;padding:8px 14px}.topbar-title p{display:none}.topbar-title{display:block}.topbar-title .eyebrow{margin-bottom:1px}.online-status{padding-inline:7px}.logout-button{font-size:9px}}
@media(max-width:440px){.topbar{min-height:54px;padding:7px 10px}.topbar-title .eyebrow{display:none}.topbar-title h2{font-size:15px}.online-status{font-size:0;gap:0;width:28px;justify-content:center}.online-status span{width:7px;height:7px}.top-avatar{width:34px;height:34px;flex-basis:34px}.logout-button{padding-inline:6px}}

/* Chat, personagem e composer. */
.chat { background:
    radial-gradient(ellipse at 52% 82%, rgba(53,133,68,.045), transparent 43%),
    linear-gradient(rgba(111,159,130,.014) 1px, transparent 1px),
    linear-gradient(90deg, rgba(111,159,130,.014) 1px, transparent 1px);
    background-size: auto, 32px 32px, 32px 32px;
}
.welcome-orbit { filter: drop-shadow(0 14px 24px rgba(0,0,0,.18)); }
.manu-composer .manu-avatar img { filter: contrast(1.025) saturate(.96) drop-shadow(0 10px 8px rgba(0,0,0,.22)); }
.manu-composer .manu-avatar--thinking img { filter: brightness(1.04) contrast(1.03) saturate(.98) drop-shadow(0 9px 9px rgba(0,0,0,.24)) drop-shadow(0 0 5px rgba(89,216,109,.16)); }
.manu-composer .input-shell { border-color: rgba(105, 164, 123, .23); background: linear-gradient(145deg, rgba(16,33,28,.985), rgba(8,23,20,.985)); }
.manu-composer textarea::placeholder { color: #62786d; opacity: 1; }
.manu-composer .input-shell:focus-within { border-color: rgba(89,216,109,.5); box-shadow: var(--manu-focus-ring), 0 17px 42px rgba(0,0,0,.27), inset 0 1px rgba(255,255,255,.035); }
.attachment-button { background: rgba(89,216,109,.025); }
.send-button { border-color: rgba(128,237,142,.24); background: linear-gradient(135deg, #42b954, #2a8b40); }
.typing { filter: drop-shadow(0 0 5px rgba(89,216,109,.16)); }
.typing span { background: #75d982; }
.typing-info small { color: #8fa99a; letter-spacing: .02em; }
.message { border-color: rgba(111,157,127,.13); box-shadow: 0 8px 22px rgba(0,0,0,.15), inset 0 1px rgba(255,255,255,.025); }
.bot-message { background: linear-gradient(145deg, rgba(14,30,25,.95), rgba(9,23,21,.95)); }
.user-message { background: linear-gradient(145deg, rgba(32,84,50,.9), rgba(19,57,39,.92)); }
.sender { color: #91a79a; font-weight: 650; }
.message-time { color: #667b70; }

/* Módulos operacionais. */
.agenda-panel,
.schedule-panel,
.media-panel,
.budget-panel,
.users-panel { border-color: rgba(112,162,130,.18); box-shadow: 0 13px 32px rgba(0,0,0,.14), inset 0 1px rgba(255,255,255,.023); }
.agenda-control-row,
.schedule-toolbar { border-color: rgba(111,157,127,.16); background: rgba(8,20,17,.64); }
.agenda-control-label,
.schedule-summary span,
.agenda-summary span { color: #789083; letter-spacing: .085em; }
.agenda-view-filter button[aria-pressed="true"],
.schedule-zoom button[aria-pressed="true"] { border-color: rgba(89,216,109,.43); background: linear-gradient(180deg, rgba(89,216,109,.17), rgba(89,216,109,.08)); box-shadow: inset 0 1px rgba(255,255,255,.035); }
.agenda-status,
.schedule-status { border: 1px solid rgba(104,181,122,.15); font-weight: 700; letter-spacing: .045em; }
.agenda-item-cost,
.agenda-summary strong,
.schedule-summary strong { font-variant-numeric: tabular-nums; }
.agenda-item.is-overdue,
.schedule-summary article.is-alert { border-color: rgba(215,125,119,.26); background: linear-gradient(145deg, rgba(52,29,29,.27), rgba(18,24,21,.88)); }
.schedule-empty,
.agenda-empty { border-color: rgba(113,159,128,.17); background: rgba(8,20,17,.3); color: #81958a; }
.schedule-today { border-left-color: #d8a963; color: #e5bd82; }
.schedule-today::before { border: 1px solid rgba(255,231,185,.35); background: #e4b66f; box-shadow: 0 0 0 3px rgba(228,182,111,.09), 0 0 8px rgba(228,182,111,.42); }
.schedule-bar { border-color: rgba(112,174,132,.43); background: linear-gradient(180deg, #223f46, #172f35); }
.schedule-bar span { background: linear-gradient(90deg, #2f8647, #4cb760); box-shadow: inset -1px 0 rgba(224,255,229,.2); }

.media-card-image { filter: saturate(.9) contrast(1.035); }
.media-card:hover .media-card-image { filter: saturate(1.01) contrast(1.055) brightness(1.025); }
.media-card figcaption { color: #9aafa2; }
.media-analysis { border-color: rgba(89,216,109,.2); background: linear-gradient(145deg, rgba(16,34,28,.91), rgba(9,24,21,.92)); }
.media-analysis h4::before { content: "VISÃO · "; color: #61c971; font-size: .72em; letter-spacing: .1em; }

.budget-card-value,
.budget-summary strong,
.budget-simple-total { color: #edf7ef; letter-spacing: -.018em; }
.budget-summary article { border-top-color: rgba(89,216,109,.24); }
.budget-table th { color: #879d90; letter-spacing: .065em; }
.budget-positive,
.is-favorable { color: var(--manu-success); }
.budget-negative,
.is-unfavorable { color: #e19994; }

.users-table th { color: #7e9487; letter-spacing: .1em; }
.users-table td { border-bottom-color: rgba(107,151,123,.14); }
.users-table tbody tr { transition: background 150ms ease; }
.users-table tbody tr:hover { background: rgba(89,216,109,.03); }
.users-table td strong { color: #e5efe7; }
.users-table td small { color: #75897e; }
.users-status-control { border-color: rgba(89,216,109,.2); background: rgba(89,216,109,.045); }

/* Modais: mesma linguagem material em toda a aplicação. */
dialog,
.context-modal,
.media-viewer { border-color: rgba(112,167,132,.22); background: linear-gradient(145deg, rgba(15,31,27,.995), rgba(7,20,18,.995)); box-shadow: 0 30px 78px rgba(0,0,0,.54), inset 0 1px rgba(255,255,255,.035); }
dialog h3,
.context-modal h3 { color: #edf6ef; letter-spacing: -.014em; }
dialog input:focus-visible,
dialog select:focus-visible,
dialog textarea:focus-visible { outline: none; border-color: rgba(89,216,109,.48); box-shadow: var(--manu-focus-ring); }
.users-modal-actions { border-top-color: rgba(111,157,127,.12); }

@media (prefers-reduced-motion: reduce) {
    .online-status span { animation: none !important; }
    .capability:hover,
    .suggestion:hover,
    .suggestion:focus-visible { transform: none !important; }
}

* { scrollbar-color: #355b49 transparent; }
*::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #3d6852, #2e5141); }
*::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #4b7a60, #39624d); }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .menu-item:hover, .new-chat:hover, .message-row:hover .message-content, .send-button:hover,
    .agenda-item:hover, .media-card:hover, .schedule-summary article:hover, .budget-summary article:hover,
    .media-card:hover .media-card-image, .schedule-bar:hover { transform: none !important; }
}
