@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap');

h1:focus{outline:none}

.filter-grid select{border:1px solid rgba(255,255,255,.15);background:#245758;color:white;border-radius:8px;padding:11px 12px;outline:none}.filter-grid select option{background:white;color:#132c2d}.keyword-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:15px;align-items:start}.keyword-list{display:flex;flex-direction:column;gap:10px}.keyword-card{display:flex;justify-content:space-between;gap:24px;align-items:center}.keyword-card h2,.keyword-editor h2{margin:6px 0 13px}.keyword-chips{display:flex;flex-wrap:wrap;gap:6px}.keyword-chips span{background:#eaf1ed;color:#176566;border-radius:20px;padding:5px 9px;font:10px 'IBM Plex Mono'}.card-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.card-actions>button{width:38px;height:38px;border:1px solid #d7ddd5;background:white;border-radius:9px;cursor:pointer}.card-actions>button.danger{color:#ba5746}.keyword-editor{position:sticky;top:20px}.keyword-editor>p{font-size:12px;line-height:1.55;color:#6c7c79}.keyword-editor label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700;margin-top:15px}.keyword-editor input,.keyword-editor textarea{width:100%;border:1px solid #d7ddd5;background:#f7f8f5;border-radius:8px;padding:11px 12px;resize:vertical;font:inherit}.delete-confirm{margin-top:16px;padding:15px;border:1px solid #e8bbb3;background:#faebe8;border-radius:10px}.delete-confirm p{font-size:11px}.delete-confirm>div{display:flex;gap:8px}.button.danger-fill{background:#ba5746;color:white}@media(max-width:900px){.keyword-layout{grid-template-columns:1fr}.keyword-editor{position:static}}@media(max-width:600px){.keyword-card{align-items:flex-start;flex-direction:column}.card-actions{width:100%;flex-wrap:wrap}.card-actions .button{flex:1}}

:root{--ink:#132c2d;--deep:#0d3c3d;--teal:#176566;--mint:#b8d9ce;--paper:#f3f5ef;--white:#fff;--amber:#efad3a;--rust:#ba5746;--line:#d7ddd5;--muted:#6c7c79;--shadow:0 18px 50px rgba(15,55,54,.09);--radius:16px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}body{overflow-x:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}.app-shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--deep);color:#e9f3ee;padding:32px 20px;position:fixed;inset:0 auto 0 0;width:244px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:13px;padding:0 8px;margin-bottom:58px}.brand-mark{width:42px;height:42px;border:2px solid var(--amber);display:grid;place-items:center;border-radius:50%;font-family:'Archivo Black';font-size:21px;color:var(--amber);transform:rotate(-8deg)}.brand strong{display:block;font-family:'Archivo Black';letter-spacing:.06em;font-size:17px}.brand small{display:block;color:#9ebbb5;font-size:11px;letter-spacing:.09em}.nav-kicker,.eyebrow,.note-label{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:10px;letter-spacing:.14em}.nav-kicker{color:#789c95;padding:0 12px 12px}.nav-list{display:flex;flex-direction:column;gap:5px}.nav-list a{display:flex;gap:13px;align-items:center;padding:12px;border-radius:10px;color:#b9cfca;font-weight:600;font-size:14px}.nav-list a span{width:21px;font-size:20px;font-weight:400}.nav-list a:hover{background:rgba(255,255,255,.06);color:#fff}.nav-list a.active{background:#f3f5ef;color:var(--deep);box-shadow:0 7px 20px rgba(0,0,0,.14)}.sidebar-note{margin-top:auto;border:1px solid rgba(184,217,206,.2);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:6px;background:rgba(255,255,255,.035)}.sidebar-note .note-label{color:var(--amber)}.sidebar-note strong{font-size:14px}.sidebar-note small{color:#93ada8;font-size:11px;line-height:1.5}.main-stage{grid-column:2;min-width:0}.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4.5vw;color:var(--muted);font-size:12px}.topbar-context{font-family:'IBM Plex Mono',monospace;letter-spacing:.05em}.status-dot{display:inline-block;width:7px;height:7px;background:#47a777;border-radius:50%;margin-right:8px;box-shadow:0 0 0 4px rgba(71,167,119,.13)}.topbar-date{text-transform:capitalize}.content{padding:50px 4.5vw 80px;max-width:1600px;margin:auto}.page-heading{margin-bottom:34px}.page-heading h1{font-family:'Archivo Black';letter-spacing:-.035em;font-size:clamp(32px,4vw,54px);line-height:1.03;margin:8px 0 10px;color:var(--ink)}.page-heading p{color:var(--muted);margin:0;font-size:16px}.eyebrow{color:var(--teal)}.heading-with-action{display:flex;align-items:end;justify-content:space-between;gap:30px}.button{border:0;border-radius:10px;min-height:44px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:16px;font-weight:700;cursor:pointer;transition:.2s}.button:disabled{opacity:.55;cursor:not-allowed}.button.primary{background:var(--amber);color:#2c2b20;box-shadow:0 8px 18px rgba(239,173,58,.24)}.button.primary:hover{transform:translateY(-2px);box-shadow:0 11px 24px rgba(239,173,58,.31)}.button.ghost{border:1px solid var(--line);background:white}.button.subtle{background:#e7ece6;color:var(--deep);align-self:end}.button.wide{width:100%;margin-top:25px}.metrics-grid{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:13px;margin-bottom:16px}.metric{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:25px;min-height:155px;display:flex;flex-direction:column}.metric.featured{background:var(--deep);color:#fff;border-color:var(--deep);position:relative;overflow:hidden}.metric.featured:after{content:"";position:absolute;border:1px solid rgba(239,173,58,.4);width:145px;height:145px;border-radius:50%;right:-44px;bottom:-78px;box-shadow:0 0 0 22px rgba(239,173,58,.05)}.metric span{color:var(--muted);font-size:12px;font-weight:600}.metric.featured span{color:#a9c6c0}.metric strong{font-family:'Archivo Black';font-size:38px;margin:auto 0 0;letter-spacing:-.03em}.metric small{color:var(--muted)}.metric.featured small{color:#a9c6c0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.7fr);gap:16px}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:27px;box-shadow:0 2px 0 rgba(20,50,48,.02)}.panel-head{display:flex;align-items:start;justify-content:space-between;gap:20px}.panel-head h2,.collection-form h2,.form-section h2{font-size:20px;margin:5px 0}.panel-head a{font-size:12px;color:var(--teal);font-weight:700}.timeline-panel{min-height:320px}.pulse-chart{height:190px;display:flex;align-items:end;gap:10px;padding-top:28px}.pulse-day{height:100%;flex:1;display:flex;align-items:center;flex-direction:column;justify-content:end;gap:9px}.pulse-day span{display:block;width:min(26px,80%);min-height:8px;background:var(--teal);border-radius:6px 6px 2px 2px;transition:.2s}.pulse-day:hover span{background:var(--amber)}.pulse-day small{font:9px 'IBM Plex Mono';color:var(--muted)}.sync-card{text-align:center;display:flex;flex-direction:column;align-items:center}.sync-card>.eyebrow{align-self:flex-start}.sync-orbit{width:82px;height:82px;border:1px dashed var(--mint);border-radius:50%;display:grid;place-items:center;margin:25px 0 15px;position:relative}.sync-orbit:before{content:"";width:57px;height:57px;background:#e9f2ed;border-radius:50%;position:absolute}.sync-orbit span{position:relative;font-size:25px;color:var(--teal)}.sync-card>strong{font-size:18px}.sync-card p{color:var(--muted);font-size:13px}.sync-card .button{margin-top:auto;width:100%}.empty-state{min-height:200px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--muted)}.empty-state>span{font-size:36px;color:var(--mint)}.empty-state strong{color:var(--ink);margin-top:8px}.empty-state p{margin:5px 0}.empty-state.compact{min-height:100px}.loading-panel{padding:60px;text-align:center;color:var(--muted);background:white;border:1px solid var(--line);border-radius:var(--radius)}.alert{border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:4px}.alert.error{background:#faebe8;border:1px solid #e8bbb3;color:#77352a}.alert small{margin-top:8px}.search-console{background:var(--deep);color:#fff;border-radius:18px;padding:28px;margin-bottom:25px;box-shadow:var(--shadow)}.search-main>label,.filter-grid label,.settings-form label,.collection-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700;letter-spacing:.03em}.search-box{display:grid;grid-template-columns:30px 1fr auto;align-items:center;background:white;border-radius:11px;padding:5px 5px 5px 13px;margin-top:8px}.search-box>span{color:var(--teal);font-size:22px}.search-box input{border:0;outline:0;padding:12px 8px;min-width:0}.search-box button{background:var(--amber);border:0;border-radius:8px;padding:11px 22px;font-weight:700;cursor:pointer}.filter-grid{display:grid;grid-template-columns:80px 1.2fr 1fr 1fr auto;gap:12px;margin-top:20px}.filter-grid label{color:#a9c6c0}.filter-grid input,.settings-form input,.collection-form input{border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.09);color:white;border-radius:8px;padding:11px 12px;outline:none}.filter-grid input:focus{border-color:var(--amber)}.results-head{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin:0 5px 12px}.results-head strong{color:var(--ink)}.tender-list{display:flex;flex-direction:column;gap:9px}.tender-card{background:white;border:1px solid var(--line);border-radius:14px;padding:19px;display:grid;grid-template-columns:68px 1fr 30px;gap:20px;transition:.2s}.tender-card:hover{transform:translateX(4px);border-color:#9dbab4;box-shadow:0 10px 30px rgba(20,60,55,.07)}.tender-date{border-right:1px solid var(--line);display:flex;flex-direction:column}.tender-date strong{font:30px 'Archivo Black'}.tender-date span{font:10px 'IBM Plex Mono';color:var(--teal)}.tender-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:9px}.tender-meta span{font:10px 'IBM Plex Mono';background:#eaf1ed;color:var(--teal);border-radius:20px;padding:4px 8px}.tender-body h2{font-size:16px;line-height:1.4;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tender-body>p{margin:0 0 12px;color:var(--muted);font-size:12px}.tender-counts{display:flex;gap:18px;font-size:11px;color:var(--muted)}.tender-arrow{align-self:center;color:var(--teal);font-size:20px}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:25px}.pagination button{border:1px solid var(--line);background:white;border-radius:8px;padding:9px 13px;cursor:pointer}.pagination button:disabled{opacity:.4}.pagination span{font:11px 'IBM Plex Mono'}.back-link{font-size:12px;color:var(--teal);font-weight:700}.detail-hero{margin:20px 0 15px;background:var(--deep);color:white;border-radius:18px;padding:34px;display:grid;grid-template-columns:1fr auto;gap:35px}.detail-hero h1{font-size:clamp(23px,3vw,38px);line-height:1.2;margin:16px 0 12px}.detail-hero p{color:#b4cbc6}.session-ticket{background:var(--amber);color:#302f20;border-radius:11px;min-width:180px;padding:20px;display:flex;flex-direction:column;align-self:start}.session-ticket span{font:10px 'IBM Plex Mono'}.session-ticket strong{font:21px 'Archivo Black';margin-top:20px}.session-ticket small{font:18px 'IBM Plex Mono'}.detail-facts{display:grid;grid-template-columns:repeat(6,1fr);background:white;border:1px solid var(--line);border-radius:14px;margin-bottom:15px}.detail-facts div{padding:18px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:7px}.detail-facts div:last-child{border:0}.detail-facts span{font-size:9px;color:var(--muted);text-transform:uppercase}.detail-facts strong{font-size:12px}.detail-columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(290px,.8fr);gap:15px}.items-table{margin-top:18px}.table-row{display:grid;grid-template-columns:55px 1fr 100px 110px;gap:12px;padding:13px 6px;border-top:1px solid #edf0eb;align-items:start;font-size:12px}.table-row span:nth-child(2){line-height:1.45}.table-row small{display:block;color:var(--muted);margin-top:4px}.table-label,.history-row.table-label{font:9px 'IBM Plex Mono';color:var(--muted);text-transform:uppercase;border:0}.count-badge{background:#eaf1ed;color:var(--teal);border-radius:20px;padding:5px 9px;font-size:11px}.document-list{display:flex;flex-direction:column;margin-top:15px}.document-list a{display:grid;grid-template-columns:35px 1fr 15px;gap:10px;padding:13px 0;border-top:1px solid #edf0eb}.doc-icon{font:8px 'IBM Plex Mono';background:#f5e2de;color:var(--rust);width:31px;height:35px;display:grid;place-items:center;border-radius:5px}.document-list strong{font-size:11px;word-break:break-word}.document-list small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.document-list b{color:var(--teal)}.collection-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:15px;margin-bottom:15px}.collection-form>p,.form-section p{color:var(--muted);font-size:13px}.date-pair{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:end;margin-top:25px}.date-pair input,.settings-form input{background:#f7f8f5;color:var(--ink);border:1px solid var(--line)}.date-pair>span{padding-bottom:12px;color:var(--teal)}.live-progress{background:var(--deep);color:#fff}.live-progress .eyebrow{color:var(--amber)}.live-progress .empty-state strong{color:white}.progress-status{text-align:center}.sync-orbit.small{width:64px;height:64px;margin:12px auto}.sync-orbit.small:before{width:44px;height:44px}.progress-status.running .sync-orbit{animation:rotate 4s linear infinite}.progress-status p{color:#a9c6c0;font-size:12px}.progress-numbers{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.12);margin-top:20px;padding-top:20px}.progress-numbers div{text-align:center}.progress-numbers strong{display:block;font:21px 'Archivo Black'}.progress-numbers span{font-size:9px;color:#a9c6c0}.history-panel{padding-bottom:10px}.history-table{margin-top:15px}.history-row{display:grid;grid-template-columns:1.1fr 1.2fr 1fr repeat(3,.7fr);gap:10px;border-top:1px solid #edf0eb;padding:13px 6px;font-size:11px}.status-pill{display:inline-block;border-radius:20px;padding:4px 8px;background:#eee}.status-pill.completed{background:#dceee5;color:#27664a}.status-pill.running{background:#fff0d0;color:#775109}.status-pill.failed{background:#f5ded9;color:#963f31}.inline-message{padding:11px;border-radius:8px;font-size:12px;margin-top:13px}.inline-message.good{background:#dceee5;color:#27664a}.inline-message.bad{background:#f5ded9;color:#963f31}.settings-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.55fr);gap:15px}.settings-form{padding:0}.form-section{display:grid;grid-template-columns:45px 1fr;gap:18px;padding:28px;border-bottom:1px solid var(--line)}.section-index{font:12px 'IBM Plex Mono';color:var(--teal);padding-top:5px}.form-section>div:last-child{max-width:650px;width:100%}.form-section label{margin-top:15px}.form-section label small{font-weight:400;color:var(--muted)}.form-section input{width:100%}.segmented{display:flex;background:#edf0eb;border-radius:9px;padding:4px;margin-top:17px}.segmented button{flex:1;border:0;background:transparent;padding:10px;border-radius:7px;cursor:pointer}.segmented button.selected{background:white;box-shadow:0 3px 10px rgba(20,50,45,.08);font-weight:700;color:var(--teal)}.switch-line{display:flex!important;flex-direction:row!important;align-items:center;gap:10px!important}.switch-line input{display:none}.switch-line span{width:40px;height:23px;border-radius:20px;background:#cdd4cf;position:relative}.switch-line span:after{content:"";position:absolute;width:17px;height:17px;background:white;border-radius:50%;top:3px;left:3px;transition:.2s}.switch-line input:checked+span{background:var(--teal)}.switch-line input:checked+span:after{left:20px}.form-actions{padding:20px 28px;display:flex;justify-content:end;gap:10px}.settings-form>.inline-message{margin:0 28px 25px}.settings-aside{display:flex;flex-direction:column;gap:15px}.environment-card{position:relative;overflow:hidden}.environment-card strong{font:25px 'Archivo Black';display:block;margin:20px 0 5px}.environment-card p{font-size:12px;color:var(--muted)}.environment-light{position:absolute;width:100px;height:100px;border-radius:50%;right:-45px;top:-40px;background:var(--amber);box-shadow:0 0 50px var(--amber)}.environment-light.production{background:#51a978;box-shadow:0 0 50px #51a978}.tip-card{padding:20px;border-radius:14px;background:#e3ebe6;border:1px dashed #a9beb5}.tip-card strong{font-size:13px}.tip-card p{font-size:11px;line-height:1.6;color:var(--muted);margin-bottom:0}#blazor-error-ui{background:#fff0cf;bottom:0;box-shadow:0 -2px 5px rgba(0,0,0,.2);display:none;left:0;padding:12px 20px;position:fixed;width:100%;z-index:1000}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:15px}.blazor-error-boundary{background:#ba5746;color:white;padding:1rem}.blazor-error-boundary:after{content:"O painel encontrou um erro."}@keyframes rotate{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:1050px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.detail-facts{grid-template-columns:repeat(3,1fr)}.detail-columns{grid-template-columns:1fr}.filter-grid{grid-template-columns:80px 1fr 1fr 1fr}.filter-grid .button{grid-column:1/-1}.settings-layout{grid-template-columns:1fr}.settings-aside{display:grid;grid-template-columns:1fr 1fr}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:18px}.brand{margin-bottom:18px}.nav-kicker,.sidebar-note{display:none}.nav-list{flex-direction:row;overflow:auto}.nav-list a{white-space:nowrap;padding:10px}.nav-list a span{display:none}.main-stage{display:block}.topbar{height:48px;padding:0 20px}.topbar-date{display:none}.content{padding:30px 18px 60px}.heading-with-action{align-items:start;flex-direction:column}.metrics-grid,.dashboard-grid,.collection-grid{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr 1fr}.tender-card{grid-template-columns:48px 1fr}.tender-arrow{display:none}.tender-counts{flex-wrap:wrap}.detail-hero{grid-template-columns:1fr;padding:24px}.detail-facts{grid-template-columns:repeat(2,1fr)}.table-row{grid-template-columns:40px 1fr 80px}.table-row span:last-child{display:none}.history-row{grid-template-columns:1fr 1fr 1fr}.history-row span:nth-last-child(-n+3){display:none}.settings-aside{display:block}.settings-aside>*{margin-bottom:12px}}@media(max-width:440px){.metrics-grid,.filter-grid{grid-template-columns:1fr}.page-heading h1{font-size:34px}.search-console{padding:19px}.search-box{grid-template-columns:25px 1fr}.search-box button{grid-column:1/-1}.detail-facts{grid-template-columns:1fr}.date-pair{grid-template-columns:1fr}.date-pair>span{display:none}.form-section{grid-template-columns:1fr}.section-index{display:none}.form-actions{flex-direction:column}.tender-date{display:none}.tender-card{grid-template-columns:1fr}}
