/* ETHIOB V8 Recovery UX — surcharge non destructive */
:root{--e-ink:#12313a;--e-muted:#60767d;--e-brand:#0a7c70;--e-brand-dark:#08645c;--e-bg:#f4f7f8;--e-card:#fff;--e-border:#dbe6e8;--e-soft:#edf7f5;--e-danger:#a83232;--e-warning:#9a6700;--e-shadow:0 10px 28px rgba(23,61,70,.07)}
html,body{margin:0;min-height:100%;background:var(--e-bg);color:var(--e-ink)}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.5}
.portal-shell{background:var(--e-bg)!important;min-height:100vh}
.portal-header{height:72px;box-sizing:border-box;padding:0 28px!important;background:#0d3d3b!important;box-shadow:0 4px 18px rgba(5,35,37,.14);position:sticky!important;top:0!important;z-index:100!important}
.portal-brand{font-size:1.18rem!important;letter-spacing:.025em;text-decoration:none!important}.portal-user{display:flex;gap:10px;align-items:center}.portal-user a{color:#fff!important}
.portal-layout{grid-template-columns:280px minmax(0,1fr)!important;min-height:calc(100vh - 72px)!important;align-items:start}
.portal-nav{position:sticky!important;top:72px!important;height:calc(100vh - 72px)!important;overflow-y:auto!important;box-sizing:border-box;padding:22px 14px!important;background:#fff!important;border-right:1px solid var(--e-border)!important;scrollbar-width:thin}
.portal-nav::-webkit-scrollbar{width:7px}.portal-nav::-webkit-scrollbar-thumb{background:#cad7d8;border-radius:10px}
.portal-nav .nav-group{margin:22px 12px 8px!important;padding-top:4px;color:#0d7780!important;font-size:.69rem!important;letter-spacing:.13em!important;text-transform:uppercase;font-weight:900!important}
.portal-nav a{position:relative;display:flex!important;align-items:center;min-height:44px;box-sizing:border-box;padding:10px 13px!important;margin:3px 0!important;border-radius:10px!important;color:#334f5a!important;text-decoration:none!important;font-weight:650;transition:background .15s ease,color .15s ease}
.portal-nav a:hover{background:#f0f6f5!important;color:var(--e-brand-dark)!important}
.portal-nav a.active{background:var(--e-soft)!important;color:var(--e-brand-dark)!important;font-weight:800!important;box-shadow:inset 4px 0 0 var(--e-brand)!important;padding-right:92px!important}
.portal-nav a.active:after{content:"OUVERT"!important;position:absolute!important;right:10px!important;top:50%!important;transform:translateY(-50%)!important;float:none!important;margin:0!important;padding:3px 7px!important;border-radius:999px!important;border:1px solid #b9ddd8!important;background:#fff!important;color:#0a7067!important;font-size:.61rem!important;font-weight:900!important;letter-spacing:.05em!important}
.portal-main{padding:30px 34px 56px!important;min-width:0!important;max-width:1600px;width:100%;box-sizing:border-box}
.portal-page-heading{margin-bottom:24px!important;gap:18px!important}.portal-page-heading h1{font-size:clamp(1.85rem,3.2vw,2.6rem)!important;letter-spacing:-.03em!important;margin:.15rem 0 .35rem!important}.portal-page-heading p{color:var(--e-muted)!important;line-height:1.6!important}
.portal-card{background:var(--e-card)!important;border:1px solid var(--e-border)!important;border-radius:16px!important;padding:22px!important;box-shadow:var(--e-shadow)!important;margin-bottom:18px!important}
.portal-card h1,.portal-card h2,.portal-card h3{color:var(--e-ink);line-height:1.2}.portal-card h2{margin-top:0}
.portal-toolbar{background:#fff!important;border:1px solid var(--e-border)!important;border-radius:14px!important;padding:12px 14px!important;box-shadow:0 5px 16px rgba(23,61,70,.04)!important;align-items:center!important}
.btn{border-radius:10px!important;min-height:42px!important;padding:9px 15px!important;font-weight:750!important;box-shadow:none!important;transform:none!important}.btn:hover{transform:none!important}.btn-brand{background:var(--e-brand)!important;border-color:var(--e-brand)!important;color:#fff!important}.btn-brand:hover{background:var(--e-brand-dark)!important;border-color:var(--e-brand-dark)!important}.btn-secondary{background:#fff!important;border-color:#b9cbcf!important;color:#294852!important}.btn-danger{background:#fff!important;border-color:#ddb7b7!important;color:var(--e-danger)!important}
.form-control,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=url],select,textarea{box-sizing:border-box;max-width:100%;border-radius:10px!important;border:1px solid #bdcdd1!important;background:#fff!important;min-height:43px;padding:9px 11px;font:inherit;color:var(--e-ink)}
textarea{min-height:94px}.form-control:focus,input:focus,select:focus,textarea:focus{outline:0!important;border-color:var(--e-brand)!important;box-shadow:0 0 0 3px rgba(10,124,112,.12)!important}
.table-responsive{overflow:auto!important;border-radius:12px;border:1px solid var(--e-border);background:#fff}.data-table{width:100%!important;border-collapse:separate!important;border-spacing:0!important}.data-table th{background:#f3f7f7!important;color:#526d75!important;font-size:.73rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;font-weight:850!important;position:sticky;top:0;z-index:2}.data-table th,.data-table td{padding:13px 14px!important;border-bottom:1px solid #e6edef!important;text-align:left!important;vertical-align:middle!important}.data-table tbody tr:hover{background:#f8fbfb!important}.data-table tbody tr:last-child td{border-bottom:0!important}
.metric{font-size:2rem!important;letter-spacing:-.04em}.badge-status,.badge{border-radius:999px!important;font-weight:750!important}
.alert,.help-panel{border-radius:12px!important;padding:13px 15px!important}.help-panel{background:#f1f8f7!important;border-color:#c9e2de!important}
.cockpit-tabs,.tabs{gap:6px!important;overflow-x:auto;flex-wrap:nowrap!important}.cockpit-tabs a,.tabs a{white-space:nowrap;border-radius:9px 9px 0 0!important}.cockpit-tabs a.active,.tabs a.active{background:var(--e-soft)!important;color:var(--e-brand-dark)!important;border-bottom-color:var(--e-brand)!important}
.modal-overlay{background:rgba(8,31,36,.62)!important;backdrop-filter:blur(3px)}.ethiob-modal{border-radius:16px!important;box-shadow:0 30px 80px rgba(0,0,0,.24)!important}.modal-head{background:#f8fbfb}.modal-body{padding:22px!important}
.quick-actions,.action-buttons{gap:8px!important}.empty-state{background:#fafcfc;border:1px dashed #cbd9dc;border-radius:12px;color:var(--e-muted)!important}
@media(max-width:1000px){.portal-layout{grid-template-columns:235px minmax(0,1fr)!important}.portal-main{padding:24px!important}.portal-nav a.active{padding-right:13px!important}.portal-nav a.active:after{display:none!important}}
@media(max-width:820px){.portal-header{height:auto;min-height:64px;padding:12px 16px!important}.portal-layout{display:block!important}.portal-nav{position:relative!important;top:auto!important;height:auto!important;display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;border-right:0!important;border-bottom:1px solid var(--e-border)!important;padding:10px!important}.portal-nav .nav-group{display:none}.portal-nav a{white-space:nowrap!important;flex:0 0 auto}.portal-main{padding:18px 14px 40px!important}.portal-grid{gap:12px!important}.portal-card{padding:17px!important}.portal-page-heading{flex-direction:column!important}.span-3,.span-4,.span-5,.span-6,.span-7,.span-8,.span-12{grid-column:span 12!important}}
