/* MANU Internal UI — light visual layer aligned with the approved login identity. */
:root {
    --manu-green: #20a846;
    --manu-green-dark: #087139;
    --manu-green-soft: #e8f7ed;
    --manu-blue-soft: #eaf5fb;
    --manu-bg: #eef6f4;
    --manu-surface: rgba(255, 255, 255, .92);
    --manu-surface-solid: #fff;
    --manu-text: #0b2928;
    --manu-text-muted: #5c7472;
    --manu-text-dim: #78908e;
    --manu-border: rgba(16, 79, 67, .13);
    --manu-border-active: rgba(32, 168, 70, .48);
    --manu-shadow-sm: 0 8px 24px rgba(39, 84, 75, .08);
    --manu-shadow-md: 0 18px 48px rgba(39, 84, 75, .12);
    --manu-radius-sm: 10px;
    --manu-radius-md: 16px;
    --manu-radius-lg: 24px;
    --manu-motion-fast: 160ms;
    --manu-motion-normal: 240ms;
}

body {
    background:
        radial-gradient(circle at 82% 3%, rgba(123, 202, 236, .22), transparent 30%),
        radial-gradient(circle at 14% 88%, rgba(55, 178, 91, .12), transparent 27%),
        linear-gradient(145deg, #f4faf8, #eaf4f2 58%, #eef7fb);
    color: var(--manu-text);
}

.tech-background {
    background: radial-gradient(circle at 75% 8%, rgba(255,255,255,.8), transparent 28%);
}
.tech-grid {
    opacity: .34;
    background-image: linear-gradient(rgba(14,101,76,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(14,101,76,.045) 1px,transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(to bottom, black, transparent 90%);
}

/* Shell and sidebar */
.app { background: transparent; }
.sidebar {
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,251,249,.98));
    border-right: 1px solid var(--manu-border);
    box-shadow: 10px 0 32px rgba(30,80,68,.07);
}
.brand-text h1 { color: #082e2b; }
.brand-text span,.menu-label,.eyebrow { color: var(--manu-text-dim); }
.brand-avatar { border-radius: 18px; background: #edf8f1; box-shadow: 0 8px 20px rgba(25,117,66,.1); }
.new-chat {
    border: 1px solid rgba(32,168,70,.28);
    background: linear-gradient(135deg, #2dbb52, #15923e);
    color: #fff;
    box-shadow: 0 9px 20px rgba(25,146,62,.2);
}
.new-chat:hover { border-color: #14863a; background: linear-gradient(135deg,#35c45b,#16863c); transform: translateY(-1px); }
.menu-item { color: #526b68; border: 1px solid transparent; }
.menu-item:hover { border-color: rgba(32,168,70,.1); background: #f1f9f4; color: #153f39; transform: translateX(2px); }
.menu-item.active {
    border-color: rgba(32,168,70,.16);
    background: linear-gradient(90deg,#def4e5,#f3fbf6);
    color: #0a6535;
    box-shadow: inset 3px 0 #25ad4a;
}
.menu-item.active .menu-icon { color: #17923e; }
.sidebar-card {
    border: 1px solid rgba(32,168,70,.13);
    background: linear-gradient(145deg,#eff9f2,#f8fcfa);
    color: #315b51;
    box-shadow: none;
}
.sidebar-card strong { color: #143b35; }
.sidebar-card p,.sidebar-card small { color: #718a84; }
.support-report-trigger { color: #177c3b !important; border-color: rgba(32,168,70,.19) !important; background: rgba(255,255,255,.72) !important; }
.sidebar-scroll-region { scrollbar-color: #9bc7aa transparent; }
.sidebar-scroll-region::-webkit-scrollbar-thumb { background: #9bc7aa; }

/* Header and operational context */
.main { background: transparent; }
.topbar {
    background: rgba(255,255,255,.82);
    border-color: var(--manu-border);
    box-shadow: var(--manu-shadow-sm);
    backdrop-filter: blur(18px);
}
.topbar-title h2 { color: #092f2d; }
.topbar-title p { color: var(--manu-text-muted); }
.online-status { border-color: rgba(32,168,70,.18); background: #edf8f0; color: #277044; box-shadow: none; }
.online-status span { background: #29b951; box-shadow: 0 0 8px rgba(41,185,81,.35); }
.logout-button { color: #607875; }
.logout-button:hover { color: #11473d; background: #edf7f1; }
.top-avatar { border-color: rgba(32,168,70,.23) !important; background: #e9f7ed !important; box-shadow: 0 6px 18px rgba(26,111,68,.11) !important; }
.profile-menu {
    border-color: var(--manu-border);
    background: rgba(255,255,255,.98);
    color: var(--manu-text);
    box-shadow: var(--manu-shadow-md);
}
.profile-menu strong { color: #123b35; }
.profile-menu-head small,.profile-menu p,.profile-feedback { color: #728a86; }
.profile-menu button { color: #315d53; }
.profile-menu .profile-remove { background: #fff7f6; color: #a64d49; }

.context-panel {
    border: 1px solid var(--manu-border);
    background: rgba(255,255,255,.82);
    box-shadow: var(--manu-shadow-sm);
    backdrop-filter: blur(14px);
}
.context-heading label { color: #6b817d; }
.context-action { color: #168b3d; }
.context-action:hover { color: #075f31; background: #e8f6ec; }
.context-panel select,
.context-modal input {
    border-color: rgba(19,91,74,.18);
    background: #fff;
    color: #173d38;
    box-shadow: inset 0 1px 2px rgba(28,71,62,.035);
}
.context-panel select:focus,.context-modal input:focus { border-color: var(--manu-border-active); box-shadow: 0 0 0 3px rgba(32,168,70,.1); }

/* Central MANU hero */
.chat { padding: 20px 24px; background: transparent; }
.welcome {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,1.25fr) minmax(210px,.75fr);
    gap: 18px 26px;
    width: min(1120px,100%);
    margin: auto;
    padding: clamp(24px,4vw,48px);
    overflow: hidden;
    border: 1px solid rgba(20,104,82,.13);
    border-radius: 30px;
    background:
        linear-gradient(105deg,rgba(255,255,255,.97) 0 51%,rgba(255,255,255,.74) 66%,rgba(233,247,252,.72)),
        url('../branding/manu-login-hero.webp?v=20260916-02') center/cover;
    box-shadow: 0 24px 65px rgba(32,82,72,.13);
    text-align: left;
    animation: manuEnter .45s ease-out both;
}
.welcome::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(120deg,transparent 62%,rgba(32,168,70,.08)); }
.welcome-copy { position:relative; z-index:2; align-self:center; max-width:650px; }
.welcome-label { color:#13863d; font-size:11px; font-weight:800; letter-spacing:.18em; }
.welcome h2 { margin:10px 0 12px; color:#092e2b; font-size:clamp(30px,4vw,54px); line-height:1.05; letter-spacing:-.04em; }
.welcome-copy p { max-width:620px; color:#526f6b; font-size:clamp(14px,1.4vw,18px); line-height:1.55; }
.welcome-visual { position:relative; z-index:1; min-height:225px; align-self:end; }
.welcome-visual::before { content:""; position:absolute; inset:18% 5% 0; border-radius:50% 50% 24px 24px; background:radial-gradient(circle,rgba(117,204,235,.32),transparent 68%); }
.welcome-visual img { position:absolute; right:-1%; bottom:-48px; width:min(260px,100%); height:auto; max-height:330px; object-fit:contain; filter:drop-shadow(0 18px 20px rgba(19,67,58,.18)); }
.capabilities { position:relative; z-index:2; grid-column:1/-1; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.capability {
    display:grid; grid-template-columns:36px minmax(0,1fr); grid-template-rows:auto auto; gap:2px 9px;
    min-height:88px; padding:14px; border:1px solid rgba(21,100,80,.11); border-radius:16px;
    background:rgba(255,255,255,.82); box-shadow:0 7px 18px rgba(35,83,72,.07);
    transition:transform var(--manu-motion-normal),box-shadow var(--manu-motion-normal),border-color var(--manu-motion-normal);
}
.capability:hover { transform:translateY(-3px); border-color:rgba(32,168,70,.25); box-shadow:0 12px 25px rgba(35,83,72,.11); }
.capability>span { grid-row:1/3; display:grid; width:36px; height:36px; place-items:center; border-radius:11px; background:#e7f6eb; color:#168e3d; font-weight:800; }
.capability strong { color:#123c36; font-size:12px; }
.capability small { color:#708682; font-size:10px; line-height:1.3; }
.suggestions { position:relative; z-index:2; grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:8px; }
.suggestions-title { flex:0 0 100%; margin-bottom:2px; color:#315d55; font-size:12px; }
.suggestion { border:1px solid rgba(18,104,79,.14); background:rgba(255,255,255,.78); color:#315d55; box-shadow:none; }
.suggestion:hover { border-color:rgba(32,168,70,.34); background:#f2faf4; color:#096536; transform:translateY(-1px); }

/* Chat messages and composer */
.message { color:#183d38; border-color:rgba(20,92,74,.12); box-shadow:var(--manu-shadow-sm); }
.bot-message { background:#fff; }
.user-message { background:linear-gradient(145deg,#dff4e6,#edf9f1); border-color:rgba(32,168,70,.2); }
.sender { color:#58736e; }.message-time { color:#829692; }
.bot-avatar { background:linear-gradient(145deg,#2db553,#15833c); color:#fff; }
.input-container { background:linear-gradient(0deg,rgba(235,245,242,.98),rgba(242,249,247,.9)); border-color:var(--manu-border); }
.manu-composer .input-shell {
    border-color:rgba(19,94,74,.15); background:#fff; box-shadow:0 14px 36px rgba(36,85,74,.12);
}
.manu-composer .input-shell:focus-within { border-color:rgba(32,168,70,.43); background:#fff; box-shadow:0 0 0 4px rgba(32,168,70,.08),0 16px 38px rgba(36,85,74,.13); }
.input-shell textarea { color:#173d38; }.input-shell textarea::placeholder { color:#8aa09c; }
.attachment-button,.voice-button { border-color:rgba(19,94,74,.15); background:#f3f9f6; color:#397066; }
.attachment-button:hover,.voice-button:hover { border-color:rgba(32,168,70,.35); background:#e9f7ed; color:#107239; }
.send-button { border-color:#16923f; background:linear-gradient(135deg,#2fbd55,#16913e); color:#fff; box-shadow:0 8px 18px rgba(22,145,62,.2); }
.input-info,.typing-container { color:#6f8782; }
.message-attachment,.chat-attachment-card { border-color:rgba(22,101,79,.15); background:#fff; color:#345e55; box-shadow:var(--manu-shadow-sm); }

/* Operational screens */
.document-panel,.library-panel,.users-panel,.budget-panel,.agenda-panel,.media-panel,.schedule-panel,.costs-panel {
    border-color:var(--manu-border); background:rgba(255,255,255,.9); color:var(--manu-text); box-shadow:var(--manu-shadow-sm);
}
.library-header h3,.users-header h3,.agenda-header h3,.media-header h3,.schedule-header h3,.budget-header h3,.costs-header h3 { color:#113b35; }
.library-eyebrow { color:#258147; }
.document-card,.library-item,.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,.costs-summary article,.costs-dashboard>section {
    border-color:var(--manu-border); background:#fff; color:#214943; box-shadow:0 6px 18px rgba(38,83,73,.06);
}
.agenda-item:hover,.media-card:hover,.schedule-summary article:hover,.budget-summary article:hover,.costs-summary article:hover { border-color:rgba(32,168,70,.24); background:#fbfefc; transform:translateY(-1px); box-shadow:var(--manu-shadow-sm); }
.users-table-wrap,.budget-table-wrap,.costs-table-wrap,.schedule-gantt { border-color:var(--manu-border); background:#fff; }
table { color:#274d47; } thead th { background:#edf7f1 !important; color:#41665f !important; border-color:var(--manu-border) !important; } tbody td { border-color:rgba(22,87,71,.09) !important; }
tbody tr:hover { background:#f4faf6 !important; }

.agenda-controls button,.agenda-filters input,.agenda-filters select,.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,.costs-panel input,.costs-panel select,.costs-panel textarea {
    border-color:rgba(18,90,72,.17); background:#fff; color:#214943; box-shadow:none;
}
input:focus,select:focus,textarea:focus,button:focus-visible { outline:2px solid rgba(32,168,70,.45); outline-offset:2px; }
.users-primary-action,.library-add { border-color:#168d3d !important; background:linear-gradient(135deg,#2db951,#168c3d) !important; color:#fff !important; }
.budget-comparisons article,.budget-coverage article,.costs-chart { background:#f7fbf8 !important; border-color:var(--manu-border) !important; color:#315b53 !important; }

dialog.context-modal,dialog.users-modal,dialog.costs-modal {
    border-color:rgba(18,91,72,.18); background:#fff; color:#173d38; box-shadow:0 28px 80px rgba(24,64,56,.22);
}
dialog::backdrop { background:rgba(24,54,49,.36) !important; backdrop-filter:blur(4px); }
.users-modal form>label,.context-modal form>label,.costs-modal label { color:#526f69; }
.users-modal input:not([type=checkbox]),.users-modal select,.users-modal textarea,.context-modal input,.costs-modal input,.costs-modal select,.costs-modal textarea { border-color:rgba(18,91,72,.18); background:#fafdfe; color:#173d38; }
.users-modal-actions button,.context-modal-actions button { border-color:rgba(18,91,72,.16); background:#eef7f1; color:#28584e; }

/* Five bounded refinements over the recovered V1 composition. */
.manu-composer .manu-avatar { display:none !important; }
.manu-composer { grid-template-columns:minmax(0,1fr) !important; grid-template-areas:"preview" "shell" "info" !important; }
.typing-container { padding-left:0 !important; }
.capability { --card-accent:#17783d; --card-tint:#eaf7ee; border-color:#d6e8df; background:linear-gradient(145deg,#fff,var(--card-tint)); box-shadow:0 7px 18px rgba(35,83,72,.08); }
.capability:nth-child(2) { --card-accent:#245c9d; --card-tint:#edf5fd; }
.capability:nth-child(3) { --card-accent:#744293; --card-tint:#f6effa; }
.capability:nth-child(4) { --card-accent:#925018; --card-tint:#fff5e9; }
.capability:nth-child(5) { --card-accent:#286b72; --card-tint:#eaf7f8; }
.capability>span { background:var(--card-tint); color:var(--card-accent); border:1px solid currentColor; font-size:20px; transition:transform .2s ease; }
.capability:hover>span { transform:scale(1.08); }
.capability strong { font-weight:750; line-height:1.35; }
.capability small { color:#526e67; line-height:1.4; }
body.session-ready { background:radial-gradient(ellipse at 85% 4%,#e0f2fc,transparent 48%),radial-gradient(ellipse at 10% 90%,#e7f6eb,transparent 45%),#f6fbf9; }
.welcome { background-image:linear-gradient(105deg,rgba(255,255,255,.97) 0 51%,rgba(255,255,255,.78) 66%,rgba(233,247,252,.76)),url('../branding/manu-login-hero.webp?v=20260916-02'); }
.sidebar { background:linear-gradient(165deg,#fff 15%,#f4faf8 70%,#edf7f3); }
.menu-item { transition:background .2s,color .2s,transform .2s; }
.menu-item .menu-icon { color:#39776b; }
.menu-item.active .menu-icon { color:#087139; }
.agenda-panel { background:linear-gradient(145deg,#fff,#f3faf7); }
.agenda-summary article,.agenda-item { border:1px solid #dbe9e3; box-shadow:0 6px 18px rgba(38,83,73,.07); }
.agenda-summary strong,.agenda-summary b,.agenda-item h4,.agenda-item-cost { color:#164b3c; }
.agenda-panel p,.agenda-panel small,.agenda-summary span,.agenda-item-meta,.agenda-control-row label { color:#526b63; }
.agenda-panel .agenda-status { color:#675014; background:#fff5d8; border:1px solid #e9dcae; }
.agenda-panel .agenda-status.status-em_andamento { color:#245c91; background:#eaf3fd; border-color:#cbdff4; }
.agenda-panel .agenda-status.status-concluida { color:#24613d; background:#e9f5ed; border-color:#cde5d6; }
.agenda-panel .agenda-status.status-cancelada { color:#754852; background:#f8eef0; border-color:#e7d4da; }
.agenda-item.is-overdue .agenda-status { color:#8b4032; background:#fff0eb; border-color:#efcfc6; }

/* Final visual system: construction, sky, nature and glass surfaces. */
body.session-ready {
    background:#e9f6f3;
    color:#0b3042;
}
body.session-ready .tech-background {
    position:fixed;
    inset:0;
    opacity:1;
    background:
        linear-gradient(180deg,rgba(238,249,255,.35),rgba(239,251,247,.56) 56%,rgba(223,246,232,.74)),
        url('../branding/manu-internal-landscape.webp?v=20260917-01') center/cover no-repeat;
    filter:saturate(.92);
}
body.session-ready .tech-grid {
    opacity:.15;
    background-size:56px 56px;
    mask-image:linear-gradient(to bottom,black,transparent 64%);
}
body.session-ready .main { position:relative; isolation:isolate; }
body.session-ready .main::before {
    content:"";
    position:absolute;
    z-index:-1;
    inset:0;
    pointer-events:none;
    background:linear-gradient(115deg,rgba(246,253,251,.32),rgba(221,244,249,.16) 55%,rgba(226,248,233,.25));
}

body.session-ready .sidebar {
    border-right:1px solid rgba(18,90,72,.12);
    background:
        radial-gradient(circle at 8% 90%,rgba(59,181,91,.17),transparent 24%),
        linear-gradient(165deg,rgba(255,255,255,.96),rgba(247,253,251,.91) 60%,rgba(232,248,238,.91));
    box-shadow:12px 0 38px rgba(29,81,69,.1);
    backdrop-filter:blur(20px);
}
body.session-ready .sidebar::after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:150px;
    z-index:-1;
    pointer-events:none;
    background:linear-gradient(0deg,rgba(167,224,181,.22),transparent),radial-gradient(ellipse at 20% 110%,rgba(42,156,70,.17),transparent 58%);
}
body.session-ready .brand-avatar { border-radius:50%; border:3px solid rgba(255,255,255,.9); box-shadow:0 10px 26px rgba(12,90,65,.16); }
body.session-ready .new-chat { min-height:48px; border-radius:14px; box-shadow:0 12px 26px rgba(18,158,62,.2); }
body.session-ready .menu-item { min-height:46px; border-radius:13px; font-weight:650; }
body.session-ready .menu-item:hover { background:rgba(235,249,240,.84); transform:translateX(4px); box-shadow:0 8px 20px rgba(23,91,69,.07); }
body.session-ready .menu-item.active { background:linear-gradient(90deg,rgba(219,246,228,.98),rgba(238,251,243,.84)); box-shadow:inset 4px 0 #20b94e,0 8px 20px rgba(23,91,69,.07); }
body.session-ready .menu-icon { display:grid; width:28px; height:28px; place-items:center; border-radius:9px; background:rgba(255,255,255,.7); filter:saturate(1.25); }
body.session-ready .sidebar-card { background:rgba(255,255,255,.62); border-color:rgba(25,127,82,.12); backdrop-filter:blur(12px); }

body.session-ready .topbar {
    background:linear-gradient(90deg,rgba(255,255,255,.82),rgba(231,247,253,.72));
    border-color:rgba(22,101,80,.12);
    box-shadow:0 10px 30px rgba(30,92,79,.08);
    backdrop-filter:blur(20px) saturate(1.1);
}
body.session-ready .topbar-title h2 { color:#092f4c; letter-spacing:-.025em; }
body.session-ready .online-status { background:rgba(243,255,247,.77); backdrop-filter:blur(10px); }

body.session-ready .context-panel {
    gap:10px;
    margin:10px 20px;
    padding:10px;
    border:1px solid rgba(255,255,255,.68);
    border-radius:18px;
    background:rgba(255,255,255,.62);
    box-shadow:0 15px 36px rgba(27,91,79,.1),inset 0 1px rgba(255,255,255,.95);
    backdrop-filter:blur(18px) saturate(1.1);
}
body.session-ready .context-item {
    position:relative;
    padding:8px 10px 9px 48px;
    border:1px solid rgba(20,103,82,.1);
    border-radius:14px;
    background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(242,251,249,.68));
    box-shadow:0 7px 18px rgba(32,82,72,.06);
}
body.session-ready .context-item::before {
    content:"M";
    position:absolute;
    left:11px;
    top:50%;
    display:grid;
    width:28px;
    height:32px;
    place-items:center;
    border-radius:8px;
    background:linear-gradient(145deg,#2fc55b,#109447);
    color:#fff;
    font-weight:850;
    transform:translateY(-50%);
    box-shadow:0 6px 14px rgba(21,145,65,.2);
}
body.session-ready .context-item:nth-of-type(3)::before { content:"▥"; background:linear-gradient(145deg,#a85cf1,#7742dc); }
body.session-ready .context-item:nth-of-type(4)::before { content:"●"; background:linear-gradient(145deg,#ffc926,#f0a100); }
body.session-ready .context-heading { margin-bottom:2px; }
body.session-ready .context-heading label { color:#123f55; font-weight:800; }
body.session-ready .context-panel select { height:30px; padding-block:3px; border:0; background:transparent; color:#12364d; box-shadow:none; font-size:13px; }

body.session-ready .chat { padding:14px 20px 12px; }
body.session-ready .welcome {
    grid-template-columns:minmax(190px,.58fr) minmax(340px,1.42fr);
    gap:12px 22px;
    width:min(1240px,100%);
    padding:28px 34px 24px;
    border:1px solid rgba(255,255,255,.72);
    border-radius:28px;
    background:
        linear-gradient(100deg,rgba(242,255,247,.5),rgba(255,255,255,.82) 44%,rgba(238,249,253,.55)),
        url('../branding/manu-internal-landscape.webp?v=20260917-01') center/cover no-repeat;
    box-shadow:0 24px 60px rgba(23,91,76,.15),inset 0 1px rgba(255,255,255,.9);
    backdrop-filter:blur(7px);
}
body.session-ready .welcome::before {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(223,248,232,.38),rgba(255,255,255,.1) 46%,rgba(218,243,253,.12));
}
body.session-ready .welcome::after { background:linear-gradient(0deg,rgba(215,244,224,.22),transparent 44%); }
body.session-ready .welcome-copy { grid-column:2; grid-row:1; max-width:720px; padding:8px 0; }
body.session-ready .welcome-label { color:#087d3c; text-shadow:0 1px rgba(255,255,255,.9); }
body.session-ready .welcome h2 { margin:8px 0 10px; color:#082f50; font-size:clamp(34px,3.9vw,58px); text-shadow:0 2px 0 rgba(255,255,255,.65); }
body.session-ready .welcome-copy p { color:#284f61; font-size:clamp(14px,1.25vw,17px); font-weight:520; }
body.session-ready .welcome-visual { grid-column:1; grid-row:1; min-height:205px; align-self:end; }
body.session-ready .welcome-visual::before { inset:7% 1% 0; background:radial-gradient(circle,rgba(213,249,224,.94),rgba(216,247,229,.35) 54%,transparent 72%); }
body.session-ready .welcome-visual img { right:50%; bottom:-32px; width:min(225px,100%); max-height:300px; transform:translateX(50%); filter:drop-shadow(0 18px 24px rgba(11,70,61,.2)); }
body.session-ready .capabilities { gap:11px; }
body.session-ready .capability {
    position:relative;
    grid-template-columns:44px minmax(0,1fr);
    min-height:104px;
    padding:14px 12px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.86);
    border-bottom-color:color-mix(in srgb,var(--card-accent) 25%,white);
    border-radius:18px;
    background:linear-gradient(145deg,rgba(255,255,255,.93),color-mix(in srgb,var(--card-tint) 72%,transparent));
    box-shadow:0 12px 26px rgba(28,79,69,.11),inset 0 1px rgba(255,255,255,.95);
    backdrop-filter:blur(13px);
}
body.session-ready .capability::after {
    content:"→";
    position:absolute;
    right:10px;
    bottom:9px;
    display:grid;
    width:25px;
    height:25px;
    place-items:center;
    border-radius:50%;
    background:color-mix(in srgb,var(--card-tint) 75%,white);
    color:var(--card-accent);
    font-weight:900;
}
body.session-ready .capability:hover { transform:translateY(-5px); box-shadow:0 18px 34px rgba(28,79,69,.16); }
body.session-ready .capability>span { width:42px; height:42px; border:0; background:linear-gradient(145deg,color-mix(in srgb,var(--card-accent) 72%,white),var(--card-accent)); color:#fff; box-shadow:0 8px 18px color-mix(in srgb,var(--card-accent) 24%,transparent); }
body.session-ready .capability strong { color:#0c3450; font-size:13px; }
body.session-ready .capability small { padding-right:18px; color:#426376; font-size:10.5px; }
body.session-ready .capability strong,body.session-ready .capability small { overflow:visible; white-space:normal; text-overflow:clip; }
body.session-ready .suggestions { gap:8px; padding:11px 13px; border:1px solid rgba(255,255,255,.75); border-radius:17px; background:rgba(255,255,255,.65); box-shadow:0 10px 24px rgba(27,84,73,.08); backdrop-filter:blur(14px); }
body.session-ready .suggestions-title { color:#123b54; }
body.session-ready .suggestions-title::before { content:"✦"; margin-right:7px; color:#f1b20a; }
body.session-ready .suggestion { flex:1 1 190px; min-height:42px; border-color:rgba(21,109,83,.12); border-radius:12px; background:rgba(255,255,255,.72); color:#31566b; }
body.session-ready .suggestion::before { content:"“"; margin-right:5px; color:#22b657; font-size:18px; font-weight:850; }

body.session-ready .library-panel {
    margin:0 20px 10px;
    border:1px solid rgba(255,255,255,.78);
    border-radius:18px;
    background:linear-gradient(90deg,rgba(255,255,255,.85),rgba(245,253,250,.7));
    box-shadow:0 13px 30px rgba(28,86,73,.11),inset 0 1px rgba(255,255,255,.95);
    backdrop-filter:blur(18px);
}
body.session-ready .library-header h3 { color:#103d50; }
body.session-ready .library-clear-active { min-height:38px; border-radius:11px; border:1px solid rgba(21,100,80,.1); background:rgba(255,255,255,.68); color:#547168; }
body.session-ready .library-add { border-radius:12px !important; box-shadow:0 9px 20px rgba(20,145,62,.2); }
body.session-ready .input-container { padding:10px 20px 12px; border-color:rgba(255,255,255,.72); background:linear-gradient(0deg,rgba(224,245,236,.7),rgba(245,252,250,.65)); backdrop-filter:blur(16px); }
body.session-ready .manu-composer .input-shell { min-height:62px; border:1px solid rgba(255,255,255,.85); border-radius:19px; background:rgba(255,255,255,.84); box-shadow:0 14px 34px rgba(27,88,74,.13),inset 0 1px rgba(255,255,255,.98); backdrop-filter:blur(14px); }
body.session-ready .send-button { min-width:112px; border-radius:14px; background:linear-gradient(135deg,#28be54,#07983e); box-shadow:0 11px 24px rgba(17,145,60,.24); }
body.session-ready .attachment-button,body.session-ready .voice-button { border-radius:12px; background:rgba(240,250,246,.92); }

body.session-ready .document-panel,body.session-ready .users-panel,body.session-ready .budget-panel,body.session-ready .agenda-panel,body.session-ready .media-panel,body.session-ready .schedule-panel,body.session-ready .costs-panel {
    margin-inline:20px;
    border:1px solid rgba(255,255,255,.76);
    border-radius:22px;
    background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(239,250,246,.72));
    box-shadow:0 18px 44px rgba(29,86,73,.13),inset 0 1px rgba(255,255,255,.96);
    backdrop-filter:blur(18px) saturate(1.08);
}
body.session-ready .agenda-panel { background:linear-gradient(145deg,rgba(255,255,255,.87),rgba(233,248,243,.75)); }
body.session-ready .agenda-header h3 { color:#0b3851; }
body.session-ready .agenda-control-row { border-color:rgba(23,99,79,.1); background:rgba(255,255,255,.68); backdrop-filter:blur(10px); }
body.session-ready .agenda-summary article { border-color:rgba(255,255,255,.85); background:linear-gradient(145deg,rgba(255,255,255,.93),rgba(236,249,243,.78)); box-shadow:0 10px 22px rgba(28,83,72,.09); }
body.session-ready .agenda-item { border-color:rgba(255,255,255,.88); border-left:4px solid #31b65b; background:rgba(255,255,255,.86); box-shadow:0 10px 24px rgba(28,83,72,.09); }
body.session-ready .agenda-item:hover { transform:translateY(-2px); box-shadow:0 15px 30px rgba(28,83,72,.13); }
body.session-ready .users-table-wrap,body.session-ready .budget-table-wrap,body.session-ready .costs-table-wrap,body.session-ready .schedule-gantt { background:rgba(255,255,255,.8); backdrop-filter:blur(10px); }
body.session-ready dialog.context-modal,body.session-ready dialog.users-modal,body.session-ready dialog.costs-modal { background:rgba(255,255,255,.96); backdrop-filter:blur(18px); }

@media (max-width:1100px) {
    body.session-ready .welcome { grid-template-columns:165px minmax(0,1fr); padding:24px; }
    body.session-ready .welcome-visual img { width:190px; }
    body.session-ready .capabilities { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:800px) {
    body.session-ready .context-panel { margin-inline:12px; }
    body.session-ready .welcome { grid-template-columns:135px minmax(0,1fr); }
    body.session-ready .welcome-visual { min-height:165px; }
    body.session-ready .welcome h2 { font-size:34px; }
    body.session-ready .library-panel,body.session-ready .document-panel,body.session-ready .users-panel,body.session-ready .budget-panel,body.session-ready .agenda-panel,body.session-ready .media-panel,body.session-ready .schedule-panel,body.session-ready .costs-panel { margin-inline:12px; }
}
@media (max-width:650px) {
    body.session-ready .tech-background { background:linear-gradient(165deg,#eaf7fc,#f7fcfa 52%,#e9f7ed); }
    body.session-ready .context-panel { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; padding:6px; }
    body.session-ready .context-item { display:block; min-width:0; padding:6px; }
    body.session-ready .context-item::before { display:none; }
    body.session-ready .context-heading { min-height:auto; margin-bottom:2px; }
    body.session-ready .context-heading label { font-size:8px; }
    body.session-ready .context-panel select { width:100%; height:27px; padding:2px; font-size:9px; }
    body.session-ready .welcome { grid-template-columns:1fr; padding:88px 17px 18px; background:linear-gradient(180deg,rgba(227,248,255,.34),rgba(255,255,255,.93) 30%,rgba(232,248,238,.91)),url('../branding/manu-internal-landscape.webp?v=20260917-01') 66% top/auto 160px no-repeat; }
    body.session-ready .welcome-copy { grid-column:1; grid-row:1; padding:0; }
    body.session-ready .welcome-visual { display:none !important; }
    body.session-ready .capabilities { grid-template-columns:1fr; }
    body.session-ready .capability { min-height:86px; }
    body.session-ready .suggestion { flex-basis:100%; }
    body.session-ready .context-panel { border-radius:14px; }
    body.session-ready .input-container { padding-inline:10px; }
}
@media (min-width:801px) and (max-height:800px) {
    body.session-ready .chat { padding-block:10px; }
    body.session-ready .welcome { grid-template-rows:128px 76px 48px; gap:7px 18px; padding:12px 26px; }
    body.session-ready .welcome-visual { min-height:128px; }
    body.session-ready .welcome-visual img { width:150px; max-height:178px; bottom:-18px; }
    body.session-ready .welcome-copy { padding:0; }
    body.session-ready .welcome h2 { margin:4px 0 5px; font-size:clamp(30px,3vw,40px); }
    body.session-ready .welcome-copy p { font-size:13px; line-height:1.35; }
    body.session-ready .capability { grid-template-columns:34px minmax(0,1fr); min-height:76px; padding:8px; gap:1px 7px; }
    body.session-ready .capability>span { width:32px; height:32px; font-size:16px; }
    body.session-ready .capability strong { font-size:11px; line-height:1.18; }
    body.session-ready .capability small { padding-right:14px; font-size:9px; line-height:1.25; }
    body.session-ready .capability::after { width:20px; height:20px; right:7px; bottom:6px; font-size:11px; }
    body.session-ready .suggestions { align-content:center; gap:2px 6px; height:48px; padding:3px 9px; overflow:hidden; }
    body.session-ready .suggestions-title { margin:0; font-size:10px; }
    body.session-ready .suggestion { min-height:22px; padding-block:2px; font-size:8.5px; }
}

/* Motion and responsive behavior */
@keyframes manuEnter { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@media (max-width:1100px) {
    .welcome { grid-template-columns:minmax(0,1fr) 190px; padding:28px; }
    .capabilities { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .welcome-visual img { width:210px; }
}
@media (max-width:800px) {
    .welcome { grid-template-columns:1fr 145px; gap:14px; border-radius:22px; }
    .welcome h2 { font-size:34px; }
    .welcome-visual { min-height:170px; }.welcome-visual img { width:165px; bottom:-30px; }
    .capabilities { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:650px) {
    body { background:linear-gradient(160deg,#f5faf8,#eaf4f2); }
    .chat { padding:12px; }
    .welcome { grid-template-columns:1fr; padding:22px 18px; text-align:left; }
    .welcome-copy { padding-right:80px; }.welcome h2 { font-size:29px; }
    .welcome-visual { position:absolute; top:10px; right:4px; width:105px; min-height:145px; opacity:.9; }
    .welcome-visual img { width:105px; right:0; bottom:0; }
    .capabilities { grid-template-columns:1fr 1fr; margin-top:12px; }
    .capability { grid-template-columns:30px minmax(0,1fr); min-height:76px; padding:11px; }
    .capability>span { width:30px; height:30px; }
    .suggestion { width:100%; text-align:left; }
    .topbar { background:rgba(255,255,255,.92); }
}
@media (max-width:420px) {
    .welcome-copy { padding-right:66px; }.welcome-copy p { font-size:13px; }
    .welcome-visual { width:80px; }.welcome-visual img { width:82px; }
    .capabilities { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
    *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
    .capability:hover,.suggestion:hover,.menu-item:hover,.new-chat:hover { transform:none !important; }
}
