:root{--navy:#173b66;--blue:#1d7ed0;--orange:#f39a18;--bg:#f4f7fb;--card:#fff;--text:#18324d;--muted:#66788a;--border:#dbe5ef;--danger:#b42318;--success:#17854b}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{max-width:1180px;margin:auto;padding:22px}.topbar{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.topbar-inner{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:10px 22px}.brand{width:300px;max-width:48vw}.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:700}.btn-primary{background:var(--navy);color:#fff}.btn-blue{background:var(--blue);color:#fff}.btn-light{background:#edf4fa;color:var(--navy)}.btn-orange{background:var(--orange);color:#fff}.grid{display:grid;gap:18px}.grid-3{grid-template-columns:repeat(3,1fr)}.card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 7px 24px rgba(30,65,100,.05)}.hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:16px 0 22px}h1,h2,h3{margin:.2em 0 .55em}.muted{color:var(--muted)}.small{font-size:.88rem}.kpi{font-size:1.7rem;font-weight:800}.pill{display:inline-block;padding:5px 9px;border-radius:999px;background:#edf4fa;color:var(--navy);font-size:.8rem;font-weight:800}.site-card{cursor:pointer;transition:.15s}.site-card:hover{transform:translateY(-2px)}.progress{height:8px;background:#e8eef4;border-radius:999px;overflow:hidden}.progress>span{height:100%;display:block;background:var(--orange)}.form{display:grid;gap:13px}.form label{font-weight:700;font-size:.9rem}.input{width:100%;border:1px solid var(--border);border-radius:10px;padding:11px 12px;background:#fff}textarea.input{min-height:90px;resize:vertical}.row{display:flex;gap:12px;align-items:center}.row>*{flex:1}.hidden{display:none!important}.error{padding:12px 14px;border-radius:10px;background:#fff0ee;color:var(--danger)}.success{padding:12px 14px;border-radius:10px;background:#edf9f1;color:var(--success)}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.tab{padding:9px 12px;border-radius:9px;border:1px solid var(--border);background:#fff}.tab.active{background:var(--navy);color:#fff}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:10px;border-bottom:1px solid var(--border);font-size:.92rem}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:30px}.login-card{width:min(940px,100%);display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;padding:0}.login-side{padding:38px;background:linear-gradient(145deg,#173b66,#1d7ed0);color:#fff}.login-form{padding:38px}.login-logo{width:350px;max-width:100%;background:#fff;border-radius:14px;padding:8px}.modal{position:fixed;inset:0;background:rgba(13,39,66,.45);display:grid;place-items:center;padding:20px;z-index:50}.modal-card{background:#fff;border-radius:16px;padding:22px;max-width:640px;width:100%;max-height:90vh;overflow:auto}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.right{text-align:right}@media(max-width:800px){.grid-3,.login-card{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}.row{flex-direction:column}.brand{width:230px}.shell{padding:15px}.login-side,.login-form{padding:26px}}

.btn-danger{background:#b42318;color:#fff}.btn-danger:hover{filter:brightness(.95)}.btn:disabled{opacity:.6;cursor:not-allowed}.document-actions{display:flex;justify-content:flex-end;gap:8px;align-items:center}.upload-progress-wrap{padding:12px 0}.upload-progress-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:.88rem;font-weight:700;color:var(--muted)}.upload-progress{height:10px}.upload-progress>span{transition:width .15s ease}.delete-warning{padding:14px;border-radius:12px;background:#fff7e8;border:1px solid #ffd28a;margin-bottom:14px}.delete-warning p{margin:.55rem 0 0}.delete-warning strong{color:var(--danger)}
@media(max-width:800px){.document-actions{flex-direction:column;align-items:stretch}.document-actions .btn{width:100%;text-align:center}}

/* CANTEASY v1.2 — Accessi multiutente */
.table-wrap{overflow-x:auto}.access-table{min-width:900px}.access-note{padding:12px 14px;margin:0 0 18px;border:1px solid #cfe2f3;background:#f4f9fd;border-radius:12px;color:#31536f}.permission-box{border:1px solid var(--border);border-radius:12px;padding:14px;background:#f8fbfe}.permission-title{font-weight:800;margin-bottom:8px}.check-row{display:flex!important;align-items:center;gap:10px;padding:7px 0;font-weight:600!important}.check-row input{width:18px;height:18px;flex:0 0 auto}.status-badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.8rem;font-weight:800;white-space:nowrap}.status-accepted{background:#edf9f1;color:#17854b}.status-pending{background:#fff7e8;color:#8a5800}.status-revoked{background:#fff0ee;color:#b42318}.member-actions{display:flex;gap:7px;justify-content:flex-end;white-space:nowrap}.member-actions .btn{padding:8px 10px;font-size:.86rem}
@media(max-width:800px){.member-actions{flex-direction:column}.access-note{font-size:.9rem}}


/* CANTEASY v1.3 - Sopralluoghi */
.grid-2{grid-template-columns:repeat(2,1fr)}.inspection-table{min-width:780px}.inspection-form{gap:15px}.inspection-fieldset{border:1px solid var(--border);border-radius:12px;padding:12px 14px}.inspection-fieldset legend{font-weight:800;padding:0 6px}.radio-row{display:flex!important;align-items:center;gap:9px;padding:6px 0;font-weight:600!important}.radio-row input{width:18px;height:18px;flex:0 0 auto}.tall{min-height:130px!important}.signature-grid{gap:14px}.signature-canvas{display:block;width:100%;height:120px;margin:8px 0;border:1px solid var(--border);border-radius:10px;background:#fff;touch-action:none}.sig-clear{padding:8px 11px}.inspection-form .small{display:block;margin-top:5px;font-weight:400}.inspection-table .btn{white-space:nowrap}
@media(max-width:800px){.grid-2{grid-template-columns:1fr}.inspection-table{min-width:680px}.signature-canvas{height:105px}}

.minute-types,.minute-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 24px}
.minute-type-card{appearance:none;border:1px solid #dce5ee;background:#fff;border-radius:14px;padding:18px;text-align:left;cursor:pointer;color:#17314f}
.minute-type-card:hover{border-color:#7ca6cf;box-shadow:0 5px 18px rgba(20,47,79,.08)}
.minute-type-card b{display:block;font-size:16px;margin-bottom:6px}.minute-type-card span{display:block;color:#6b7b8d;font-size:13px;line-height:1.4}
.minute-type-card:disabled{opacity:.6;cursor:default}.input.tall{min-height:120px}
@media(max-width:720px){.minute-types,.minute-choice-grid{grid-template-columns:1fr}}

.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.archive-card{border:1px solid #dce5ee;border-radius:14px;padding:18px;background:#fff}@media(max-width:720px){.archive-grid{grid-template-columns:1fr}}

.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.archive-card{display:block;text-align:left;border:1px solid #dce5ee;border-radius:16px;padding:20px;background:#fff;cursor:pointer;color:inherit;font:inherit;box-shadow:0 5px 18px rgba(25,55,85,.04)}
.archive-card:hover{border-color:#9fc4e6;transform:translateY(-1px)}
.archive-card h3{margin:5px 0 7px;color:#153b62}
.archive-folder{font-size:30px;color:#f5a016;line-height:1}
.archive-count{margin-top:13px;font-weight:700;color:#567087}
@media(max-width:720px){.archive-grid{grid-template-columns:1fr}}
