/* Orixfy Tools v4 — navigation propre, mobile repensé, résultats lisibles */
:root{--hdr:68px}

/* ---------- Sidebar (desktop) ---------- */
.tools-sidebar{height:100vh;min-height:100vh;position:sticky;top:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#2d476e transparent;flex-shrink:0}
.tools-sidebar .brand{margin-bottom:24px}.tools-sidebar .sidebar-label{margin-bottom:12px}
.tools-sidebar-nav{display:flex;flex-direction:column;gap:6px!important;padding-bottom:12px}
.tools-nav-icon{display:inline-flex;width:18px;height:18px;flex:0 0 18px;color:#7fb4ec}
.tools-nav-icon svg,.tools-nav-arrow svg,.mmb-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tools-nav-text{flex:1;min-width:0}
.tools-nav-root{font-size:13px!important;font-weight:700!important;white-space:normal;gap:10px!important;padding:12px 10px!important;color:#dbe8fb!important}
.tools-nav-root.active{background:#162b4b;color:#fff!important}
.tools-nav-group{border-bottom:1px solid #172840;padding:4px 0 9px}
.tools-nav-group>summary{list-style:none;cursor:pointer;font-size:13px;line-height:1.4;color:#b4c8e4;font-weight:700;padding:12px 10px;border-radius:9px;display:flex;align-items:center;gap:10px;-webkit-tap-highlight-color:transparent}
.tools-nav-group>summary::marker{content:""}.tools-nav-group>summary::-webkit-details-marker{display:none}
.tools-nav-group>summary:hover{background:#142844;color:#edf5ff}
.tools-nav-arrow{display:inline-flex;width:16px;height:16px;color:#7f9bbd;transition:transform .2s}
.tools-nav-group[open]>summary{color:#edf5ff}
.tools-nav-group[open] .tools-nav-arrow{transform:rotate(180deg)}
.tools-nav-children{display:flex;flex-direction:column;gap:2px;margin:4px 0 0 18px;padding-left:10px;border-left:1px solid #20365a}
.tools-sidebar .tools-nav-child{margin-left:0!important;font-size:13px;padding:10px 10px;line-height:1.35;min-height:0;font-weight:540;border-radius:8px;color:#a9bddb}
.tools-sidebar .tools-nav-child:hover{background:#132844;color:#fff}
.tools-sidebar .tools-nav-child.active{background:#172e4c;color:#fff;font-weight:700;box-shadow:inset 3px 0 0 #5fa8ff}
.sidebar-bottom a{font-size:12px;color:#7f9bbd}.sidebar-bottom a:hover{color:#fff}
.mobile-menu-button{display:none}

/* ---------- Pages outils ---------- */
.tools-page-content{max-width:1050px;padding-top:40px}
.tools-page-hero .tool-page-kicker{font-size:11px;letter-spacing:2.1px;color:#85b9f3;font-weight:800;margin-bottom:13px}
.tools-page-hero h1{font-size:clamp(29px,3.7vw,44px);line-height:1.12;letter-spacing:-1.2px;margin:0 0 14px}
.tools-page-hero p{font-size:14px;line-height:1.8;color:#a9bdd9;max-width:850px;margin:0 0 24px}
.tools-form-card{background:#101d33;border:1px solid #29425f;padding:26px;border-radius:15px}
.tools-form-card label{display:block;font-size:13px;font-weight:700;margin-bottom:12px}
.tools-form-card input,.tools-form-card textarea,.tools-form-card select{width:100%;background:#09172b;border:1px solid #304766;color:#eaf3ff;border-radius:10px;padding:13px 14px;font-size:14px;outline:none;font-family:inherit}
.tools-form-card textarea{height:190px;min-height:130px;resize:vertical;font-family:ui-monospace,Consolas,monospace;font-size:12.5px;line-height:1.55}
.tools-form-card input:focus,.tools-form-card textarea:focus,.tools-form-card select:focus{border-color:#67aef3;box-shadow:0 0 0 3px #2d75bd45}
.tools-form-card input[type=file]{padding:10px;font-size:12px;color:#a9bfdc}
.tools-form-card .tool-field-row{display:flex;gap:12px;align-items:stretch}
.tools-form-card .tool-field-row>input{min-width:0;flex:1}
.tools-form-card .tool-field-row>.btn{flex-shrink:0}
.tools-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.tools-options label{font-size:12px;color:#a9bfdc;font-weight:600;margin:0 0 7px}
.tools-form-card .tool-subfield{min-width:0}
.tool-file-label{font-size:12px!important;color:#96b4d8;font-weight:500!important;margin:13px 0 8px!important}
.tool-note{font-size:12px;color:#7f9bbd;line-height:1.7;margin-top:13px}
.tool-run-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:17px}
.tool-run-actions .btn{cursor:pointer}
.tools-form-card .btn,.tools-results .btn{min-height:46px}
.tools-results{margin-top:25px}
.tools-results h2{font-size:19px;margin:0 0 12px}
.tool-summary{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.tool-chip{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;padding:7px 12px;border-radius:999px;background:#122039;border:1px solid #2a4163;color:#cfe0f8}
.tool-chip::before{content:"";width:8px;height:8px;border-radius:50%;background:#47cba7}
.tool-chip.warn::before{background:#edba6b}.tool-chip.error::before{background:#f68b94}
.tool-result-block{padding:18px 20px;margin-bottom:12px;background:#111e33;border:1px solid #263d5d;border-radius:12px}
.tool-result-block .tool-block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.tool-result-block h3{font-size:14px;margin:0;color:#e7f0ff;line-height:1.4;overflow-wrap:anywhere}
.tool-badge{flex:0 0 auto;font-size:10.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:#12302b;color:#59dbb7}
.tool-warn .tool-badge{background:#352b14;color:#f2c477}.tool-error .tool-badge{background:#3a1a20;color:#ff9aa3}
.tool-result-block p{color:#acc0de;font-size:13px;line-height:1.7;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.tool-result-block pre{font-size:12px;color:#b4d3ef;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto;margin:4px 0 0}
.tool-ok{border-left:3px solid #47cba7}.tool-warn{border-left:3px solid #edba6b}.tool-error{border-left:3px solid #f68b94}
.tool-data-table{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:8px;table-layout:fixed}
.tool-data-table td,.tool-data-table th{padding:10px 8px;border-bottom:1px solid #223954;text-align:left;overflow-wrap:anywhere;word-break:break-word;vertical-align:top}
.tool-data-table td{color:#adc3df}.tool-data-table tr:last-child td{border-bottom:0}
.tool-data-table.kv td:first-child{width:38%;color:#dbe8fb;font-weight:600}
.tool-data-table.list td:last-child{width:84px;color:#8ba3c4;text-align:right;white-space:nowrap}
.tool-muted{color:#8ba3c4;font-size:12px}
.tool-status{color:#8db7e8;margin:14px 0;font-size:13px;min-height:18px}
.tools-page-footer{border-top:1px solid #223550;margin-top:34px;padding-top:20px;font-size:11px;color:#7993b5;line-height:1.6}

/* ---------- Hub ---------- */
.tools-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin:26px 0 0}
.tools-hub-card{display:block;background:#101d33;border:1px solid #26405f;border-radius:13px;padding:16px 16px 15px;transition:border-color .15s,background .15s}
.tools-hub-card:hover{border-color:#4d86c6;background:#12233d}
.tools-hub-card strong{display:block;font-size:14px;color:#eaf3ff;margin-bottom:5px}
.tools-hub-card span{display:block;font-size:12px;line-height:1.6;color:#8ea6c7}
.tools-hub-title{font-size:12px;letter-spacing:1.8px;font-weight:800;color:#79aeeb;margin:34px 0 0}

/* ---------- Mobile ---------- */
@media(max-width:820px){
 html.tools-menu-lock,html.tools-menu-lock body{overflow:hidden}
 .app-shell{flex-direction:column}
 .tools-sidebar{width:100%;flex:0 0 auto;height:auto;min-height:0;position:sticky;top:0;z-index:60;overflow:visible;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#091327f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:0;border-bottom:1px solid #1b2d48}
 .tools-sidebar .brand{margin:0;padding:0;flex:0 1 auto;max-width:none}
 .tools-sidebar .brand-logo{height:44px;width:auto;max-width:150px;object-fit:contain}
 .sidebar-label,.sidebar-grow,.sidebar-bottom{display:none!important}
 .mobile-menu-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 16px;border-radius:12px;background:#15325a;border:1px solid #3a6396;color:#f2f7ff;font-size:14px;font-weight:700;flex:0 0 auto;margin:0;-webkit-tap-highlight-color:transparent}
 .mmb-icon{width:20px;height:20px;display:inline-flex}.mmb-close{display:none}
 .tools-sidebar.menu-open .mmb-open{display:none}.tools-sidebar.menu-open .mmb-close{display:inline-flex}
 .tools-sidebar.menu-open .mobile-menu-button{background:#1f4a82}

 .tools-sidebar .sidebar-nav{display:none!important;position:fixed;left:0;right:0;top:var(--hdr);bottom:0;margin:0;padding:14px 14px calc(30px + env(safe-area-inset-bottom));background:#08101f;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;gap:10px!important;border-top:1px solid #1b2d48;z-index:55}
 .tools-sidebar.menu-open .sidebar-nav{display:flex!important}
 .tools-nav-root{min-height:54px;font-size:15px!important;border-radius:14px!important;background:#0f1d35;border:1px solid #223a5c;padding:0 16px!important;gap:12px!important}
 .tools-nav-icon{width:22px;height:22px;flex-basis:22px}
 .tools-nav-group{border:1px solid #223a5c;background:#0c182d;border-radius:14px;padding:0;overflow:hidden}
 .tools-nav-group>summary{min-height:56px;padding:0 16px;font-size:15px;color:#e6f0ff;border-radius:0;gap:12px}
 .tools-nav-group[open]>summary{background:#10213b;border-bottom:1px solid #223a5c}
 .tools-nav-children{margin:0;padding:6px;border-left:0;gap:2px}
 .tools-sidebar .tools-nav-child{min-height:50px;display:flex;align-items:center;font-size:15px;padding:0 14px;border-radius:10px}
 .tools-sidebar .tools-nav-child.active{box-shadow:inset 3px 0 0 #5fa8ff}

 .main{width:100%}
 .topbar-simple{padding:14px 16px 0!important}
 .back-home{font-size:13px!important;padding:6px 0!important}
 .content{padding-left:16px!important;padding-right:16px!important}
 .tools-page-content{padding-top:12px}
 .tools-home-content{padding-top:14px}
 .tools-page-hero h1{font-size:clamp(26px,8vw,34px);letter-spacing:-.8px}
 .tools-page-hero p{font-size:14px;margin-bottom:18px}
 .tools-form-card{padding:16px;border-radius:14px}
 .tools-form-card input,.tools-form-card textarea,.tools-form-card select{font-size:16px;padding:14px}
 .tools-form-card textarea{font-size:13px;height:230px}
 .tools-form-card .tool-field-row{flex-direction:column}
 .tools-form-card .tool-field-row>.btn,.tool-run-actions .btn,.tools-results>.btn{width:100%;min-width:0;min-height:50px;font-size:14px;white-space:normal;text-align:center}
 .tool-run-actions{flex-direction:column;gap:10px}
 .tools-options{grid-template-columns:1fr}
 .tool-result-block{padding:15px 14px}
 .tool-data-table,.tool-data-table tbody,.tool-data-table tr,.tool-data-table td{display:block;width:100%!important}
 .tool-data-table tr{padding:9px 0;border-bottom:1px solid #223954}
 .tool-data-table tr:last-child{border-bottom:0}
 .tool-data-table td{padding:0;border:0}
 .tool-data-table.kv td:first-child{font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:#7f9bbd;font-weight:700;margin-bottom:2px}
 .tool-data-table.kv td:last-child{font-size:13.5px;color:#e1ecfc}
 .tool-data-table.list td:last-child{text-align:left;font-size:11.5px;margin-top:3px}
 .tools-hub-grid{grid-template-columns:1fr}
 .tools-hub-card{padding:15px}
}
@media(max-width:380px){.tools-sidebar .brand-logo{height:38px;max-width:120px}.mobile-menu-button{padding:0 12px}}

/* ---------- Website Audit : mobile ---------- */
@media(max-width:820px){
 .scan-card{padding:18px 16px!important}
 .scan-card .input-row{flex-direction:column;gap:10px}
 .scan-card .input-row .btn,.scan-card .input-row .url-field{width:100%}
 .scan-card #site-url{font-size:16px}
 .scan-card #scan-btn{min-height:50px}
 .scan-foot{flex-direction:column;align-items:flex-start;gap:6px}
 .trust-grid{grid-template-columns:1fr!important;gap:10px}
 .report-overview{grid-template-columns:1fr!important;gap:12px}
 .category-grid{grid-template-columns:1fr!important}
 .section-intro{flex-direction:column;align-items:stretch;gap:14px}
 .section-intro .actions{display:grid;grid-template-columns:1fr;gap:10px}
 .section-intro .actions .btn{width:100%;min-height:48px}
 .findings-header{flex-direction:column;align-items:stretch;gap:12px}
 .filter-label{display:flex;flex-direction:column;gap:6px}
 .filter-label select{width:100%;min-height:46px;font-size:16px}
 .finding-header{gap:10px}
 .cta{flex-direction:column;align-items:stretch;gap:14px}
 .cta a{text-align:center}
 .footer{flex-direction:column;gap:6px}
}
@media print{.tools-sidebar{display:none!important}}

/* Orixfy Tools : renfort de stabilité et d'accessibilité mobile */
.tools-page-content,.tools-form-card,.tools-results,.tool-result-block,.main{min-width:0;max-width:100%}
.tools-form-card input,.tools-form-card textarea,.tools-form-card select{max-width:100%}
.tool-data-table{display:table;max-width:100%}
.tool-data-table td{overflow-wrap:anywhere;white-space:normal}
.tool-status[data-state="error"]{color:#ffb4ba}
.tools-form-card button:disabled{opacity:.65;cursor:wait}
.tools-sidebar a:focus-visible,.mobile-menu-button:focus-visible,.tools-form-card button:focus-visible,.tools-results button:focus-visible{outline:3px solid #79baff;outline-offset:3px}
@media(max-width:820px){
 .app-shell,.main,.content{min-width:0;max-width:100%}
 .tools-sidebar .sidebar-nav{max-height:calc(100dvh - var(--hdr, 70px));overscroll-behavior:contain}
 .tool-data-table{display:block;overflow-x:auto}
 .tools-page-content{padding-bottom:calc(30px + env(safe-area-inset-bottom))}
 .tools-page-hero h1{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.tools-sidebar *,.tools-hub-card{transition:none!important;scroll-behavior:auto!important}}
