:root{
    --app-bg:#f4f7fb;
    --app-surface:#ffffff;
    --app-surface-soft:#f8faff;
    --app-text:#172033;
    --app-muted:#667085;
    --app-line:#e3e8f2;
    --app-primary:#3857d6;
    --app-primary-dark:#2945ba;
    --app-primary-soft:#eef2ff;
    --app-success:#067647;
    --app-danger:#b42318;
    --app-warning:#b54708;
    --app-shadow:0 18px 48px rgba(23,32,51,.08);
    --app-shadow-soft:0 10px 30px rgba(23,32,51,.06);
}
html,body{min-height:100%}
body{background:linear-gradient(180deg,#f9fbff 0%,var(--app-bg) 100%);color:var(--app-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.app-container{max-width:1280px;padding-left:clamp(1rem,3vw,2rem);padding-right:clamp(1rem,3vw,2rem)}
.app-header{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(227,232,242,.92);z-index:1030}
.app-brand{display:flex;align-items:center;gap:.75rem;color:var(--app-text)!important;min-width:0}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#3857d6,#7b55e7);color:#fff;font-weight:800;box-shadow:0 12px 24px rgba(56,87,214,.25);flex:0 0 auto}
.brand-copy{display:grid;line-height:1.05;min-width:0}.brand-copy strong{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-copy small{font-size:.72rem;color:var(--app-muted);font-weight:500;margin-top:.2rem}
.navbar .nav-link{color:#4a5770;font-weight:600;border-radius:.75rem;padding:.65rem .8rem!important}.navbar .nav-link:hover,.navbar .nav-link:focus{color:var(--app-primary);background:var(--app-primary-soft)}
.app-menu-toggle{border:1px solid var(--app-line);border-radius:14px;padding:.55rem .65rem;box-shadow:var(--app-shadow-soft)}.app-menu-toggle:focus{box-shadow:0 0 0 .25rem rgba(56,87,214,.15)}
.app-offcanvas{width:min(88vw,370px)!important}.app-mobile-nav .nav-link{padding:.9rem 1rem;border:1px solid var(--app-line);border-radius:14px;background:var(--app-surface-soft);color:var(--app-text);font-weight:700}.app-mobile-nav .nav-link:hover{border-color:#c7d2fe;color:var(--app-primary);background:#fff}
.mobile-user-card{padding:1rem;border-radius:16px;background:var(--app-primary-soft);display:grid}.mobile-user-card small{color:var(--app-muted);margin-top:.2rem;word-break:break-word}
.app-main{padding-top:clamp(1.5rem,4vw,2.75rem);padding-bottom:4.5rem;min-height:calc(100vh - 152px)}
.app-footer{border-top:1px solid var(--app-line);background:rgba(255,255,255,.76);color:var(--app-muted);font-size:.875rem;padding:1.35rem 0 2rem}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--app-primary);font-weight:800;font-size:.75rem}
.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;margin-bottom:1.75rem}.page-heading h1{font-size:clamp(2rem,5vw,3.35rem);line-height:1.03;letter-spacing:-.04em;margin:.35rem 0 .5rem}.page-heading p{margin-bottom:0;max-width:780px}
.muted{color:var(--app-muted)}.min-w-0{min-width:0}
.card{border:1px solid var(--app-line);border-radius:1.35rem;box-shadow:var(--app-shadow);background:var(--app-surface)}
.auth-shell{min-height:calc(100vh - 210px);display:grid;place-items:center}.auth-card{width:min(480px,100%);padding:clamp(1.35rem,4vw,2.25rem);background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)}.auth-shell.wide .auth-card{width:min(780px,100%)}.auth-card h1{font-size:clamp(2rem,7vw,3rem);letter-spacing:-.04em;margin:.35rem 0 .65rem}
.stack{display:grid;gap:1.1rem}.grid{display:grid;gap:1rem}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-grid{gap:.85rem}.equal-field-row{align-items:start}
.form-label,label{font-weight:700;font-size:.875rem}label{display:grid;gap:.45rem;align-content:start}label small{font-weight:500;color:var(--app-muted)}
.field-help{display:block;min-height:1.2rem;line-height:1.2rem}.field-help-placeholder{visibility:hidden}
.form-control,.form-select,input,select,textarea{border-radius:.85rem!important;border-color:#ccd3df!important;padding:.78rem .9rem!important}.form-control:focus,.form-select:focus,input:focus,select:focus,textarea:focus{border-color:var(--app-primary)!important;box-shadow:0 0 0 .25rem rgba(56,87,214,.12)!important}
textarea.form-control{min-height:110px;resize:vertical}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.7rem 1.1rem;border:1px solid var(--app-line);border-radius:.85rem;background:#fff;color:var(--app-text);font-weight:800;text-decoration:none;cursor:pointer}.button:hover{border-color:#c7d2fe;color:var(--app-primary)}.button.primary{background:var(--app-primary);border-color:var(--app-primary);color:#fff;box-shadow:0 14px 30px rgba(56,87,214,.22)}.button.primary:hover{background:var(--app-primary-dark);color:#fff}.button.danger{background:#fff1f0;border-color:#fecdca;color:var(--app-danger)}
.auth-links{display:flex;justify-content:space-between;gap:1rem;margin-top:1.25rem;font-size:.9rem}.auth-links a,.admin-links a{color:var(--app-primary);text-decoration:none;font-weight:600}
.form-card{padding:clamp(1.25rem,4vw,1.8rem);background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)}.form-card hr{border-color:var(--app-line);opacity:1}.form-submit{min-height:46px}.form-narrow{max-width:900px;margin-inline:auto}
.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:start}
.admin-split-grid{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(0,1.55fr);gap:1.25rem;align-items:start}
.content-section{display:grid;gap:1rem}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:32px;padding:0 .7rem;border-radius:999px;background:var(--app-primary-soft);color:var(--app-primary);font-size:.82rem;font-weight:800}
.catalog-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.catalog-card{height:100%}.compact-empty{padding:2rem}
.status-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--app-line);border:1px solid var(--app-line);border-radius:1.2rem;overflow:hidden;margin-bottom:2rem}.status-strip>div{background:#fff;padding:1.3rem}.status-strip .label{display:block;color:var(--app-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem}.status-strip strong{font-size:1.05rem}
.module-grid,.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.module-card{display:flex;align-items:center;gap:1rem;padding:1.15rem;background:#fff;border:1px solid var(--app-line);border-radius:1.1rem;text-decoration:none;color:var(--app-text);box-shadow:var(--app-shadow-soft);transition:.18s ease}.module-card:hover{border-color:#aab8f2;transform:translateY(-2px);color:var(--app-text)}.module-card small,.list-card small,td small{display:block;color:var(--app-muted);margin-top:.25rem}.module-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--app-primary-soft);color:var(--app-primary);font-weight:900;flex:0 0 auto}.arrow{margin-left:auto;font-size:1.45rem}.plan-card{padding:1.35rem;display:flex;flex-direction:column}.plan-card form{margin-top:auto}.price{font-size:1.9rem;font-weight:900;margin:.75rem 0}.sync-form{margin-top:1.5rem}
.empty{padding:clamp(1.5rem,5vw,3rem);text-align:center}.module-container{padding:clamp(1.25rem,4vw,1.8rem)}.error-card{max-width:680px;margin-inline:auto}
.table-card{overflow:hidden}.table-wrap{overflow:auto;-webkit-overflow-scrolling:touch}.table{margin-bottom:0;min-width:720px}.table>:not(caption)>*>*{padding:.9rem 1rem;border-color:var(--app-line);vertical-align:middle}.table thead th{background:#f8fafc;color:var(--app-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}.empty-table-row td{text-align:center!important;color:var(--app-muted);padding:2rem!important}
.badge{padding:.48rem .65rem;border-radius:999px;font-weight:800}.badge.success{background:#ecfdf3;color:var(--app-success)}.badge.danger{background:#fff1f0;color:var(--app-danger)}
.row-actions{display:flex;gap:.5rem;flex-wrap:wrap}.small-button{border:1px solid var(--app-line);background:#fff;border-radius:.65rem;padding:.45rem .65rem;cursor:pointer;font-weight:700;white-space:nowrap}.small-button:hover{border-color:#c7d2fe;color:var(--app-primary)}
.search-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;margin-bottom:1.1rem}.pagination{display:flex;gap:.45rem;margin-top:1.25rem;flex-wrap:wrap}.pagination a{display:grid;place-items:center;width:38px;height:38px;border-radius:.65rem;border:1px solid var(--app-line);text-decoration:none;color:var(--app-text);background:#fff}.pagination a.active{background:var(--app-primary);border-color:var(--app-primary);color:#fff}
.admin-links{display:flex;gap:.65rem;flex-wrap:wrap}.admin-links a{padding:.55rem .75rem;border:1px solid var(--app-line);border-radius:.75rem;background:#fff}.admin-grid{align-items:start}.list-card{padding:1rem 1.1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.list-card-content{min-width:0;overflow-wrap:anywhere}.list-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap;flex:0 0 auto}.check{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:.65rem}.check input{width:auto}
.stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.stat{padding:1.4rem;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}.stat span{display:block;color:var(--app-muted);font-size:.8rem;font-weight:600}.stat strong{display:block;font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.05;margin-top:.75rem;letter-spacing:-.04em;overflow-wrap:anywhere}.inline-form{display:inline-block;margin-left:.5rem}
pre{white-space:pre-wrap;background:#1d2939;color:#fff;padding:1rem;border-radius:.85rem;overflow:auto}code{word-break:break-word}

@media(max-width:1199.98px){.stat-grid{grid-template-columns:repeat(3,1fr)}.module-grid,.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:991.98px){.admin-split-grid{grid-template-columns:1fr}.page-heading{margin-bottom:1.35rem}.app-main{padding-top:1.5rem}.stat-grid{grid-template-columns:repeat(2,1fr)}.catalog-list-grid{grid-template-columns:1fr}}
@media(max-width:767.98px){
    .app-container{padding-left:.85rem;padding-right:.85rem}.brand-copy strong{max-width:170px}.page-heading{flex-direction:column}.page-heading>.btn,.page-heading>.button,.page-heading>.admin-links{width:100%}.admin-links{display:grid;grid-template-columns:1fr}.admin-links a{text-align:center}.grid.two,.admin-form-grid,.module-grid,.plan-grid{grid-template-columns:1fr}.auth-card,.form-card,.module-container{padding:1.25rem}.auth-links{flex-direction:column}.auth-links a{text-align:center;padding:.55rem}.stat-grid{grid-template-columns:1fr}.list-card{flex-direction:column;align-items:stretch}.list-card-actions{justify-content:space-between;width:100%;padding-top:.75rem;border-top:1px solid var(--app-line)}.row-actions{width:100%}.row-actions form,.row-actions button{width:100%}.status-strip{grid-template-columns:1fr}.status-strip>div{padding:1.05rem}.button{width:100%}.search-bar{grid-template-columns:1fr}.section-heading{align-items:flex-start}.form-submit{width:100%}

    .table-card{background:transparent;border:0;box-shadow:none}.table-wrap{overflow:visible}.responsive-table{min-width:0!important;background:transparent}.responsive-table thead{display:none}.responsive-table tbody{display:grid;gap:.85rem}.responsive-table tr{display:block;background:#fff;border:1px solid var(--app-line);border-radius:1rem;box-shadow:var(--app-shadow-soft);overflow:hidden}.responsive-table td{display:grid;grid-template-columns:minmax(105px,38%) minmax(0,1fr);gap:.75rem;align-items:start;width:100%;padding:.78rem .9rem!important;border-bottom:1px solid var(--app-line)!important;text-align:right;overflow-wrap:anywhere}.responsive-table td:last-child{border-bottom:0!important}.responsive-table td::before{content:attr(data-label);font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--app-muted);text-align:left}.responsive-table td>*{justify-self:end}.responsive-table td strong,.responsive-table td small,.responsive-table td code{justify-self:end;text-align:right}.responsive-table .row-actions{justify-content:flex-end}.responsive-table .empty-table-row{box-shadow:none}.responsive-table .empty-table-row td{display:block;text-align:center!important}.responsive-table .empty-table-row td::before{display:none}
}
@media(max-width:420px){.brand-copy strong{max-width:135px}.responsive-table td{grid-template-columns:1fr;text-align:left}.responsive-table td::before{margin-bottom:.15rem}.responsive-table td>*,.responsive-table td strong,.responsive-table td small,.responsive-table td code{justify-self:start;text-align:left}.list-card-actions{flex-direction:column;align-items:stretch}.list-card-actions form,.list-card-actions button{width:100%}}
.check-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.check-group .check{padding:.8rem .9rem;border:1px solid var(--app-line);border-radius:.85rem;background:var(--app-surface-soft);font-weight:700}.check-group .form-check-input{margin:0}
@media(max-width:575.98px){.check-group{grid-template-columns:1fr}}

/* Configurações avançadas e landing page pública */
.settings-form{max-width:1040px;margin-inline:auto}
.settings-form>.form-card{padding:clamp(1.25rem,3vw,2rem)}
.settings-conditional[hidden]{display:none!important}
.settings-info{line-height:1.65}
.settings-save-bar{position:sticky;bottom:1rem;z-index:20;display:flex;justify-content:flex-end;padding:1rem;border:1px solid var(--app-line);border-radius:1rem;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:var(--app-shadow)}
.public-landing{min-height:calc(100vh - 210px);display:grid;place-items:center;padding:clamp(1rem,4vw,3rem) 0}
.landing-hero{width:min(1120px,100%);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:center;gap:clamp(1.5rem,5vw,4rem);padding:clamp(1.5rem,5vw,4.5rem);overflow:hidden;background:linear-gradient(135deg,#fff 0%,#f6f8ff 100%)}
.landing-copy h1{font-size:clamp(2.4rem,6vw,5rem);line-height:1.02;letter-spacing:-.05em;margin:.55rem 0 1rem}
.landing-subtitle{max-width:680px;color:var(--app-muted);font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.6;margin-bottom:1.75rem}
.landing-actions{display:flex;gap:.85rem;flex-wrap:wrap}
.landing-visual{position:relative;min-height:330px;border-radius:2rem;background:linear-gradient(135deg,var(--app-primary),#7657e6);box-shadow:0 28px 70px rgba(56,87,214,.28);overflow:hidden}
.landing-orb{position:absolute;border-radius:999px;background:rgba(255,255,255,.18);filter:blur(.2px)}
.landing-orb-one{width:220px;height:220px;right:-45px;top:-50px}
.landing-orb-two{width:160px;height:160px;left:-35px;bottom:-35px}
.landing-badge{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:150px;height:150px;border-radius:36px;background:rgba(255,255,255,.94);color:var(--app-primary);font-weight:900;font-size:1.35rem;letter-spacing:.08em;box-shadow:0 24px 50px rgba(15,23,42,.2)}

@media(max-width:991.98px){
    .landing-hero{grid-template-columns:1fr}
    .landing-visual{min-height:250px}
    .settings-save-bar{bottom:.5rem}
}
@media(max-width:575.98px){
    .landing-actions{display:grid;grid-template-columns:1fr}
    .landing-actions .btn{width:100%}
    .landing-visual{min-height:210px}
    .landing-badge{width:120px;height:120px;border-radius:30px;font-size:1.05rem}
    .settings-save-bar{padding:.75rem}
    .settings-save-bar .btn{width:100%}
}

/* Administração de sistemas externos */
.systems-admin-grid{display:grid;grid-template-columns:minmax(430px,.95fr) minmax(0,1.55fr);gap:1.35rem;align-items:start}
.system-form-card{position:sticky;top:96px}
.system-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.system-form-grid{display:grid;gap:.9rem;align-items:start}
.system-form-grid-code{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.system-form-grid-path{grid-template-columns:minmax(0,1.4fr) minmax(120px,.6fr)}
.system-check-group .check{min-height:68px}
.system-path-info{font-size:.9rem;line-height:1.45}
.systems-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.system-registry-card{padding:1.15rem;display:flex;flex-direction:column;gap:1rem;min-width:0;box-shadow:var(--app-shadow-soft)}
.system-registry-card.is-editing{border-color:#8fa3ff;box-shadow:0 0 0 3px rgba(56,87,214,.09),var(--app-shadow-soft)}
.system-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.system-card-title-wrap{min-width:0}
.system-card-title{display:block;font-size:1.08rem;line-height:1.25;overflow-wrap:anywhere}
.system-card-code{display:inline-block;margin-top:.25rem;color:var(--app-muted);font-size:.85rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}
.system-meta-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(90px,.6fr);gap:.7rem}
.system-meta-item{display:grid;gap:.2rem;padding:.75rem .8rem;border:1px solid var(--app-line);border-radius:.85rem;background:var(--app-surface-soft);min-width:0}
.system-meta-wide{grid-column:1/-1}
.system-meta-label{font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--app-muted)}
.system-meta-value{font-size:.92rem;font-weight:650;overflow-wrap:anywhere}
.system-card-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;padding-top:.85rem;border-top:1px solid var(--app-line);margin-top:auto}
.system-card-actions form{margin:0}

@media(max-width:1199.98px){
    .systems-admin-grid{grid-template-columns:minmax(390px,.95fr) minmax(0,1.25fr)}
    .systems-list-grid{grid-template-columns:1fr}
}
@media(max-width:991.98px){
    .systems-admin-grid{grid-template-columns:1fr}
    .system-form-card{position:static}
    .systems-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767.98px){
    .system-form-grid-code,.system-form-grid-path,.systems-list-grid{grid-template-columns:1fr}
    .system-form-heading{flex-direction:column}
    .system-form-heading .btn{width:100%}
    .system-card-actions{display:grid;grid-template-columns:1fr}
    .system-card-actions a,.system-card-actions form,.system-card-actions button{width:100%}
}
