
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#142440;background:#f3f6fb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh}a{color:inherit}.shell{max-width:1180px;margin:auto;padding-left:28px;padding-right:28px}.app-header{background:#101e36;color:white;box-shadow:0 4px 18px #14243c16}.top{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:20px;font-weight:800;white-space:nowrap}.brand-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#2866e9;font-size:26px}.brand-accent{color:#8bb4ff}.brand small{display:block;font-size:11px;font-weight:500;color:#aabbd6;letter-spacing:.03em;margin-top:2px}nav{display:flex;align-items:center;gap:9px;flex-wrap:wrap}nav a{padding:11px 14px;border-radius:10px;color:#d8e4f7;text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap}nav a:hover,nav a.active{background:#ffffff1b;color:white}nav a.logout{margin-left:14px;border:1px solid #ffffff36}.content{padding-top:40px;padding-bottom:48px}.eyebrow{color:#2866e9;font-size:11px;font-weight:800;letter-spacing:.14em;margin:0 0 8px}h1{font-size:clamp(28px,3vw,38px);line-height:1.15;letter-spacing:-.035em;margin:0 0 12px}h2{font-size:19px;margin:0 0 8px;letter-spacing:-.02em}.muted{color:#718098;margin:0;line-height:1.5}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:28px}.heading-actions{display:flex;gap:10px;flex-wrap:wrap}.button,button{background:#2563eb;color:white;border:1px solid #2563eb;border-radius:10px;padding:12px 18px;font:inherit;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;transition:background .15s}.button:hover,button:hover{background:#174cbb}.button-outline{background:white;color:#1f4c9c;border-color:#d6e2f4}.button-outline:hover{background:#eff5ff}.panel{background:#fff;border:1px solid #e2eaf5;border-radius:18px;padding:25px;box-shadow:0 12px 34px #16294b08}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}.stat{min-height:180px;display:flex;flex-direction:column}.stat-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#eaf1ff;color:#1e5bd7;font-size:23px;margin-bottom:16px}.stat span{font-size:13px;color:#677991}.stat b{font-size:30px;letter-spacing:-.04em;margin:5px 0}.stat small{font-size:12px;color:#94a2b4}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.section-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:16px;border-bottom:1px solid #edf1f7}.section-top .muted{font-size:13px}.text-link{color:#245fd4;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}.compact-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #eef2f7}.compact-row:last-child{border-bottom:0}.compact-row>div{min-width:0;flex:1}.compact-row strong,.compact-row small{display:block;overflow-wrap:anywhere}.compact-row strong{font-size:14px}.compact-row small{font-size:12px;color:#7c8ca3;margin-top:4px}.avatar{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;background:#eef4ff;border-radius:12px;color:#2a64da;font-weight:800}.status{font-size:11px;font-weight:700;padding:6px 9px;border-radius:20px}.status.vacant{background:#fff5e5;color:#946000}.status.occupied{background:#e8f8ef;color:#187343}.empty{color:#8a98ac;font-size:13px;padding:18px 0}.management{max-width:880px;margin:auto}.management>h2{padding-bottom:12px;border-bottom:1px solid #eaf0f7}.management>form{background:#f8faff;border:1px solid #e8eef9;padding:20px;border-radius:14px;margin:20px 0 28px}.management label,.login label{display:block;font-size:13px;font-weight:700;color:#3b4e69;margin:14px 0}.management input,.management select,.management textarea,.login input{display:block;width:100%;border:1px solid #ced9e9;border-radius:9px;padding:12px;margin-top:7px;background:white;color:#162844;font:inherit;font-size:14px}.management textarea{resize:vertical}.management input:focus,.management select:focus,.login input:focus{outline:2px solid #9dc0ff;border-color:#3978ec}.items{display:grid;gap:12px}.item{border:1px solid #e4ebf5;border-radius:12px;padding:18px;background:#fff}.item strong,.item small{display:block}.item strong{font-size:15px}.item small{color:#7788a0;font-size:12px;margin-top:7px;line-height:1.45}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.actions form{margin:0}.actions a,.cancel{font-size:13px;color:#205ed7;font-weight:700;text-decoration:none}.danger{background:#fff0f1;color:#b42340;border-color:#ffd5dc;padding:8px 12px}.danger:hover{background:#ffe1e5}.cancel{margin-left:12px}button:disabled{opacity:.5;cursor:not-allowed}.login{max-width:470px;margin:55px auto;padding:34px}.login-mark{font-size:36px;color:#2563eb;margin-bottom:18px}.login h1{font-size:32px}.login .muted{margin-bottom:24px}.login button{width:100%;margin-top:10px}.error,.success{padding:14px 17px;border-radius:10px;margin:0 0 20px;font-size:14px}.error{background:#ffe9ed;color:#9c1630}.success{background:#e7f8ee;color:#176a3d}.footer{color:#96a3b6;font-size:12px;padding-bottom:24px}@media(max-width:920px){.top{align-items:flex-start;flex-direction:column;padding-top:18px;padding-bottom:18px;gap:14px}nav{width:100%}nav a.logout{margin-left:0}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats .stat:last-child{grid-column:span 2}}@media(max-width:650px){.shell{padding-left:17px;padding-right:17px}.content{padding-top:28px}.page-heading{align-items:flex-start;flex-direction:column}.stats,.dashboard-grid{grid-template-columns:1fr}.stats .stat:last-child{grid-column:auto}.stat{min-height:145px}.panel{padding:20px}.management>form{padding:14px}nav{gap:5px}nav a{padding:9px 10px;font-size:12px}.brand{font-size:18px}.login{margin:22px auto}}

/* V2.2 : modules locataires et baux */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hint{font-size:12px;color:#6b7b93;line-height:1.6;margin:14px 0}.management .form-grid label{margin:10px 0}@media(max-width:650px){.form-grid{grid-template-columns:1fr}nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}}
