/* v4.45 · atalhos, missões progressivas, XP e notificações */
.action-bar { padding-bottom:44px !important; }
.action-brand-static { cursor:default !important; pointer-events:none; }
.action-brand-static:hover { transform:none !important; }
.action-quick-tools { position:absolute; z-index:2; top:92px; left:20px; display:grid; grid-template-columns:1fr 1fr; gap:5px; width:190px; }
.quick-tool-button {
    position:relative; display:flex; align-items:center; justify-content:center; gap:4px; min-width:0; min-height:28px;
    padding:5px 6px; color:var(--text-muted); background:var(--panel-surface); border:1px solid var(--line);
    border-radius:7px; font:700 8px/1 var(--type-ui); letter-spacing:.025em; cursor:pointer;
}
.quick-tool-button:hover { color:var(--navy-strong); border-color:color-mix(in srgb,var(--navy-mid) 45%,var(--line)); background:var(--canvas-soft); }
.quick-tool-button svg { width:14px; height:14px; flex:0 0 14px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.quick-tool-count { display:grid; place-items:center; min-width:16px; height:16px; padding:0 4px; color:#fff; background:var(--signal); border:2px solid var(--canvas); border-radius:999px; font:800 8px/1 var(--type-ui); }
.quick-tool-count.hidden { display:none; }

.quiz-progress-actions { display:flex; align-items:center; gap:5px; flex:none; }
.quiz-progress-button {
    display:inline-flex; align-items:center; justify-content:center; gap:4px; min-height:30px; padding:5px 7px;
    color:var(--text-muted); background:var(--panel-surface); border:1px solid var(--line); border-radius:7px;
    font:700 8px/1 var(--type-ui); cursor:pointer;
}
.quiz-progress-button:hover { color:var(--navy-strong); border-color:color-mix(in srgb,var(--navy-mid) 45%,var(--line)); background:var(--canvas-soft); }
.quiz-progress-button svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

.progression-overlay { z-index:510; padding:14px; overflow:hidden; }
.progression-modal {
    width:min(500px,calc(100vw - 28px)); max-width:500px; max-height:min(680px,calc(100dvh - 28px));
    overflow:hidden; padding:0; border-radius:14px; background:var(--panel-surface); box-shadow:0 24px 70px rgb(5 18 38 / 34%);
}
.progression-modal-header { display:grid; grid-template-columns:40px minmax(0,1fr) 36px; align-items:center; gap:9px; padding:14px 15px 12px; border-bottom:1px solid var(--line); }
.progression-modal-header > div { min-width:0; }
.progression-modal-header small { display:block; color:var(--signal); font:800 8px var(--type-ui); letter-spacing:.13em; text-transform:uppercase; }
.progression-modal-header h2 { margin:2px 0 0; color:var(--text-main); font:800 20px/1.1 var(--type-heading); }
.progression-modal-icon { display:grid; place-items:center; width:38px; height:38px; color:#d9aa3e; background:color-mix(in srgb,#d9aa3e 12%,var(--canvas-soft)); border:1px solid color-mix(in srgb,#d9aa3e 36%,var(--line)); border-radius:10px; }
.progression-modal-icon.mission-symbol { color:#3f7e62; background:color-mix(in srgb,#4b9272 12%,var(--canvas-soft)); border-color:color-mix(in srgb,#4b9272 38%,var(--line)); }
.progression-modal-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.progression-close {
    display:grid; place-items:center; width:34px; height:34px; padding:0; color:#fff; background:#a92539;
    border:1px solid #fff; border-radius:9px; box-shadow:0 3px 0 #741426; font:800 22px/1 var(--type-ui); cursor:pointer;
}
.progression-close:hover { background:#be3046; }
.progression-close:focus-visible { outline:3px solid color-mix(in srgb,#b82b42 38%,#fff); outline-offset:2px; }
.progression-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 15px; color:var(--text-muted); background:var(--canvas-soft); border-bottom:1px solid var(--line); font:600 10px/1.25 var(--type-ui); }
.progression-toolbar button,.mission-rules-link { padding:0; color:var(--navy-bright); background:none; border:0; font:750 9px/1.3 var(--type-ui); cursor:pointer; text-decoration:underline; text-underline-offset:2px; }
.notification-list,.mission-list { display:grid; gap:0; max-height:min(490px,calc(100dvh - 170px)); overflow-y:auto; overscroll-behavior:contain; }
.notification-item { display:grid; grid-template-columns:36px minmax(0,1fr) 8px; align-items:start; gap:10px; width:100%; padding:12px 15px; color:var(--text-main); text-align:left; background:transparent; border:0; border-bottom:1px solid var(--line); cursor:pointer; }
.notification-item:hover { background:var(--canvas-soft); }
.notification-item.is-unread { background:color-mix(in srgb,var(--navy-bright) 7%,var(--panel-surface)); }
.notification-symbol { display:grid; place-items:center; width:34px; height:34px; color:#fff; background:#345d88; border-radius:9px; font:800 15px var(--type-heading); }
.notification-symbol.type-suporte { background:#8e3448; }.notification-symbol.type-vencimento { background:#b06b2b; }.notification-symbol.type-missao { background:#3e7c5e; }.notification-symbol.type-plano { background:#8a6a20; }
.notification-copy { display:grid; min-width:0; gap:3px; }
.notification-copy strong { font:750 12px/1.25 var(--type-heading); }
.notification-copy > span { color:var(--text-muted); font:500 10px/1.38 var(--type-ui); overflow-wrap:anywhere; }
.notification-copy small { color:var(--text-subtle,var(--text-muted)); font:650 8px var(--type-ui); }
.notification-unread { width:7px; height:7px; margin-top:5px; background:var(--signal); border-radius:50%; box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 14%,transparent); }
.progression-empty { display:grid; place-items:center; gap:5px; min-height:130px; padding:24px; color:var(--text-muted); text-align:center; font:600 11px/1.4 var(--type-ui); }
.progression-empty strong { color:var(--text-main); font:750 14px var(--type-heading); }

.xp-summary { display:grid; grid-template-columns:1fr 1fr; gap:4px 12px; padding:13px 15px; background:linear-gradient(120deg,color-mix(in srgb,var(--navy-strong) 9%,var(--panel-surface)),var(--panel-surface)); border-bottom:1px solid var(--line); }
.xp-summary > div:not(.xp-summary-progress) { display:grid; gap:2px; }
.xp-summary span { color:var(--text-muted); font:700 8px var(--type-ui); text-transform:uppercase; letter-spacing:.06em; }
.xp-summary strong { color:var(--text-main); font:800 13px var(--type-heading); overflow-wrap:anywhere; }
.xp-summary-progress { grid-column:1/-1; height:7px; margin-top:6px; overflow:hidden; background:var(--canvas-soft); border:1px solid var(--line); border-radius:999px; }
.xp-summary-progress i { display:block; width:0; height:100%; background:linear-gradient(90deg,#315f9b,#d7aa3d); border-radius:inherit; transition:width .45s ease; }
.xp-summary > small { grid-column:1/-1; color:var(--text-muted); font:650 9px var(--type-ui); }
.mission-group-title { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0; padding:9px 15px; color:var(--text-main); background:var(--canvas-soft); border-bottom:1px solid var(--line); font:800 10px/1.2 var(--type-heading); letter-spacing:.045em; text-transform:uppercase; }
.mission-group-title small { color:var(--text-muted); font:650 7.5px/1.2 var(--type-ui); letter-spacing:.035em; text-transform:none; }
.mission-item { display:grid; grid-template-columns:30px minmax(0,1fr); gap:10px; padding:12px 15px; border-bottom:1px solid var(--line); }
.mission-check { display:grid; place-items:center; width:28px; height:28px; color:var(--text-muted); background:var(--canvas-soft); border:1px solid var(--line); border-radius:50%; font:800 13px var(--type-ui); }
.mission-item.is-complete .mission-check { color:#fff; background:#3e7c5e; border-color:#3e7c5e; }
.mission-item.is-newly-complete { animation:mission-reward-flash .8s ease-out; }
.mission-copy { display:grid; gap:4px; min-width:0; }
.mission-copy > div:first-child { display:flex; align-items:start; justify-content:space-between; gap:9px; }
.mission-copy strong { color:var(--text-main); font:750 12px/1.2 var(--type-heading); }
.mission-copy b { flex:none; color:#9a7020; font:800 9px var(--type-ui); }
.mission-copy > span { color:var(--text-muted); font:500 9.5px/1.35 var(--type-ui); }
.mission-copy footer { display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; }
.mission-copy footer em { color:#3e7c5e; font:750 8px/1.2 var(--type-ui); font-style:normal; }
.mission-copy small { margin-left:auto; color:var(--text-muted); font:700 8px var(--type-ui); text-align:right; }
.mission-progress { height:5px; overflow:hidden; background:var(--canvas-soft); border-radius:999px; }
.mission-progress i { display:block; height:100%; background:#557ea8; border-radius:inherit; }
.mission-item.is-complete .mission-progress i { background:#3e7c5e; }
.mission-rules-link { display:block; width:calc(100% - 30px); margin:12px 15px 15px; padding:10px; border:1px solid var(--line); border-radius:8px; text-decoration:none; }
.mission-rules-link:hover { background:var(--canvas-soft); }
@keyframes mission-reward-flash { 0% { background:color-mix(in srgb,#d7aa3d 24%,var(--panel-surface)); } 100% { background:transparent; } }
.xp-rules-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:12px 0 18px; }
.xp-rules-grid article { display:grid; gap:3px; padding:10px; background:var(--canvas-soft); border:1px solid var(--line); border-radius:9px; }
.xp-rules-grid strong { color:#a27520; font:800 12px var(--type-heading); }
.xp-rules-grid span { color:var(--text-muted); font:550 9px/1.35 var(--type-ui); }
.xp-topic-subtitle { margin:18px 0 7px; color:var(--text-main); font:800 14px var(--type-heading); }
.xp-patent-table { min-width:520px; }

:root[data-theme="dark"] .quick-tool-button:hover { color:var(--text-main); }
:root[data-theme="dark"] .quiz-progress-button:hover { color:var(--text-main); }
:root[data-theme="dark"] .progression-close { color:#fff; background:#ba3047; border-color:#f2c9d0; }

@media (max-width:820px) {
    .action-quick-tools { top:78px; left:20px; width:154px; }
    .quick-tool-button { min-height:27px; padding:4px; font-size:7.4px; gap:3px; }
    .quick-tool-button svg { width:12px; height:12px; flex-basis:12px; }
}
@media (max-width:800px) {
    .action-quick-tools { top:74px; left:12px; }
}
@media (max-width:430px) {
    .action-quick-tools { top:68px; width:138px; }
    .quick-tool-button { font-size:0; min-height:28px; }
    .quick-tool-button svg { width:15px; height:15px; flex-basis:15px; }
    .quick-tool-count { font-size:7px; min-width:15px; height:15px; }
    .quiz-progress-actions { margin-left:auto; }
    .quiz-progress-button { width:31px; min-width:31px; height:30px; padding:0; }
    .quiz-progress-button span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
    .quiz-progress-button svg { width:15px; height:15px; }
    .progression-overlay { padding:12px; }
    .progression-modal { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); border-radius:12px; }
    .progression-modal-header { padding:12px; }
    .notification-list,.mission-list { max-height:calc(100dvh - 180px); }
    .xp-rules-grid { grid-template-columns:1fr; }
}
