:root{--paper-bg: #F7F5EF;--paper-panel: #FBFAF6;--paper-text: #22201C;--paper-text-muted: #6B6558;--paper-border: #DED8C9;--paper-border-soft: #ECE7DA;--paper-accent: #33635F;--paper-accent-dark: #274D49;--paper-accent-2: #BD7B52;--paper-font-serif: Georgia, "Iowan Old Style", serif;--primary: var(--paper-accent);--primary-dark: var(--paper-accent-dark);--bg: var(--paper-bg);--sidebar: var(--paper-panel);--text: var(--paper-text);--muted: var(--paper-text-muted);--border: var(--paper-border);--danger: #b3261e;--success: var(--paper-accent)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text)}h1,h2,h3,.brand{font-family:var(--paper-font-serif)}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.centered{display:flex;align-items:center;justify-content:center;height:100vh}.btn{display:inline-block;padding:.55rem 1rem;border:none;border-radius:3px;font-size:.9rem;cursor:pointer;font-weight:600}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{background:var(--paper-border-soft)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh}.auth-card{background:#fff;padding:2.5rem;border:1px solid var(--border);border-radius:4px;width:360px}.auth-card h1{font-size:1.4rem;margin:0 0 .25rem}.app-shell{display:flex;min-height:100vh}.sidebar{width:240px;background:var(--sidebar);color:var(--text);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.5rem 1rem}.brand{font-size:1.2rem;margin-bottom:2rem}.sidebar nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.sidebar nav a{color:var(--muted);padding:.6rem .75rem;border-radius:3px;font-weight:500}.sidebar nav a:hover,.sidebar nav a.active{background:#efeae0;color:var(--primary);text-decoration:none}.sidebar-footer{border-top:1px solid var(--border);padding-top:1rem}.user-badge{margin-bottom:.75rem;display:flex;flex-direction:column}.role-tag{font-size:.7rem;color:var(--muted);text-transform:uppercase}.content{flex:1;display:flex;flex-direction:column}.topbar{display:flex;justify-content:flex-end;padding:1rem 2rem;background:#fff;border-bottom:1px solid var(--border)}.page{padding:2rem}.form{max-width:640px;display:flex;flex-direction:column;gap:1rem}.form-row{display:flex;gap:1rem}.form-row label{flex:1}label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600}input,textarea,select{padding:.55rem .7rem;border:1px solid var(--border);border-radius:3px;font-size:.9rem;font-family:inherit}input:focus,textarea:focus{outline:2px solid var(--primary);border-color:transparent}.error{color:var(--danger);font-size:.85rem}.success{color:var(--success);font-size:.9rem}.muted{color:var(--muted)}.banner-warning{background:#fbefe7;border:1px solid var(--paper-accent-2);color:var(--text);padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem}.stats-grid{display:flex;gap:1rem;margin:1rem 0 2rem}.stat-card{background:#fff;border:1px solid var(--border);border-radius:4px;padding:1.25rem 1.5rem;min-width:160px}.stat-value{font-size:2rem;font-weight:700;color:var(--primary)}.stat-label{color:var(--muted);font-size:.85rem}.simple-list{list-style:none;padding:0}.simple-list li{padding:.4rem 0;border-bottom:1px solid var(--border)}.page-header{display:flex;justify-content:space-between;align-items:center}.search-input{width:100%;max-width:480px;margin:1rem 0}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin:1rem 0}.tab{background:transparent;border:none;padding:.6rem 1rem;cursor:pointer;font-weight:500;color:var(--muted);border-bottom:2px solid transparent;font-family:inherit}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.notes-list{list-style:none;padding:0}.note-item{background:#fff;border:1px solid var(--border);border-radius:4px;padding:1rem;margin-bottom:.75rem}.note-date{font-size:.8rem;color:var(--muted)}.note-body{margin:.5rem 0;white-space:pre-wrap}.note-meta{display:flex;gap:1rem;font-size:.8rem;color:var(--muted)}.totp-setup{max-width:420px}.qr{width:200px;height:200px;margin:1rem 0;border:1px solid var(--border);border-radius:4px}.patient-record{display:flex;min-height:70vh;background:var(--paper-bg);color:var(--paper-text);border:1px solid var(--paper-border);border-radius:4px;overflow:hidden}.patient-record label{font-weight:400}.patient-record-sidebar{width:260px;flex-shrink:0;border-right:1px solid var(--paper-border);background:var(--paper-panel);display:flex;flex-direction:column}.patient-record-sidebar-header{padding:18px 16px 12px}.patient-record-title{font-family:var(--paper-font-serif);font-size:1.15rem;margin-bottom:14px}.patient-record-search{display:flex;align-items:center;gap:8px;border:1px solid var(--paper-border);border-radius:3px;padding:7px 9px;background:#fff;color:var(--paper-text-muted)}.patient-record-search input{border:none;outline:none;font-size:.85rem;width:100%;padding:0;background:transparent;color:var(--paper-text)}.patient-record-list{flex:1;overflow-y:auto}.patient-record-list-item{display:block;width:100%;text-align:left;padding:10px 16px;border:none;border-top:1px solid var(--paper-border-soft);background:transparent;cursor:pointer;font:inherit;color:inherit}.patient-record-list-item.active{background:#efeae0}.patient-record-list-name{font-size:.9rem;font-weight:500}.patient-record-list-meta{font-size:.75rem;color:var(--paper-text-muted);margin-top:2px}.patient-record-empty{padding:16px;font-size:.8rem;color:var(--paper-text-muted)}.patient-record-new-btn-wrap{padding:14px;border-top:1px solid var(--paper-border)}.patient-record-new-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 12px;background:var(--paper-accent);color:#fff;border:none;border-radius:3px;font-size:.9rem;cursor:pointer}.patient-record-main{flex:1;padding:26px 34px;overflow-y:auto}.patient-record-main-inner{max-width:680px}.patient-record-header{margin-bottom:22px}.patient-record-header-name{font-family:var(--paper-font-serif);font-size:26px}.patient-record-header-name.is-new{font-size:24px}.patient-record-header-sub{font-size:.8rem;color:var(--paper-text-muted);margin-top:4px}.patient-record-flash{font-size:.8rem;color:var(--paper-accent);margin-bottom:16px}.patient-record-actions{display:flex;gap:10px;margin-top:6px}.section-label{font-size:.8rem;color:var(--paper-text-muted);border-bottom:1px solid var(--paper-border);padding-bottom:6px;margin:4px 0 14px}.paper-field{display:flex;flex-direction:column;gap:6px}.paper-field-label{font-size:.8rem;color:var(--paper-text-muted)}.paper-field-hint{color:#b8b0a0}.paper-input,.paper-textarea,.paper-select{border:1px solid var(--paper-border);border-radius:3px;padding:9px 10px;font-size:.9rem;font-family:inherit;color:var(--paper-text);background:#fff;outline:none;width:100%}.paper-textarea{min-height:56px;resize:vertical}.paper-input:focus,.paper-textarea:focus,.paper-select:focus{outline:none;border-color:var(--paper-accent)}.paper-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}.paper-grid-2.no-margin{margin-bottom:0}.paper-span-2{grid-column:1 / -1}.read-row{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-bottom:22px;font-size:.9rem}.read-row-label{font-size:.75rem;color:var(--paper-text-muted);margin-bottom:2px}.paper-btn-primary{padding:10px 18px;background:var(--paper-accent);color:#fff;border:none;border-radius:3px;font-size:.9rem;cursor:pointer}.paper-btn-primary:disabled{opacity:.6;cursor:default}.paper-btn-secondary{padding:10px 18px;background:transparent;color:var(--paper-text);border:1px solid var(--paper-border);border-radius:3px;font-size:.9rem;cursor:pointer}.consent-form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}.consent-form-item{display:flex;align-items:flex-start;gap:10px;font-size:.85rem;color:var(--paper-text);font-weight:400}.consent-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:.85rem}.consent-row.ok{color:var(--paper-accent)}.consent-row.pending{color:var(--paper-accent-2)}.anamnesis-form{display:flex;flex-direction:column;gap:0}.anamnesis-group{margin-bottom:18px}.anamnesis-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;border:none;border-bottom:1px solid var(--paper-border);padding:8px 0;cursor:pointer;font-family:var(--paper-font-serif);font-size:17px;color:var(--paper-text)}.anamnesis-group-body{display:flex;flex-direction:column;gap:16px;margin-top:14px}.chip-group{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.chip{border:1px solid var(--paper-border);background:#fff;color:var(--paper-text);border-radius:14px;padding:5px 12px;font-size:.8rem;cursor:pointer;font-family:inherit}.chip.active{border-color:var(--paper-accent);background:var(--paper-accent);color:#fff}.chip-altro-input{font-size:.85rem}.scale-field{display:flex;flex-wrap:wrap;gap:6px}.scale-dot{width:30px;height:30px;border-radius:50%;border:1px solid var(--paper-border);background:#fff;color:var(--paper-text);font-size:.8rem;cursor:pointer;font-family:inherit}.scale-dot.active{border-color:var(--paper-accent);background:var(--paper-accent);color:#fff}.family-history-row{display:flex;flex-direction:column;gap:10px}.add-row-btn{align-self:flex-start;background:transparent;border:none;color:var(--paper-accent);font-size:.8rem;cursor:pointer;padding:0}.paper-page{max-width:860px}.paper-page.narrow{max-width:520px}.paper-page h2{font-size:26px;font-weight:400;margin:0 0 4px}.paper-page-sub{font-size:.8rem;color:var(--paper-text-muted);margin-bottom:22px}.paper-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.paper-page-header button{flex-shrink:0;white-space:nowrap}.paper-page label{font-weight:400}.paper-field-error{font-size:.75rem;color:var(--danger)}.paper-inline{display:flex;gap:8px}.paper-inline .paper-input{flex:1}.users-table{width:100%;border-collapse:collapse;font-size:.9rem}.users-table th{text-align:left;font-size:.75rem;font-weight:400;color:var(--paper-text-muted);border-bottom:1px solid var(--paper-border);padding:6px 12px 6px 0}.users-table td{padding:12px 12px 12px 0;border-bottom:1px solid var(--paper-border-soft);vertical-align:middle}.users-table th:last-child,.users-table td:last-child{text-align:right;padding-right:0;white-space:nowrap}.users-table tr.inactive td{color:var(--paper-text-muted)}.users-name{font-family:var(--paper-font-serif);font-size:1rem}.users-email{font-size:.75rem;color:var(--paper-text-muted);margin-top:2px}.users-status-note{font-size:.75rem;color:var(--paper-accent-2);margin-top:2px}.users-table .paper-select{width:auto;padding:6px 8px;font-size:.85rem}.link-btn{background:transparent;border:none;padding:0;font:inherit;font-size:.8rem;color:var(--paper-accent);cursor:pointer}.link-btn.danger{color:var(--danger)}.link-btn:disabled{color:var(--paper-text-muted);cursor:default}.link-btn+.link-btn{margin-left:12px}.users-table tr.users-inline-row td{text-align:left;padding:4px 0 16px;white-space:normal}.users-inline-row .paper-field-label{display:block;margin-bottom:6px}
