#central {position:absolute;inset:0;pointer-events:none;z-index:45;font:14px/1.5 var(--body,Arial);color:#e6f1ff}
#central button,#central input,#central select,#central textarea{font:inherit;color:inherit;background:#0c1931;border:1px solid #37638e;border-radius:6px;padding:8px;min-height:38px;box-sizing:border-box}
#central button{cursor:pointer}#central button:hover{border-color:#46d6ff;background:#143153}#central button:disabled{opacity:.5;cursor:not-allowed}
#central-bar{position:absolute;top:76px;left:18px;display:flex;gap:8px;align-items:center;pointer-events:auto;max-width:calc(100% - 36px);background:#061326dd;padding:6px;border-radius:8px}
#central-search{width:clamp(160px,28vw,480px);min-width:120px}#central-bar label{display:flex;gap:8px;align-items:center;white-space:nowrap}
#central-nav,#central-results,#city-links{position:absolute;top:138px;left:18px;max-height:65vh;max-width:calc(100vw - 36px);width:320px;overflow:auto;pointer-events:auto;background:#061326f5;border:1px solid #37638e;border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:6px}
#central-nav{left:auto;right:18px}#city-links{top:148px;width:230px}#central-results{z-index:3}#central-results:not([hidden])~#city-links{display:none}
#central-panel{position:absolute;right:18px;top:136px;bottom:18px;width:min(1000px,calc(100% - 36px));max-height:calc(100% - 154px);box-sizing:border-box;pointer-events:auto;overflow:auto;background:#071426f5;border:1px solid #3f7ba9;border-radius:12px;padding:18px;box-shadow:0 20px 80px #000b}
#central-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:-18px;background:#071426;padding:10px 0;z-index:4}#central-panel h2{font-size:20px;margin:0}#central-close{font-size:24px!important}
#central-content .central-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;padding:14px;background:#102139;border-radius:8px;margin:12px 0}
#central label{display:flex;flex-direction:column;gap:4px}#central input,#central textarea,#central select{max-width:100%;min-width:0}#central textarea{min-height:100px}#central fieldset{border:1px solid #37638e;min-width:0}#central .check{flex-direction:row;align-items:center}#central input[type=checkbox]{min-height:20px}
.central-card{border:1px solid #254565;border-radius:8px;padding:12px;margin:12px 0}.central-card button{margin:4px}.central-card h3{margin:0 0 8px}.table-scroll{overflow:auto;width:100%}#central table{border-collapse:collapse;width:100%;font-size:13px}#central th,#central td{text-align:left;border-bottom:1px solid #29425b;padding:8px;max-width:320px;overflow-wrap:anywhere}#central th{color:#8eddff}
#central-message{position:sticky;bottom:-18px;background:#071426;padding:10px;color:#ffc97e}#central-message:empty{display:none}.connection-state{color:#ffcf83;border-left:3px solid #ffcf83;padding-left:12px}
.city-scene{position:relative;overflow:auto;margin:12px 0;max-height:65vh}.city-scene img{display:block;width:100%;min-width:700px}.city-hotspots{position:absolute;inset:0;min-width:700px}.city-house{position:absolute;transform:translate(-50%,-50%);font-size:11px!important;min-height:26px!important;background:#041529e8!important;padding:4px!important;max-width:110px}.city-house.focused,.city-house.match{outline:3px solid #ffca56;box-shadow:0 0 24px #ffcb66}
#incident-toast{position:absolute;right:18px;bottom:18px;width:min(350px,calc(100% - 36px));padding:14px;background:#172b43;border:1px solid #ffca56;border-radius:8px;pointer-events:auto;display:flex;flex-direction:column;gap:8px;z-index:6}
#central [hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.edit-pencil{pointer-events:auto;cursor:pointer;background:#0b2540;color:#ffe08c;border:1px solid #ffe08c;border-radius:50%;font-size:14px;margin-left:4px}
#login{background:#020a22 url('../assets/login-reference.png') center/cover no-repeat;z-index:1000;overflow:auto;padding:20px;box-sizing:border-box}#login .login-box{width:min(490px,calc(100vw - 40px));background:linear-gradient(145deg,#041838f5,#071036fb);border:2px solid #2fc9ff;border-radius:24px;box-shadow:0 0 22px #00bbff80,5px 0 20px #9144ff90;padding:28px;box-sizing:border-box}#login .login-logo{height:180px;background:url('../assets/login-reference.png') center 13%/950px auto no-repeat;border-radius:50%;width:220px;align-self:center}#login .wordmark{font-size:23px;align-items:center;text-align:center}#login input{font-size:16px;min-height:44px;border-radius:8px;border-color:#4b76c2}#login .btn.primary{background:linear-gradient(95deg,#0034bd,#3528b7);border:1px solid #47e1ff;border-radius:12px;font-size:18px;min-height:48px;box-shadow:0 0 15px #159fff77}#login .login-options{display:flex;align-items:center;justify-content:space-between;gap:10px}#login .login-options label{flex-direction:row;align-items:center;text-transform:none;letter-spacing:0}#login input[type=checkbox]{min-height:20px}#login .password-field{display:flex;gap:4px}#login .password-field input{width:100%}#login .password-field button{color:#b5dcff;background:#0c2042;border:1px solid #4b76c2;border-radius:8px}.login-box code{overflow-wrap:anywhere;color:#ffda88}.login-box pre{white-space:pre-wrap}#login a{color:#56d7ff}.login-box .hint{font-size:12px}
@media(max-width:720px){#central-bar{top:76px;left:8px;max-width:calc(100% - 16px);gap:4px;padding:4px}#central-search{width:35vw;min-width:100px}#central-bar label{font-size:11px;gap:2px}#central-panel{left:8px;right:8px;width:auto;top:136px;bottom:8px;padding:12px}#central-nav{right:8px}#central button,#central input,#central select{font-size:13px}#central-panel h2{font-size:17px}#login .login-box{padding:20px}#login .login-logo{height:135px;background-size:750px auto;width:170px}}
@media(prefers-reduced-motion:reduce){#login{transition:none!important}*{scroll-behavior:auto!important}}
dialog {max-width:min(460px,calc(100vw - 32px));border:1px solid #4bbcff;border-radius:12px;background:#071426;color:#e6f1ff;padding:24px;font:15px/1.5 Arial}dialog::backdrop{background:#000a}dialog label{display:flex;flex-direction:column;gap:8px}dialog input{padding:10px;background:#102139;color:white;border:1px solid #5180aa;border-radius:6px}dialog button{padding:10px;margin:12px 6px 0 0;background:#12395b;border:1px solid #4bbcff;color:white;border-radius:6px}
.workflow-scroll{overflow:auto;max-height:65vh;margin:16px 0;background:radial-gradient(ellipse at center,#152638,#040a15);border:1px solid #294c6b;border-radius:12px}.workflow-city{position:relative;width:1620px;height:1060px;background-image:radial-gradient(#6084b51c 1px,transparent 1px);background-size:22px 22px}.workflow-city svg{position:absolute;inset:0;width:100%;height:100%}.workflow-building{position:absolute;transform:translate(-50%,-50%);width:150px;text-align:center;display:flex;flex-direction:column;align-items:center;font-size:12px!important;background:linear-gradient(#152b46,#071526)!important;border:1px solid #517b9c!important;box-shadow:0 8px 14px #000;border-radius:16px!important}.building-shape{display:block;font-size:30px;color:#83dcff;text-shadow:0 0 12px #46caff}.workflow-building.focused,.workflow-building.match{outline:3px solid #ffcf7c;box-shadow:0 0 28px #dfaa4560}.city-reference{max-width:100%;margin-top:12px}
#central-nav{z-index:10}#central-bar{z-index:11}
@media(max-width:720px){#app #top{overflow-x:auto;overflow-y:hidden;justify-content:flex-start;min-height:64px;box-sizing:border-box;max-width:100%;scrollbar-width:thin}#app #top .brand,#app #top .controls{zoom:1}#app #top .wordmark{font-size:14px;letter-spacing:.08em}#app #top .ctl{min-width:44px;min-height:44px;font-size:14px;padding:8px}#app #top .controls{gap:5px}#app #side{left:auto;right:0;top:142px;bottom:0;height:auto;width:min(340px,100vw)}}
#app #login{background:#020a22 url('../assets/login-reference.png') center/cover no-repeat}
@media(min-width:721px) and (max-width:1024px){#app #top{overflow-x:auto;overflow-y:hidden;justify-content:flex-start;min-height:64px;box-sizing:border-box;max-width:100%;scrollbar-width:thin}#app #top .brand,#app #top .controls{zoom:1}#app #top .ctl{min-width:44px;min-height:44px;font-size:14px;padding:8px}#app #top .controls{gap:5px}}
#app #login .login-box{width:min(calc(100vw - 40px),max(36vw,64vh));min-height:81vh;background:linear-gradient(145deg,#041838,#071036);justify-content:center}#app #login .login-logo{flex-shrink:0}
@media(max-width:720px){#app #login{background-position:left center}#app #login .login-box{width:min(490px,calc(100vw - 40px));min-height:0}}

#assistant-proposals pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;overflow:auto}#assistant-proposals p{overflow-wrap:anywhere}.assistant-skill textarea{min-height:90px}.proposal-actions,.report-pages{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* Approved lunar city art remains unchanged; controls and exact routes are live HTML/SVG. */
.workflow-scroll{overflow:visible;max-height:none;background:#050b17;border-color:#2e5577;padding:10px}
.workflow-experience{min-width:0}.city-map-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.city-map-tools button{min-height:44px!important;min-width:44px}.city-map-tools label{display:flex!important;align-items:center;gap:6px}.city-map-tools input{width:auto!important}.city-map-tools output{min-width:44px;text-align:center}.city-map-instruction{color:#b9c9dc;font-size:12px;line-height:1.5}
.city-map-viewport{overflow:auto;max-height:66vh;min-height:330px;border:1px solid #325675;border-radius:12px;background:#030711;overscroll-behavior:contain}.city-map-space{position:relative}.workflow-city{position:relative;transform-origin:0 0;background:radial-gradient(ellipse at center,#28384e,#071122);isolation:isolate}.city-artwork-image{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;user-select:none}.workflow-city svg.city-live-links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
.city-artwork-heading{position:absolute;left:0;top:0;width:590px;height:177px;background:linear-gradient(90deg,#031024 70%,#03102400);display:flex;flex-direction:column;justify-content:center;gap:14px;padding:24px 32px;box-sizing:border-box;z-index:2;pointer-events:none}.city-artwork-heading span{color:#99ceff;font-size:15px;letter-spacing:4px}.city-artwork-heading strong{font-size:31px;color:#f4f9ff;letter-spacing:2px}.city-artwork-heading small{color:#ffcf62;font-size:14px;letter-spacing:1px;width:max-content;border:1px solid #bb9643;border-radius:20px;padding:6px 13px}.city-artwork-footer{position:absolute;bottom:0;left:0;right:0;min-height:50px;background:#020a16e8;color:#9cbdd7;display:flex;align-items:center;justify-content:center;font-size:15px;z-index:2;pointer-events:none}
.workflow-building{z-index:4;position:absolute;transform:translate(-50%,-50%);width:92px;height:92px;min-height:92px!important;padding:0!important;display:block;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:50%!important;font-size:13px!important;overflow:visible;color:#fff}.city-node-ring{display:block;width:92px;height:92px;border:2px solid transparent;border-radius:50%;box-sizing:border-box;font-size:45px;text-align:center;padding-top:10px}.city-node-label{display:block;position:absolute;left:50%;top:88px;transform:translateX(-50%);width:205px;background:#021326ed;border:1px solid #68bbff;padding:7px 10px;border-radius:6px;font-size:14px;line-height:1.3;opacity:0;pointer-events:none;box-shadow:0 4px 15px #000}.workflow-building:hover .city-node-label,.workflow-building:focus-visible .city-node-label,.workflow-building.focused .city-node-label,.workflow-building.match .city-node-label{opacity:1}.workflow-building:hover .city-node-ring,.workflow-building:focus-visible .city-node-ring{border-color:#83d9ff;box-shadow:0 0 16px #48b4e7}.workflow-building.focused,.workflow-building.match{outline:none;box-shadow:none!important;z-index:5}.workflow-building.focused .city-node-ring,.workflow-building.match .city-node-ring{border:3px solid #ffcf72;box-shadow:0 0 20px #ffc15e}
.city-route{opacity:0}.city-route.active{opacity:1;color:#7be2ff}.city-route.outgoing{color:#ffe090}.city-route .route-shadow{fill:none;stroke:#020711;stroke-width:10;stroke-linecap:round}.city-route .route-stroke{fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round}.city-route text{fill:#fff8d5;stroke:#041020;stroke-width:5;paint-order:stroke;font-size:17px;font-weight:700}.city-connection-list{margin-top:12px}.city-connection-list article{border-bottom:1px solid #23405b;padding:10px 0}.city-connection-list p{font-size:12px;color:#b6cce1}.workflow-city:not(.city-artwork) .city-node-label{opacity:1}.workflow-city:not(.city-artwork) .city-route{opacity:1}
@media(max-width:720px){.workflow-scroll{padding:6px}.city-map-viewport{min-height:350px;max-height:65vh}.city-map-tools{gap:6px}.city-map-instruction{font-size:12px}}

#central-panel.city-mode{width:calc(100% - 36px)}#city-details:not(:empty){padding:12px;border:1px solid #345d80;border-radius:8px;background:#0e2339;margin-bottom:12px}#city-details p{margin:5px 0}#central-panel.city-mode .connection-state{margin:5px 0 12px;font-size:13px}.city-map-viewport{scrollbar-width:auto}


.city-artwork-heading{width:610px;background:#031024}.city-map-viewport{height:max(340px,calc(100vh - 510px));max-height:none}.city-map-space{margin:0 auto}#central .city-map-tools label{flex-direction:row;align-items:center}.city-node-label{font-weight:600}@media(max-width:720px){.city-map-viewport{height:380px}}


#central .city-map-tools label:has(#city-search){flex-direction:column;align-items:stretch;font-size:12px;min-width:220px;flex:1}#city-search{width:100%}.city-map-viewport{height:max(340px,calc(100vh - 450px))}.workflow-experience.city-map-expanded{position:fixed;inset:0;z-index:2000;padding:16px;box-sizing:border-box;background:#040b17;overflow:auto;pointer-events:auto}.city-map-expanded .city-map-viewport{height:calc(100vh - 150px);min-height:300px}.city-map-expanded .city-connection-list{display:none}@media(max-width:720px){.city-map-viewport{height:380px}.city-map-expanded .city-map-viewport{height:calc(100vh - 290px)}}


.city-artwork-footer{background:#020a16}


.city-map-viewport{scroll-margin-top:90px}


#release-list code,.release-dialog code{overflow-wrap:anywhere}#release-list pre{white-space:pre-wrap;overflow-wrap:anywhere}

[data-notifications-list] dd{margin-bottom:12px;overflow-wrap:anywhere}
[data-notifications-list] button{margin:4px;max-width:100%;white-space:normal}
[data-notifications-list] details{overflow-wrap:anywhere}
/* 1.0.1: olhinho de senha em toda a aplicação; QR do segundo fator; diálogo de confirmação recente */
.password-field{display:flex;gap:4px;align-items:stretch}.password-field input{flex:1;min-width:0}.password-field button.reveal,#login .password-field button{color:#b5dcff;background:#0c2042;border:1px solid #4b76c2;border-radius:8px;min-width:36px;cursor:pointer;font-size:14px}.password-field button.reveal[aria-pressed=true]{background:#1d4a8a}
#mfa-qr{display:inline-block;background:#fff;padding:8px;border-radius:8px;margin:8px 0}#mfa-qr svg{display:block;width:min(220px,60vw);height:auto}#mfa-secret code{font:600 13px/1.4 monospace;letter-spacing:.08em;word-break:break-all;color:#ffe08c}#mfa-secret ol{padding-left:18px;margin:6px 0}#mfa-secret button.link{background:none;border:0;color:#8ab4ff;text-decoration:underline;cursor:pointer;padding:0;font:inherit}
dialog#mfa-reverify{z-index:2000}dialog#mfa-reverify form{display:flex;flex-direction:column;gap:10px}dialog#mfa-reverify h2{margin:0;font-size:18px}dialog#mfa-reverify div{display:flex;gap:8px}
