:root{--bg:#0b1020;--panel:#121a2d;--panel2:#172239;--line:#26334d;--text:#eef3ff;--muted:#9eacc6;--lime:#c7f36b;--cyan:#70e1df;--red:#ff9c9c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.shell{min-height:100vh;display:flex}.sidebar{width:250px;flex:0 0 250px;background:#0e1628;border-right:1px solid var(--line);padding:24px 16px;display:flex;flex-direction:column;min-height:100vh}.brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:var(--text);text-decoration:none;padding:8px 8px 30px}.brand>span:not(.brand-mark){display:block;text-align:center}.brand b{display:block;font-size:16px;letter-spacing:.2px}.brand-logo{display:block;width:auto;max-width:100%;height:auto;max-height:var(--brand-logo-size,112px);object-fit:contain;margin:0 auto 2px}.brand small{display:block;margin-top:3px;color:var(--muted);font-size:10px;letter-spacing:1.4px}.brand .brand-mark{width:64px;height:64px;font-size:30px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:linear-gradient(135deg,var(--lime),#7ba8ff);color:#10192a;border-radius:13px;font-weight:900;font-size:24px}.brand small,.profile small{display:block;color:var(--muted);font-size:10px;letter-spacing:1.2px}.side-label,.eyebrow{font-size:10px;letter-spacing:1.8px;color:#8292b0;font-weight:800}.side-label{padding:0 12px 12px}.sidebar nav{display:grid;gap:5px}.nav-link{display:flex;gap:12px;align-items:center;text-decoration:none;color:#b6c2d8;padding:12px;border-radius:10px;font-size:13px}.nav-link:hover,.nav-link.active{background:#1b2940;color:var(--lime)}.nav-dot{font-size:21px;line-height:12px;color:var(--cyan)}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:18px 8px 0;color:#c4d1e7;font-size:12px}.sidebar-bottom small{display:block;color:var(--muted);margin:5px 0 0 16px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);margin-right:8px}.main{min-width:0;flex:1;padding:0 32px;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0 24px;border-bottom:1px solid var(--line)}h1{font-size:25px;letter-spacing:-.6px;margin:5px 0 0}.profile{display:flex;align-items:center;gap:10px;font-size:12px}.profile small{letter-spacing:0;font-size:11px;margin-top:2px}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#24364b;color:var(--lime);font-weight:800}.logout{color:var(--muted);text-decoration:none;margin-left:10px}.content{padding:26px 0;flex:1}.footer{border-top:1px solid var(--line);padding:18px 0;color:#8292b0;font-size:11px;display:flex;justify-content:space-between}.hero{padding:26px;border:1px solid #34425b;border-radius:18px;background:radial-gradient(ellipse at 90% 10%,#263957 0,transparent 45%),linear-gradient(135deg,#17243a,#10182a);margin-bottom:22px}.hero h2{font-size:26px;line-height:1.15;max-width:600px;margin:8px 0}.hero p,.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:19px;min-width:0}.card h3{margin:0 0 8px;font-size:15px}.card p{color:var(--muted);font-size:13px;margin:0 0 14px}.metric{font-size:29px;font-weight:800;color:var(--lime)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:9px;padding:11px 15px;background:var(--lime);color:#101827;text-decoration:none;font-weight:800;font-size:12px;cursor:pointer}.btn.secondary{background:#23334b;color:var(--text);border:1px solid #34445e}.form-card{max-width:720px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px;margin-bottom:14px}.field.full{grid-column:1/-1}.field label{font-size:12px;color:#bdc9dd}.field input,.field select,.field textarea{width:100%;padding:12px;border-radius:8px;border:1px solid #34445e;background:#0c1424;color:var(--text);font:inherit}.field textarea{min-height:105px;resize:vertical}.notice{padding:12px 14px;border-radius:9px;margin-bottom:16px;background:#1d342d;color:#d8ffd7;border:1px solid #315744}.notice.error{background:#3a222a;color:#ffd6d6;border-color:#653640}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;min-width:600px}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--line);font-size:12px}th{color:#9facc5;background:#172239;font-weight:700}td{color:#dbe4f5}.pill{display:inline-block;padding:4px 8px;border-radius:20px;background:#25354c;color:var(--cyan);font-size:10px}.empty{padding:24px;text-align:center;color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at 15% 15%,#1d3650,transparent 40%),var(--bg)}.login-card{width:min(100%,430px);padding:30px;background:var(--panel);border:1px solid var(--line);border-radius:18px}.login-card h1{margin:15px 0 5px}.login-card .brand{padding:0}.login-card .muted{margin-bottom:22px}.wide{width:100%}.hint{font-size:11px;color:var(--muted);margin-top:14px}@media(max-width:850px){.brand-logo{max-height:min(var(--brand-logo-size,160px),100px)}.sidebar{width:205px;flex-basis:205px}.main{padding:0 20px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.brand-logo{max-height:min(var(--brand-logo-size,160px),84px)}.brand{padding:2px 5px 12px}.brand b{font-size:14px}.shell{display:block}.sidebar{min-height:0;width:100%;padding:12px 12px 10px;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:0 5px 12px}.sidebar nav{display:flex;overflow-x:auto;gap:4px}.side-label,.sidebar-bottom{display:none}.nav-link{white-space:nowrap;padding:9px 11px;font-size:12px}.main{padding:0 15px}.topbar{padding:18px 0;align-items:flex-start;flex-direction:column}.profile{width:100%}h1{font-size:22px}.grid,.form-grid{grid-template-columns:1fr}.hero{padding:20px}.hero h2{font-size:22px}.footer{gap:10px;flex-direction:column}}
/* PORTA v0.3 — acesso público e página inicial editável */
.login-links{display:flex;justify-content:space-between;gap:12px;margin-top:18px;font-size:12px}.login-links a,.login-home a{color:var(--cyan);text-decoration:none}.login-home{margin-top:20px;text-align:center;font-size:12px;color:var(--muted)}.quiet-ceo{margin-top:26px;padding-top:12px;border-top:1px solid rgba(130,146,176,.12);text-align:center;font-size:10px}.quiet-ceo a{color:#596780;text-decoration:none}.quiet-ceo a:hover{color:#9eacc6}.public-home{background:#080d18}.public-nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:12px clamp(18px,5vw,76px);border-bottom:1px solid rgba(150,170,200,.14);background:#0b1120}.public-nav .brand{padding:0}.public-nav nav{display:flex;align-items:center;justify-content:center;gap:clamp(12px,2.3vw,30px);flex-wrap:wrap}.public-nav nav a{color:#c3cde0;text-decoration:none;font-size:12px}.public-nav nav a:hover{color:var(--lime)}.public-hero{min-height:530px;display:flex;align-items:center;justify-content:space-between;gap:35px;padding:clamp(42px,8vw,100px) clamp(20px,8vw,120px);background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid #1c2a40}.public-hero:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(var(--hero-mask-direction,90deg),var(--hero-mask-start,#05070D),var(--hero-mask-end,#05070D));opacity:var(--hero-mask-opacity,0.78)}.public-hero .hero-copy{z-index:1}.hero-copy{max-width:700px;position:relative;z-index:1}.hero-copy h1{font-size:clamp(38px,5.4vw,68px);line-height:1.04;letter-spacing:-2.4px;max-width:800px;margin:18px 0}.hero-copy p{font-size:clamp(15px,1.7vw,18px);line-height:1.7;color:#c1cde0;max-width:640px}.hero-link{align-self:center;color:#dbe6f7;text-decoration:none;font-size:12px}.public-section{padding:clamp(50px,8vw,95px) clamp(20px,8vw,120px);max-width:1500px;margin:auto;position:relative;isolation:isolate;overflow:hidden}.public-section:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.23;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27240%27 height=%27160%27 viewBox=%270 0 240 160%27 fill=%27none%27%3E%3Cpath d=%27M-20 120 L45 55 L85 95 L145 35 L210 100 L260 50 M-15 145 L55 75 L90 110 L145 55 L220 130 L260 90 M20 -15 L80 45 L120 5 L180 65 L220 25%27 stroke=%27%2370e1df%27 stroke-opacity=%27.25%27 stroke-width=%271%27/%3E%3Ccircle cx=%2745%27 cy=%2755%27 r=%273%27 stroke=%27%23c7f36b%27 stroke-opacity=%27.3%27/%3E%3Ccircle cx=%27145%27 cy=%2735%27 r=%273%27 stroke=%27%23c7f36b%27 stroke-opacity=%27.3%27/%3E%3C/svg%3E");background-size:240px 160px;animation:vector-drift 38s linear infinite}.public-section h2,.public-bottom h2{font-size:clamp(28px,3.8vw,42px);line-height:1.15;letter-spacing:-1px;max-width:760px;margin:12px 0}.section-lead{max-width:760px;white-space:normal;color:var(--muted);line-height:1.8}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:32px}.feature-card{padding:25px;border:1px solid #25334b;border-radius:16px;background:linear-gradient(145deg,rgba(18,28,48,.96),rgba(13,20,35,.96));position:relative;overflow:hidden}.feature-card:after{content:"";position:absolute;inset:auto -20px -34px auto;width:150px;height:100px;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27150%27 height=%27100%27 viewBox=%270 0 150 100%27 fill=%27none%27%3E%3Cpath d=%27M-10 90 L40 40 L65 65 L105 25 L160 80 M-5 100 L45 50 L70 75 L110 35 L165 90%27 stroke=%27%2370e1df%27 stroke-width=%271.2%27/%3E%3Ccircle cx=%27105%27 cy=%2725%27 r=%274%27 stroke=%27%23c7f36b%27/%3E%3C/svg%3E");animation:vector-float 12s ease-in-out infinite alternate;pointer-events:none}.feature-card:nth-child(2):after{animation-delay:-4s}.feature-card:nth-child(3):after{animation-delay:-8s}.feature-card>span{color:var(--lime);font-size:11px;letter-spacing:2px}.feature-card h3{font-size:18px;margin:20px 0 8px}.feature-card p{font-size:13px;line-height:1.75;color:var(--muted)}.public-bottom{margin:0 clamp(20px,8vw,120px) 65px;padding:clamp(25px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid #2b3a51;border-radius:20px;background:radial-gradient(ellipse at 85% 10%,#233954,transparent 50%),#111a2b;position:relative;overflow:hidden}.public-bottom:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27300%27 height=%27140%27 viewBox=%270 0 300 140%27 fill=%27none%27%3E%3Cpath d=%27M170 -10 L230 50 L190 90 L245 145 M205 -10 L265 50 L225 90 L280 145 M250 -10 L310 50%27 stroke=%27%2370e1df%27 stroke-width=%271.2%27/%3E%3Ccircle cx=%27230%27 cy=%2750%27 r=%275%27 stroke=%27%23c7f36b%27/%3E%3C/svg%3E");background-size:300px 140px;animation:vector-drift 44s linear infinite}.public-bottom>*{position:relative;z-index:1}.public-bottom p{color:var(--muted);max-width:650px}.public-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px clamp(20px,5vw,76px);border-top:1px solid rgba(150,170,200,.14);color:#75839d;font-size:11px}.public-footer a{color:#596780;text-decoration:none}.public-footer a:hover{color:#9eacc6}.field input[type=color]{height:45px;padding:4px}.field input[type=range]{padding:0;accent-color:var(--lime)}
@keyframes vector-drift{from{background-position:0 0}to{background-position:240px 160px}}@keyframes vector-float{from{transform:translate3d(0,0,0)}to{transform:translate3d(-7px,-5px,0)}}@media(prefers-reduced-motion:reduce){.public-section:before,.feature-card:after,.public-bottom:after{animation:none}}@media(max-width:850px){.public-nav{flex-wrap:wrap}.public-nav nav{order:3;width:100%;justify-content:flex-start}.public-hero{min-height:450px}.feature-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.public-nav{gap:12px;padding:12px 16px}.public-nav>.btn{padding:9px 11px}.public-nav nav{gap:15px}.public-hero{min-height:0;padding:58px 22px}.hero-copy h1{letter-spacing:-1.4px}.public-section{padding:50px 22px}.feature-grid{grid-template-columns:1fr}.public-bottom{margin:0 16px 35px;align-items:flex-start;flex-direction:column}.public-footer{align-items:flex-start;flex-direction:column}}

/* Portal v0.4 */
.brand-logo{width:auto;height:auto;max-width:100%;max-height:var(--brand-logo-size,160px);object-fit:contain;flex:0 1 auto;border-radius:0}.collapsible-card summary,.ticket-card summary{cursor:pointer;list-style:none}.collapsible-card summary::-webkit-details-marker,.ticket-card summary::-webkit-details-marker{display:none}.collapsible-card summary:after{content:"＋";float:right;color:var(--lime);font-weight:900}.collapsible-card[open] summary:after{content:"−"}.ticket-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.ticket-summary small{grid-column:1/-1;color:var(--muted)}.ticket-detail{padding-top:20px}.ticket-meta{display:flex;flex-wrap:wrap;gap:10px 18px;color:var(--muted);font-size:12px}.ticket-message{margin:18px 0;padding:16px;border-radius:10px;background:#0c1424;border:1px solid var(--line)}.ticket-message p{white-space:normal;line-height:1.7}.reply-bubble{padding:14px 16px;margin:10px 0;border-radius:12px;border:1px solid var(--line);background:#101a2b}.reply-bubble.staff{border-color:#45634a;background:#172b25}.reply-bubble.client{border-color:#34445e}.reply-bubble p{white-space:normal;line-height:1.65;margin:8px 0}.reply-bubble small{color:var(--muted);font-size:10px}.ticket-reply-form{margin-top:18px}.ticket-status-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:14px;margin-top:18px}.ticket-status-form .field{min-width:220px;margin:0}.btn.danger{background:#492a33;color:#ffdce2;border:1px solid #75424c}.btn:disabled{opacity:.45;cursor:not-allowed}.plan-features{padding-left:20px;color:#c4d1e7;font-size:12px;line-height:1.8}.plan-features li::marker{color:var(--lime)}@media(max-width:620px){.ticket-summary{grid-template-columns:1fr}.ticket-summary .pill{justify-self:start}.ticket-status-form{align-items:stretch;flex-direction:column}.ticket-status-form .field{width:100%}}



/* Login v0.9.2: fundo hero configurável e cartão de vidro */
.login-page{min-height:100vh;position:relative;isolation:isolate;background:#070d18;color:var(--text);overflow-x:hidden}
.login-page:before{content:"";position:fixed;inset:0;z-index:-2;background-image:var(--login-hero,radial-gradient(ellipse at 20% 10%,#203c5b 0,transparent 45%),linear-gradient(140deg,#080e1b,#111b2c));background-size:cover;background-position:center;background-repeat:no-repeat;transform:scale(1.015)}
.login-page:after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(135deg,rgba(5,10,20,var(--login-overlay,.70)),rgba(5,10,20,calc(var(--login-overlay,.70) * .66)) 48%,rgba(5,10,20,var(--login-overlay,.70)));backdrop-filter:blur(2px);pointer-events:none}
.login-stage{min-height:100vh;display:grid;place-items:center;padding:72px 18px 34px}
.login-visit-home{position:absolute;top:24px;left:clamp(18px,4vw,54px);z-index:2;color:#edf5ff;text-decoration:none;font-size:13px;padding:10px 13px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(8,15,28,.28);backdrop-filter:blur(12px)}
.login-glass{width:min(100%,460px);padding:clamp(23px,5vw,36px);border:1px solid rgba(255,255,255,.24);border-radius:24px;background:linear-gradient(145deg,rgba(23,36,57,var(--login-card-opacity,.70)),rgba(9,16,30,calc(var(--login-card-opacity,.70) * .92)));box-shadow:0 28px 90px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.15);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}
.login-site-banner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;margin-bottom:28px;color:#f5f8ff;text-decoration:none}.login-site-banner img{width:auto;max-width:240px;max-height:100px;object-fit:contain;border-radius:8px}.login-site-banner .brand-mark{flex:0 0 42px;width:42px;height:42px}.login-site-banner b{display:block;font-size:19px;letter-spacing:.2px}.login-site-banner small{display:block;color:#a8b8d0;font-size:9px;letter-spacing:2px;margin-top:4px}.login-intro .eyebrow{font-size:10px;color:var(--lime);letter-spacing:2px}.login-intro h1{font-size:clamp(27px,5vw,35px);letter-spacing:-.8px;line-height:1.1;margin:12px 0 8px}.login-intro p,.login-glass .muted{font-size:13px;color:#c0cce0;line-height:1.65}.login-form{margin-top:22px}.login-glass .field label{color:#d7e2f4}.login-glass .field input{background:rgba(4,10,20,.45);border-color:rgba(213,228,255,.19);padding:13px 14px}.login-glass .field input:focus{outline:2px solid rgba(199,243,107,.65);outline-offset:1px;border-color:transparent}.login-submit{min-height:46px;box-shadow:0 8px 24px rgba(199,243,107,.12)}.login-links{margin-top:17px}.login-divider{display:flex;align-items:center;gap:12px;color:#a4b3ca;font-size:11px;margin:24px 0 15px}.login-divider:before,.login-divider:after{content:"";height:1px;background:rgba(255,255,255,.16);flex:1}.oauth-button{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:45px;padding:10px 14px;border:1px solid rgba(255,255,255,.26);border-radius:10px;color:#f7f9fd;text-decoration:none;background:rgba(255,255,255,.075);font-size:12px;font-weight:750;transition:background .2s,border-color .2s}.oauth-button:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.4)}.google-g{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#fff;color:#4285f4;font-size:16px;font-weight:900}.oauth-not-configured{opacity:.72}.login-config-note,.login-security-note{font-size:10px;line-height:1.6;color:#a7b5ca;text-align:center;margin:10px 0 0}.login-config-note code{color:#e1eafa}.login-security-note{margin-top:17px}.login-glass .quiet-ceo{margin-top:20px;border-color:rgba(255,255,255,.12)}.login-glass .quiet-ceo a{color:#91a1ba}.login-glass .login-home{margin-top:18px}.login-glass .notice{font-size:12px;line-height:1.55}
@media(max-width:520px){.login-stage{padding:72px 14px 20px}.login-glass{border-radius:20px}.login-visit-home{top:14px;left:14px}.login-site-banner{margin-bottom:22px}}
@media(prefers-reduced-transparency:reduce){.login-glass{backdrop-filter:none;background:rgba(10,17,30,.96)}}

/* Dashboard do cliente: banner-hero discreto, com leitura priorizada à esquerda. */
.workspace-hero{position:relative;isolation:isolate;overflow:hidden;background-color:#080d18;background-image:linear-gradient(90deg,rgba(5,8,15,.97) 0%,rgba(5,8,15,.88) 43%,rgba(5,8,15,.48) 100%),var(--workspace-hero-image,radial-gradient(ellipse at 85% 15%,#263957 0,transparent 50%));background-size:cover;background-position:center;background-repeat:no-repeat;border-color:rgba(112,225,223,.22);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.workspace-hero h2,.workspace-hero .eyebrow,.workspace-hero p,.workspace-hero .actions{position:relative;z-index:1}
.workspace-hero h2{max-width:640px;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.workspace-hero p{max-width:620px;color:#d2d9e7;text-shadow:0 1px 8px rgba(0,0,0,.6)}
@media(max-width:850px){.brand-logo{max-height:min(var(--brand-logo-size,160px),100px)}}
@media(max-width:620px){.brand-logo{max-height:min(var(--brand-logo-size,160px),84px)}}

/* Ajustes solicitados em 29/10/2026: home pública e cabeçalho dos painéis. */
.public-home{position:relative}.public-nav{position:absolute;top:0;left:0;right:0;z-index:10;min-height:76px;background:rgba(8,13,24,.5);border-bottom:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.public-nav .public-brand{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-start;width:auto;min-width:0;padding:0;margin:0}.public-nav .public-brand .brand-logo{display:block;width:auto;max-width:min(190px,22vw);height:auto;max-height:48px;object-fit:contain;margin:0}.public-nav .public-brand .brand-mark{width:42px;height:42px;flex:0 0 42px}.public-hero{padding-top:clamp(115px,13vw,155px)}.topbar{position:relative;isolation:isolate;overflow:hidden;min-height:142px;padding:26px 22px 22px;margin:0 -22px 0;border-bottom:1px solid rgba(255,255,255,.15);background-color:#0b1220;background-image:linear-gradient(90deg,rgba(0,0,0,.40) 0%,rgba(0,0,0,.20) 48%,rgba(0,0,0,0) 100%),var(--dashboard-hero-image,linear-gradient(120deg,#15233a,#0b1020));background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:0 0 12px 12px}.topbar>div{position:relative;z-index:1}.topbar h1{text-shadow:0 2px 10px rgba(0,0,0,.55)}.topbar .eyebrow,.topbar .profile,.topbar .profile small{color:#f0f4fb;text-shadow:0 1px 7px rgba(0,0,0,.65)}.topbar .avatar{background:rgba(20,32,50,.82);border:1px solid rgba(255,255,255,.24)}.topbar .logout{color:#e2e8f3}.content{padding-top:26px}
@media(max-width:850px){.topbar{margin:0 -14px;padding:22px 18px;min-height:130px}.public-nav .public-brand .brand-logo{max-width:160px;max-height:42px}}
@media(max-width:620px){.public-nav{position:absolute;gap:10px;padding:10px 14px;min-height:64px}.public-nav .public-brand .brand-logo{max-width:130px;max-height:38px}.public-hero{padding-top:100px}.topbar{margin:0 -15px;padding:18px 15px;min-height:0;background-position:center}.topbar .profile{flex-wrap:wrap}}

/* Catálogo de módulos: cartões responsivos com imagem em faixa superior. */
.app-module-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.app-module-card{padding:0;overflow:hidden;display:flex;flex-direction:column;gap:0;min-width:0;position:relative;isolation:isolate;border-color:rgba(112,225,223,.13);background:linear-gradient(155deg,rgba(21,31,51,.98),rgba(12,19,33,.98));transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.app-module-card:hover{transform:translateY(-3px);border-color:rgba(112,225,223,.4);box-shadow:0 10px 28px rgba(0,0,0,.24),0 0 16px rgba(112,225,223,.08)}
.app-module-art{height:150px;width:100%;position:relative;overflow:hidden;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 15%,rgba(112,225,223,.10),transparent 65%),#0e1728}
.app-module-art img{display:block;width:100%;height:100%;object-fit:contain;padding:12px;transition:transform .3s ease,filter .3s ease}
.app-module-card:hover .app-module-art img{transform:scale(1.035);filter:brightness(1.05)}
.app-module-art-shade{position:absolute;inset:40% 0 0;pointer-events:none;background:linear-gradient(180deg,rgba(11,16,32,0),rgba(11,16,32,.82))}
.app-module-placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:42px;color:var(--cyan);background:radial-gradient(ellipse at center,rgba(112,225,223,.12),transparent 68%)}
.app-module-info{padding:14px 14px 10px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;flex:1;min-width:0;background:linear-gradient(180deg,rgba(18,26,45,.96),rgba(14,21,37,.98))}
.app-module-info h3{font-size:14px;line-height:1.35;margin:5px 0 2px;overflow-wrap:anywhere}
.app-module-info p{font-size:12px;line-height:1.5;margin:2px 0 6px;color:#b1bfd5;overflow-wrap:anywhere}
.app-module-info p.muted{color:var(--muted)}
.app-module-info .pill{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.app-module-info small{font-size:10px;margin-top:auto;padding-top:4px}
.app-module-action{margin:0 14px 14px;justify-content:space-between;min-height:38px;box-shadow:0 3px 10px rgba(199,243,107,.07);transition:filter .2s ease,box-shadow .2s ease,transform .2s ease}
.app-module-action:hover{filter:brightness(1.04);box-shadow:0 4px 15px rgba(199,243,107,.15);transform:translateY(-1px)}
@media(max-width:1050px){.app-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.app-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.app-module-art{height:132px}.app-module-info{padding:12px 12px 9px}.app-module-action{margin:0 12px 12px}}
@media(max-width:420px){.app-module-grid{gap:9px}.app-module-art{height:112px}.app-module-art img{padding:8px}.app-module-info{padding:10px 9px 8px}.app-module-info h3{font-size:13px}.app-module-info p{font-size:11px}.app-module-action{margin:0 9px 9px;padding:9px 10px;font-size:11px;gap:5px}}
@media(prefers-reduced-motion:reduce){.app-module-card,.app-module-art img,.app-module-action{transition:none}.app-module-card:hover,.app-module-action:hover{transform:none}}
