:root{font-family:system-ui,sans-serif;color:#173c55;background:#edf3f5}body{margin:0}main{max-width:760px;margin:auto;padding:24px}h1{font-size:2.5rem}section,details{background:white;padding:24px;border-radius:16px;margin:16px 0}label{display:block;margin:14px 0;font-weight:600}input,select,textarea,button{font:inherit;box-sizing:border-box;padding:12px;border-radius:8px;border:1px solid #9cb3be;width:100%;margin-top:6px}button{color:white;background:#173c55;cursor:pointer}button:disabled{opacity:.5}a{color:#005f7a;text-decoration:underline;cursor:pointer}#status{white-space:pre-wrap;color:#8a2917}#invitation{overflow-wrap:anywhere}article{padding:16px 0;border-bottom:1px solid #cbd7dd}article p{white-space:pre-wrap}summary{cursor:pointer} [hidden]{display:none!important}
:root{--green:#4c8f2f;--teal:#00979f}body{background:#f1f6f1}main{max-width:1060px}.brand{display:flex;align-items:center;gap:18px;margin:4px 0 22px}.brand img{flex-shrink:0;object-fit:contain;background:#fff;border-radius:14px;padding:4px}.brand h1{margin:2px 0;font-size:2.2rem;line-height:1.15;color:#245b3c}.brand p{margin:0}.brand-name{color:#4c8f2f;font-weight:700;letter-spacing:.02em}.brand-subtitle{color:#617268;font-size:.9rem}button{background:#246b54}button:disabled{cursor:default}.page-nav{display:flex;gap:10px;margin:16px 0}.page-nav button{background:#f0f6f2;color:#25583f;border:1px solid #c4d9c8}.page-nav button[aria-pressed="true"]{background:#246b54;color:#fff}.week-controls{display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:end;gap:12px}.week-controls label{margin:0}.week-controls button{font-size:.9rem}.table-scroll{overflow-x:auto;margin:18px 0;border:1px solid #d6e3d5;border-radius:10px}.week-table{border-collapse:separate;border-spacing:0;min-width:980px;width:100%;font-size:.9rem}.week-table thead th{background:#e7f0e6;padding:12px 8px;text-align:left;color:#25583f}.week-table tbody th{position:sticky;left:0;z-index:1;background:#fff;min-width:92px;box-shadow:2px 0 3px #0001;font-weight:400;text-align:left;padding:10px}.week-table td{padding:8px 6px;border-top:1px solid #e5ece4;vertical-align:middle}.week-table tbody th{border-top:1px solid #e5ece4}.week-table input,.week-table select,.week-table textarea{font-size:.9rem;padding:8px;margin:0;min-width:94px;border-color:#c7d7c7}.week-table select{min-width:111px}.week-table [type="number"]{min-width:66px;width:72px}.week-table textarea{min-width:165px;resize:vertical}.week-table .row-hours{font-weight:700;white-space:nowrap;min-width:48px}.week-table tr.weekend,.week-table tr.weekend th{background:#f1f6ed}.week-table tr.is-dirty th{box-shadow:inset 4px 0 #f9bf16,2px 0 3px #0001}.week-table input:disabled,.week-table select:disabled,.week-table textarea:disabled{background:#f4f6f3;color:#657269;opacity:1}.week-actions{display:flex;gap:12px}.week-actions button:last-child{background:#f4f7f3;color:#365d3e}.export-caption{font-size:.87rem;color:#617268}#week-total{font-weight:700}#week-page{padding:18px 0;margin:0}.week-table th strong{font-size:.92rem}@media(max-width:600px){main{padding:16px}section,details{padding:16px}.brand{gap:12px}.brand img{width:66px;height:66px}.brand h1{font-size:1.8rem}.week-controls{grid-template-columns:1fr 1fr}.week-controls label{grid-column:1/-1;grid-row:1}.week-actions{flex-direction:column;gap:4px}.page-nav button{font-size:.9rem;padding:11px 5px}}

.ok-button{min-width:68px;width:auto;font-weight:700}.ok-pending{background:#f9bf16;color:#443500;border-color:#a47c00}.ok-confirmed{background:#38833b;color:white;border-color:#24612a}.ok-confirmed:disabled{opacity:1}#template-rows [type="checkbox"]{width:22px;min-width:22px;height:22px}#template-worker{font-weight:700}#template-page{padding:18px 0} .page-nav{flex-wrap:wrap} .page-nav button{flex:1;min-width:120px}

.day-card{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;align-items:center;gap:18px;padding:20px;background:#edf5ed;border:1px solid #d2e2d2;border-radius:12px}.day-card strong{display:block;font-size:1.2rem;margin-top:5px}.field-caption,.hint{font-size:.85rem;color:#617268}.day-card .ok-button{margin:0;min-width:68px}.entry-editor{padding:0;background:transparent;border:1px solid #c9daca;border-radius:10px}.entry-editor>summary{padding:14px 18px;font-weight:700;color:#246b54}.entry-editor fieldset{border:0;padding:0 18px 18px;margin:0;min-width:0}.time-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.time-pair input{font-size:1.3rem;letter-spacing:.04em}.edit-actions{display:flex;gap:12px}.edit-actions button:last-child{background:#edf3ee;color:#365d3e}#admin-page{padding:0;background:transparent}#admin-page>#admin{background:white;padding:20px;border-radius:12px}#template-page{padding:20px}.page-nav{margin-top:12px}#registry-picker{padding:0 0 10px}#entry-permission:empty{display:none}@media(max-width:600px){.day-card{grid-template-columns:1fr 1fr auto;gap:12px;padding:15px}.day-card>div:first-child{grid-column:1/-1}.day-card strong{font-size:1.15rem}.edit-actions{flex-direction:column;gap:3px}.time-pair{gap:10px}#template-page{padding:12px}}

#template-confirm{border:1px solid #c4d9c8;border-radius:16px;padding:24px;max-width:520px;width:calc(100% - 48px);box-sizing:border-box;color:#173c55;box-shadow:0 18px 60px #173c5533}#template-confirm::backdrop{background:#152a2d99}#template-confirm h2{margin-top:0}#template-confirm-text{line-height:1.6;font-size:1.05rem;white-space:pre-line}#template-confirm-feedback{color:#8a2917}

.month-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check-label{display:flex;align-items:center;gap:10px}.check-label input{width:22px;height:22px;margin:0}.admin-mail-panel{padding:15px 0}.mail-job{font-size:.86rem;border-bottom:1px solid #dce6dc;padding:10px 0;overflow-wrap:anywhere}#profile-email-display{font-size:.9rem;color:#617268}#workflow-confirm{border:1px solid #c4d9c8;border-radius:16px;padding:24px;max-width:540px;width:calc(100% - 48px);box-sizing:border-box;color:#173c55;box-shadow:0 18px 60px #173c5533}#workflow-confirm::backdrop{background:#152a2d99}#workflow-confirm-text{line-height:1.6;white-space:pre-line}#workflow-confirm-error{color:#8a2917}@media(max-width:600px){.month-actions{grid-template-columns:1fr}}

/* La settimana ha due colonne fisse, OK e giorno, con larghezze esplicite. */
#weekly-table{table-layout:fixed;min-width:825px}#weekly-table .col-ok{width:64px}#weekly-table .col-day{width:100px}#weekly-table .col-kind{width:117px}#weekly-table .col-time{width:91px}#weekly-table .col-break{width:73px}#weekly-table .col-hours{width:60px}#weekly-table .col-notes{width:auto}
#weekly-table .sticky-ok{position:sticky;left:0;z-index:3;background:#fff;text-align:center;padding:6px}#weekly-table .sticky-day{position:sticky;left:64px;z-index:3;background:#fff;min-width:0;padding:8px;box-shadow:2px 0 4px #0002}#weekly-table thead .sticky-ok,#weekly-table thead .sticky-day{background:#e7f0e6;z-index:4}#weekly-table .weekend .sticky-ok,#weekly-table .weekend .sticky-day{background:#f1f6ed}#weekly-table .ok-button{min-width:48px;width:48px;padding:10px 4px;margin:0}#weekly-table input,#weekly-table select,#weekly-table textarea{min-width:0;width:100%;max-width:100%;padding:9px 6px}#weekly-table [data-field="start"],#weekly-table [data-field="end"]{text-align:center;font-variant-numeric:tabular-nums;font-size:1rem}#weekly-table .row-hours{min-width:0;text-align:center}#weekly-table td{padding:8px 5px}#month-worker{font-weight:700}.page-nav #nav-month{flex:1.5;min-width:180px}

.admin-context{padding:16px 18px;background:#edf5ed;border-left:4px solid #4c8f2f;border-radius:10px}.admin-context p{margin:7px 0 0;font-size:.9rem;color:#526958}.admin-section{padding:0;margin:14px 0;border:1px solid #cbdccd;border-radius:12px;overflow:hidden}.admin-section>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 18px;list-style:none;background:#f2f7f1}.admin-section>summary::-webkit-details-marker{display:none}.admin-section>summary strong{display:block;color:#245b3c}.admin-section>summary small{display:block;color:#617268;font-weight:400;font-size:.85rem;margin-top:5px}.accordion-toggle{display:grid;place-items:center;flex:0 0 34px;height:34px;border:1px solid #b8d0bb;border-radius:8px;background:white;color:#246b54;font-size:1.35rem}.accordion-toggle::before{content:'+'}.admin-section[open]>summary .accordion-toggle::before{content:'−'}.admin-section[open]>summary{border-bottom:1px solid #d6e3d5}.accordion-body{padding:6px 18px 18px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-actions{display:flex;gap:10px;align-items:stretch}.admin-actions>*{flex:1}.admin-subsection{border-top:1px solid #dce6dc;margin-top:20px;padding-top:10px}.admin-subsection h3{font-size:1rem;margin-bottom:6px}.admin-result:empty{display:none}.admin-result:not(:empty){padding:14px;border:1px solid #d5b94b;background:#fff9df;border-radius:8px;white-space:pre-wrap}.secondary,button.secondary{background:#edf3ee;color:#365d3e}.danger,button.danger{background:#fff3ed;color:#8a2917;border-color:#d4afa2}.admin-month-link{margin-top:22px;padding-top:4px;border-top:1px solid #dce6dc}.admin-section #template-page{padding:0;margin:0;background:transparent}.admin-section #account-confirm{padding:14px;background:#fff9df;border:1px solid #dfce85}.admin-section summary:focus-visible{outline:3px solid #00979f;outline-offset:-3px}#admin-page>#admin{padding:20px}.admin-section button{overflow-wrap:anywhere}@media(max-width:600px){.admin-grid{grid-template-columns:1fr;gap:0}.admin-actions{flex-direction:column;gap:3px}.accordion-body{padding:4px 12px 14px}.admin-section>summary{padding:15px 12px}#admin-page>#admin{padding:14px}}

.bank-table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;font-size:.9rem}.bank-table th,.bank-table td{padding:12px 8px;border-bottom:1px solid #e2eae0;text-align:right;white-space:nowrap}.bank-table thead th{background:#e7f0e6;color:#25583f}.bank-table th:first-child{position:sticky;left:0;z-index:2;text-align:left;background:#f4f8f1;min-width:95px;box-shadow:2px 0 3px #0001}.bank-table input{width:94px;min-width:94px;padding:9px 6px;margin:0;text-align:right;font-variant-numeric:tabular-nums}.bank-table td{font-variant-numeric:tabular-nums}.bank-overview{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:#edf5ed;padding:18px;border-radius:12px;align-items:center}.bank-overview label{margin:0}.bank-overview strong,.bank-overview small{display:block;margin-top:8px}.bank-overview strong{font-size:1.6rem}.bank-overview small{color:#617268}.bank-overview input{max-width:240px}.bank-year-label{max-width:160px}.balance-debt{color:#ac201b!important;font-weight:700}.balance-credit{color:#195b32!important;font-weight:700}.bank-month-balance,.bank-progressive{font-weight:700}#bank-worker{font-weight:700}@media(max-width:600px){.bank-overview{grid-template-columns:1fr;gap:20px;padding:14px}#bank-page{padding:12px}}

#bank-fields{border:0;padding:0;margin:0;min-width:0}#bank-fields:disabled{opacity:.65}
