:root{--navy:#17334d;--blue:#087f96;--cyan:#1db9c7;--ink:#17324a;--muted:#617487;--line:#dbe6ec;--soft:#f3f8fa;--white:#fff}*{box-sizing:border-box}body{margin:0;background:#f4f7f9;color:var(--ink);font:15px/1.55 Arial,sans-serif}button,input,select,textarea{font:inherit}button,a{transition:.18s ease}.eyebrow{color:#078da0;font-size:12px;font-weight:800;letter-spacing:2px}.access-page{min-height:100vh;background:linear-gradient(145deg,#edf8fa,#fff 50%,#eef2f6)}.access-shell{max-width:1100px;margin:auto;padding:56px 24px}.access-logo,.client-logo img{width:220px;max-height:68px;object-fit:contain}.access-shell h1{font-size:clamp(34px,6vw,58px);margin:45px 0 5px}.access-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}.access-cards article,.panel,.metric,.equipment,.ticket,.document,.login-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 14px 35px #17334d0c}.access-cards a,.primary,.login-card button{display:inline-block;border:0;border-radius:11px;background:var(--navy);color:#fff;padding:13px 19px;text-decoration:none;font-weight:700}.access-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#e5f8fa;color:var(--blue);font-size:30px}.client-login{min-height:100vh;background:var(--navy);display:grid;place-items:center}.client-login main{width:min(92%,480px)}.client-login .client-logo{display:block;text-align:center;margin-bottom:25px}.client-login .client-logo img{filter:brightness(0) invert(1)}.login-card label,.portal-admin label,#ticket-form label{display:grid;gap:7px;margin:14px 0}.login-card input,.portal-admin input,.portal-admin select,#ticket-form input,#ticket-form select,#ticket-form textarea,.search input,.filters input,.filters select{width:100%;padding:13px;border:1px solid #bed0da;border-radius:10px;background:#fff}.login-card button{width:100%;margin:10px 0}.login-card a{color:var(--blue)}.client-app header,.portal-admin header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;min-height:78px;padding:10px 4%;background:var(--navy);color:#fff;border-top:4px solid var(--cyan)}.client-app .client-logo img,.portal-admin .client-logo img{width:155px;filter:brightness(0) invert(1)}.client-app header nav{display:flex;gap:5px;flex:1}.client-app header nav a,.portal-admin header a{color:#dceaf1;text-decoration:none;padding:10px 12px;border-radius:9px}.client-app header nav a:hover,.client-app header nav a.active{background:#ffffff18;color:#fff}.account{display:flex;align-items:center;gap:8px}.account form{margin:0}.account button,#client-menu{background:transparent;color:#fff;border:1px solid #ffffff55;border-radius:9px;padding:9px}#client-menu{display:none}.client-app main,.portal-admin main{max-width:1450px;margin:auto;padding:35px 4%}.hero,.page-head,.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.hero h1,.page-head h1{font-size:clamp(30px,5vw,48px);margin:4px 0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:26px 0}.metric{text-decoration:none;color:inherit;padding:20px}.metric strong{display:block;color:var(--blue);font-size:32px}.metric span{color:var(--muted)}.timeline p{display:grid;grid-template-columns:170px 1fr;gap:16px;border-bottom:1px solid var(--line);padding:12px 0}.cards-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px;margin-top:22px}.equipment span,.document span{color:var(--blue);font-weight:700}.equipment h2,.ticket h2,.document h2{margin:8px 0;font-size:19px}.equipment dl{display:grid;grid-template-columns:130px 1fr}.equipment dt{color:var(--muted)}.equipment dd{margin:0}.equipment button,.document a,.ticket button{border:1px solid #a9d9df;background:#eefafb;color:#075f70;border-radius:10px;padding:10px;text-decoration:none}.status{display:inline-block;background:#e8f5ed;color:#24714b;border-radius:99px;padding:4px 10px}.steps{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}.steps span{background:var(--soft);border-radius:99px;padding:5px 9px;font-size:12px}.empty{padding:35px;text-align:center;color:var(--muted);background:#fff;border:1px dashed #bed0da;border-radius:15px}.search{display:block;margin:20px 0}.filters{display:flex;gap:12px;margin:20px 0}.table-wrap{overflow:auto;background:#fff;border-radius:16px;border:1px solid var(--line)}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line)}th{background:#edf7f8}dialog{width:min(850px,94vw);max-height:90vh;border:0;border-radius:20px;padding:26px;box-shadow:0 30px 80px #0005}dialog::backdrop{background:#10283dbb}.dialog-head button{border:0;background:#eef4f6;border-radius:50%;width:42px;height:42px;font-size:23px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.wide{grid-column:1/-1}.portal-admin .panel{display:flex;gap:15px;align-items:end;flex-wrap:wrap}.portal-admin .panel>label{min-width:320px}.portal-admin #portal-users{width:100%}.portal-admin #portal-users article{display:flex;gap:12px;align-items:center;padding:14px;border-top:1px solid var(--line)}.portal-admin #portal-users article div{display:grid;flex:1}.portal-admin button{padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}@media(max-width:900px){.client-app header{flex-wrap:wrap}.client-app header nav{order:3;width:100%;display:none;flex-direction:column}.client-app header nav.open{display:flex}#client-menu{display:block}.account{margin-left:auto}.account #my-account{display:none}.metrics{grid-template-columns:1fr 1fr}}@media(max-width:650px){.access-cards,.grid{grid-template-columns:1fr}.wide{grid-column:auto}.access-shell{padding-top:28px}.client-app main{padding:25px 16px}.metrics{grid-template-columns:1fr}.hero,.page-head{align-items:flex-start;flex-direction:column}.timeline p{grid-template-columns:1fr}.account span{display:none}.table-wrap{margin:0 -16px;border-radius:0}.filters{flex-direction:column}}

/* Administração do Ambiente do Cliente */
.portal-admin header.ms-unified-header{min-height:78px;background:#fff;color:#17324a;border-top:3px solid #06b6d4;border-bottom:1px solid #c6e5eb;box-shadow:0 3px 16px #07566a08}
.portal-admin header.ms-unified-header a{color:#084b8d}
.portal-admin header.ms-unified-header .brand{display:flex;align-items:center}
.portal-admin header.ms-unified-header .mundo-logo{width:116px;aspect-ratio:1184/840;overflow:hidden;border-radius:8px;background:#fff;position:relative;padding:0}
.portal-admin header.ms-unified-header .mundo-logo img{position:absolute;left:0;top:-17.857143%;width:100%;height:auto;max-width:none;filter:none}
.portal-admin header.ms-unified-header .ms-system-menu a,.portal-admin header.ms-unified-header .ms-menu-group button{color:#084b8d}
.portal-admin header.ms-unified-header .ms-account button{color:#17324a;background:#fff}
.portal-admin .page-head{margin-bottom:22px}.portal-admin .page-head h1{font-size:clamp(28px,4vw,38px)}.portal-admin .page-head p{margin:3px 0;color:var(--muted)}
.portal-admin .admin-back{border:1px solid var(--line);border-radius:9px;padding:10px 14px;color:var(--ink);text-decoration:none;background:#fff;white-space:nowrap}
.portal-admin .portal-users-panel{display:block}.portal-admin .client-picker{position:relative;max-width:700px}.portal-admin .client-picker>label{display:block;margin:0 0 7px;font-weight:700}
.portal-admin #admin-client-search{width:100%;padding:13px;border:1px solid #bed0da;border-radius:10px;background:#fff}
.portal-admin .client-results{position:absolute;top:100%;left:0;right:0;z-index:30;max-height:300px;overflow:auto;background:#fff;border:1px solid #bed0da;border-radius:10px;box-shadow:0 12px 30px #17334d24}
.portal-admin .client-results[hidden]{display:none}.portal-admin .client-results button{display:block;width:100%;text-align:left;border:0;border-radius:0;background:#fff;padding:10px 13px;color:var(--ink)}.portal-admin .client-results button:hover,.portal-admin .client-results button:focus-visible{background:#e9f9fc}.portal-admin .client-results p{padding:10px 13px;color:var(--muted)}
.portal-admin #new-portal-user{margin:18px 0 8px}.portal-admin button.primary{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:700;padding:11px 17px}.portal-admin button:disabled{opacity:.55;cursor:not-allowed}
.portal-admin #portal-users article{display:flex;align-items:center;gap:14px;padding:16px 0;border-top:1px solid var(--line)}.portal-admin #portal-users article>div:first-child{display:grid;min-width:0;flex:1}.portal-admin #portal-users article small{color:var(--muted);overflow-wrap:anywhere}.portal-admin .user-actions{display:flex;gap:9px;flex-wrap:wrap}
.portal-admin .admin-message{padding:11px 13px;border-radius:9px;background:#e7f5ee;color:#1d6b4b}.portal-admin .admin-message.error,.portal-admin .form-error{background:#fff0ed;color:#a3352b}.portal-admin .form-error:empty{display:none}
.portal-admin dialog{width:min(650px,94vw);padding:25px;max-height:90vh;overflow:auto}.portal-admin dialog h2{margin:0}.portal-admin dialog .dialog-head button{width:42px;height:42px;border-radius:50%;padding:0;font-size:24px}
.portal-admin dialog .check-label{display:flex;align-items:center;gap:9px}.portal-admin dialog .check-label input{width:18px;height:18px;margin:0}.portal-admin dialog label small{color:var(--muted)}
.portal-admin dialog .dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.portal-admin #invite-dialog input{width:100%;margin:8px 0 5px}.portal-admin #invite-status{color:var(--ink)}
@media(max-width:650px){.portal-admin main{padding:20px 16px}.portal-admin .page-head{align-items:stretch}.portal-admin #portal-users article{align-items:flex-start;flex-direction:column}.portal-admin .user-actions{width:100%}.portal-admin .user-actions button{flex:1}.portal-admin dialog .dialog-actions{flex-wrap:wrap}.portal-admin dialog .dialog-actions button{flex:1}}
.portal-admin header.topbar{min-height:78px;background:#fff;color:#17324a;border-top:3px solid #06b6d4;border-bottom:1px solid #c6e5eb;box-shadow:0 3px 16px #07566a08}
.portal-admin header.topbar .mundo-logo img{filter:none}

/* Navegação lateral do Portal do Cliente */
.client-app header{gap:18px}.client-app #client-menu{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:none;cursor:pointer}.client-app header .account{margin-left:auto}.client-app header .account span{display:none}.portal-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:calc(100vh - 78px)}.portal-shell main{width:100%;max-width:1450px;min-width:0;padding:35px 4%;margin:0 auto}.portal-shell aside{position:sticky;top:78px;align-self:start;height:calc(100vh - 78px);overflow:auto;background:#fff;border-right:1px solid var(--line);box-shadow:3px 0 14px #17334d09}.portal-shell aside nav{display:flex;flex-direction:column;padding:18px 10px;gap:3px}.portal-shell aside a,.portal-shell aside summary{display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 11px;border-radius:9px;color:var(--ink);text-decoration:none;cursor:pointer}.portal-shell aside a::before{content:attr(data-icon);display:inline-flex;justify-content:center;align-items:center;width:22px;flex:none;color:var(--blue);font-size:18px;font-weight:700}.portal-shell aside a:hover,.portal-shell aside summary:hover,.portal-shell aside a.active{background:#e6f6f8;color:#075d70}.portal-shell aside a.active{font-weight:700;box-shadow:inset 3px 0 var(--blue)}.portal-shell aside a:focus-visible,.portal-shell aside summary:focus-visible,.client-app header button:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}.portal-shell aside summary{font-weight:800;list-style:none}.portal-shell aside summary::-webkit-details-marker{display:none}.portal-shell aside summary .menu-icon{display:inline-flex;justify-content:center;width:22px;color:var(--blue);font-size:19px}.portal-shell aside .menu-sub{padding-left:12px}.portal-shell aside hr{width:100%;border:0;border-top:1px solid var(--line);margin:13px 0}.portal-shell aside .menu-heading{margin:8px 10px;color:var(--muted);font-size:11px;letter-spacing:.08em;font-weight:800;text-transform:uppercase}.sidebar-collapsed .portal-shell{grid-template-columns:62px minmax(0,1fr)}.sidebar-collapsed .portal-shell aside a span,.sidebar-collapsed .portal-shell aside .menu-text,.sidebar-collapsed .portal-shell aside .menu-heading{display:none}.sidebar-collapsed .portal-shell aside .menu-sub{padding-left:0}.sidebar-collapsed .portal-shell aside a,.sidebar-collapsed .portal-shell aside summary{justify-content:center}.sidebar-collapsed .portal-shell aside details:not([open]) .menu-sub{display:none}.portal-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:20px 0}.portal-filters label,.portal-account+button,.portal-account~button{font-weight:600}.portal-filters input,.portal-account+button,.portal-account~button,#account-correction-form textarea{width:100%;border:1px solid #bed0da;border-radius:9px;background:#fff;padding:10px}.portal-account{display:grid;grid-template-columns:minmax(140px,1fr) 2fr;gap:9px 16px;margin:22px 0}.portal-account dt{color:var(--muted)}.portal-account dd{margin:0;overflow-wrap:anywhere}.portal-account+button{width:auto;cursor:pointer}.portal-shell #account-correction-form label{display:grid;gap:8px}.portal-shell #account-correction-form textarea{min-height:105px}.portal-shell #account-correction-form button{margin-top:12px}
@media(max-width:760px){.portal-shell{display:block}.portal-shell aside{display:none;position:fixed;z-index:30;top:78px;left:0;width:min(86vw,310px);height:calc(100vh - 78px);box-shadow:12px 0 35px #17334d33}.portal-shell aside.mobile-open{display:block}.sidebar-collapsed .portal-shell aside a span,.sidebar-collapsed .portal-shell aside .menu-text,.sidebar-collapsed .portal-shell aside .menu-heading{display:initial}.portal-shell main{padding:22px 16px}.client-app header{flex-wrap:nowrap}.client-app header .account #my-account{display:inline-flex}.client-app header .client-logo img{width:120px}.client-app header .account button{font-size:13px}.portal-account{grid-template-columns:1fr}}
.quote-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}.quote-card{display:grid;gap:12px}.quote-card h2{margin:10px 0 4px}.quote-card dl{display:grid;grid-template-columns:100px 1fr;gap:6px}.quote-card dt{color:var(--muted)}.quote-card dd{margin:0}.quote-actions{display:flex;gap:8px;flex-wrap:wrap}.quote-actions a,.quote-actions button{padding:10px 13px;border:1px solid #afd4db;border-radius:9px;background:#fff;color:var(--ink);text-decoration:none;cursor:pointer}.quote-actions .primary{background:var(--navy);color:#fff;border-color:var(--navy)}#quote-decision-dialog label{display:grid;gap:6px;margin:14px 0}#quote-decision-dialog textarea{min-height:90px;padding:10px;border:1px solid #bed0da;border-radius:9px}

/* Engenharia Clínica do cliente */
.client-app header .nav-label{align-self:center;padding:8px 6px;color:#9dd4de;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.client-app header .clinical-nav{border:1px solid #76c5d1}
.clinical-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 22px;border-bottom:1px solid var(--line);padding-bottom:12px}
.clinical-tabs a,.clinical-button,.clinical-actions button{display:inline-block;padding:9px 14px;border:1px solid #bed0da;border-radius:9px;background:#fff;color:var(--ink);text-decoration:none;cursor:pointer}
.clinical-button.primary,.clinical-actions .primary{background:var(--navy);border-color:var(--navy);color:#fff}
.clinical-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.clinical-actions a:hover,.clinical-actions button:hover,.clinical-tabs a:hover{background:#e9f8fa}
.clinical-actions .primary:hover{background:#24506d;color:#fff}
.clinical-filter{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:15px 0}
.clinical-filter input[type=search],.clinical-filter select,.clinical-form input,.clinical-form select{padding:10px 12px;border:1px solid #bed0da;border-radius:9px;background:#fff;color:var(--ink)}
.clinical-filter input[type=search]{min-width:min(100%,340px);flex:1}
.clinical-filter label{display:flex;gap:6px;align-items:center}
.clinical-results{margin:18px 0}.clinical-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.clinical-results.as-list .clinical-grid{grid-template-columns:1fr}
.clinical-asset{display:grid;gap:5px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none;color:var(--ink)}
.clinical-asset:hover,.clinical-asset:focus-visible{border-color:var(--blue);box-shadow:0 4px 14px #17334d18}
.clinical-asset small,.clinical-hint{color:var(--muted)}.clinical-asset .status{justify-self:start}
.clinical-form fieldset{margin:20px 0;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff}
.clinical-form legend{padding:0 8px;font-size:18px;font-weight:700}.clinical-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.clinical-form label{display:grid;gap:5px}.clinical-form label input,.clinical-form label select{width:100%}
.clinical-form .check-label{display:flex;align-items:center;gap:8px}.clinical-form .check-label input{width:auto}
.clinical-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:16px}.clinical-detail-grid .panel{margin-bottom:15px}
.clinical-details{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:6px 12px}.clinical-details dt{color:var(--muted)}.clinical-details dd{margin:0;overflow-wrap:anywhere}
.clinical-qr{width:180px;max-width:100%}.clinical-history{padding-left:20px}.clinical-history li{margin-bottom:12px}
.clinical-tree ul{border-left:2px solid var(--line);padding-left:22px}.clinical-tree li{margin:6px 0}
.clinical-review{display:grid;gap:12px}.clinical-review article{padding:14px;border:1px solid var(--line);border-radius:12px}.clinical-review form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}
.clinical-review label{display:grid;gap:5px}.clinical-review input,.clinical-review select{width:100%;padding:9px;border:1px solid #bed0da;border-radius:8px}
#clinical-message:not(:empty){padding:10px 14px;border-radius:9px;background:#e7f5ee;color:#1d6b4b}#clinical-message.error{background:#fff0ed;color:#a3352b}
@media(max-width:800px){.clinical-detail-grid{grid-template-columns:1fr}.clinical-review form{grid-template-columns:1fr}.client-app header .nav-label{display:none}}
.clinical-check-item{display:grid;gap:.55rem;padding:1rem;margin:.65rem 0;border:1px solid #d3e2e8;border-radius:12px;background:#f6fafb}
.clinical-check-item strong{color:#193449}
.clinical-check-item input,.clinical-check-item select{width:100%}
.clinical-check-item label{display:grid;gap:.3rem}
@media(max-width:720px){.clinical-check-item{padding:.8rem}.clinical-tabs{overflow-x:auto;white-space:nowrap}.clinical-actions{flex-wrap:wrap}}
