@import url('./da-admin-fonts.css');

:root{font-family:Inconsolata,Courier,monospace;color:#111;background:#fff;font-size:16px;line-height:1.45;--muted:#666;--line:#d5d5d5;--edge:clamp(20px,4vw,72px)}
*{box-sizing:border-box}
body{margin:0;min-height:100vh}
body::before,body::after{content:"";position:fixed;top:0;bottom:0;width:1px;border-left:1px dotted #ddd;pointer-events:none;z-index:-1}
body::before{left:calc(var(--edge) - 14px)}body::after{right:calc(var(--edge) - 14px)}
::selection{background:#111;color:#fff}
a{color:inherit;text-decoration:none;text-underline-offset:5px}
a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit;color:inherit}
button,a.button{cursor:pointer}
button,.button{border:0;border-bottom:1px solid #111;border-radius:0;padding:10px 2px;background:transparent;color:#111;display:inline-block;text-decoration:none;line-height:1.35}
button:hover,.button:hover{background:#f4f4f4;text-decoration:none}
.primary{background:#111;color:white;border:1px solid #111;padding:11px 16px}
.primary:hover{background:#333}
button:disabled{opacity:.45;cursor:not-allowed}
:focus-visible{outline:2px solid #111;outline-offset:5px}
.admin-header{display:flex;justify-content:space-between;align-items:center;gap:32px;max-width:1800px;margin:auto;padding:32px var(--edge) 28px}
.brand{display:flex;align-items:center;gap:18px;flex-shrink:0;font-size:20px;line-height:1.2}
.brand:hover{text-decoration:none}
.brand svg{display:block;width:68px;height:68px;fill:currentColor;flex-shrink:0}
.brand-caption{display:block;font-size:12px;color:var(--muted);margin-top:7px}
.admin-header nav{display:flex;gap:clamp(16px,2vw,32px);flex-wrap:wrap;align-items:center;font-size:15px}
.admin-header nav a{padding:6px 0;border-bottom:1px solid transparent}
.admin-header nav a[aria-current=page]{border-bottom-color:#111}
.admin-header nav .panel-link{color:var(--muted)}
main{max-width:1800px;padding:54px var(--edge) 90px;margin:auto;min-height:65vh}
.admin-footer{display:flex;justify-content:space-between;gap:24px;max-width:1800px;margin:auto;padding:24px var(--edge) 32px;font-size:12px;color:var(--muted)}
h1,h2,h3,p{overflow-wrap:anywhere}
h1{font-family:Olivetti,Inconsolata,monospace;font-size:clamp(34px,3.7vw,58px);line-height:1.15;font-weight:400;letter-spacing:-.02em;margin:8px 0 30px}
h2{font-size:23px;line-height:1.3;font-weight:400;margin:42px 0 20px}
h3{font-size:19px;line-height:1.35;font-weight:400;margin:8px 0}
p{margin:12px 0}
.eyebrow,.badge{font-size:12px;color:var(--muted)}
.eyebrow{margin:0 0 14px}
.badge{display:inline-block;border:1px solid var(--line);padding:2px 7px}
.heading,.registry-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap;margin-bottom:36px}
.heading h1,.registry-heading h1{margin-bottom:0}
.actions{display:flex;gap:24px;flex-wrap:wrap;align-items:center}
.metrics,.registry-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:32px 0 40px}
.metrics a,.registry-metrics>div{border-top:1px solid #111;padding:18px 0;text-decoration:none;min-width:0;font-size:14px}
.metrics a:hover{background:#fafafa}
.metrics strong{display:block;font-size:44px;line-height:1.2;font-weight:400;margin-bottom:6px}
.registry-metrics span{display:block;font-size:13px;color:var(--muted)}
.registry-metrics strong{display:block;font-size:30px;line-height:1.2;font-weight:400;margin-top:10px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px;margin:24px 0}
.card{display:block;padding:20px 0;border:0;border-top:1px solid var(--line);border-radius:0;background:white;text-decoration:none;overflow-wrap:anywhere}
a.card:hover{background:#fafafa;text-decoration:none}
.card h2,.card h3{margin:0 0 12px}
.card ul{padding-left:20px}
.notice{background:#f6f6f6;border:0;border-left:2px solid #111;padding:16px 20px;line-height:1.6;margin:24px 0;font-size:14px}
.error{background:#fff7f5;border-color:#a32a16}
.table-wrap,.registry-table-wrap{overflow:auto}
.table-wrap{margin-top:24px}
table{width:100%;border-collapse:collapse;background:white;font-size:14px}
th,td{padding:16px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:13px;font-weight:700;border-bottom-color:#111}
td a:hover{text-decoration:underline}
label{display:flex;flex-direction:column;gap:9px;font-size:14px;font-weight:400;min-width:0}
input,select,textarea{width:100%;min-width:0;padding:12px;border:1px solid #aaa;border-radius:0;background:#fff;font-size:16px;font-weight:400}
input[type=search]{max-width:640px}
input[type=checkbox]{accent-color:#111;min-width:16px;min-height:16px;margin:0 8px 0 0}
textarea{min-height:150px;line-height:1.5;resize:vertical}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:32px 0}
.repeat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;padding:24px 0 32px;margin-bottom:16px;border:0;border-top:1px solid #111;border-radius:0;align-items:end}
.repeat-row button{font-size:13px;justify-self:start;color:var(--muted)}
.repeater{margin-bottom:40px}
.save-bar{margin-top:40px;display:flex;align-items:center;flex-wrap:wrap;gap:28px;padding-top:24px;border-top:1px solid #111}
.deadline{display:grid;grid-template-columns:110px minmax(0,1fr) 190px 180px;gap:24px;padding:24px 12px;border:0;border-top:1px solid var(--line);align-items:center;font-size:14px}
.deadline time{font-size:16px}
.deadline.late{box-shadow:inset 2px 0 #a32a16}
.deadline.soon{box-shadow:inset 2px 0 #111}
.deadline p{margin:6px 0}
.deadline strong{font-weight:400}
.filters{display:flex;gap:24px;margin:24px 0;align-items:center}
.filters select{width:auto;max-width:100%}
.empty{padding:24px 0;border-top:1px solid var(--line)}
[hidden]{display:none!important}

/* Clienti: stessa griglia aperta, dati leggibili anche a righe espanse. */
.registry-page{font-size:15px}
.registry-heading{margin:0 0 36px}
.registry-muted,.registry-note{color:var(--muted);font-size:13px}
.registry-note{max-width:1000px}
.registry-metrics{margin-top:18px;margin-bottom:20px}
.registry-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;margin:10px 0 24px}
.registry-months button{border:0;border-bottom:1px solid var(--line);text-align:left;padding:12px 0;min-width:0}
.registry-months span,.registry-months strong{display:block;font-size:13px}
.registry-months strong{margin-top:7px;font-weight:400;white-space:nowrap}
.registry-months button[aria-pressed=true]{background:#111;color:white;padding-left:8px;border-color:#111}
.registry-toolbar{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:24px 0 36px}
.registry-toolbar .button,.registry-toolbar button{font-size:14px}
input.registry-search{max-width:none;width:100%;padding:16px 0;border:0;border-bottom:1px solid #111}
[data-client-results]{min-height:18px;margin:8px 0 30px}
.client-group{border:0;border-top:1px solid #111;padding:0;margin:0 0 56px;background:#fff}
.client-group h2{font-family:Olivetti,Inconsolata,monospace;font-size:27px;font-weight:400;margin:0;padding:20px 0 24px}
.client-group h2 small{font-family:Inconsolata,monospace;font-size:15px;color:var(--muted)}
.client-record{--client-inset:16px;border-top:1px solid var(--line)}
.client-summary{list-style:none;display:grid;grid-template-columns:26%30%25%19%;align-items:center;padding:24px var(--client-inset);cursor:pointer}
.client-summary::-webkit-details-marker{display:none}
.client-summary>div{min-width:0;padding-right:20px;overflow-wrap:anywhere}
.client-summary h3{font-size:19px;margin:0 0 10px}
.registry-action{font-size:13px;text-decoration:underline}
.client-contact{font-size:13px;line-height:1.65}
.client-contact>a{color:var(--muted);text-decoration:underline}
.service-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.service-tags span{border:1px solid var(--line);padding:1px 6px;background:transparent;border-radius:0;font-size:12px}
.client-next{font-size:13px}
.client-next p{margin:8px 0}
.client-next small,.client-yearly small{display:block;font-size:12px;color:var(--muted)}
.client-next .next-payment{color:#111}
.client-yearly{text-align:right;font-size:14px;padding-right:0!important}
.client-yearly strong{display:block;font-weight:400;margin:5px 0}
.expand-hint{display:block;font-size:12px;color:var(--muted);margin-top:12px}
.client-record[open]{background:#fafafa}
.client-record[open] .expand-hint{visibility:hidden}
.client-expanded{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:0 var(--client-inset) 32px}
.client-expanded>div{min-width:0}
.client-expanded h3{font-size:18px;margin:28px 0 16px}
.registry-facts{margin:24px 0;line-height:1.6}
.registry-facts dt{font-size:12px;color:var(--muted);margin-top:14px}
.registry-facts dd{margin:0;overflow-wrap:anywhere}
.registry-table{font-size:13px;background:transparent;margin:0}
.registry-table th,.registry-table td{padding:12px 8px;background:transparent;overflow-wrap:anywhere}
.registry-table small{display:block;font-size:12px;color:var(--muted);margin-top:5px}
/* Dati del sito sempre visibili nella stessa tabella, senza una seconda apertura. */
.registry-domain-table,.registry-services-table{table-layout:fixed;min-width:640px}
.registry-table th:first-child,.registry-table td:first-child{padding-left:0}
.registry-table th:last-child,.registry-table td:last-child{padding-right:0}
.registry-domain-row td{border-bottom:0;padding-bottom:8px}
.registry-domain-details td{padding-top:0;padding-bottom:20px}
.registry-site-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 24px;margin:0}
.registry-site-facts>div{min-width:0}
.registry-site-facts dt{font-size:12px;color:var(--muted)}
.registry-site-facts dd{margin:3px 0 0;font-size:13px;overflow-wrap:anywhere}
.registry-site-facts .registry-site-note{grid-column:1/-1}
.registry-services-table th:nth-child(3),.registry-services-table td:nth-child(3),.registry-services-table th:nth-child(4),.registry-services-table td:nth-child(4){white-space:nowrap;overflow-wrap:normal}
.registry-services-table td:nth-child(3) small{white-space:normal}
@media(max-width:1100px){.registry-site-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
.registry-notes{font-size:14px;line-height:1.65;overflow-wrap:anywhere}
.registry-costs{margin:50px 0 0;border-top:1px solid #111}
.registry-costs h2{font-family:Olivetti,Inconsolata,monospace;font-size:28px;margin-top:24px}

@media(max-width:1150px){
 .admin-header{align-items:flex-start;gap:24px;flex-direction:column}
 .admin-header nav{gap:24px}
 .registry-months{grid-template-columns:repeat(6,minmax(0,1fr))}
 .registry-metrics strong{font-size:26px}
 .deadline{grid-template-columns:100px minmax(0,1fr) 155px 140px;gap:16px}
}
@media(max-width:760px){
 :root{--edge:24px}
 .admin-header{padding-top:24px;padding-bottom:20px}
 .brand{font-size:18px}.brand svg{width:58px;height:58px}
 .admin-header nav{gap:12px 22px;font-size:15px}
 main{padding-top:32px;padding-bottom:60px}
 .heading,.registry-heading{display:block;margin-bottom:30px}
 .heading .actions,.registry-heading>.button{margin-top:24px}
 .actions{gap:20px}
 .metrics,.registry-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .registry-metrics strong{font-size:26px}
 .form-grid{grid-template-columns:1fr;gap:24px}
 .deadline{grid-template-columns:1fr;padding:20px 14px;gap:12px}
 .filters{flex-wrap:wrap;gap:16px}.filters select{width:100%}
 .registry-months{grid-template-columns:repeat(3,minmax(0,1fr))}
 .registry-toolbar{gap:18px}
 .client-record{--client-inset:10px}
 .client-summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
 .client-summary .client-identity{grid-column:1/-1}
 .client-summary .client-contact{grid-row:2;padding-right:10px}
 .client-summary .client-next{grid-row:3;grid-column:1/-1}
 .client-summary .client-yearly{grid-row:2;grid-column:2}
 .client-expanded{grid-template-columns:minmax(0,1fr);gap:16px;padding:0 var(--client-inset) 28px}
 .registry-table{min-width:280px}
 .registry-table th,.registry-table td{padding:10px 5px}
 .admin-footer{flex-direction:column;gap:12px}
 .save-bar{gap:20px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Composizione email: etichetta vicina al proprio campo. */
.mail-message-fields{display:grid;gap:28px;margin-top:24px}
.mail-message-fields>label{gap:5px}
.mail-message-fields textarea[name=body]{min-height:320px}

/* Scadenze raggruppate per cliente; date indipendenti per ogni sito. */
.deadline-map-head,.deadline-client{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,3.3fr) minmax(0,1fr) minmax(0,.85fr);gap:24px}
.deadline-map-head{margin-top:32px;padding:12px 14px;border-bottom:1px solid #111;color:var(--muted);font-size:12px}
.deadline-client{border-bottom:1px solid var(--line);padding:24px 14px;align-items:start;font-size:14px}
.deadline-client.late{box-shadow:inset 2px 0 #a32a16}
.deadline-client.soon{box-shadow:inset 2px 0 #111}
.deadline-client>div{min-width:0}
.deadline-client h3{font-size:18px;margin:0 0 12px}
.deadline-resource{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.deadline-resources .deadline-resource+.deadline-resource{margin-top:20px;padding-top:20px;border-top:1px dotted var(--line)}
.deadline-resource>div{min-width:0;overflow-wrap:anywhere}
.deadline-resource-name{line-height:1.5}
.deadline-resource-name small{display:block;color:var(--muted);font-size:12px}
.deadline-date{font-size:15px;padding-left:10px;border-left:2px solid transparent;line-height:1.5}
.deadline-date time{white-space:nowrap;font-variant-numeric:tabular-nums}
.deadline-date.soon{border-left-color:#111}
.deadline-date.late{border-left-color:#a32a16;color:#932714}
.deadline-date small{display:block;font-size:12px}
.deadline-untracked{font-size:13px;color:var(--muted)}
.deadline-date-label{display:none}
.deadline-service-date{grid-column:2/-1}
.deadline-service .deadline-date-label{display:block;font-size:12px;color:var(--muted)}
.deadline-client-status p{margin:0 0 14px;font-size:13px}
.deadline-client-status small{display:block;font-size:12px;margin-top:5px}
.deadline-client-status .status-late{color:#932714}
@media(max-width:1100px){
 .deadline-map-head{display:none}
 .deadline-client{grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:20px;margin-top:8px;border-top:1px solid var(--line)}
 .deadline-client-billing{grid-column:2}
 .deadline-client-status{grid-column:2;display:flex;gap:24px}
 .deadline-column-label{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}
 .deadline-date-label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
}
@media(max-width:760px){
 .deadline-client{grid-template-columns:minmax(0,1fr);gap:24px;padding:24px 12px}
 .deadline-client-billing{grid-column:1}
 .deadline-client-status{grid-column:1;flex-wrap:wrap;gap:12px 24px}
 .deadline-resource{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .deadline-resource-name{grid-column:1/-1}
 .deadline-service-date{grid-column:1/-1}
 .deadline-date{font-size:15px}
 .deadline-client-status p{margin:0}
}

.mail-client-addresses{min-width:0;margin:0;border:0;border-top:1px solid var(--line);padding:18px 0 0}
.mail-recipient-heading{padding:0 8px 0 0;font-size:16px;line-height:1.4;max-width:100%;overflow-wrap:anywhere}
.mail-client-addresses label{display:flex;flex-direction:row;align-items:flex-start;gap:8px;line-height:1.5;margin:10px 0;font-size:14px}
.mail-client-addresses input[type=checkbox]{width:16px;flex-shrink:0;margin:3px 0 0}
.mail-client-addresses label span{min-width:0;overflow-wrap:anywhere}
.mail-select-client{color:var(--muted);font-size:12px!important}
.mail-client-addresses>p{font-size:13px}

.deadline-column-label{display:none}
.deadline-client-billing>.deadline-date+.deadline-date{margin-top:16px}
.deadline-sites-context{font-size:14px;overflow-wrap:anywhere}
.deadline-sites-context summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.deadline-sites-context ul{padding-left:18px;margin-bottom:0}
.deadline-sites-context li{margin:8px 0}
.deadline-sites-context small{display:block;color:var(--muted);font-size:12px}
@media(max-width:1100px){.deadline-column-label{display:block}}

/* Le scadenze fornitore restano consultabili con peso visivo secondario. */
.deadline-resource{grid-template-columns:minmax(0,1.4fr) minmax(0,1.1fr) minmax(0,.9fr)}
.deadline-supplier-heading{font-size:11px;color:var(--muted)}
.deadline-date.deadline-supplier{font-size:13px;color:var(--muted)}
.deadline-supplier small,.deadline-supplier .deadline-untracked{font-size:11px}
.deadline-supplier.soon{border-left:1px dotted #999;padding-left:11px}
.deadline-supplier.late{border-left:1px dotted #932714;padding-left:11px;color:#932714}
.deadline-client-billing time{font-size:17px}
@media(max-width:760px){.deadline-resource{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Scheda sito: sezioni aperte e ordine di compilazione dal dominio. */
.repeat-row.domain-editor{display:block;padding:28px 0 36px;margin:0 0 36px}
.domain-editor-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px}
.domain-editor-heading h3{font-family:Olivetti,Inconsolata,monospace;font-size:27px;margin:0;overflow-wrap:anywhere;min-width:0}
.domain-editor-heading button{flex-shrink:0;margin:0}
.domain-editor-section{border:0;border-top:1px solid var(--line);padding:20px 0 0;margin:0 0 32px;min-width:0}
.domain-editor-section legend{font-size:18px;padding:0 14px 0 0}
.domain-section-help{font-size:13px;color:var(--muted);margin:0 0 20px;max-width:900px}
.domain-fields-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.domain-section-identity .domain-fields-grid{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr))}
.domain-field{min-width:0}
.domain-field-wide{grid-column:1/-1}
.domain-field-wide textarea{height:90px;min-height:85px}
.domain-section-privacy .domain-field-wide textarea{height:120px;min-height:110px}
@media(max-width:1050px){.domain-fields-grid,.domain-section-identity .domain-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.domain-section-identity .domain-field:first-child{grid-column:1/-1}}
@media(max-width:650px){.domain-fields-grid,.domain-section-identity .domain-fields-grid{grid-template-columns:minmax(0,1fr)}.domain-editor-heading{gap:14px;flex-wrap:wrap}.domain-editor-heading h3{font-size:24px}.domain-editor-section{margin-bottom:28px}.domain-fields-grid{gap:20px}}

/* Compilazione cliente più compatta, con campi sempre leggibili. */
.client-edit-page main{padding-top:32px;padding-bottom:56px}
.client-edit-page .heading{margin-bottom:24px}
.client-edit-page h1{font-size:clamp(30px,3vw,46px)}
.client-edit-page .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px;margin:24px 0}
.client-edit-page label{font-size:13px;gap:5px}
.client-edit-page input,.client-edit-page select,.client-edit-page textarea{padding:8px 10px;font-size:15px}
.client-edit-page h2{font-size:22px;margin:28px 0 12px}
.client-edit-page h2+p{font-size:13px;line-height:1.5;margin:8px 0 14px}
.client-edit-page .repeat-row.domain-editor{padding:18px 0 20px;margin-bottom:22px}
.client-edit-page .domain-editor-heading{margin-bottom:18px;gap:18px}
.client-edit-page .domain-editor-heading h3{font-size:23px}
.client-edit-page .domain-editor-section{padding-top:12px;margin-bottom:20px}
.client-edit-page .domain-editor-section legend{font-size:16px}
.client-edit-page .domain-section-help{font-size:12px;margin-bottom:12px}
.client-edit-page .domain-fields-grid{gap:14px 20px}
.client-edit-page .domain-field-wide textarea{height:60px;min-height:60px}
.client-edit-page .domain-section-privacy .domain-field-wide textarea{height:80px;min-height:70px}
.client-edit-page .repeater{margin-bottom:24px}
.client-edit-page .save-bar{margin-top:24px;padding-top:20px}
.repeat-row.service-editor{display:block;padding:18px 0 22px;margin:0 0 20px}
.service-editor-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}
.service-editor-heading h3{font-size:19px;margin:0;min-width:0}
.service-editor-heading button{flex-shrink:0}
.service-editor-section{border:0;border-top:1px solid var(--line);padding:12px 0 0;margin:0 0 18px;min-width:0}
.service-editor-section legend{padding:0 12px 0 0;font-size:16px}
.service-identity-grid{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:14px 20px}
.service-fields-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 20px}
.service-price-history{margin:0 0 18px;border-top:1px dotted var(--line);padding-top:12px}
.service-price-history summary{cursor:pointer;font-size:14px}
.service-price-history summary span{color:var(--muted);font-size:12px}
.service-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 20px;padding-top:14px}
.service-notes textarea{height:80px;min-height:70px}
@media(max-width:1050px){.client-edit-page .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-identity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-identity-grid>label:first-child{grid-column:1/-1}}
@media(max-width:650px){.client-edit-page .form-grid,.service-fields-grid,.service-history-grid,.service-identity-grid{grid-template-columns:minmax(0,1fr)}.service-editor-heading{flex-wrap:wrap;gap:12px}.client-edit-page .domain-fields-grid,.service-fields-grid,.service-identity-grid,.service-history-grid{gap:14px}}

.registry-economics{margin:36px 0 0;border-top:1px solid var(--line);padding-top:18px}
.registry-economics>summary{font-size:18px;cursor:pointer}
.registry-financial-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.registry-economics .registry-costs{margin-top:24px}
.registry-page .client-group.group-internal{margin-bottom:32px}
@media(max-width:650px){.registry-financial-metrics{grid-template-columns:minmax(0,1fr)}}

.registry-table .registry-payment-month{white-space:nowrap;overflow-wrap:normal;word-break:normal;width:1%}

.service-site{margin-top:14px;max-width:800px}.service-site p{margin:6px 0 0;font-size:12px}
.deadline-billing-lines{margin-top:6px;padding-left:12px;font-size:12px;color:var(--muted)}.deadline-billing-lines>div{margin-top:4px;overflow-wrap:anywhere}

.deadline-billing-site{display:block;font-size:11px;margin-top:2px}.deadline-billing-lines+.deadline-date{margin-top:18px}

.registry-months button small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.registry-months button[aria-pressed=true] small{color:inherit}

.deadline-map-head,.deadline-client{grid-template-columns:minmax(0,1.1fr) minmax(0,3.15fr) minmax(0,1.55fr) minmax(0,.85fr)}
.deadline-client-name>.registry-action{display:block;width:fit-content;margin-top:8px}
.deadline-client.is-invoiced{background:#edf5ed}
.deadline-invoice-controls{margin:12px 0 18px;padding-left:12px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.deadline-invoice-controls form{margin:0;max-width:100%}
.deadline-invoice-controls .invoice-badge{display:block;max-width:100%;line-height:1.5;overflow-wrap:anywhere}
.deadline-invoice-controls button{font-size:12px;padding:6px 0}.invoice-badge{display:inline-block;font-size:12px;color:#315a38}
.contact-kind{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}.contact-email-kind{margin-top:12px}
.client-email a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){.deadline-client{grid-template-columns:minmax(0,1fr) minmax(0,3fr)}}
@media(max-width:760px){.deadline-client{grid-template-columns:minmax(0,1fr)}}

.mail-monthly-settings{margin:24px 0;border-top:1px solid var(--line);padding-top:14px;font-size:14px}.mail-monthly-settings summary{cursor:pointer}.cron-command{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.5 Inconsolata,monospace;background:#f5f5f5;padding:14px}

@media(max-width:760px){.registry-domain-table,.registry-services-table{min-width:640px}.registry-site-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Accesso frontend: stessa identità e stessa sessione del gestionale. */
.admin-login-main{display:flex;align-items:flex-start;padding-top:clamp(36px,6vw,90px);min-height:calc(100vh - 240px)}
.admin-login-box{width:100%;max-width:620px}
.admin-login-box h1{font-size:clamp(34px,4vw,54px);margin-bottom:24px}
.admin-login-intro{max-width:530px;color:var(--muted);margin-bottom:30px}
.admin-login-form{display:grid;gap:24px}
.admin-login-form label{gap:6px}
.admin-login-form input{font-size:17px}
.admin-login-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:4px}
.admin-login-help{margin-top:28px;font-size:13px;color:var(--muted)}
.admin-login-help a{text-decoration:underline}
.admin-header nav .admin-logout{margin:0}
.admin-logout button{padding:6px 0;font-size:15px;color:var(--muted);border-bottom-color:transparent}
.admin-logout button:hover{border-bottom-color:currentColor;background:transparent}
