*{margin:0;padding:0}:root{--planning-dark:#07362f;--planning-dark-2:#095e49;--planning-dark-3:#0b4c3d;--planning-gold:#b0885b;--planning-line:#ffffff1a}.login-container{box-sizing:border-box;background:radial-gradient(circle at 0 0,#b0885b40,#0000 35%),radial-gradient(circle at 100% 100%,#095e4947,#0000 35%),linear-gradient(135deg,#f7f4ef 0%,#fff 45%,#eef5f2 100%);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:30px;display:flex;position:relative;overflow:hidden}.login-container *{box-sizing:border-box}.login-container:before,.login-container:after{content:"";filter:blur(5px);opacity:.45;z-index:0;border-radius:50%;position:absolute}.login-container:before{background:#095e492e;width:320px;height:320px;top:-90px;right:-80px}.login-container:after{background:#b0885b38;width:260px;height:260px;bottom:-80px;left:-70px}.login-card{z-index:1;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(18px);border-radius:28px;width:100%;max-width:430px;padding:42px 38px;animation:.45s loginFadeIn;position:relative;box-shadow:0 25px 70px #0000001f}.login-card h1{text-align:center;color:var(--brand-green);letter-spacing:-.5px;margin:0 0 30px;font-size:2rem;font-weight:800}.login-card h1:after{content:"";background:linear-gradient(90deg, var(--brand-green), var(--brand-gold));border-radius:999px;width:58px;height:4px;margin:14px auto 0;display:block}.login-form{flex-direction:column;gap:18px;display:flex}.login-form input{color:#1f2d29;background:#ffffffad;border:1px solid #095e492e;border-radius:15px;outline:none;width:100%;padding:15px 17px;font-size:.98rem;transition:all .25s;box-shadow:inset 0 1px #ffffff73}.login-form input::placeholder{color:#1f2d2985}.login-form input:focus{border-color:var(--brand-green);background:#ffffffe0;box-shadow:0 0 0 4px #095e491a,inset 0 1px #ffffff8c}.login-form button{cursor:pointer;color:#fff;letter-spacing:.2px;background:linear-gradient(135deg, var(--brand-green), #0b755b);border:none;border-radius:16px;margin-top:8px;padding:15px 18px;font-size:1rem;font-weight:700;transition:all .25s;box-shadow:0 14px 28px #095e4947}.login-form button:hover{background:linear-gradient(135deg, #0b755b, var(--brand-green));transform:translateY(-2px);box-shadow:0 18px 34px #095e4957}.login-form button:active{transform:translateY(0);box-shadow:0 10px 20px #095e4940}.login-error{color:#9f1d15;text-align:center;background:#b423181a;border:1px solid #b4231838;border-radius:14px;padding:13px 15px;font-size:.92rem;font-weight:600}@keyframes loginFadeIn{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=520px){.login-container{padding:20px}.login-card{border-radius:24px;padding:34px 24px}.login-card h1{font-size:1.7rem}}:root{--brand-green:#095e49;--brand-green-dark:#064334;--brand-green-soft:#095e4914;--brand-gold:#b0885b;--brand-gold-dark:#96724a;--text-main:#12352c;--text-muted:#095e498c;--text-soft:#095e496b;--glass-bg:#ffffff59;--glass-bg-strong:#ffffff9e;--glass-border:#ffffff80;--glass-border-strong:#ffffffbf;--glass-shadow:#0000001a;--danger:#c33;--danger-bg:#cc33331a;--warning:#b0885b;--warning-bg:#b0885b24;--success:#095e49;--success-bg:#095e491f;--radius-card:16px;--radius-input:8px;--radius-pill:20px;--blur-glass:blur(16px)}*{box-sizing:border-box}.admin-page{min-height:100vh;color:var(--text-main);background:radial-gradient(circle at 85% 15%,#095e491f 0%,#0000 50%),radial-gradient(circle at 15% 85%,#b0885b26 0%,#0000 50%),linear-gradient(135deg,#fff 0%,#edf2f0 100%);padding:30px 15px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow-x:auto}.admin-page h1{color:var(--brand-green);text-align:left;margin:0;font-size:1.8rem;font-weight:700;line-height:1.2}.sync-text{color:var(--text-muted);margin:8px 0 0;font-size:.92rem;font-weight:500}.admin-header{background:var(--glass-bg);max-width:1400px;-webkit-backdrop-filter:var(--blur-glass);border:1px solid var(--glass-border);border-radius:var(--radius-card);box-shadow:0 8px 32px 0 var(--glass-shadow);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:0 auto 25px;padding:20px;display:flex}.admin-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px;display:flex}.filter-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filter-box{border-radius:var(--radius-pill);border:1px solid var(--glass-border-strong);color:var(--brand-green);background:#ffffff80;align-items:center;gap:10px;padding:8px 10px 8px 14px;font-weight:600;display:flex;box-shadow:0 4px 18px #0000000a}.filter-box label{white-space:nowrap;font-size:.9rem}.filter-select,.repair-table select,.modal-content select{border-radius:var(--radius-input);min-height:38px;color:var(--brand-green);cursor:pointer;appearance:none;background:#ffffffa6;background-image:linear-gradient(45deg, transparent 50%, var(--brand-green) 50%), linear-gradient(135deg, var(--brand-green) 50%, transparent 50%);background-position:calc(100% - 16px),calc(100% - 11px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;border:1px solid #fffc;outline:none;padding:8px 34px 8px 12px;font-weight:600;transition:all .2s}.filter-select:hover,.filter-select:focus,.repair-table select:hover,.repair-table select:focus,.modal-content select:hover,.modal-content select:focus{border-color:var(--brand-gold);background-color:#fff;box-shadow:0 0 0 3px #b0885b24}.filter-select option,.repair-table select option,.modal-content select option{color:var(--brand-green);background:#fff}.btn-add,.btn-submit,.btn-cancel,.btn-delete{border-radius:var(--radius-input);cursor:pointer;border:none;font-family:inherit;font-weight:700;transition:all .2s}.btn-add{background:var(--brand-green);color:#fff;padding:12px 20px;box-shadow:0 8px 20px #095e492e}.btn-add:hover{background:var(--brand-green-dark);transform:translateY(-1px);box-shadow:0 12px 25px #095e493d}.btn-delete{color:var(--danger);border:1px solid var(--danger);background:0 0;padding:8px 12px}.btn-delete:hover{background:var(--danger);color:#fff}.btn-submit{background:var(--brand-green);color:#fff;padding:12px 18px}.btn-submit:hover{background:var(--brand-green-dark)}.btn-cancel{color:var(--brand-green);border:1px solid var(--glass-border-strong);background:#fff9;padding:12px 18px}.btn-cancel:hover{background:#fff}.loading-container{text-align:center;background:var(--glass-bg);max-width:1400px;-webkit-backdrop-filter:var(--blur-glass);border:1px solid var(--glass-border);border-radius:var(--radius-card);box-shadow:0 8px 32px 0 var(--glass-shadow);margin:0 auto;padding:35px}.loading-text{color:var(--brand-green);margin:0;font-weight:700}.repair-table{border-collapse:separate;border-spacing:0;background:var(--glass-bg);width:100%;max-width:1400px;-webkit-backdrop-filter:var(--blur-glass);border:1px solid var(--glass-border);border-radius:var(--radius-card);box-shadow:0 8px 32px 0 var(--glass-shadow);margin:0 auto;overflow:hidden}.repair-table thead{background:#095e490f}.repair-table th{color:var(--brand-green);text-align:left;white-space:nowrap;border-bottom:2px solid #ffffff80;padding:16px 14px;font-size:.86rem;font-weight:700}.repair-table td{color:var(--text-main);vertical-align:top;border-bottom:1px solid #ffffff73;padding:15px 14px;font-size:.88rem;transition:background .2s}.repair-table tbody tr:last-child td{border-bottom:none}.repair-table tbody tr:hover td{background:#ffffff4d}.repair-table tbody td:first-child{border-left:5px solid #0000}.repair-table strong{color:var(--brand-green);font-weight:800}.status-row-rappel td:first-child{border-left-color:var(--brand-gold)}.status-row-rappel td{background:#b0885b14}.status-row-en_cours td:first-child{border-left-color:var(--brand-green)}.status-row-en_cours td{background:#095e490f}.status-row-resolu{opacity:.58}.status-row-resolu td:first-child{border-left-color:#095e4947}.status-row-resolu td{background:#ffffff2e}.urgent-bg td:first-child{border-left-color:var(--danger)!important}.urgent-bg td{background:var(--danger-bg)!important}.select-urgence-table.normal,.select-urgence.normal{color:var(--brand-green);border-color:#095e4938}.select-urgence-table.urgent,.select-urgence.urgent{color:var(--danger);background-color:#cc33330f;border-color:#cc333373}.select-statut-a_prendre{color:var(--brand-green);border-color:#095e4938!important}.select-statut-rappel{color:var(--brand-gold);background-color:#b0885b14!important;border-color:#b0885b6b!important}.select-statut-en_cours{color:var(--brand-green);background-color:#095e490f!important;border-color:#095e496b!important}.select-statut-resolu{color:#095e498c;border-color:#095e4929!important}.note-cell{min-width:250px}.note-textarea{border-radius:var(--radius-input);width:100%;min-height:46px;color:var(--brand-green);resize:vertical;background:#fff9;border:1px solid #fffc;outline:none;padding:10px;font-family:inherit;font-size:.85rem;transition:all .2s}.note-textarea:focus{border-color:var(--brand-gold);background:#fff;box-shadow:0 0 0 3px #b0885b24}.note-textarea::placeholder{color:var(--text-soft)}.note-textarea::-webkit-scrollbar{width:5px}.autocomplete-list::-webkit-scrollbar{width:5px}.note-textarea::-webkit-scrollbar-thumb{background:#095e4938;border-radius:999px}.autocomplete-list::-webkit-scrollbar-thumb{background:#095e4938;border-radius:999px}.note-truncate{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;max-width:200px;color:var(--brand-green);border-radius:6px;padding:8px;display:block;overflow:hidden}.note-truncate:hover{background:#ffffff59}.user-tag{color:var(--brand-green);background:#095e491f;border:1px solid #095e491f;border-radius:12px;margin:2px;padding:5px 10px;font-size:.78rem;font-weight:700;display:inline-block}.user-tag.success{color:var(--brand-green);background:#095e4926;border-color:#095e4938}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);background:#095e4926;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-card);background:var(--glass-bg-strong);width:100%;max-width:550px;max-height:calc(100vh - 40px);-webkit-backdrop-filter:var(--blur-glass);border:1px solid var(--glass-border);padding:30px;overflow-y:auto;box-shadow:0 18px 45px #00000029}.modal-content h2{color:var(--brand-green);text-align:left;margin:0 0 20px;font-size:1.45rem;font-weight:800}.modal-content input,.modal-content textarea,.modal-content select{border-radius:var(--radius-input);width:100%;color:var(--brand-green);background:#ffffffa6;border:1px solid #fffc;outline:none;margin-bottom:14px;padding:12px;font-family:inherit;font-size:.95rem;transition:all .2s}.modal-content input:focus,.modal-content textarea:focus,.modal-content select:focus{border-color:var(--brand-gold);background:#fff;box-shadow:0 0 0 3px #b0885b24}.modal-content input::placeholder,.modal-content textarea::placeholder{color:var(--text-soft)}.modal-content textarea{resize:vertical;min-height:100px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.modal-actions button{min-width:120px}.autocomplete-wrapper{width:100%;position:relative}.autocomplete-list{z-index:99999;max-height:280px;color:var(--text-main);background:#fffffff5;border:1px solid #ffffffd9;border-radius:12px;position:absolute;top:calc(100% - 8px);left:0;right:0;overflow-y:auto;box-shadow:0 14px 32px #00000024}.autocomplete-item{cursor:pointer;border-bottom:1px solid #095e4914;flex-direction:column;gap:4px;padding:12px 14px;transition:background .2s;display:flex}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background:#095e4912}.autocomplete-item strong{color:var(--brand-green);font-size:.95rem}.autocomplete-item span{color:#12352cc7;font-size:.84rem}.autocomplete-item small{color:var(--text-muted);font-size:.76rem}.autocomplete-empty{color:var(--text-muted);text-align:center;padding:14px;font-size:.9rem;font-style:italic}@media (width<=1350px) and (width>=1101px){.admin-page{padding:20px 12px}.repair-table th,.repair-table td{padding:11px 9px;font-size:.8rem}.repair-table th:nth-child(4),.repair-table td:nth-child(4),.repair-table th:nth-child(9),.repair-table td:nth-child(9){display:none}.repair-table select{max-width:120px;padding-left:8px;font-size:.78rem}.note-cell{min-width:210px}.btn-add{padding:10px 16px;font-size:.9rem}}@media (width<=1100px){.admin-page{padding:20px 12px}.admin-header{align-items:stretch}.admin-page h1{font-size:1.45rem}.admin-controls,.filter-group{flex-direction:column;align-items:stretch;width:100%}.btn-add,.filter-box,.filter-select{width:100%}.filter-box{border-radius:14px;justify-content:space-between}.repair-table{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;display:block}.repair-table thead{display:none}.repair-table tbody,.repair-table tr,.repair-table td{width:100%;display:block}.repair-table tr{border-radius:var(--radius-card);background:var(--glass-bg);-webkit-backdrop-filter:var(--blur-glass);border:1px solid var(--glass-border);box-shadow:0 8px 32px 0 var(--glass-shadow);margin-bottom:16px;padding:10px;overflow:hidden}.repair-table td{border-bottom:1px solid #ffffff73;justify-content:space-between;align-items:center;gap:16px;padding:12px 8px;display:flex}.repair-table td:first-child{border-top:5px solid #0000;border-left:none}.status-row-rappel td:first-child{border-top-color:var(--brand-gold)}.status-row-en_cours td:first-child{border-top-color:var(--brand-green)}.urgent-bg td:first-child{border-top-color:var(--danger)!important}.repair-table td:last-child{border-bottom:none}.repair-table td:before{content:attr(data-label);min-width:105px;color:var(--brand-green);font-weight:800}.repair-table select,.note-textarea{width:min(100%,260px)}.note-cell{min-width:0;align-items:flex-start!important}.modal-content{padding:24px}}@media (width<=550px){.admin-page{padding:14px 10px}.admin-header{padding:16px}.filter-box{flex-direction:column;align-items:flex-start;gap:7px}.repair-table td{flex-direction:column;align-items:flex-start;gap:8px}.repair-table td:before{min-width:unset}.repair-table select,.note-textarea,.btn-delete{width:100%}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}:root{--ease-apple:cubic-bezier(.22, 1, .36, 1);--danger-strong:#d82424;--danger-soft:#d8242421;--danger-soft-2:#d8242438}.admin-header,.repair-table,.modal-content{animation:appleFadeUp .36s var(--ease-apple) both}@keyframes appleFadeUp{0%{opacity:0;transform:translateY(8px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}.btn-add,.btn-submit,.btn-cancel,.btn-delete,.filter-box,.repair-table tbody tr,.autocomplete-item,.modal-content input,.modal-content textarea,.modal-content select,.repair-table select,.note-textarea{transition:transform .18s var(--ease-apple), box-shadow .18s var(--ease-apple), background-color .18s var(--ease-apple), border-color .18s var(--ease-apple), opacity .18s var(--ease-apple)}.btn-add:hover,.btn-submit:hover,.btn-cancel:hover,.btn-delete:hover{transform:translateY(-1px)}.btn-add:active,.btn-submit:active,.btn-cancel:active,.btn-delete:active{transform:scale(.98)}.filter-box:hover{transform:translateY(-1px);box-shadow:0 10px 24px #095e4914}.repair-table tbody tr:hover,.modal-content input:focus,.modal-content textarea:focus,.modal-content select:focus,.repair-table select:focus,.note-textarea:focus{transform:translateY(-1px)}.urgent-bg td{animation:1.35s ease-in-out infinite urgentSoftBlink}.urgent-bg td:first-child{position:relative;border-left-color:var(--danger-strong)!important}.urgent-bg td:first-child:before{content:"";background:var(--danger-strong);border-radius:999px;width:9px;height:9px;animation:1.35s ease-in-out infinite urgentDotPulse;position:absolute;top:50%;left:10px;transform:translateY(-50%);box-shadow:0 0 #d824246b}.urgent-bg td:first-child{padding-left:28px}.urgent-bg strong:after{content:" URGENT";color:var(--danger-strong);letter-spacing:.04em;vertical-align:middle;background:#d824241f;border:1px solid #d8242447;border-radius:999px;margin-left:8px;padding:3px 7px;font-size:.68rem;font-weight:900;line-height:1;display:inline-flex}@keyframes urgentSoftBlink{0%,to{background-color:#d8242414;box-shadow:inset 0 0 #d8242400}50%{background-color:var(--danger-soft-2);box-shadow:inset 0 0 22px #d8242414}}@keyframes urgentDotPulse{0%,to{opacity:.75;box-shadow:0 0 #d8242457}50%{opacity:1;box-shadow:0 0 0 7px #d8242400}}.modal-overlay{animation:.18s ease-out both overlayFade}.modal-content{transform-origin:50%;animation:modalApplePop .26s var(--ease-apple) both}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}@keyframes modalApplePop{0%{opacity:0;transform:translateY(10px)scale(.975)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=1100px){.urgent-bg td:first-child{padding-left:34px}.urgent-bg td:first-child:before{left:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:20;background:#ffffff1f;border-bottom:1px solid #ffffff2e;justify-content:space-between;align-items:center;width:100%;height:70px;display:flex;position:fixed;top:0;left:0;box-shadow:0 6px 20px #00000040}.logo{align-items:center;margin-left:20px;display:flex}.logo img{width:55px;height:auto}.nav-links{align-items:center;gap:1.7rem;margin-right:20px;display:flex}.nav-links a{color:#e8f7f0;border-radius:8px;padding:6px 10px;font-size:1.05rem;font-weight:500;text-decoration:none;transition:all .3s}.nav-links a:hover{background:#ffffff2e}.logout-btn{color:#fff;cursor:pointer;background:#ff6b6b;border:none;border-radius:10px;padding:9px 16px;font-size:.95rem;font-weight:600}.burger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;margin-right:20px;display:none}.burger span{background:#fff;border-radius:3px;width:26px;height:3px;transition:all .3s}.burger.open span:first-child{transform:translateY(8px)rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.page-content{padding-top:90px}@media (width<=768px){.burger{display:flex}.nav-links{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a1923f2;flex-direction:column;gap:0;width:100%;max-height:0;transition:max-height .35s;position:fixed;top:70px;right:0;overflow:hidden}.nav-links.open{max-height:400px}.nav-links a{text-align:center;width:100%;padding:16px;font-size:1.1rem}.logout-btn{width:90%;margin:12px auto 18px}}
