:root{--ink:#151a22;--blue:#2a4365;--dark:#0b0f17;--paper:#f7f7f8;--line:#d4d8de;--muted:#626a75;--white:#fff;--warn:#80591e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 Arial,sans-serif}button,input,select,textarea{font:inherit}.stage-banner{display:flex;justify-content:center;gap:14px;padding:8px 18px;background:#fff0d4;color:#5c4219;font-size:12px;border-bottom:1px solid #e4c987}.stage-banner strong{letter-spacing:.04em;text-transform:uppercase}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;min-height:70px;padding:14px clamp(18px,4vw,56px);background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}.brand{display:flex;border:0;background:none;color:var(--ink);font-size:22px;font-weight:700;letter-spacing:-.05em;cursor:pointer}.brand b{color:var(--blue)}.brand-context{margin-left:14px;padding-left:14px;border-left:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.topbar>.button{margin-left:auto}.layout{display:grid;grid-template-columns:260px minmax(0,1fr);max-width:1500px;margin:auto}.sidebar{min-height:calc(100vh - 103px);padding:27px 17px;background:#fff;border-right:1px solid var(--line)}.nav-label,.section-kicker,.eyebrow{color:#536b83;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.nav-label{margin:0 10px 12px}.nav-button{display:flex;align-items:center;gap:11px;width:100%;padding:12px;margin:2px 0;border:0;border-left:3px solid transparent;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.nav-button span{color:#7d8792;font-size:11px}.nav-button:hover{background:#f3f5f7}.nav-button.active{border-left-color:var(--blue);background:#edf0f4;font-weight:700}.nav-button:focus-visible,.office-hub-card:focus-visible{outline:3px solid #91a8c0;outline-offset:2px}.office-navigation{margin-top:23px;padding-top:18px;border-top:1px solid var(--line)}.office-nav-entry{padding:10px 12px 10px 18px;color:#303a46;font-size:13px}.office-nav-entry span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#edf1f5;color:#536b83;font-size:9px;font-weight:700}.side-note{margin-top:28px;padding:15px;background:#f3f5f7;border:1px solid var(--line);font-size:12px}.side-note strong{display:block;margin-bottom:4px}.content{min-width:0;padding:clamp(28px,4vw,58px)}.screen{display:none}.screen.active{display:block}.office-workspace:not(.office-workspace-active){display:none!important}.eyebrow{margin:0 0 12px}h1,h2,h3{font-weight:650}h1{max-width:900px;margin:0;font-size:clamp(42px,5.3vw,72px);line-height:1.02;letter-spacing:-.055em}h2{margin:0;font-size:clamp(30px,3.2vw,43px);line-height:1.08;letter-spacing:-.04em}h3{margin:0;font-size:20px;letter-spacing:-.025em}.lead{max-width:800px;margin:22px 0 27px;color:var(--muted);font-size:17px}.actions{display:flex;gap:10px;flex-wrap:wrap}.button{padding:11px 17px;border:1px solid var(--dark);border-radius:3px;background:var(--dark);color:#fff;font-weight:700;cursor:pointer}.button.secondary{border-color:#aab1ba;background:#fff;color:var(--ink)}.button.small{padding:8px 11px;font-size:12px}.alert{margin:32px 0;padding:17px 19px;border-left:4px solid var(--blue);background:#eef2f6}.alert b{display:block}.alert p{margin:3px 0;color:var(--muted);font-size:13px}.section-kicker{margin:42px 0 14px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{padding:23px;border:1px solid var(--line);border-radius:3px;background:#fff}.card p{color:var(--muted)}.practice{min-height:305px}.number{display:block;margin-bottom:38px;color:#536b83;font-size:12px;font-weight:700}.practice ul{padding:14px 0 0;margin:16px 0 0;border-top:1px solid var(--line);list-style:none;color:#4d5662;font-size:13px;line-height:1.9}.practice li:before{content:'—';margin-right:8px}.text-link{margin-top:16px;padding:0;border:0;background:none;color:var(--blue);font-weight:700;cursor:pointer}.principle{display:flex;justify-content:space-between;gap:20px;margin-top:18px;padding:19px 22px;background:var(--dark);color:#fff}.principle span{color:#b8c0c9;font-size:13px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:27px}.section-head p:not(.eyebrow){max-width:700px;margin:9px 0 0;color:var(--muted)}.status{display:inline-flex;padding:7px 10px;border-radius:99px;background:#e9edf2;color:var(--blue);font-size:12px;font-weight:700;white-space:nowrap}.status.warn{background:#fff0d4;color:var(--warn)}.status.danger{background:#ffe5de;color:#8d3f2c}.office-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:1080px}.office-hub-card{display:flex;flex-direction:column;align-items:flex-start;min-height:170px;padding:23px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .16s,box-shadow .16s,transform .16s}.office-hub-card:hover{border-color:#91a0b0;box-shadow:0 12px 28px rgba(31,47,65,.09);transform:translateY(-2px)}.office-hub-card>span{margin-bottom:27px;color:#536b83;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.office-hub-card>strong{font-size:19px;letter-spacing:-.02em}.office-hub-card>small{max-width:470px;margin-top:7px;color:var(--muted);line-height:1.5}.office-next-modules{display:flex;align-items:center;flex-wrap:wrap;gap:9px;max-width:1080px;margin-top:18px;padding:15px 17px;border:1px solid var(--line);background:#eef2f6;color:#455364;font-size:12px}.office-next-modules strong{margin-right:5px;color:var(--ink)}.office-next-modules span{padding:5px 9px;border-radius:99px;background:#fff}.form-card{max-width:960px;padding:clamp(23px,4vw,40px);border:1px solid var(--line);background:#fff}.steps{display:flex;gap:8px;margin-bottom:24px}.steps i{flex:1;height:5px;border-radius:99px;background:#d9dee4}.steps i.active{background:var(--blue)}.intake-step{display:none}.intake-step.active{display:block}.muted{color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:21px}.form-grid label,.calendar label{font-size:13px;font-weight:700}.form-grid .full{grid-column:1/-1}input,select,textarea{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #c8cdd3;border-radius:3px;background:#fff;color:var(--ink)}textarea{min-height:110px;resize:vertical}.form-actions{display:flex;justify-content:space-between;margin-top:24px}.button:disabled{opacity:.45;cursor:not-allowed}.appointment{display:flex;flex-direction:column;min-height:220px;text-align:left;cursor:pointer}.appointment small,.login-card>small{color:#536b83;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.appointment p{font-weight:400}.appointment b{margin-top:auto;padding-top:14px;color:var(--blue);font-size:12px}.appointment.selected{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.booking-card{margin-top:20px}.calendar{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:20px 0}.choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.choice{padding:9px 12px;border:1px solid #c8cdd3;background:#fff;cursor:pointer}.choice.selected{background:var(--blue);border-color:var(--blue);color:#fff}.document{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:16px 0;border-bottom:1px solid var(--line)}.document>span{display:grid;place-items:center;width:42px;height:42px;background:#e9edf2;font-size:11px;font-weight:700}.document strong,.document small{display:block}.document small{color:var(--muted)}.subhead{margin-top:25px}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:14px}.flow span{padding:11px;background:#eef1f4;text-align:center;font-size:11px}.upload{display:grid;place-items:center;width:100%;min-height:180px;margin-top:18px;border:1px dashed #95a1ae;background:#f4f6f8;color:var(--ink);cursor:pointer}.upload span{display:block;color:var(--muted);font-size:12px}.metrics>div{padding:19px;border-left:3px solid #536b83;background:#fff}.metrics b,.metrics span{display:block}.metrics b{font-size:32px}.metrics span{color:var(--muted);font-size:12px}.office-grid{margin-top:20px}table{width:100%;margin-top:12px;border-collapse:collapse;font-size:13px}th,td{padding:11px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--muted);font-size:10px;text-transform:uppercase}.integration{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.integration strong,.integration small{display:block}.integration small{color:var(--muted)}.integration b{color:var(--blue);font-size:11px}.login-card{display:flex;flex-direction:column;min-height:250px}.login-card .button{align-self:flex-start;margin-top:auto}.toast{position:fixed;right:22px;bottom:22px;max-width:430px;padding:15px 18px;background:var(--dark);color:#fff;box-shadow:0 8px 32px #0004;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}@media(max-width:1080px){.grid.four{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:1fr}.office-hub-grid{grid-template-columns:1fr}}@media(max-width:760px){.stage-banner{display:block}.stage-banner span{display:block}.topbar{position:static}.brand-context{display:none}.layout{display:block}.sidebar{min-height:0;padding:9px;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}.nav-label,.side-note{display:none}.office-navigation{margin-top:8px;padding-top:8px}.sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(145px,1fr));min-width:0;gap:2px}.nav-button{justify-content:flex-start;white-space:normal}.content{padding:28px 17px 50px}.grid.two,.grid.four,.form-grid,.calendar{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.section-head{align-items:flex-start;flex-direction:column}.principle{flex-direction:column}.document{grid-template-columns:auto 1fr}.document .button{grid-column:1/-1}.flow{grid-template-columns:1fr 1fr}.office-hub-card{min-height:145px}.office-hub-card>span{margin-bottom:18px}}
.booking-relationship-status{margin:0 0 18px;padding:16px;border:1px solid var(--line,#dfe4e8);border-radius:16px;background:#f7f9fb}.booking-relationship-status h4{margin:0 0 12px}.booking-relationship-status-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.booking-relationship-status-list>div{display:grid;gap:4px;min-width:0;padding:11px 12px;border-radius:12px;background:#fff}.booking-relationship-status-list span{color:var(--muted,#526174);font-size:.82rem}.booking-relationship-status-list strong{overflow-wrap:anywhere}
@media(max-width:720px){.booking-relationship-status-list{grid-template-columns:1fr}}
.portal-menu-button,.portal-menu-head,.portal-nav-backdrop{display:none}.portal-menu-button,.portal-menu-close{min-width:44px;min-height:44px;border:1px solid #aab1ba;border-radius:3px;background:#fff;color:var(--ink);font-weight:700;cursor:pointer}.portal-menu-button:focus-visible,.portal-menu-close:focus-visible{outline:3px solid #91a8c0;outline-offset:2px}
@media(max-width:760px){body.portal-menu-open{overflow:hidden}.topbar{position:sticky;gap:8px;padding:10px 12px}.brand{font-size:20px}.topbar>.button{margin-left:0;min-height:44px;max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-menu-button{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;padding:8px 13px}.layout{display:block}.sidebar{position:fixed;z-index:42;inset:0 auto 0 0;width:min(88vw,340px);max-height:100dvh;min-height:0;padding:15px 14px 28px;overflow-y:auto;overscroll-behavior:contain;border:0;border-right:1px solid var(--line);box-shadow:0 18px 48px #0b0f1733;transform:translateX(-105%);transition:transform .18s ease}.portal-menu-open .sidebar{transform:translateX(0)}.portal-menu-head{position:sticky;top:-15px;z-index:2;display:flex;align-items:center;justify-content:space-between;min-height:62px;margin:-15px -14px 14px;padding:9px 14px;border-bottom:1px solid var(--line);background:#fff}.portal-menu-head strong{font-size:17px}.portal-menu-close{display:grid;place-items:center;padding:0;font-size:25px}.portal-nav-backdrop{position:fixed;z-index:41;inset:0;display:block;width:100%;height:100%;margin:0;padding:0;border:0;background:#0b0f176b}.portal-nav-backdrop[hidden]{display:none}.nav-label{display:block;margin-top:16px}.side-note{display:none}.office-navigation{margin-top:14px;padding-top:14px}.sidebar nav{display:block}.nav-button{min-height:48px;justify-content:flex-start;white-space:normal}.recent-matters button{min-width:44px;min-height:44px}.content{padding:24px 17px 50px}.screen.active>*,.office-workspace-active{scroll-margin-top:82px}}

/* Role-aware workspace shell */
.button.small,
.nav-button,
.office-work-card,
.settings-module-card,
.matter-tool-navigation button { min-height: 44px; }

body[data-portal-audience="office"] .layout { max-width: none; grid-template-columns: 238px minmax(0, 1fr); }
body[data-portal-audience="office"] .sidebar { display: flex; min-height: calc(100vh - 70px); flex-direction: column; padding: 24px 16px; }
body[data-portal-audience="office"] .office-navigation { display: flex; flex: 1; flex-direction: column; margin: 0; padding: 0; border: 0; }
body[data-portal-audience="office"] .office-navigation > nav { display: grid; gap: 3px; }
body[data-portal-audience="office"] .office-settings-navigation { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
body[data-portal-audience="office"] .office-settings-navigation nav { display: grid; gap: 3px; }
body[data-portal-audience="office"] .office-nav-entry { padding: 11px 14px; border-left-width: 0; border-radius: 10px; font-size: 14px; }
body[data-portal-audience="office"] .office-nav-entry.active { box-shadow: inset 3px 0 0 var(--blue); }
body[data-portal-audience="office"] .recent-matters { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line); }
body[data-portal-audience="office"] .content { width: 100%; max-width: 1480px; padding: clamp(30px, 4vw, 62px); }
body[data-portal-audience="office"] .office-workspace h1 { font-size: clamp(38px, 4.6vw, 62px); }
.office-home-head { align-items: flex-start; margin-bottom: 30px; }
.office-home-head p:not(.eyebrow) { font-size: 17px; }
.office-quick-work { max-width: 1120px; margin-top: 34px; }
.office-work-grid { display: grid; grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr)); gap: 12px; }
.office-work-card { display: grid; min-width: 0; align-content: center; gap: 5px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: var(--ink); text-align: left; cursor: pointer; }
.office-work-card strong { font-size: 17px; }
.office-work-card small { color: var(--muted); line-height: 1.45; }
.office-work-card-primary { border-color: var(--dark); background: var(--dark); color: #fff; }
.office-work-card-primary small { color: #d7dde3; }
.office-work-card:hover { border-color: #7890a7; box-shadow: 0 10px 28px rgba(31, 47, 65, .08); }
.office-work-card-primary:hover { border-color: var(--blue); background: var(--blue); }
.office-work-card:focus-visible,
.settings-module-card:focus-visible,
.matter-tool-navigation button:focus-visible { outline: 3px solid #91a8c0; outline-offset: 3px; }

.settings-workspace { width: min(100%, 1180px); }
.settings-head { align-items: flex-start; margin-bottom: 30px; }
.settings-module-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.settings-module-card { display: flex; min-width: 0; min-height: 178px; flex-direction: column; align-items: flex-start; padding: 23px; border: 1px solid var(--line); border-radius: 16px; background: #fff; color: var(--ink); text-align: left; cursor: pointer; }
.settings-module-card > span { margin-bottom: auto; color: #536b83; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.settings-module-card > strong { margin-top: 25px; font-size: 20px; letter-spacing: -.02em; }
.settings-module-card > small { margin-top: 6px; color: var(--muted); line-height: 1.5; }
.settings-module-card:hover { border-color: #7890a7; box-shadow: 0 12px 30px rgba(31, 47, 65, .08); }

.matter-dashboard { margin-bottom: 20px; padding: clamp(24px, 3vw, 34px); border-radius: 20px; box-shadow: 0 12px 34px rgba(31, 47, 65, .07); }
.matter-dashboard-head { align-items: flex-start; }
.matter-dashboard-head h2 { font-size: clamp(28px, 3vw, 40px); overflow-wrap: anywhere; }
.matter-dashboard-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 24px 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--line); }
.matter-dashboard-facts > div { display: grid; gap: 3px; padding: 14px 16px; background: #f8f9fa; }
.matter-dashboard-facts dt { color: var(--muted); font-size: 11px; }
.matter-dashboard-facts dd { margin: 0; font-size: 16px; font-weight: 700; }
.matter-tool-navigation { display: flex; flex-wrap: wrap; gap: 8px; }
.matter-tool-navigation button { padding: 10px 14px; border: 1px solid #bac2ca; border-radius: 10px; background: #fff; color: var(--ink); font-weight: 700; cursor: pointer; }
.matter-tool-navigation button:hover { border-color: var(--blue); background: #f1f4f7; }
.matter-tool-navigation .matter-tool-primary { border-color: var(--dark); background: var(--dark); color: #fff; }
.matter-context-heading small { color: var(--muted); }
.office-settings-entry { margin-top: 12px; padding-top: 16px!important; border-top: 1px solid var(--line)!important; }
.matter-room-navigation { display: flex; min-height: 100%; flex-direction: column; }
.matter-room-exit,
.matter-room-inline-exit { min-height: 44px; border: 0; background: transparent; color: var(--blue); font-weight: 700; cursor: pointer; }
.matter-room-exit { width: 100%; margin-bottom: 24px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; text-align: left; }
.matter-room-inline-exit { margin: 0 0 14px; padding: 0; }
.matter-room-label { display: block; margin: -3px 10px 18px; overflow-wrap: anywhere; font-size: 15px; line-height: 1.35; }
.matter-room-navigation nav { display: grid; gap: 3px; }
.matter-room-entry { min-height: 46px; border-radius: 10px; }
body:not(.matter-room-open) .matter-room-navigation { display: none; }
body.matter-room-open .office-navigation,
body.matter-room-open .recent-matters { display: none!important; }
body.matter-room-open .matter-context-tools { display: none; }
body.matter-room-open label:has(#document-matter-select),
body.matter-room-open label:has(#deadline-matter-select),
body.matter-room-open label:has(#time-matter-select) { display: none; }
.matter-space:not(.matter-room-active) .master-layout { grid-template-columns: minmax(0, 900px); }
.matter-space:not(.matter-room-active) #matter-master-form { display: none; }
.matter-space.matter-room-active .matter-overview-list { display: none; }
.matter-space.matter-room-active .master-layout { grid-template-columns: minmax(0, 1fr); }
.matter-space.matter-room-active #matter-master-form { width: 100%; max-width: 1180px; }

.office-calendar { margin-bottom: 18px; border-radius: 16px; }
.office-calendar-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
.office-calendar-actions { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; max-width: 100%; }
.office-calendar-actions button { min-width: 44px; min-height: 44px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); font-weight: 700; cursor: pointer; }
.office-calendar-actions strong { min-width: 150px; text-align: center; text-transform: capitalize; }
.office-calendar-weekdays,
.office-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(44px, 1fr)); gap: 6px; }
.office-calendar-weekdays { margin-top: 22px; color: var(--muted); font-size: 11px; font-weight: 700; text-align: center; }
.office-calendar-grid { margin-top: 8px; }
.office-calendar-spacer { min-height: 54px; }
.office-calendar-day { display: grid; min-width: 44px; min-height: 58px; place-items: center; gap: 0; padding: 6px; border: 1px solid transparent; border-radius: 10px; background: #f4f6f8; color: var(--ink); cursor: pointer; }
.office-calendar-day small { display: grid; min-width: 20px; min-height: 20px; place-items: center; border-radius: 99px; color: var(--muted); font-size: 10px; }
.office-calendar-day.has-bookings { border-color: #9aabba; background: #fff; font-weight: 700; }
.office-calendar-day.has-bookings small { background: var(--blue); color: #fff; }
.office-calendar-day.selected { border-color: var(--dark); background: var(--dark); color: #fff; }
.office-calendar-day:focus-visible,
.office-calendar-actions button:focus-visible,
.matter-room-exit:focus-visible,
.matter-room-inline-exit:focus-visible { outline: 3px solid #91a8c0; outline-offset: 3px; }
.office-calendar-filter { margin: 14px 0 0; color: var(--muted); font-size: 13px; }
.office-agenda-tools { display: grid; gap: 14px; margin: 4px 0 18px; }
.office-agenda-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.office-agenda-filters[hidden] { display: none; }
.office-agenda-filter { min-height: 44px; padding: 8px 13px; border: 1px solid #aebccc; border-radius: 999px; background: #fff; color: var(--ink); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.office-agenda-filter:hover { border-color: var(--blue); }
.office-agenda-filter.active { border-color: var(--dark); background: var(--dark); color: #fff; }
.office-agenda-filter:focus-visible,
.office-agenda-search input:focus-visible,
.managed-booking-details summary:focus-visible,
.office-agenda-more:focus-visible { outline: 3px solid #91a8c0; outline-offset: 3px; }
.office-agenda-search { display: grid; max-width: 42rem; gap: 6px; font-size: 13px; font-weight: 700; }
.office-agenda-search input { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #aebccc; border-radius: 9px; background: #fff; color: var(--ink); font: inherit; }
.office-agenda-result { margin: 0; color: var(--muted); font-size: 13px; }
.office-agenda-more { min-height: 46px; margin-top: 14px; }
.booking-management-list,
.managed-booking,
.managed-booking-main,
.managed-booking-side { min-width: 0; max-width: 100%; }
.managed-booking { width: 100%; }
.managed-booking-past:not(:focus-within),
.managed-booking-cancelled:not(:focus-within) { opacity: .68; }
.managed-booking-details { margin-top: 9px; }
.managed-booking-details summary { width: fit-content; min-height: 44px; padding: 11px 2px; color: var(--blue); font-size: 13px; font-weight: 700; cursor: pointer; }
.managed-booking-details-body { display: grid; gap: 5px; padding: 0 0 4px 18px; }
.managed-booking p,
.managed-booking h4,
.booking-calendar-file-status,
.booking-calendar-file-status span { overflow-wrap: anywhere; }
.managed-booking-actions .button { max-width: 100%; white-space: normal; }
.office-exchange-status { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; margin-top: .8rem; color: var(--muted); }
.office-exchange-status:empty { display: none; }
.managed-booking-exchange { border-inline-start: 4px solid #6c85a0; }
.booking-origin-exchange { background: #edf3f8; color: #304f6b; }
.exchange-event-matter { display: block; max-width: 28rem; color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
.exchange-event-matter.assigned { color: var(--blue); font-weight: 700; }
.managed-booking-participants { margin: .45rem 0 0; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.office-event-matter-effect { margin: 0; padding: 12px 14px; border-inline-start: 3px solid #91a8c0; background: #f4f7fa; color: var(--muted); overflow-wrap: anywhere; }
.office-event-dialog { width: min(720px, calc(100vw - 32px)); max-height: min(90dvh, 860px); padding: 0; border: 0; border-radius: 18px; background: #fff; color: var(--ink); box-shadow: 0 24px 70px #0b0f1740; }
.office-event-dialog::backdrop { background: #1723339c; }
.office-event-dialog-shell { display: flex; min-height: 0; max-height: min(90dvh, 860px); flex-direction: column; }
.office-event-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 26px 28px 18px; border-bottom: 1px solid var(--line); }
.office-event-dialog-head h2 { font-size: clamp(27px, 4vw, 38px); }
.office-event-dialog-head p:not(.eyebrow) { margin: 8px 0 0; color: var(--muted); }
.office-event-dialog-close { display: grid; flex: 0 0 44px; width: 44px; height: 44px; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--ink); font-size: 25px; cursor: pointer; }
.office-event-dialog-body { padding: 24px 28px; overflow-y: auto; }
.office-event-dialog-body.form-grid { margin-top: 0; }
.office-event-mode { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 0; border: 0; }
.office-event-mode legend { margin-bottom: 8px; font-size: 13px; font-weight: 700; }
.office-event-mode label { display: flex; min-height: 64px; align-items: flex-start; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
.office-event-mode input { width: 20px; margin: 2px 0 0; }
.office-event-mode span { display: grid; gap: 2px; }
.office-event-mode small { color: var(--muted); font-weight: 400; }
.office-event-summary { padding: 13px 15px; border-left: 4px solid var(--blue); background: #eef3f7; overflow-wrap: anywhere; }
.office-event-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 17px 28px 24px; border-top: 1px solid var(--line); background: #fff; }
.office-event-dialog button:focus-visible,
.office-event-dialog input:focus-visible,
.office-event-dialog select:focus-visible,
.office-event-dialog textarea:focus-visible { outline: 3px solid #91a8c0; outline-offset: 2px; }
.office-event-documentation-dialog textarea { width: 100%; min-height: 16rem; resize: vertical; }

@media (max-width: 1080px) {
  .office-work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .settings-module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  body[data-portal-audience="office"] .layout { display: block; }
  body[data-portal-audience="office"] .sidebar { min-height: 100dvh; padding: 15px 14px 28px; }
  body[data-portal-audience="office"] .office-settings-navigation { margin-top: 18px; padding-top: 16px; }
  body[data-portal-audience="office"] .content { padding: 24px 16px 52px; }
  .office-work-grid,
  .settings-module-grid { grid-template-columns: 1fr; }
  .office-work-card { min-height: 82px; }
  .settings-module-card { min-height: 142px; }
  .matter-dashboard-facts { grid-template-columns: 1fr; }
  .matter-tool-navigation { display: grid; grid-template-columns: 1fr; }
  .matter-tool-navigation button { width: 100%; min-height: 48px; text-align: left; }
  .office-calendar-head { align-items: flex-start; flex-direction: column; }
  .office-calendar-actions { width: 100%; flex-wrap: wrap; }
  .office-calendar-actions strong { flex: 1; min-width: 120px; }
  .office-calendar-weekdays { display: none; }
  .office-calendar-grid { display: flex; gap: 8px; margin-inline: -4px; padding: 4px; overflow-x: auto; scroll-snap-type: x proximity; }
  .office-calendar-spacer { display: none; }
  .office-calendar-day { flex: 0 0 68px; min-width: 68px; min-height: 64px; scroll-snap-align: start; }
  .office-agenda-filters { display: grid; grid-template-columns: 1fr; }
  .office-agenda-filter { width: 100%; border-radius: 10px; text-align: left; }
  .managed-booking-details summary { width: 100%; }
  .matter-room-label { margin-bottom: 14px; }
  .office-event-dialog { width: 100vw; max-width: none; height: 100dvh; max-height: 100dvh; border-radius: 0; }
  .office-event-dialog-shell { height: 100dvh; max-height: 100dvh; }
  .office-event-dialog-head { padding: 20px 17px 15px; }
  .office-event-dialog-body { padding: 19px 17px; }
  .office-event-mode { grid-template-columns: 1fr; }
  .office-event-dialog-actions { flex-wrap: wrap; padding: 14px 17px 18px; }
  .office-event-dialog-actions .button { width: 100%; min-height: 48px; }
}

@media (max-width: 360px) {
  .topbar { gap: 6px; padding-inline: 8px; }
  .brand {
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    overflow: hidden;
    font-size: 0;
  }
  .brand::after { content: "SL"; font-size: 16px; letter-spacing: -.04em; }
  .portal-menu-button { flex: 0 0 44px; width: 44px; margin-left: auto; padding: 0; font-size: 11px; }
  .topbar > #account-button {
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    width: 44px;
    max-width: 44px;
    padding: 0;
    overflow: hidden;
    font-size: 0;
  }
  .topbar > #account-button::after { content: "Konto"; font-size: 9px; letter-spacing: .01em; }
}
