@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap');
:root{--y:#efff00;--bg:#070808;--bg2:#0c0e0e;--text:#f2f3ef;--muted:#909494;--line:rgba(255,255,255,.13);--mono:'DM Mono',monospace;--sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}
.topbar{position:fixed;z-index:99;top:0;left:0;right:0;height:80px;padding:0 2.2%;display:flex;align-items:center;background:rgba(6,7,7,.9);backdrop-filter:blur(15px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:8px;font-size:24px;letter-spacing:-1px;white-space:nowrap}.brand i{display:block;width:15px;height:15px;background:var(--y)}.brand b{color:var(--y);font-weight:500}
nav{display:flex;gap:43px;margin:auto;font:12px var(--mono);letter-spacing:2px;color:#9b9f9f}nav a:hover{color:var(--y)}
.cut-btn{min-height:54px;padding:0 31px;display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--y);color:#090a0a;font:500 12px var(--mono);letter-spacing:1.7px;clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%,7% 50%);transition:.2s}.cut-btn:hover{background:#fff;transform:translateY(-2px)}.cut-btn em{font-style:normal;font-size:18px}
.burger{display:none;background:none;border:0;color:var(--y);font-size:24px}
.hero{position:relative;min-height:840px;padding:170px 6% 90px;display:flex;align-items:center;overflow:hidden;background:radial-gradient(circle at 76% 35%,rgba(239,255,0,.1),transparent 30%),linear-gradient(125deg,#070808,#111313)}
.grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:48px 48px;opacity:.28;mask-image:linear-gradient(90deg,#000,transparent)}
.circuit{position:absolute;right:-80px;top:80px;width:760px;height:650px;opacity:.26;transform:rotate(-9deg);background:radial-gradient(circle at 50% 50%,transparent 0 38%,rgba(239,255,0,.18) 39%,transparent 40%),repeating-linear-gradient(28deg,transparent 0 26px,rgba(239,255,0,.17) 27px 29px,transparent 30px 55px);filter:blur(1px)}
.hero-inner{position:relative;z-index:3;max-width:900px}.micro,.kicker{font:500 12px var(--mono);letter-spacing:2px;color:var(--y)}.micro{display:inline-flex;gap:12px;border:1px solid rgba(239,255,0,.35);padding:13px 19px;margin-bottom:35px}.micro span{font-size:18px}
h1{font-size:clamp(58px,7.4vw,112px);font-weight:500;line-height:.91;letter-spacing:-5px;margin:0 0 36px}h1 strong,h2 strong{color:var(--y);font-weight:500}.hero p{font-size:19px;line-height:1.7;color:#a8abab;max-width:820px;margin:0 0 35px}.actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.ghost{padding:18px 4px;font:11px var(--mono);letter-spacing:1.5px;color:#9fa2a2}.ghost:hover{color:var(--y)}
.terminal-code{position:absolute;right:7%;top:32%;z-index:2;display:grid;gap:8px;color:#727700;font:11px var(--mono)}.terminal-code b{color:var(--y);font-weight:400}.hero-bottom{position:absolute;bottom:25px;left:6%;right:6%;display:flex;justify-content:space-between;color:#626666;font:9px var(--mono);letter-spacing:1.5px}.hero-bottom i{color:var(--y);font-style:normal;font-size:20px}
.numbers{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0a0b0b}.numbers div{padding:29px 6%;border-right:1px solid var(--line)}.numbers div:last-child{border:0}.numbers strong{display:block;color:var(--y);font:500 42px var(--mono)}.numbers strong span{font-size:27px}.numbers small{display:block;margin-top:7px;color:#777b7b;font:10px var(--mono);letter-spacing:1px}
.section,.method{padding:130px 6%;background:var(--bg)}.heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:50px 0 65px}.heading h2,.stage-head h2,.method h2,.contact h2{font-size:clamp(52px,6.2vw,88px);line-height:.92;letter-spacing:-4px;font-weight:500;margin:0}.heading p{max-width:390px;color:#8c9090;line-height:1.7}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cards article{position:relative;min-height:545px;padding:27px 34px;border:1px solid var(--line);background:linear-gradient(145deg,#0e1010,#080909);transition:.25s}.cards article:hover{transform:translateY(-6px);border-color:rgba(239,255,0,.55)}.cards article.hot{border-color:rgba(239,255,0,.45)}.top{display:flex;justify-content:space-between;color:#444;font:11px var(--mono)}.top b{color:var(--y);font-weight:400}.icon{width:57px;height:57px;margin:76px 0 42px;background:var(--y);color:#070808;display:grid;place-items:center;font-size:29px;clip-path:polygon(0 0,70% 0,100% 30%,100% 100%,30% 100%,0 70%)}.cards h3{font-size:32px;line-height:1.02;font-weight:500;letter-spacing:-1px;margin:0 0 18px}.cards p{color:#949898;line-height:1.65}.list{border-top:1px solid var(--line);margin-top:25px;padding-top:15px;display:grid;gap:8px;color:#aeb1b1;font:11px var(--mono)}.list span:first-letter{color:var(--y)}
.stage-section{position:relative;padding:125px 6%;overflow:hidden;background:#0b0d0d}.stage-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin:55px 0 65px}.stage-head p{max-width:410px;color:#898e8e;line-height:1.65}.stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative}.stage{padding:30px;border:1px solid var(--line);background:#080909}.stage.active{border-color:var(--y);box-shadow:0 0 35px rgba(239,255,0,.04)}.stage>div{display:flex;justify-content:space-between;font:12px var(--mono);color:#777}.stage>div b{color:var(--y);font-size:25px;font-weight:400}.stage h3{font-size:28px;font-weight:500;margin:60px 0 15px}.stage p{min-height:100px;color:#929696;line-height:1.65}.stage ul{list-style:none;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#aaa;font:11px var(--mono);line-height:2.2}.stage li:before{content:'■';color:var(--y);margin-right:8px}.stage a{display:block;color:var(--y);font:11px var(--mono);margin-top:22px}
.method h2{margin:48px 0 75px}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.timeline>div{background:var(--bg);padding:30px;min-height:220px}.timeline b{color:var(--y);font:12px var(--mono)}.timeline h3{font-size:21px;font-weight:500;margin:50px 0 12px}.timeline p{color:#858989;line-height:1.55;font-size:14px}
.diagnostic{padding:130px 6%;background:#0b0d0d;border-top:1px solid var(--line)}.diag-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:55px}.diag-copy h2{font-size:clamp(50px,5.8vw,82px);font-weight:500;line-height:.92;letter-spacing:-4px;margin:0}.diag-copy>p{color:#909494;line-height:1.7;max-width:530px;margin:32px 0}.console{max-width:500px;padding:20px;border:1px solid var(--line);font:11px/2 var(--mono);color:#666}.console span,.console b{color:var(--y);font-weight:400}.diagnostic form{padding:31px;background:#080909;border:1px solid var(--line)}.field{margin-bottom:16px}.field label{display:block;color:#777;font:10px var(--mono);letter-spacing:1.4px}.field input,.field select,.field textarea{width:100%;margin-top:8px;background:#101212;border:1px solid #272a2a;padding:14px;color:#eee;outline:0;font:14px var(--sans)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--y)}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.submit{width:100%;border:0;cursor:pointer}.diagnostic form small{display:block;color:#5e6262;font-size:10px;line-height:1.5;margin-top:12px}
.contact{padding:125px 6%;border-top:1px solid var(--line)}.contact h2{margin:48px 0 65px}.contact-bottom{display:flex;justify-content:space-between;gap:50px}.contact-bottom p{max-width:480px;color:#929696;line-height:1.7}.contact-bottom div{display:grid;gap:16px;text-align:right}.contact-bottom a{color:var(--y);font:11px var(--mono);letter-spacing:1px}
footer{padding:28px 6%;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:#626666;font:9px var(--mono);letter-spacing:1px}footer .brand{font:19px var(--sans);color:#ddd}
@media(max-width:900px){nav{display:none;position:absolute;top:80px;left:0;right:0;padding:25px 6%;background:#080909;border-bottom:1px solid var(--line);flex-direction:column;gap:25px}.burger{display:block;margin-left:auto;margin-right:15px}.topbar>.cut-btn{display:none}.hero{min-height:780px;padding-top:145px}.terminal-code{display:none}.numbers{grid-template-columns:1fr 1fr}.cards,.stage-grid,.timeline,.diag-layout{grid-template-columns:1fr}.heading,.stage-head,.contact-bottom{display:block}.heading p,.stage-head p{margin-top:30px}.timeline{gap:1px}.timeline>div{min-height:180px}.diag-layout{gap:45px}footer{flex-direction:column;gap:15px;text-align:center}}
@media(max-width:560px){h1{font-size:54px;letter-spacing:-3px}.hero p{font-size:16px}.micro{font-size:9px}.actions .cut-btn,.actions .ghost{width:100%;text-align:center}.section,.method,.diagnostic,.contact,.stage-section{padding:90px 6%}.row{grid-template-columns:1fr}.numbers strong{font-size:32px}.numbers small{font-size:8px}.cards article{min-height:auto}.icon{margin-top:50px}}

/* V3 — identité Nexaris Auto */
.brand img{display:block;width:145px;height:48px;object-fit:contain;object-position:center;mix-blend-mode:screen}
.price-note{position:relative;z-index:2;margin:-25px 0 28px;padding:18px 22px;border:1px solid rgba(239,255,0,.28);background:rgba(239,255,0,.035);display:flex;align-items:center;gap:18px}
.price-note span{font:10px var(--mono);letter-spacing:2px;color:#888}
.price-note b{font:500 24px var(--mono);color:var(--y)}
.price-note em{font-style:normal;color:#898d8d;font-size:13px}
.numbers div:first-child strong{font-size:30px}
@media(max-width:560px){
  .brand img{width:120px;height:42px}
  .price-note{align-items:flex-start;flex-direction:column;gap:7px}
}

/* V4 — prise de rendez-vous */
.booking{padding:125px 6%;background:#080a0a;border-top:1px solid var(--line)}
.booking-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin:50px 0 60px}
.booking-head h2{font-size:clamp(52px,6vw,86px);line-height:.92;letter-spacing:-4px;font-weight:500;margin:0}
.booking-head p{max-width:420px;color:#909494;line-height:1.7}
.booking-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start}
.booking-price{display:flex;align-items:end;gap:20px;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:22px}
.booking-price span{font:11px var(--mono);letter-spacing:2px;color:#777}
.booking-price b{font:500 42px var(--mono);color:var(--y)}
.booking-box{padding:21px 0;border-bottom:1px solid var(--line);display:grid;gap:7px}
.booking-box span{font:10px var(--mono);letter-spacing:1.5px;color:#666}
.booking-box b{font:500 17px var(--mono);color:#ddd}
.booking-box small{color:#666;font-size:11px}
.booking-note{font-size:12px;line-height:1.7;color:#737777;margin-top:28px}
.booking-note strong{color:var(--y);font-weight:400}
.booking-form{padding:32px;background:#0d0f0f;border:1px solid var(--line)}
.booking-form .submit{margin-top:4px}
@media(max-width:900px){.booking-head{display:block}.booking-head p{margin-top:30px}.booking-layout{grid-template-columns:1fr;gap:45px}}

/* V5 — Admin */
.admin-page{background:#070808;min-height:100vh}
.admin-main{padding:130px 6% 80px;max-width:1450px;margin:auto}
.admin-top{display:flex;justify-content:space-between;align-items:end;gap:40px}
.admin-top h1{font-size:clamp(48px,6vw,82px);line-height:.9;font-weight:500;letter-spacing:-4px;margin:28px 0 0}
.admin-actions{display:flex;gap:10px;flex-wrap:wrap}
.ghost-btn,.admin-actions .cut-btn{padding:15px 20px;border:1px solid #333;background:transparent;color:#ddd;font:11px var(--mono);letter-spacing:1px;cursor:pointer}
.admin-actions .cut-btn{background:var(--y);color:#080909;border-color:var(--y)}
.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:65px 0 30px;background:#252828}
.admin-stats div{background:#0d0f0f;padding:24px}
.admin-stats b{display:block;font:500 35px var(--mono);color:var(--y)}
.admin-stats span{font:10px var(--mono);color:#777;letter-spacing:1.5px}
.admin-toolbar{display:flex;gap:12px;margin-bottom:20px}
.admin-toolbar input,.admin-toolbar select,.card-controls input,.card-controls textarea,.card-controls select{background:#0b0d0d;border:1px solid #292d2d;color:#ddd;padding:14px;font:12px var(--mono);outline:none}
.admin-toolbar input{flex:1}
.booking-list{display:grid;gap:12px}
.booking-card{border:1px solid #272a2a;background:#0d0f0f;padding:24px}
.card-main{display:grid;grid-template-columns:130px 1fr 1.3fr;gap:25px;align-items:start}
.card-date{border-right:1px solid #2a2d2d;display:grid;gap:6px}
.card-date b{font:18px var(--mono);color:var(--y)}
.card-date span{font:14px var(--mono);color:#aaa}
.card-client h3{font-size:23px;font-weight:400;margin:0 0 8px}
.card-client p,.card-service small{color:#777;line-height:1.5}
.card-service span{display:block;color:#ddd;font:12px var(--mono);margin-bottom:9px}
.card-controls{margin-top:22px;padding-top:20px;border-top:1px solid #242727;display:grid;grid-template-columns:180px 180px 1fr;gap:10px}
.price-line{display:flex;align-items:center;border:1px solid #292d2d}
.price-line label{font:9px var(--mono);color:#666;padding-left:10px}
.price-line input{border:0;width:100%;padding:12px}
.card-controls textarea{min-height:46px;resize:vertical}
.card-buttons{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}
.wa{color:var(--y);font:11px var(--mono);letter-spacing:1px;text-decoration:none}
.delete{background:transparent;border:0;color:#777;font:10px var(--mono);cursor:pointer}
.empty-state{text-align:center;padding:80px;color:#555;border:1px dashed #282b2b}
.admin-hint{margin:0 6%;padding:18px 22px;border:1px solid #242727;background:#0b0d0d;display:flex;gap:18px;align-items:center}
.admin-hint span{font:10px var(--mono);color:var(--y);letter-spacing:1.5px}.admin-hint b{font-weight:400;color:#bbb}.admin-hint a{margin-left:auto;color:var(--y);font:10px var(--mono);text-decoration:none}
.admin-link{color:var(--y)!important}
@media(max-width:800px){
 .admin-main{padding-top:110px}.admin-top{display:block}.admin-actions{margin-top:30px}
 .admin-stats{grid-template-columns:repeat(2,1fr)}
 .card-main{grid-template-columns:1fr}.card-date{border-right:0;border-bottom:1px solid #2a2d2d;padding-bottom:14px}
 .card-controls{grid-template-columns:1fr}.card-buttons{grid-column:auto}
 .admin-hint{margin:0 4%;display:block}.admin-hint a{display:block;margin:14px 0 0}
}

.login-box{max-width:520px;margin:0 auto;padding:35px;background:#0d0f0f;border:1px solid #272a2a}
.login-box h1{font-size:clamp(50px,7vw,80px);line-height:.9;font-weight:500;letter-spacing:-4px;margin:28px 0}
.login-box form{display:grid;gap:12px}
.login-box input{background:#090b0b;border:1px solid #292d2d;color:#ddd;padding:16px;font:12px var(--mono)}
.login-box button{margin-top:8px}
#loginError{color:#ff6969;font:11px var(--mono);min-height:18px}

/* V7 — suivi client */
.tracking-section{padding:105px 6%;background:#090b0b;border-top:1px solid var(--line)}
.tracking-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin:45px 0 40px}.tracking-head h2{font-size:clamp(48px,6vw,82px);line-height:.9;font-weight:500;letter-spacing:-4px;margin:0}.tracking-head p{max-width:430px;color:#909494;line-height:1.7}.tracking-form{max-width:700px;padding:28px;background:#0d0f0f;border:1px solid var(--line);display:grid;gap:12px}.tracking-error{color:#ff6969;font:11px var(--mono);min-height:16px}.status-main{padding:140px 6% 100px;max-width:1100px;margin:auto}.status-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin:45px 0 50px}.status-head h1{font-size:clamp(52px,7vw,90px);line-height:.88;font-weight:500;letter-spacing:-5px;margin:0}.status-head p{max-width:360px;color:#8b8f8f;line-height:1.7}.status-box{padding:25px;background:#0d0f0f;border:1px solid #292d2d;color:#aaa;font:12px var(--mono);letter-spacing:1px}.status-box.error{border-color:#563333;color:#ff7777}.status-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#282b2b;margin-bottom:20px}.step{background:#0d0f0f;padding:24px;display:grid;gap:9px;opacity:.45}.step b{font:18px var(--mono);color:#777}.step span{font:10px var(--mono);letter-spacing:1.2px;color:#aaa}.step.done,.step.current{opacity:1}.step.done b,.step.current b{color:var(--y)}.step.current{box-shadow:inset 0 -2px var(--y)}.status-card{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#282b2b}.status-card>div{background:#0d0f0f;padding:24px;display:grid;gap:9px}.status-card span{font:9px var(--mono);letter-spacing:1.5px;color:#666}.status-card b,.status-card strong{font:15px var(--mono);font-weight:400;color:#ddd}.status-card strong{color:var(--y)}.status-note{color:#777;font-size:12px;line-height:1.7;margin:25px 0}.new-badge{display:inline-flex;align-items:center;padding:13px 15px;border:1px solid var(--y);color:var(--y);font:10px var(--mono);letter-spacing:1px}.booking-card.is-new{border-color:rgba(239,255,0,.7);box-shadow:0 0 0 1px rgba(239,255,0,.08)}.card-service code{display:block;margin-top:10px;color:var(--y);font:9px var(--mono);letter-spacing:1px}.navlinks{display:flex;gap:18px;align-items:center}.navlinks a{font:10px var(--mono);color:#aaa;text-decoration:none;letter-spacing:1px}.navlinks a:hover{color:var(--y)}
@media(max-width:800px){.tracking-head,.status-head{display:block}.tracking-head p,.status-head p{margin-top:25px}.status-progress{grid-template-columns:1fr}.status-card{grid-template-columns:1fr}.navlinks{gap:8px}.navlinks a{font-size:9px}}


/* V7 — confirmation du code de suivi */
.booking-confirmation {
  margin-top: 22px; padding: 24px; border: 1px solid rgba(255,210,0,.55);
  background: rgba(255,210,0,.06); text-align: center;
}
.booking-confirmation strong { display:block; font-size:18px; margin-bottom:10px; }
.booking-confirmation p { margin: 6px 0; }
.tracking-code-display { font-size: 30px; letter-spacing: 5px; font-weight: 800; margin: 12px 0 16px; }
.booking-confirmation .copy-tracking { display:inline-block; margin:5px; padding:12px 16px; cursor:pointer; border:1px solid currentColor; background:transparent; color:inherit; font-weight:700; }
.booking-confirmation .cut-btn { display:inline-block; margin:5px; text-decoration:none; }
.booking-confirmation small { display:block; margin-top:14px; opacity:.75; }

.reviews-section{background:#090909}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}.review-card{border:1px solid #262626;background:#111;padding:24px}.review-stars{color:#f2c400;font-size:20px;letter-spacing:3px}.review-card p{color:#ddd;line-height:1.7;min-height:70px}.review-card strong{display:block}.review-card small,.review-empty{color:#777}.review-form{margin-top:25px;background:#101010;border:1px solid #2a2a2a;padding:24px}.review-form h2{margin:5px 0 10px}.star-picker{display:flex;gap:5px;margin:18px 0}.star-picker button{border:0;background:transparent;color:#555;font-size:34px;cursor:pointer;padding:0}.star-picker button.selected{color:#f2c400}.review-form textarea{width:100%;box-sizing:border-box;background:#080808;color:#fff;border:1px solid #333;padding:14px;margin-bottom:12px;resize:vertical}.review-message{color:#e8b900}.review-success{color:#75d48b;font-weight:800}@media(max-width:900px){.reviews-grid{grid-template-columns:1fr}}

/* V14 MOBILE — optimisation smartphone */
@media (max-width: 600px){
  html{font-size:16px;overflow-x:hidden}
  body{overflow-x:hidden;-webkit-text-size-adjust:100%}
  button,a,input,select,textarea{touch-action:manipulation}
  button,.cut-btn,.ghost,.ghost-btn{min-height:46px}
  input,select,textarea{font-size:16px!important}
  .admin-main{padding:92px 12px 50px}
  .admin-top h1{font-size:46px;letter-spacing:-3px;margin-top:15px}
  .admin-actions{gap:8px;margin-top:18px}
  .admin-actions>*{flex:1 1 calc(50% - 8px);text-align:center}
  .admin-stats{margin:28px 0 18px;gap:1px}
  .admin-stats div{padding:16px 12px;min-width:0}
  .admin-stats b{font-size:24px;word-break:break-word}
  .admin-stats span{font-size:8px;letter-spacing:1px}
  .admin-toolbar{display:grid;grid-template-columns:1fr;gap:8px}
  .admin-toolbar input,.admin-toolbar select{width:100%;box-sizing:border-box;min-height:48px}
  .booking-card{padding:16px}
  .card-main{gap:14px}
  .card-client h3{font-size:21px}
  .card-controls{padding-top:15px;margin-top:15px}
  .card-controls input,.card-controls textarea,.card-controls select{min-height:48px;box-sizing:border-box}
  .card-buttons{display:grid;grid-template-columns:1fr;gap:9px}
  .card-buttons>*{width:100%;box-sizing:border-box;text-align:center}
  .wa,.delete{display:flex;justify-content:center;align-items:center;min-height:46px}
  .calendar-panel{padding:10px;margin-left:-1px;margin-right:-1px}
  .calendar-grid,.calendar-weekdays{gap:2px}
  .cal-day{min-height:58px;padding:4px}
  .cal-number{font-size:10px;margin-bottom:2px}
  .cal-booking{font-size:8px;padding:3px 2px;border-left-width:2px;margin:2px 0}
  .calendar-legend{gap:9px;font-size:9px}
  .view-switch{gap:5px}
  .view-btn{padding:10px 5px;font-size:10px;min-height:44px}
  .clients-panel{padding:14px}
  .clients-head{display:block}
  .client-search{margin-top:12px;min-height:48px;box-sizing:border-box}
  .client-card{padding:14px}
  .client-card button{width:100%;min-height:46px}
  .client-modal,.doc-modal{width:100%;max-height:94vh;padding:15px;border-radius:0}
  .modal-backdrop{padding:8px}
  .modal-head{align-items:center}
  .modal-close{min-width:46px;min-height:46px}
  .client-meta{grid-template-columns:1fr 1fr;gap:6px}
  .history-row .history-top{display:block}
  .modal-actions{display:grid;grid-template-columns:1fr}
  .modal-actions a,.modal-actions button{width:100%;box-sizing:border-box;text-align:center;min-height:46px}
  .doc-grid{grid-template-columns:1fr}
  .doc-line{grid-template-columns:minmax(170px,1fr) 72px 100px 100px 46px;overflow-x:auto;padding-bottom:5px}
  .doc-line>*{min-width:0}
  .doc-actions{display:grid;grid-template-columns:1fr}
  .doc-actions button{width:100%;min-height:48px}
  .login-box{margin:0 8px;padding:22px 16px}
  .login-box h1{font-size:46px;letter-spacing:-3px}
  .role-choice{grid-template-columns:1fr;gap:8px}
  .role-choice button{min-height:76px}
  .employee-banner{font-size:13px;line-height:1.5}
  .reviews-admin{padding:14px}
  .review-admin-head{display:block}
  .review-admin-actions{display:grid;grid-template-columns:1fr 1fr}
  .review-admin-actions button{min-height:46px}
}

@media (max-width:380px){
  .admin-stats{grid-template-columns:1fr}
  .client-meta{grid-template-columns:1fr}
  .admin-top h1{font-size:40px}
  .cal-day{min-height:52px}
  .cal-booking{font-size:7px}
}
