/* Shared action dimensions and disclosure typography across every page. */
:root{--piros-action-width:240px;--piros-control-height:44px;--piros-control-font:16px;--piros-disclosure-color:#616975}
/* Icon-only navigation controls retain their square touch target. */
body :is(button:not(.menu-toggle):not([data-close-menu]),a.btn,input[type=submit]){box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:var(--piros-action-width)!important;max-width:100%!important;min-width:0!important;height:var(--piros-control-height)!important;min-height:var(--piros-control-height)!important;margin-top:0!important;padding:3px 12px!important;border-radius:999px!important;font-family:Arial,Helvetica,sans-serif!important;font-size:var(--piros-control-font)!important;font-weight:400!important;line-height:18px!important;letter-spacing:normal!important;text-align:center!important;white-space:normal!important;overflow-wrap:anywhere!important;justify-self:start!important;flex:0 1 auto!important;text-decoration:none!important}
body summary{font-family:Arial,Helvetica,sans-serif!important;font-size:var(--piros-control-font)!important;font-weight:400!important;font-style:normal!important;line-height:24px!important;letter-spacing:normal!important;text-transform:none!important;color:var(--piros-disclosure-color)!important;min-height:44px}
body summary :is(span,strong,small){font:inherit!important;color:inherit!important;letter-spacing:inherit!important;text-transform:inherit!important}
body summary::before,body summary::after{color:inherit!important}
@media(min-width:761px){#devices .devices-table .device-check-actions,#devices .device-more-content{max-width:530px}}
@media(max-width:760px){body :is(button:not(.menu-toggle):not([data-close-menu]),a.btn,input[type=submit]){width:100%!important;justify-self:stretch!important}}
/* Centre the native date value, without the calendar icon offsetting the text. */
body input:is([type=date],[type=datetime-local]){-webkit-appearance:none;appearance:none;text-align:center!important;padding-inline:12px!important;padding-block:0!important;line-height:22px!important}
body input:is([type=date],[type=datetime-local])::-webkit-date-and-time-value{display:flex;width:100%;height:100%;align-items:center;justify-content:center;margin:0;padding:0;text-align:center!important}
body input:is([type=date],[type=datetime-local])::-webkit-datetime-edit{display:inline-flex;justify-content:center;align-items:center;width:100%;height:100%;padding:0!important;text-align:center!important}
body input:is([type=date],[type=datetime-local])::-webkit-datetime-edit-fields-wrapper{display:flex;justify-content:center;align-items:center;padding:0!important}
body input:is([type=date],[type=datetime-local])::-webkit-calendar-picker-indicator{display:none}
body .date-cell,body .device-card-dates>div,body .fire-due{text-align:center!important}
/* Settings share the same field rhythm as creation and periodicity forms. */
body .settings-content label,body .fire-planning-form label{font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:400;line-height:21px;min-width:0}
body .settings-content :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select),body .fire-planning-form :is(input:not([type=hidden]),select){height:44px!important;min-height:44px!important;width:100%;min-width:0;margin-top:6px;padding:10px 12px;font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:400;line-height:22px;border-radius:10px}
body .settings-content :is(input[type=checkbox],input[type=radio]){min-height:20px;height:20px;width:20px;flex-shrink:0}
body .settings-content .flex{gap:16px;align-items:end}
body .settings-content .notification-form>label{max-width:480px}
body .settings-content form>button{margin-top:16px!important}
body .fire-planning-form{display:grid;gap:12px;max-width:480px;margin:16px 0}
body .fire-planning-form .fire-planning-note{display:none!important}
body .fire-planning-form:has(option[value=custom]:checked) .fire-planning-note{display:block!important}
body .fire-planning-form button{margin-top:4px!important}
body main .section-page-title{border-block:1px solid #0071e3;padding:16px 0;margin:0 0 24px}
body main header.fire-heading{border:0}
body .fire-edit :is(input:not([type=hidden]),select){height:44px;min-height:44px;margin-top:6px;padding:10px 12px;font-size:16px;font-weight:400;line-height:22px;border-radius:10px}
body .fire-edit>label+label{margin-top:12px}
body .fire-edit>p{margin-top:16px}
/* A quiet two-column compliance summary, with editing kept in its disclosure. */
body .fire-control-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin:16px 0;min-width:0}
body .fire-control-summary>div{min-width:0}
body .fire-control-summary .fire-due{background:transparent;border:0;padding:0;margin:0}
body .fire-control-summary .fire-badge{background:transparent;padding:0}
body .fire-control-summary .fire-next-check{text-align:center}
body .fire-control-summary .fire-control-result,body .fire-control-summary .fire-planning-value{margin:0;font-size:16px;line-height:1.5;font-weight:400}
body .fire-control-summary .fire-planning-value{margin-top:12px}
body .fire-control-result[data-result=conforme]>span{color:#14724a}
body .fire-control-result:is([data-result=manchi_gravi],[data-result=manchi_meno_gravi])>span{color:#b02330}
body .fire-field details .fire-planning-form{border-top:1px solid #d5d7da;padding-top:16px}
body .fire-tools select,body .periodicity-site-filter select{display:block;width:100%;height:44px!important;min-height:44px!important;margin-top:6px;padding:10px 36px 10px 12px;font-family:Arial,Helvetica,sans-serif;font-size:16px!important;font-weight:400;line-height:22px;border-radius:10px;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23616975' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center}
body .periodicity-site-filter{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end}
body .periodicity-site-filter label{min-width:0;font-size:14px;font-weight:400}
body .periodicity-inherited{font-size:14px;margin:0 0 12px}
@media(max-width:760px){body .periodicity-site-filter{grid-template-columns:minmax(0,1fr)}}
/* Compact compliance cards: consistent spacing, fields and action rows. */
body .fire-record-groups{align-items:start;gap:18px}
body .fire-record-groups .fire-group>h3{padding:14px 18px;font-size:18px;line-height:26px}
body .fire-record-groups .fire-field{padding:16px 18px;font-size:16px;line-height:24px}
body .fire-record-groups .fire-field h4{margin:0 0 8px;font-size:16px}
body .fire-record-groups .fire-value{margin:0 0 8px}
body .fire-record-groups .fire-period{margin:0;font-size:14px;line-height:21px}
body .fire-record-groups .fire-control-summary{gap:16px;margin:14px 0}
body .fire-record-groups .fire-planning-value{margin-top:8px}
body .fire-record-groups .fire-field details{margin-top:10px;border-top:1px solid #e4e5e7;padding-top:4px}
body .fire-record-groups .fire-field details[open]>summary{margin-bottom:10px}
body .fire-record-groups .fire-control-edit,body .fire-record-groups .fire-planning-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end;width:100%;max-width:none;margin:0;padding-top:0}
body .fire-record-groups .fire-control-edit>label+label{margin:0}
body .fire-record-groups .fire-control-edit>p{grid-column:1/-1;margin:0}
body .fire-record-groups .fire-control-edit label,body .fire-record-groups .fire-planning-form label{font:400 14px/21px Arial,Helvetica,sans-serif}
body .fire-record-groups .fire-field :is(input:not([type=hidden]),select){height:44px;min-height:44px;margin-top:6px;font:400 16px/22px Arial,Helvetica,sans-serif;border-radius:10px}
body .fire-record-groups .fire-field select{appearance:none;padding-right:32px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23616975' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center}
body .fire-record-groups .fire-field details .fire-planning-form{margin-top:16px;padding-top:16px}
body .fire-record-groups .fire-planning-form>button{grid-column:1/-1;margin-top:0!important}
@media(max-width:760px){
 body .fire-record-groups .fire-control-edit,body .fire-record-groups .fire-planning-form{grid-template-columns:minmax(0,1fr)}
 body .fire-record-groups .fire-field{padding:14px}
 body .fire-record-groups .fire-group>h3{padding:12px 14px}
}
