@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/bricolage-grotesque-400.ttf') format('truetype')}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/bricolage-grotesque-500.ttf') format('truetype')}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/bricolage-grotesque-700.ttf') format('truetype')}
:root{color-scheme:light;--cli-chart-series-primary:var(--cl-info-texto);--cli-chart-grid:var(--cl-line);--cli-chart-label:var(--cl-text-70);--cli-heat-zero:var(--cl-soft);--cli-heat-low:var(--cl-horizonte-100);--cli-heat-mid:var(--cl-horizonte-300);--cli-heat-high:var(--cl-horizonte-700);--cli-heat-low-text:var(--cl-mar-profundo);--cli-heat-mid-text:var(--cl-mar-profundo);--cli-heat-high-text:var(--cl-carta-nautica)}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--cl-bg);color:var(--cl-text);font:var(--cl-type-body);transition:background-color var(--cl-dur-base) var(--cl-ease-out),color var(--cl-dur-base) var(--cl-ease-out)}
#app{min-height:100svh;display:flex;flex-direction:column}
main{flex:1;outline-offset:var(--cl-space-2)}
h1,h2,h3,p,ol{margin:0}
h1{font:var(--cl-type-h1);letter-spacing:var(--cl-track-h1);max-width:18ch;overflow-wrap:anywhere}
h2{font:var(--cl-type-h3);overflow-wrap:anywhere}
p{overflow-wrap:anywhere}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
button,input,textarea,select{font:inherit;color:inherit}
button,a,select,summary{touch-action:manipulation}
button,select,summary{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.5}
button,input,select,textarea{transition:background-color var(--cl-dur-fast) var(--cl-ease-out),border-color var(--cl-dur-fast) var(--cl-ease-out)}
:focus-visible{outline:2px solid var(--cl-focus);outline-offset:var(--cl-space-1)}
button,input,select,textarea{min-height:var(--cl-touch-min)}
input,select,textarea{background:var(--cl-bg);border:1px solid var(--cl-border);border-radius:var(--cl-radius-input);padding:var(--cl-space-3) var(--cl-space-4);max-width:100%;min-width:0}
input::placeholder,textarea::placeholder{color:var(--cl-text-60);opacity:1}
textarea{resize:vertical;min-height:calc(var(--cl-touch-min)*2)}
input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--cl-erro)}
label{font-weight:500}
label input:not([type=checkbox]),label textarea{display:block;width:100%;margin-top:var(--cl-space-2)}
select{font:var(--cl-type-small);font-weight:500}
.container{width:100%;max-width:var(--cl-container);margin-inline:auto;padding-inline:var(--cl-gutter-base)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:absolute;z-index:10;inset-block-start:var(--cl-space-4);inset-inline-start:var(--cl-space-5);padding:var(--cl-space-3) var(--cl-space-5);background:var(--cl-bg);transform:translateY(-200%)}
.skip-link:focus{transform:translateY(0)}
.boot{padding:var(--cl-space-7)}
.small,.intro-text{color:var(--cl-text-70)}
.small{font:var(--cl-type-small)}
.intro-text{font:var(--cl-type-body);max-width:var(--cl-measure)}
.caption{font:var(--cl-type-caption);color:var(--cl-text-60)}
.eyebrow{font:var(--cl-type-label);letter-spacing:var(--cl-track-label);text-transform:uppercase;color:var(--cl-text-60)}
.header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--cl-space-4);padding-block:var(--cl-space-5);border-bottom:1px solid var(--cl-line)}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:var(--cl-space-4);padding:var(--cl-space-2) 0;min-width:0}
.brand>a{display:block;padding-block:var(--cl-space-2);text-decoration:none}
.brand img{display:block;width:120px;height:auto;max-width:none}
.brand img.logo-dark{display:none}
.product{font:var(--cl-type-small);font-weight:500}
.product small{display:block;font:var(--cl-type-caption);color:var(--cl-text-60);margin-top:var(--cl-space-1)}
.public-main{max-width:780px;padding-block:var(--cl-space-8)}
.public-intro{display:grid;gap:var(--cl-space-5);padding-bottom:var(--cl-space-7)}
.public-intro h1{max-width:16ch}
.destination-primary{display:flex;align-items:center;justify-content:space-between;gap:var(--cl-space-4);padding:var(--cl-space-4) var(--cl-space-5);min-height:var(--cl-touch-min);border-radius:var(--cl-radius-pill);background:var(--cl-accent-acao);color:var(--cl-on-accent);text-decoration:none;overflow-wrap:anywhere;transition:background-color var(--cl-dur-fast) var(--cl-ease-out)}
.destination-primary:hover{background:var(--cl-acao-hover)}
.destination-primary:active{background:var(--cl-acao-pressed)}
.destination-primary .small{color:var(--cl-on-accent)}
.destinations{margin-top:var(--cl-space-5)}
.destination{display:grid;grid-template-columns:var(--cl-space-6) minmax(0,1fr) var(--cl-space-5);align-items:center;gap:var(--cl-space-4);min-height:var(--cl-touch-min);padding-block:var(--cl-space-5);border-bottom:1px solid var(--cl-line);text-decoration:none;overflow-wrap:anywhere}
.destination:hover .destination-title{text-decoration:underline;text-underline-offset:var(--cl-space-1)}
.ordinal{font:var(--cl-type-caption);color:var(--cl-text-60);font-variant-numeric:tabular-nums}
.destination-title,.destination-description{display:block}
.destination-description{margin-top:var(--cl-space-1)}
.direction{flex-shrink:0;text-align:right}
.empty-public{border-top:1px solid var(--cl-line);padding-block:var(--cl-space-6);color:var(--cl-text-70)}
.footer-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--cl-space-4);padding-block:var(--cl-space-5);border-top:1px solid var(--cl-line);font:var(--cl-type-caption);color:var(--cl-text-60)}
.footer-row a{display:inline-flex;align-items:center;min-height:var(--cl-touch-min)}
.admin-nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--cl-space-3) var(--cl-space-5);padding-block:var(--cl-space-2);border-bottom:1px solid var(--cl-line)}
.admin-nav a{display:inline-flex;align-items:center;gap:var(--cl-space-2);min-height:var(--cl-touch-min);color:var(--cl-text-70);font:var(--cl-type-small);text-decoration:none}
.admin-nav a[aria-current=page]{color:var(--cl-text);font-weight:500;text-decoration:underline;text-underline-offset:8px}
.admin-nav a:hover{text-decoration:underline}
.admin-nav .public-preview{margin-inline-start:auto}
.admin-main{padding-bottom:var(--cl-space-7)}
.page-heading{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:var(--cl-space-5);padding-block:var(--cl-space-7) var(--cl-space-6)}
.page-heading h1{font:var(--cl-type-h2);margin-top:var(--cl-space-3)}
.page-heading .intro-text{margin-top:var(--cl-space-3)}
.period-picker{display:grid;gap:var(--cl-space-2);font:var(--cl-type-caption);width:100%}
.metric-summary{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--cl-space-6);padding-block:var(--cl-space-2) var(--cl-space-5)}
.metric-value{font:var(--cl-type-display);letter-spacing:var(--cl-track-display);font-variant-numeric:tabular-nums;margin-top:var(--cl-space-2)}
.collection-notice{border-left:2px solid var(--cl-border);padding-left:var(--cl-space-4);max-width:48ch}
.collection-notice .small{margin-block:var(--cl-space-1)}
.text-link{display:inline-flex;align-items:center;min-height:var(--cl-touch-min);font:var(--cl-type-small)}
.data-period{padding-bottom:var(--cl-space-5)}
.analytics-grid{display:grid;gap:var(--cl-space-5);padding-bottom:var(--cl-space-6)}
.panel{min-width:0;border:1px solid var(--cl-line);border-radius:var(--cl-radius-card);padding:var(--cl-space-4);background:var(--cl-bg)}
.section-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:var(--cl-space-3)}
.section-heading h2{font:var(--cl-type-body-lg);font-weight:500}
.chart-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--cl-space-3);min-height:240px;text-align:center;padding:var(--cl-space-5);margin-top:var(--cl-space-5);border-block:1px solid var(--cl-line)}
.time-chart{width:100%;margin-top:var(--cl-space-5)}
.time-chart svg{display:block;max-width:100%}
.chart-grid{stroke:var(--cli-chart-grid);stroke-width:1}
.chart-label{fill:var(--cli-chart-label);font:var(--cl-type-caption)}
.chart-bar{fill:var(--cli-chart-series-primary)}
.data-details{margin-top:var(--cl-space-4)}
summary{min-height:var(--cl-touch-min);padding-block:var(--cl-space-3);font:var(--cl-type-small);text-decoration:underline;text-underline-offset:4px}
.heatmap{margin-top:var(--cl-space-5);width:100%;border-collapse:separate;border-spacing:2px;font:var(--cl-type-caption);table-layout:fixed}
.heatmap th,.heatmap td{text-align:center;padding:var(--cl-space-2) 0;font:var(--cl-type-caption);font-variant-numeric:tabular-nums;border:0;overflow-wrap:anywhere}
.heatmap th{color:var(--cl-text-70)}
.heatmap th:first-child{width:var(--cl-space-6);text-align:left}
.weekday-full{display:none}
.heatmap .heat-missing{background:var(--cl-bg);color:var(--cl-text-60)}
.heatmap .heat-zero{background:var(--cli-heat-zero);color:var(--cl-text-60)}
.heatmap .heat-low{background:var(--cli-heat-low);color:var(--cli-heat-low-text)}
.heatmap .heat-mid{background:var(--cli-heat-mid);color:var(--cli-heat-mid-text)}
.heatmap .heat-high{background:var(--cli-heat-high);color:var(--cli-heat-high-text)}
.heat-legend{margin-block:var(--cl-space-4) var(--cl-space-2)}
.table-scroll{max-width:100%;overflow:auto}
table{width:100%;border-collapse:collapse;font:var(--cl-type-small)}
caption{text-align:left;font:var(--cl-type-caption);color:var(--cl-text-60);padding-block:var(--cl-space-3)}
th,td{border-bottom:1px solid var(--cl-line);text-align:left;padding:var(--cl-space-3) var(--cl-space-2);overflow-wrap:anywhere}
th{font-weight:500}
thead th{color:var(--cl-text-70)}
.numeric{text-align:right;font-variant-numeric:tabular-nums}
.ranking{table-layout:fixed;margin-top:var(--cl-space-4)}
.ranking th:first-child{width:48%}
.ranking .empty-cell{padding-block:var(--cl-space-6);text-align:center;color:var(--cl-text-60)}
.button{display:inline-flex;justify-content:center;align-items:center;gap:var(--cl-space-2);border:1px solid var(--cl-border);border-radius:var(--cl-radius-pill);background:transparent;color:var(--cl-text);min-height:var(--cl-touch-min);padding:var(--cl-space-2) var(--cl-space-4);font:var(--cl-type-small);font-weight:500;text-decoration:none}
.button:not(:disabled):hover{background:var(--cl-soft)}
.button.primary{background:var(--cl-accent-acao);color:var(--cl-on-accent);border-color:transparent}
.button.primary:hover{background:var(--cl-acao-hover)}
.button.primary:active{background:var(--cl-acao-pressed)}
.button.move{min-width:var(--cl-touch-min);padding:var(--cl-space-2)}
.managed-links{list-style:none;padding:0}
.managed-links li{display:flex;flex-direction:column;gap:var(--cl-space-5);border-bottom:1px solid var(--cl-line);padding-block:var(--cl-space-5)}
.link-info{min-width:0;flex:1}
.link-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--cl-space-3);margin-bottom:var(--cl-space-2)}
.link-title-row h2{font:var(--cl-type-body-lg);font-weight:500}
.link-url{overflow-wrap:anywhere;margin-bottom:var(--cl-space-1)}
.link-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--cl-space-2)}
.badge{font:var(--cl-type-caption);border:1px solid var(--cl-line);border-radius:var(--cl-radius-pill);padding:var(--cl-space-1) var(--cl-space-3);color:var(--cl-text-70)}
.empty-state{padding-block:var(--cl-space-7);border-top:1px solid var(--cl-line)}
.empty-state .small{margin-top:var(--cl-space-3)}
.editor{margin-bottom:var(--cl-space-6)}
.editor h2{margin-bottom:var(--cl-space-5)}
.fields{display:grid;gap:var(--cl-space-5)}
.optional{font-weight:400;color:var(--cl-text-70)}
.field-error{display:block;color:var(--cl-erro-texto);font:var(--cl-type-small);margin-top:var(--cl-space-2)}
.checkboxes{display:grid;gap:var(--cl-space-2);margin-top:var(--cl-space-5)}
.check{display:flex;align-items:center;gap:var(--cl-space-3);min-height:var(--cl-touch-min);font:var(--cl-type-body);font-weight:400;cursor:pointer}
.check input{appearance:auto;accent-color:var(--cl-acao-pressed);width:20px;min-width:20px;height:20px;min-height:20px;margin:0}
.form-actions{display:flex;flex-wrap:wrap;gap:var(--cl-space-3);margin-top:var(--cl-space-5)}
.settings-form{max-width:var(--cl-measure)}
.settings-section{display:grid;gap:var(--cl-space-5);padding-bottom:var(--cl-space-6);margin-bottom:var(--cl-space-6);border-bottom:1px solid var(--cl-line)}
.local-boundary{max-width:var(--cl-measure);border-top:1px solid var(--cl-line);margin-top:var(--cl-space-7);padding-top:var(--cl-space-5)}
.local-boundary h2{font:var(--cl-type-body-lg);font-weight:500;margin-bottom:var(--cl-space-3)}
.feedback{border:1px solid var(--cl-sucesso);border-radius:var(--cl-radius-input);padding:var(--cl-space-4);margin-top:var(--cl-space-5);background:var(--cl-soft);color:var(--cl-sucesso-texto);font:var(--cl-type-small)}
.feedback.error{border-color:var(--cl-erro);color:var(--cl-erro-texto)}
@media(min-width:640px){
  .container{padding-inline:var(--cl-gutter-sm)}
  h1{font:var(--cl-type-display);letter-spacing:var(--cl-track-display)}
  .brand{flex-direction:row;align-items:center;gap:var(--cl-space-5)}
  .product{border-left:1px solid var(--cl-line);padding-left:var(--cl-space-5)}
  .header-row{align-items:center}
  .page-heading{flex-direction:row;align-items:flex-start}
  .page-heading h1{font:var(--cl-type-h1);letter-spacing:var(--cl-track-h1)}
  .period-picker{min-width:184px;width:auto}
  .fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .full-width{grid-column:1/-1}
  .panel{padding:var(--cl-space-5)}
  .managed-links li{flex-direction:row;align-items:center}
  .weekday-full{display:inline}.weekday-short{display:none}
  .heatmap{border-spacing:var(--cl-space-1)}
}
@media(min-width:1024px){
  .container{padding-inline:var(--cl-gutter-lg)}
  .page-heading h1{font:var(--cl-type-display);letter-spacing:var(--cl-track-display)}
  .analytics-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
}
@media(prefers-color-scheme:dark){
  :root:not([data-theme=light]){color-scheme:dark;--cli-heat-low:var(--cl-horizonte-900);--cli-heat-mid:var(--cl-horizonte-700);--cli-heat-high:var(--cl-horizonte-300);--cli-heat-low-text:var(--cl-carta-nautica);--cli-heat-mid-text:var(--cl-carta-nautica);--cli-heat-high-text:var(--cl-mar-profundo)}
  :root:not([data-theme=light]) .brand img.logo-light{display:none}
  :root:not([data-theme=light]) .brand img.logo-dark{display:block}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important;animation:none!important}}

/* Cais Links extensions: native avatar, separate administration and sign-in. */
.brand-mark{display:block;padding-block:var(--cl-space-2);text-decoration:none}
.brand-mark img{display:block;width:120px;height:auto;max-width:none}
.brand-mark img.logo-dark{display:none}
.link-avatar{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:var(--cl-space-7);height:var(--cl-space-7);border-radius:var(--cl-radius-pill);border:1px solid var(--cl-line);background:var(--cl-bg);color:var(--cl-text);overflow:hidden;font:var(--cl-type-small);font-weight:500;letter-spacing:0}
.link-avatar img{display:block;width:100%;height:100%;object-fit:contain;padding:var(--cl-space-1)}
.link-avatar:has(img){background:var(--cl-carta-nautica)}
.destination-primary{display:grid;grid-template-columns:var(--cl-space-7) minmax(0,1fr) var(--cl-space-5);gap:var(--cl-space-4);padding:var(--cl-space-4);border-radius:var(--cl-radius-card)}
.destination{grid-template-columns:var(--cl-space-7) minmax(0,1fr) var(--cl-space-5)}
.destination-copy{min-width:0}
.destination-title{font-weight:500}
.direction{font:var(--cl-type-h3)}
.public-intro{padding-bottom:var(--cl-space-6)}
.brand-mark:focus-visible{border-radius:var(--cl-space-1)}
.admin-shell{display:flex;flex-direction:column;flex:1;min-width:0}
.admin-sidebar{display:flex;flex-direction:column;border-bottom:1px solid var(--cl-line);padding:var(--cl-space-5);gap:var(--cl-space-5)}
.sidebar-brand{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--cl-space-5)}
.sidebar-product{font:var(--cl-type-body);font-weight:500}
.sidebar-product span{display:block;font:var(--cl-type-caption);color:var(--cl-text-60);margin-top:var(--cl-space-1)}
.sidebar-label{display:none}
.workspace-nav{display:flex;flex-wrap:wrap;gap:var(--cl-space-2)}
.workspace-nav a{display:flex;align-items:center;gap:var(--cl-space-3);min-height:var(--cl-touch-min);padding:var(--cl-space-3);border-radius:var(--cl-radius-input);font:var(--cl-type-small);text-decoration:none;color:var(--cl-text-70)}
.workspace-nav a:hover{color:var(--cl-text);background:var(--cl-soft)}
.workspace-nav a[aria-current=page]{background:var(--cl-soft);color:var(--cl-text);font-weight:500}
.nav-number{display:none;font:var(--cl-type-caption);color:var(--cl-text-60)}
.nav-count{font:var(--cl-type-caption);color:var(--cl-text-60);margin-left:auto}
.sidebar-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--cl-space-4)}
.sidebar-bottom>.button{font:var(--cl-type-caption)}
.account-row{display:flex;align-items:center;gap:var(--cl-space-3);font:var(--cl-type-small)}
.account-row>div p{font:var(--cl-type-caption);white-space:nowrap}
.account-avatar{display:flex;align-items:center;justify-content:center;width:var(--cl-control-md);height:var(--cl-control-md);border-radius:var(--cl-radius-pill);background:var(--cl-soft);border:1px solid var(--cl-line);font:var(--cl-type-caption)}
.logout-button{min-height:var(--cl-touch-min);padding:var(--cl-space-2);color:var(--cl-text-70);background:transparent;border:0;font:var(--cl-type-small);text-decoration:underline;text-underline-offset:var(--cl-space-1)}
.admin-workspace{min-width:0;display:flex;flex-direction:column;flex:1}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;gap:var(--cl-space-4);border-bottom:1px solid var(--cl-line);padding:var(--cl-space-4) var(--cl-gutter-base)}
.topbar-divider{color:var(--cl-text-60);margin-inline:var(--cl-space-2)}
.workspace-feedback{padding-inline:var(--cl-gutter-base)}
.admin-workspace .page-heading{padding-top:var(--cl-space-6)}
.admin-workspace .page-heading h1{font:var(--cl-type-h2);letter-spacing:var(--cl-track-h1)}
.workspace-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--cl-space-3);margin:0 var(--cl-gutter-base);padding-block:var(--cl-space-5);border-top:1px solid var(--cl-line);color:var(--cl-text-60);font:var(--cl-type-caption)}
.admin-workspace .metric-summary{padding-bottom:var(--cl-space-4)}
.admin-workspace .ranking-section{padding-top:var(--cl-space-4)}
.list-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--cl-space-4);padding-block:var(--cl-space-4);border-bottom:1px solid var(--cl-line)}
.managed-links li{display:grid;grid-template-columns:var(--cl-space-7) minmax(0,1fr);align-items:start;gap:var(--cl-space-4)}
.managed-links .link-actions{grid-column:2}
.link-title-row h2{font:var(--cl-type-body);font-weight:500}
.link-title-row{gap:var(--cl-space-2)}
.editor{background:var(--cl-elevated);margin-top:var(--cl-space-2)}
.editor-intro{margin-top:calc(-1 * var(--cl-space-3));margin-bottom:var(--cl-space-5)}
.image-editor{display:flex;align-items:flex-start;gap:var(--cl-space-5);padding-bottom:var(--cl-space-5);margin-bottom:var(--cl-space-5);border-bottom:1px solid var(--cl-line)}
.avatar-preview{width:var(--cl-space-8);height:var(--cl-space-8);font:var(--cl-type-h3)}
.image-controls{min-width:0;display:grid;gap:var(--cl-space-2);flex:1}
.image-label{font:var(--cl-type-small);font-weight:500}
.image-controls input[type=file]{width:100%;padding:var(--cl-space-2);font:var(--cl-type-small);background:var(--cl-bg)}
input[type=file]::file-selector-button{min-height:var(--cl-control-sm);padding:var(--cl-space-2) var(--cl-space-3);margin-right:var(--cl-space-2);border:1px solid var(--cl-border);border-radius:var(--cl-radius-pill);background:var(--cl-bg);color:var(--cl-text);font:var(--cl-type-small);cursor:pointer}
.remove-image{border:0;background:transparent;color:var(--cl-text-70);justify-self:start;text-decoration:underline;padding:0}
.image-controls .caption{overflow-wrap:anywhere}
.login-main{display:grid;gap:var(--cl-space-7);align-items:center;padding-block:var(--cl-space-7)}
.login-editorial{display:grid;gap:var(--cl-space-5)}
.login-editorial h1{font:var(--cl-type-h2);max-width:15ch}
.login-editorial .intro-text{max-width:40ch}
.login-signature{display:none;margin-top:var(--cl-space-7);padding-top:var(--cl-space-5);border-top:1px solid var(--cl-line);max-width:36ch}
.login-signature p{font:var(--cl-type-body-lg);margin-top:var(--cl-space-4);color:var(--cl-text-70)}
.login-panel{background:var(--cl-elevated);padding:var(--cl-space-5)}
.login-panel h2{font:var(--cl-type-h3);margin-block:var(--cl-space-4) var(--cl-space-2)}
.login-panel form{display:grid;gap:var(--cl-space-5);margin-top:var(--cl-space-6)}
.login-panel label{font:var(--cl-type-small);font-weight:500}
.login-panel input{font:var(--cl-type-body)}
.login-panel>.text-link{margin-top:var(--cl-space-4);color:var(--cl-text-70)}
.login-panel .primary{width:100%;min-height:var(--cl-control-lg);justify-content:space-between}
.password-field{display:flex;align-items:center;position:relative;margin-top:var(--cl-space-2)}
.password-field #password{margin:0;padding-right:88px}
.password-toggle{position:absolute;right:var(--cl-space-2);border:0;background:transparent;color:var(--cl-text-70);font:var(--cl-type-caption);padding:var(--cl-space-2)}
#login-error:empty{display:none}
.migration-banner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--cl-space-5);margin:var(--cl-space-5) var(--cl-gutter-base) 0;border:1px solid var(--cl-line);border-radius:var(--cl-radius-card);padding:var(--cl-space-5);background:var(--cl-soft)}
.migration-banner h2{font:var(--cl-type-body);font-weight:500;margin-bottom:var(--cl-space-2)}
@media(min-width:640px){
  .admin-sidebar{padding-inline:var(--cl-gutter-sm)}
  .admin-topbar,.workspace-feedback{padding-inline:var(--cl-gutter-sm)}
  .workspace-footer{margin-inline:var(--cl-gutter-sm)}
  .login-main{padding-block:var(--cl-space-8)}
  .login-editorial h1{font:var(--cl-type-h1)}
  .login-panel{padding:var(--cl-space-6)}
  .managed-links li{align-items:center}
  .admin-workspace .page-heading h1{font:var(--cl-type-h1)}
}
@media(min-width:1024px){
  .admin-shell{display:grid;grid-template-columns:240px minmax(0,1fr)}
  .admin-sidebar{position:sticky;top:0;height:100svh;border-right:1px solid var(--cl-line);border-bottom:0;padding:var(--cl-space-6) var(--cl-space-5)}
  .sidebar-brand{flex-direction:column;align-items:flex-start;gap:var(--cl-space-5)}
  .sidebar-product{padding-top:var(--cl-space-5);border-top:1px solid var(--cl-line);width:100%}
  .sidebar-label{display:block;margin-top:var(--cl-space-6)}
  .workspace-nav{flex-direction:column;gap:var(--cl-space-2)}
  .workspace-nav a{padding:var(--cl-space-3)}
  .nav-number{display:inline}
  .sidebar-bottom{margin-top:auto;flex-direction:column;align-items:stretch}
  .account-row{padding-top:var(--cl-space-5);border-top:1px solid var(--cl-line)}
  .logout-button{margin-left:auto}
  .admin-topbar,.workspace-feedback{padding-inline:var(--cl-gutter-lg)}
  .workspace-footer{margin-inline:var(--cl-gutter-lg)}
  .admin-workspace .analytics-grid{grid-template-columns:minmax(0,1fr)}
  .admin-workspace .container{max-width:none}
  .login-main{grid-template-columns:minmax(0,1fr) minmax(360px,420px);gap:var(--cl-space-8)}
  .login-editorial h1{font:var(--cl-type-display);letter-spacing:var(--cl-track-display)}
  .login-signature{display:block}
  .migration-banner{margin-inline:var(--cl-gutter-lg)}
}
@media(min-width:1280px){.admin-workspace .analytics-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.managed-links li{grid-template-columns:var(--cl-space-7) minmax(0,1fr) auto}.managed-links .link-actions{grid-column:auto}}
@media(max-width:359px){.image-editor{flex-direction:column}.image-controls{width:100%}.admin-topbar{flex-wrap:wrap}.sidebar-brand{align-items:flex-start}}
@media(max-width:1023px){.admin-sidebar{gap:var(--cl-space-4)}.workspace-nav{gap:var(--cl-space-1)}.workspace-nav a{padding-inline:var(--cl-space-2);gap:var(--cl-space-2)}.sidebar-bottom .account-avatar,.sidebar-bottom .account-row>div{display:none}.sidebar-bottom{flex-wrap:nowrap}.sidebar-bottom>.button{flex-shrink:1}.sidebar-bottom .logout-button{padding-inline:var(--cl-space-3)}}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .brand-mark img.logo-light{display:none}:root:not([data-theme=light]) .brand-mark img.logo-dark{display:block}}

/* Public scene and authenticated design workspace. Appearance follows the OS. */
.public-scene{position:relative;isolation:isolate;display:flex;flex-direction:column;flex:1;min-width:0;min-height:100svh;background:var(--cl-bg)}
.scene-backdrop{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.scene-image{position:absolute;inset:0;width:100%;height:100%;display:block}
.fit-cover{object-fit:cover}.fit-contain{object-fit:contain}
.position-top{object-position:center top}.position-center{object-position:center}.position-bottom{object-position:center bottom}
.beams-host{position:absolute;inset:0}
.public-foreground{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;min-height:100svh}
.public-scene.has-background>.public-foreground{width:calc(100% - var(--cl-space-7));max-width:640px;margin:var(--cl-space-5) auto;min-height:0;background:var(--cl-bg);border:1px solid var(--cl-line);border-radius:var(--cl-radius-card);box-shadow:var(--cl-shadow)}
.public-scene.has-background .public-foreground>.container{padding-inline:var(--cl-space-5)}
.public-scene.has-background .public-main{padding-block:var(--cl-space-7)}
.motion-toggle{max-width:100%;white-space:normal;flex-shrink:0;font:var(--cl-type-caption)}
.has-background .header-row{flex-wrap:wrap}
.design-workbench{display:grid;gap:var(--cl-space-6);align-items:start}
.design-form{min-width:0}
.design-form select{display:block;width:100%;margin-top:var(--cl-space-2);font:var(--cl-type-body)}
.design-form .settings-section{gap:var(--cl-space-4);padding-block:var(--cl-space-5)}
.design-form>.settings-section:first-child{padding-top:0}
.background-options{border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--cl-space-2);min-width:0}
.background-source{position:relative;min-width:0;display:flex;align-items:center;justify-content:center;text-align:center;min-height:var(--cl-touch-min);border:1px solid var(--cl-border);border-radius:var(--cl-radius-pill);padding:var(--cl-space-2) var(--cl-space-3);font:var(--cl-type-small);cursor:pointer}
.background-source:has(input:checked){background:var(--cl-soft);border-color:var(--cl-text)}
label.background-source input[type=radio]{position:absolute;opacity:0;width:1px;min-height:1px;height:1px;margin:0}
.background-source:focus-within,.catalog-choice:focus-within{outline:2px solid var(--cl-focus);outline-offset:var(--cl-space-1)}
.background-catalog{border:0;padding:0;margin:0;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--cl-space-4)}
.catalog-choice{display:block;position:relative;min-width:0;overflow:hidden;border:1px solid var(--cl-line);border-radius:var(--cl-radius-card);background:var(--cl-bg);font-weight:400;cursor:pointer}
.catalog-choice:has(input:checked){border-color:var(--cl-text);box-shadow:0 0 0 1px var(--cl-text)}
label.catalog-choice input[type=radio]{position:absolute;top:var(--cl-space-3);left:var(--cl-space-3);width:20px;height:20px;min-height:20px;margin:0;z-index:1;accent-color:var(--cl-acao-pressed)}
.catalog-thumbnail{display:block;width:100%;height:112px;object-fit:cover;background:var(--cl-bg)}
.flow-thumbnail{position:relative;overflow:hidden;isolation:isolate}
.catalog-copy{display:grid;gap:var(--cl-space-1);padding:var(--cl-space-3);overflow-wrap:anywhere}
.catalog-copy strong{font:var(--cl-type-body);font-weight:500}
.catalog-selected{color:var(--cl-text);visibility:hidden}
.catalog-choice:has(input:checked) .catalog-selected{visibility:visible}
.image-unavailable{background:var(--cl-soft);outline:1px solid var(--cl-border)}
.design-image-settings{display:grid;gap:var(--cl-space-4)}
.design-protection{margin-block:var(--cl-space-5);border-left:2px solid var(--cl-border);padding-left:var(--cl-space-4);max-width:var(--cl-measure)}
.design-status{margin-top:var(--cl-space-4)}
.design-preview-panel{grid-row:1;min-width:0;display:grid;gap:var(--cl-space-4);padding-bottom:var(--cl-space-5);border-bottom:1px solid var(--cl-line)}
.design-preview-panel .section-heading h2{font:var(--cl-type-body-lg)}
.preview-toolbar,.preview-view-controls{display:flex;flex-wrap:wrap;gap:var(--cl-space-2)}
.preview-toolbar .button{font:var(--cl-type-small);padding:var(--cl-space-2) var(--cl-space-3);white-space:normal}
.preview-toolbar .button[aria-pressed=true]{background:var(--cl-soft);border-color:var(--cl-text)}
.preview-toolbar [data-action=preview-expand]{margin-left:auto}
.design-preview{height:480px;overflow-y:auto;overflow-x:hidden;position:relative;border:1px solid var(--cl-line);border-radius:var(--cl-radius-card);background:var(--cl-bg);isolation:isolate}
.preview-scale{position:relative;width:100%;min-height:100%}
.preview-viewport{position:absolute;top:0;transform-origin:top left;width:960px}
.preview-viewport .public-scene{min-height:0}
.preview-viewport .public-foreground{min-height:0}
.preview-viewport .scene-preview>.public-foreground{min-height:0}
.preview-viewport .scene-preview.has-background>.public-foreground{width:calc(100% - var(--cl-space-8));max-width:640px;margin:var(--cl-space-6) auto}
.preview-viewport .public-main,.preview-viewport .has-background .public-main{padding:var(--cl-space-7) var(--cl-space-6)}
.preview-viewport .public-main h1{font:var(--cl-type-h1)}
.preview-brand{padding:var(--cl-space-5) var(--cl-space-6);border-bottom:1px solid var(--cl-line)}
.preview-footer{padding:var(--cl-space-5) var(--cl-space-6);border-top:1px solid var(--cl-line)}
[data-device=mobile] .preview-viewport .scene-preview.has-background>.public-foreground{width:calc(100% - var(--cl-space-7));margin:var(--cl-space-5) auto}
[data-device=mobile] .preview-viewport .public-main,[data-device=mobile] .preview-viewport .has-background .public-main{padding-inline:var(--cl-space-5)}
[data-device=mobile] .preview-viewport .public-main h1{font:var(--cl-type-h2)}
[data-device=mobile] .preview-brand,[data-device=mobile] .preview-footer{padding-inline:var(--cl-space-5)}
[data-only=true] .public-foreground{visibility:hidden}
.preview-caption{display:flex;justify-content:space-between;gap:var(--cl-space-3);flex-wrap:wrap}
.design-dialog{width:min(1200px,calc(100% - var(--cl-space-6)));max-height:calc(100svh - var(--cl-space-6));padding:var(--cl-space-5);overflow:auto;background:var(--cl-bg);color:var(--cl-text);border:1px solid var(--cl-line);border-radius:var(--cl-radius-card)}
.design-dialog::backdrop{background:var(--cl-mar-profundo);opacity:.85}
.design-dialog .design-preview{height:70svh;margin-top:var(--cl-space-4)}
@media(min-width:640px){.public-scene.has-background>.public-foreground{width:calc(100% - var(--cl-space-8));margin-block:var(--cl-space-6)}.public-scene.has-background .public-foreground>.container{padding-inline:var(--cl-gutter-sm)}.design-image-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.design-preview{height:560px}}
@media(min-width:1280px){.design-workbench{grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:var(--cl-space-6)}.design-preview-panel{grid-column:2;grid-row:1;position:sticky;top:var(--cl-space-5);padding:0;border:0}.design-form{grid-column:1;grid-row:1}.design-main{padding-inline:var(--cl-gutter-sm)}.design-main .page-heading{flex-wrap:wrap}.design-main .page-heading h1{max-width:24ch}}
@media(max-width:420px){.preview-toolbar [data-action=preview-expand]{margin-left:0}.preview-toolbar .button{font:var(--cl-type-caption)}.catalog-thumbnail{height:96px}.catalog-copy{padding:var(--cl-space-3)}.catalog-copy strong{font:var(--cl-type-small)}.catalog-copy .caption{font-size:12px}.background-catalog{gap:var(--cl-space-3)}}
@media(prefers-reduced-motion:reduce){.motion-toggle,[data-action=preview-motion]{display:none}}

.design-preview-panel>[data-action=preview-motion]{justify-self:start;font:var(--cl-type-small)}
