/* CRM shell scoped to authenticated portals only */
.crm-layout{--side:228px;background:#f3f5f8;font-size:14px}.crm-layout header{height:76px;padding:12px 26px;position:sticky;top:0;z-index:15;box-shadow:0 1px 0 #ffffff18}.crm-layout header img{width:36px;height:47px}.crm-layout header strong{font-size:21px}.crm-layout header nav{font-size:12px}.crm-layout main{max-width:none;margin:0 0 0 var(--side);padding:28px 30px;min-height:calc(100vh - 145px)}.crm-layout .portal-nav{position:fixed;left:0;top:76px;bottom:0;width:var(--side);border:0;border-right:1px solid #dce2e7;border-radius:0;margin:0;padding:24px 14px;display:flex;flex-direction:column;flex-wrap:nowrap;gap:6px;background:#fff;overflow-y:auto}.crm-brand{font-size:10px;letter-spacing:1.7px;color:#8592a0;padding:4px 12px 18px}.crm-layout .portal-nav a{padding:12px 14px;font-size:12px}.crm-layout h1{font:600 26px/1.25 Arial,sans-serif;letter-spacing:-.6px;margin:10px 0 20px}.crm-layout h2{font:600 19px/1.35 Arial,sans-serif;letter-spacing:-.2px}.crm-layout .portal-welcome{padding:8px 0 18px}.crm-layout .portal-welcome h1{font-size:28px}.crm-layout .card{padding:22px;margin:16px 0}.crm-layout .stat-grid{gap:16px;margin:12px 0 25px}.crm-layout .stat{padding:19px}.crm-layout .stat strong{font:600 29px Arial,sans-serif}.crm-layout button,.crm-layout .button{font-size:12px;padding:10px 16px}.crm-layout footer{margin-left:var(--side);padding:18px}.crm-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #d9e1ea;padding-bottom:12px;margin:22px 0}.crm-tabs button{background:transparent;color:#526578;margin:0;border:1px solid transparent}.crm-tabs button[aria-selected=true]{background:white;color:#102d4b;border-color:#ccd8e3;box-shadow:0 2px 4px #102d4b08}.crm-tab-panel>h2{display:none}.crm-records{background:white;border:1px solid #dce2e7;border-radius:8px;overflow:hidden;margin:18px 0}.crm-tools{padding:16px;display:flex;gap:12px;background:#fff}.crm-tools input{flex:1;min-width:100px;margin:0;font-size:13px;padding:10px 12px}.crm-tools select{width:210px;margin:0;padding:10px;font-size:13px}.crm-records td{vertical-align:middle;padding:15px 18px}.crm-records th{padding:12px 18px;text-transform:uppercase;letter-spacing:.6px;font-size:10px}.crm-records td:first-child{width:65%}.crm-records td small{display:block;max-width:600px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px;font-size:12px}.crm-records td strong{font-size:14px}.crm-records .crm-open{background:#edf3f8;color:#102d4b;margin:0;white-space:nowrap}.crm-pager{display:flex;align-items:center;justify-content:flex-end;gap:15px;padding:12px 16px;border-top:1px solid #e0e5eb;font-size:12px;color:#67788a}.crm-pager button{margin:0;background:#f0f3f7;color:#102d4b}.crm-pager button:disabled{opacity:.35;cursor:default}.crm-dialog{width:min(850px,94vw);max-height:90vh;padding:20px 26px;border:1px solid #d1dce5;border-radius:12px;color:#182d42;box-shadow:0 30px 100px #061e3c44}.crm-dialog::backdrop{background:#0a223e77}.crm-dialog .card{border:0;box-shadow:none;margin:0;padding:12px 0}.crm-close{position:sticky;top:0;display:block;margin:0 0 12px auto;background:#edf2f7;color:#102d4b;z-index:1}.crm-dialog h2{font:600 22px Arial,sans-serif}.crm-dialog .grid{gap:16px}.crm-dialog form{margin-top:18px}.crm-dialog input,.crm-dialog textarea,.crm-dialog select{font-size:14px;padding:10px}.crm-activity{max-height:440px;overflow:auto;border:1px solid #dce2e7;border-radius:8px}.crm-layout .services-grid:has(.crm-records){display:block}.crm-layout [hidden]{display:none!important}@media(max-width:1000px){.crm-layout{--side:185px}.crm-layout main{padding:22px 20px}.crm-layout header nav{gap:12px}.crm-records td small{max-width:320px}}@media(max-width:700px){.crm-layout header{height:auto;position:static;padding:14px 16px}.crm-layout{--side:0px}.crm-layout main{padding:16px;margin:0}.crm-layout .portal-nav{position:static;width:auto;flex-direction:row;flex-wrap:wrap;padding:9px;margin-bottom:20px;border:1px solid #dce2e7;border-radius:8px}.crm-brand{display:none}.crm-layout .portal-nav a{font-size:11px;padding:8px}.crm-tools{flex-direction:column}.crm-tools select{width:100%}.crm-records table{min-width:480px}.crm-pager{gap:8px}.crm-dialog{padding:14px}.crm-records td small{max-width:240px}}@media print{.crm-layout main{margin:0}.crm-layout .portal-nav,.crm-close{display:none!important}}
