/* Design: Projexo Soft Coastal — interface lumineuse, contrôles précis et navigation douce avec turquoise comme repère. */
:root{--navy:#183047;--teal:#0a969f;--teal-deep:#08757d;--paper:#fff;--mist:#f3f8f7;--line:#d9e7e5;--line-strong:#bfd7d4;--muted:#607583;--lilac:#f3f0fe;--danger:#b95059;--focus:rgba(10,150,159,.18);--shadow-soft:0 14px 34px rgba(26,67,73,.08);--shadow-float:0 20px 48px rgba(26,67,73,.13)}
body{background:var(--mist);color:var(--navy);font-size:15px;line-height:1.45}.app-wordmark{font:800 24px/1 Manrope,sans-serif;letter-spacing:-1.35px}.app-wordmark>span:last-child{color:var(--teal)}.app-mark{display:inline-grid;width:29px;height:29px;place-items:center;margin-right:6px;color:var(--teal);font-size:30px;line-height:1}.eyebrow,.section-kicker,.list-label{color:#6b858b;font-size:10px;letter-spacing:.15em}.flash-message{top:20px;padding:12px 18px;border:1px solid rgba(255,255,255,.32);border-radius:12px;background:#193b48;box-shadow:var(--shadow-float);font-size:13px}.button{min-height:42px;padding:10px 16px;border-radius:10px;box-shadow:0 1px 1px rgba(18,56,63,.03);transition:transform .16s cubic-bezier(.23,1,.32,1),box-shadow .16s cubic-bezier(.23,1,.32,1),background .16s ease,border-color .16s ease}.button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(13,104,111,.14)}.button:active{transform:scale(.98)}.button-primary{background:var(--teal);box-shadow:0 7px 15px rgba(10,150,159,.18)}.button-primary:hover{background:var(--teal-deep)}.button-soft{border-color:#cce2df;background:#fff;color:var(--teal-deep)}.button-soft:hover{border-color:#a8d3cf;background:#eef9f8}.text-link{color:var(--teal-deep);text-underline-offset:3px}.form-stack label,.editor-form label{gap:7px;color:#385360;font-size:12px;letter-spacing:.005em}.form-stack input:not([type=checkbox]):not([type=radio]),.form-stack select,.form-stack textarea,.editor-form input:not([type=checkbox]):not([type=radio]),.editor-form select,.editor-form textarea{min-height:43px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;box-shadow:inset 0 1px 2px rgba(25,66,71,.025);color:#213b4b;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.form-stack input:not([type=checkbox]):not([type=radio]):hover,.form-stack select:hover,.form-stack textarea:hover,.editor-form input:not([type=checkbox]):not([type=radio]):hover,.editor-form select:hover,.editor-form textarea:hover{border-color:#a9cac7}.form-stack input:not([type=checkbox]):not([type=radio]):focus,.form-stack select:focus,.form-stack textarea:focus,.editor-form input:not([type=checkbox]):not([type=radio]):focus,.editor-form select:focus,.editor-form textarea:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 4px var(--focus);background:#feffff}.form-stack textarea,.editor-form textarea{padding-top:11px}.form-stack select,.editor-form select{padding-right:38px;background-image:linear-gradient(45deg,transparent 50%,#5d7b81 50%),linear-gradient(135deg,#5d7b81 50%,transparent 50%);background-position:calc(100% - 18px) 18px,calc(100% - 13px) 18px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;appearance:none}.form-stack input[type=checkbox],.editor-form input[type=checkbox],.form-stack input[type=radio],.editor-form input[type=radio]{width:18px!important;height:18px!important;min-height:18px!important;margin:0;vertical-align:middle;accent-color:var(--teal);cursor:pointer}.form-stack input[type=checkbox]{border-radius:5px}.form-stack input[type=radio]{border-radius:50%}.form-stack input[type=checkbox]:focus-visible,.editor-form input[type=checkbox]:focus-visible,.form-stack input[type=radio]:focus-visible,.editor-form input[type=radio]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.panel,.section-editor-card,.editor-sidebar{border-color:#dfeae8;border-radius:15px;box-shadow:0 1px 0 rgba(18,55,61,.02),0 7px 22px rgba(27,69,74,.045)}.panel{padding:24px}.admin-shell{background:#edf5f4}.admin-rail{padding:27px 15px 18px;border-right-color:#d9e7e5;background:rgba(255,255,255,.92);box-shadow:10px 0 30px rgba(20,54,60,.025)}.admin-nav{gap:5px;margin-top:44px}.admin-nav a{min-height:45px;gap:10px;padding:10px 11px;border:1px solid transparent;border-radius:11px;color:#58717e;font-size:13px;transition:color .16s ease,background .16s ease,border-color .16s ease,transform .16s cubic-bezier(.23,1,.32,1)}.admin-nav a:hover{transform:translateX(2px);border-color:#d7ebe8;background:#f2fbfa;color:var(--teal-deep)}.admin-nav a.is-active{border-color:#cbe8e4;background:#e5f6f4;color:var(--teal-deep);box-shadow:inset 3px 0 0 var(--teal)}.nav-icon{flex:0 0 19px;width:19px;height:19px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.tenant-card{border:1px solid #e0ecea;border-radius:13px;background:#f8fbfb;transition:border-color .16s ease,background .16s ease}.tenant-card:hover{border-color:#b9dcd7;background:#f0f9f8}.tenant-monogram{border-radius:11px;background:#def3f0;color:var(--teal-deep)}.logout-button{color:#6f818c;transition:color .16s ease}.logout-button:hover{color:var(--danger)}.admin-main{padding:42px 48px;background:radial-gradient(circle at 93% 2%,#e2f4f2 0,transparent 26%),var(--mist)}.admin-header h1{font-weight:800;letter-spacing:-1.4px}.stat-card{border-color:#dfebe9;border-radius:15px;box-shadow:0 1px 0 rgba(18,55,61,.02),0 7px 22px rgba(27,69,74,.04)}.status{border:1px solid transparent;border-radius:999px;font-size:9px;letter-spacing:.045em}.status-confirmed{border-color:#cbead5}.status-pending{border-color:#f2deb1}.status-waitlisted{border-color:#ded3fa}.auth-card,.booking-form-card,.confirmation-card{border-color:#dceae8;box-shadow:var(--shadow-float)}.auth-card{border-radius:20px}.auth-page,.booking-page{background:radial-gradient(circle at 82% 10%,#dff3f0 0,transparent 32%),radial-gradient(circle at 14% 90%,#f0edff 0,transparent 29%),#f5f9f8}@media(prefers-reduced-motion:reduce){.button,.admin-nav a,.tenant-card,.logout-button{transition:none}.button:hover,.admin-nav a:hover{transform:none}}@media(max-width:700px){.admin-nav a{flex:0 0 auto}.admin-nav a .nav-icon{width:18px;height:18px}.admin-main{padding:28px 18px}.panel{padding:19px}}
