/* Pactuno Material 3 presentation layer.
   Loaded last on every Pactuno page (marketing, portal, admin, blog, tools).
   Colors: Material 3 color roles generated around the Pactuno indigo-violet seed.
   Tenant palettes (body[data-theme-palette]) keep their own colors; shape, type and motion still apply. */

:root{
 color-scheme:light;
 --md-primary:#4f46c8;--md-on-primary:#fff;--md-primary-container:#e3dfff;--md-on-primary-container:#140a66;
 --md-secondary:#5d5c72;--md-on-secondary:#fff;--md-secondary-container:#e2e0f9;--md-on-secondary-container:#1a1a2c;
 --md-tertiary:#7c5264;--md-on-tertiary:#fff;--md-tertiary-container:#ffd8e7;--md-on-tertiary-container:#30111f;
 --md-error:#ba1a1a;--md-on-error:#fff;--md-error-container:#ffdad6;--md-on-error-container:#410002;
 --md-success:#1f6c43;--md-success-container:#a8f5c3;--md-on-success-container:#00210f;
 --md-surface:#fcf8ff;--md-surface-dim:#dcd8e0;--md-surface-bright:#fcf8ff;
 --md-surface-container-lowest:#fff;--md-surface-container-low:#f6f2fa;--md-surface-container:#f0ecf4;
 --md-surface-container-high:#eae6ee;--md-surface-container-highest:#e5e1e9;
 --md-on-surface:#1c1b21;--md-on-surface-variant:#47464f;--md-outline:#78767f;--md-outline-variant:#c8c5d0;
 --md-inverse-surface:#313036;--md-inverse-on-surface:#f3eff7;--md-inverse-primary:#c4c0ff;
 --md-scrim:rgba(0,0,0,.32);--md-shadow:0 0 0;
 /* Shape */
 --md-shape-xs:4px;--md-shape-sm:8px;--md-shape-md:12px;--md-shape-lg:16px;--md-shape-xl:28px;--md-shape-full:999px;
 /* Elevation */
 --md-elev-1:0 1px 2px rgba(var(--md-shadow),.18),0 1px 3px 1px rgba(var(--md-shadow),.08);
 --md-elev-2:0 1px 2px rgba(var(--md-shadow),.18),0 2px 6px 2px rgba(var(--md-shadow),.09);
 --md-elev-3:0 4px 8px 3px rgba(var(--md-shadow),.1),0 1px 3px rgba(var(--md-shadow),.18);
 /* Motion (Material 3 easing + duration tokens) */
 --md-ease-standard:cubic-bezier(.2,0,0,1);--md-ease-decel:cubic-bezier(.05,.7,.1,1);--md-ease-accel:cubic-bezier(.3,0,.8,.15);
 --md-ease-spring:cubic-bezier(.34,1.36,.64,1);
 --md-dur-short:150ms;--md-dur-medium:250ms;--md-dur-long:400ms;
 /* Type */
 --md-font:"Roboto Flex",Roboto,"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
 --md-font-display:"Roboto Flex",Roboto,"Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,sans-serif;
}
:root[data-theme="dark"]{
 color-scheme:dark;
 --md-primary:#c4c0ff;--md-on-primary:#26178f;--md-primary-container:#3d30af;--md-on-primary-container:#e3dfff;
 --md-secondary:#c6c4dd;--md-on-secondary:#2f2f42;--md-secondary-container:#45455a;--md-on-secondary-container:#e2e0f9;
 --md-tertiary:#edb8cd;--md-on-tertiary:#482535;--md-tertiary-container:#62394c;--md-on-tertiary-container:#ffd8e7;
 --md-error:#ffb4ab;--md-on-error:#690005;--md-error-container:#93000a;--md-on-error-container:#ffdad6;
 --md-success:#8cd8a8;--md-success-container:#00522f;--md-on-success-container:#a8f5c3;
 --md-surface:#131318;--md-surface-dim:#131318;--md-surface-bright:#39383f;
 --md-surface-container-lowest:#0e0e13;--md-surface-container-low:#1c1b21;--md-surface-container:#201f25;
 --md-surface-container-high:#2a292f;--md-surface-container-highest:#35343a;
 --md-on-surface:#e5e1e9;--md-on-surface-variant:#c8c5d0;--md-outline:#928f99;--md-outline-variant:#47464f;
 --md-inverse-surface:#e5e1e9;--md-inverse-on-surface:#313036;--md-inverse-primary:#4f46c8;
 --md-scrim:rgba(0,0,0,.5);
}

/* Map the existing Pactuno variables onto Material roles (only when no tenant palette is active). */
:root:not(:has(body[data-theme-palette])),:root:not(:has(body[data-theme-palette])) body{
 --ink:var(--md-on-surface);--muted:var(--md-on-surface-variant);--line:var(--md-outline-variant);
 --accent:var(--md-primary);--accent2:var(--md-primary);--violet:var(--md-primary);--button:var(--md-primary);
 --bg:var(--md-surface);--canvas:var(--md-surface);--white:var(--md-surface-container-lowest);
 --surface:var(--md-surface-container-lowest);--card:var(--md-surface-container-lowest);--panel:var(--md-surface-container-lowest);
 --soft:var(--md-secondary-container);--lavender:var(--md-secondary-container);--nav-bg:var(--md-surface-container-low);
 --ui-radius:var(--md-shape-lg);
}
:root[data-theme="dark"]:not(:has(body[data-theme-palette])),:root[data-theme="dark"]:not(:has(body[data-theme-palette])) body{
 --surface:var(--md-surface-container-low);--card:var(--md-surface-container-low);--panel:var(--md-surface-container-low);--white:var(--md-surface-container-low);
}

/* ---------- Base ---------- */
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{font-family:var(--md-font);letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body:not([data-theme-palette]){background:var(--md-surface);color:var(--md-on-surface)}
h1,h2,h3,.pagehead h1{font-family:var(--md-font-display);letter-spacing:-.01em}
::selection{background:var(--md-primary-container);color:var(--md-on-primary-container)}
:focus-visible{outline:3px solid var(--md-primary);outline-offset:2px;border-radius:var(--md-shape-xs)}
a{transition:color var(--md-dur-short) var(--md-ease-standard)}
*{scrollbar-width:thin;scrollbar-color:var(--md-outline-variant) transparent}
html,body,.app,.main,.side,.top,.card,.panel,.modalbox{transition:background-color var(--md-dur-medium) var(--md-ease-standard),color var(--md-dur-medium) var(--md-ease-standard),border-color var(--md-dur-medium) var(--md-ease-standard)}

/* ---------- Buttons (filled / tonal / outlined / text) ---------- */
:is(.btn,.button,button.primary,a.primary.button){
 position:relative;isolation:isolate;
 min-height:40px;padding:10px 24px;border-radius:var(--md-shape-full)!important;
 font:500 14px/20px var(--md-font);letter-spacing:.1px;
 display:inline-flex;align-items:center;justify-content:center;gap:8px;
 transition:transform var(--md-dur-short) var(--md-ease-standard),box-shadow var(--md-dur-medium) var(--md-ease-standard),background-color var(--md-dur-medium) var(--md-ease-standard),color var(--md-dur-short) var(--md-ease-standard),border-color var(--md-dur-short) var(--md-ease-standard);
 -webkit-tap-highlight-color:transparent;cursor:pointer;user-select:none;
}
body:not([data-theme-palette]) :is(.btn,.button):not(.primary):not(.danger):not(.secondary){
 background:transparent;color:var(--md-primary);border:1px solid var(--md-outline);box-shadow:none;
}
body:not([data-theme-palette]) :is(.btn.primary,.button.primary,body.platinum-ui .btn.primary){
 background:var(--md-primary);color:var(--md-on-primary);border:1px solid transparent;box-shadow:none;
}
body:not([data-theme-palette]) :is(.btn.secondary,.button.secondary){
 background:var(--md-secondary-container);color:var(--md-on-secondary-container);border:1px solid transparent;
}
body:not([data-theme-palette]) .btn.danger{background:var(--md-error);color:var(--md-on-error);border:1px solid transparent}
/* Primary form submits that are not .btn (sign-in, sign-up, MFA, contact) become filled buttons. */
:is(#submit,form button[type=submit]:not(.btn):not(.button):not([class*=close]):not([class*=icon])){
 border-radius:var(--md-shape-full)!important;min-height:48px;font:500 15px/20px var(--md-font);letter-spacing:.1px;
 position:relative;isolation:isolate;
 transition:transform var(--md-dur-short) var(--md-ease-standard),box-shadow var(--md-dur-medium) var(--md-ease-standard),background-color var(--md-dur-medium) var(--md-ease-standard)
}
body:not([data-theme-palette]) :is(#submit,form button[type=submit]:not(.btn):not(.button):not([class*=close]):not([class*=icon])){background:var(--md-primary)!important;color:var(--md-on-primary)!important;border:none!important}
:is(#submit,form button[type=submit]:not(.btn):not(.button)):hover:not(:disabled){box-shadow:var(--md-elev-1)}
:is(#submit,form button[type=submit]:not(.btn):not(.button)):active:not(:disabled){transform:scale(.98)}
:is(#submit,form button[type=submit]:not(.btn):not(.button)):disabled{opacity:.38}
/* State layer: hover 8%, focus/press 10-12% of the content color. */
:is(.btn,.button)::before{
 content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:currentColor;opacity:0;
 transition:opacity var(--md-dur-short) var(--md-ease-standard);pointer-events:none;
}
:is(.btn,.button):hover::before{opacity:.08}
:is(.btn,.button):focus-visible::before{opacity:.1}
:is(.btn,.button):active::before{opacity:.12}
:is(.btn.primary,.button.primary):hover{box-shadow:var(--md-elev-1)}
:is(.btn,.button):active{transform:scale(.97)}
:is(.btn,.button)[disabled],:is(.btn,.button)[aria-disabled="true"]{opacity:.38;pointer-events:none;box-shadow:none}
/* Tab rows and segmented controls use rounded squares, never circles. */
:is([role=tablist]>*,[role=tab],.tabs>*,.tab,.segmented>*,.tools-tabs>*,.pactuno-plan-tab,label.pactuno-plan-tab){border-radius:var(--md-shape-md)!important}
/* Ripple (spawned by m3.js) */
.md-ripple-host{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;z-index:0}
.md-ripple{position:absolute;border-radius:50%;pointer-events:none;background:currentColor;opacity:.16;transform:scale(0);animation:md-ripple var(--md-dur-long) var(--md-ease-decel) forwards;z-index:-1}
@keyframes md-ripple{to{transform:scale(1);opacity:0}}

/* Icon buttons in headers */
:is(.appearance-toggle,.pactuno-notification-button,.pactuno-user-button,.icon-btn){
 border-radius:var(--md-shape-full)!important;transition:background-color var(--md-dur-short) var(--md-ease-standard),transform var(--md-dur-short) var(--md-ease-standard)
}
:is(.appearance-toggle,.pactuno-notification-button,.icon-btn):hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent)}
:is(.appearance-toggle,.pactuno-notification-button,.icon-btn):active{transform:scale(.92)}

/* ---------- Text fields (outlined) ---------- */
:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=submit]):not([type=button]):not([type=hidden]),select,textarea){
 font:400 16px/24px var(--md-font);min-height:48px;padding:12px 16px;border-radius:var(--md-shape-xs)!important;
 transition:border-color var(--md-dur-short) var(--md-ease-standard),box-shadow var(--md-dur-short) var(--md-ease-standard),background-color var(--md-dur-medium) var(--md-ease-standard);
}
textarea{min-height:96px;resize:vertical}
body:not([data-theme-palette]) :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=submit]):not([type=button]):not([type=hidden]),select,textarea){
 background:var(--md-surface-container-lowest);color:var(--md-on-surface);border:1px solid var(--md-outline)!important;
}
:root[data-theme="dark"] body:not([data-theme-palette]) :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=submit]):not([type=button]):not([type=hidden]),select,textarea){background:var(--md-surface-container-low)}
body:not([data-theme-palette]) :is(input,select,textarea):hover:not(:focus):not([disabled]){border-color:var(--md-on-surface)!important}
body:not([data-theme-palette]) :is(input,select,textarea):focus{outline:none;border-color:var(--md-primary)!important;box-shadow:inset 0 0 0 1px var(--md-primary)}
body:not([data-theme-palette]) :is(input,select,textarea):user-invalid{border-color:var(--md-error)!important;box-shadow:inset 0 0 0 1px var(--md-error)}
:is(input,textarea)::placeholder{color:var(--md-on-surface-variant);opacity:.8}
:is(input,select,textarea)[disabled]{opacity:.38}
label{font:500 14px/20px var(--md-font);letter-spacing:.1px}
input[type=checkbox],input[type=radio]{accent-color:var(--md-primary);width:18px;height:18px}
input[type=range]{accent-color:var(--md-primary)}

/* ---------- Search bars (M3 search: full-rounded, container-high, leading icon) ---------- */
:where(input[type=search],#dashboardSearch,input[placeholder^="Search" i],input[aria-label^="Search" i],.search input,.tools-search input){
 border-radius:var(--md-shape-full)!important;min-height:48px;padding-left:48px!important;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2347464f'%3E%3Cpath d='M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E")!important;
 background-repeat:no-repeat!important;background-position:16px center!important;background-size:22px!important;
}
body:not([data-theme-palette]) :where(input[type=search],#dashboardSearch,input[placeholder^="Search" i],input[aria-label^="Search" i],.search input,.tools-search input){
 background-color:var(--md-surface-container-high)!important;border-color:transparent!important;
}
:root[data-theme="dark"] :where(input[type=search],#dashboardSearch,input[placeholder^="Search" i],input[aria-label^="Search" i],.search input,.tools-search input){
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c8c5d0'%3E%3Cpath d='M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E")!important;
}
body:not([data-theme-palette]) :is(input[type=search],#dashboardSearch,input[placeholder^="Search" i],input[aria-label^="Search" i]):focus{background-color:var(--md-surface-container-highest)!important;box-shadow:var(--md-elev-1)!important}

/* ---------- Cards / panels / surfaces ---------- */
:is(.card,.panel,.surface,.project-card,.notice,.integration-card,.ops-card,.analytics-card,.space-card,.pactuno-plan-card){
 border-radius:var(--md-shape-lg)!important;
 transition:box-shadow var(--md-dur-medium) var(--md-ease-standard),transform var(--md-dur-medium) var(--md-ease-standard),background-color var(--md-dur-medium) var(--md-ease-standard),border-color var(--md-dur-medium) var(--md-ease-standard);
}
body:not([data-theme-palette]) :is(.card,.panel,.surface,.project-card,.notice,.integration-card,.ops-card,.analytics-card,.space-card){
 background:var(--md-surface-container-lowest);border:1px solid var(--md-outline-variant);box-shadow:none;
}
:root[data-theme="dark"] body:not([data-theme-palette]) :is(.card,.panel,.surface,.project-card,.notice,.integration-card,.ops-card,.analytics-card,.space-card){background:var(--md-surface-container-low)}
:is(.card.clickable,.project-card,a.card,.integration-card,.listrow.clickable):hover{box-shadow:var(--md-elev-2);transform:translateY(-2px)}
:is(.card.clickable,.project-card,a.card):active{transform:translateY(0) scale(.99)}
.panel-head h2,.section-head h2{font:500 22px/28px var(--md-font-display)}
.eyebrow{font:500 12px/16px var(--md-font);letter-spacing:.5px;text-transform:uppercase}
:is(.stat-value,.report-stat strong,.metric strong){font-family:var(--md-font-display);font-variant-numeric:tabular-nums}

/* List rows */
.listrow{border-radius:var(--md-shape-md);transition:background-color var(--md-dur-short) var(--md-ease-standard)}
body:not([data-theme-palette]) .listrow:hover{background:color-mix(in srgb,var(--md-on-surface) 5%,transparent)}

/* Chips / pills */
:is(.pill,.sample-chip,.chip){border-radius:var(--md-shape-sm)!important;font:500 12px/16px var(--md-font);letter-spacing:.3px;min-height:28px;display:inline-flex;align-items:center;padding:4px 12px}
body:not([data-theme-palette]) :is(.pill,.chip){background:var(--md-secondary-container);color:var(--md-on-secondary-container);border:none}
.pactuno-plan-badge{border-radius:var(--md-shape-sm)!important}

/* Tables */
table{border-collapse:separate;border-spacing:0}
body:not([data-theme-palette]) :is(table th){color:var(--md-on-surface-variant);font:500 12px/16px var(--md-font);letter-spacing:.5px}
body:not([data-theme-palette]) :is(table td,table th){border-color:var(--md-outline-variant)}
body:not([data-theme-palette]) table tbody tr{transition:background-color var(--md-dur-short) var(--md-ease-standard)}
body:not([data-theme-palette]) table tbody tr:hover{background:color-mix(in srgb,var(--md-on-surface) 4%,transparent)}

/* ---------- Navigation rail / drawer ---------- */
body:not([data-theme-palette]) .side{background:var(--md-surface-container-low);border-right:none}
.side .nav a,.pactuno-mobile-drawer a{
 border-radius:var(--md-shape-lg)!important;min-height:48px;display:flex;align-items:center;gap:12px;padding:0 16px;
 font:500 14px/20px var(--md-font);letter-spacing:.1px;position:relative;
 transition:background-color var(--md-dur-medium) var(--md-ease-standard),color var(--md-dur-short) var(--md-ease-standard);
}
body:not([data-theme-palette]) .side .nav a,body:not([data-theme-palette]) .pactuno-mobile-drawer a{color:var(--md-on-surface-variant);background:transparent}
body:not([data-theme-palette]) .side .nav a:hover,body:not([data-theme-palette]) .pactuno-mobile-drawer a:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent);color:var(--md-on-surface)}
body:not([data-theme-palette]) .side .nav a.active,body:not([data-theme-palette]) .pactuno-mobile-drawer a.active{background:var(--md-secondary-container);color:var(--md-on-secondary-container);font-weight:600}
/* Demo / single-page navs built from buttons */
nav>button[data-view]{border-radius:var(--md-shape-lg)!important;min-height:44px;position:relative;transition:background-color var(--md-dur-medium) var(--md-ease-standard),color var(--md-dur-short) var(--md-ease-standard)}
body:not([data-theme-palette]) nav>button[data-view]:not(.active):hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent)}
body:not([data-theme-palette]) nav>button[data-view].active{background:var(--md-secondary-container)!important;color:var(--md-on-secondary-container)!important;box-shadow:none!important}
body:not([data-theme-palette]) .top{background:color-mix(in srgb,var(--md-surface) 86%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--md-outline-variant)}

/* Material Symbols (Apache-2.0) as nav icon masks */
:where(.nav,.pactuno-mobile-drawer) a[data-view]::before{
 width:24px!important;height:24px!important;flex:0 0 24px;background:currentColor!important;
 -webkit-mask:var(--md-icon) center/24px 24px no-repeat!important;mask:var(--md-icon) center/24px 24px no-repeat!important;
 transition:transform var(--md-dur-medium) var(--md-ease-spring)
}
:where(.nav,.pactuno-mobile-drawer) a[data-view]:hover::before{transform:scale(1.08)}
:where(.nav,.pactuno-mobile-drawer) a[data-view]{--md-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z'/%3E%3C/svg%3E")}
:where(.nav,.pactuno-mobile-drawer) a:is([data-view="overview"],[data-view="admin"],[data-view="company-admin"]){--md-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z'/%3E%3C/svg%3E")}
:where(.nav,.pactuno-mobile-drawer) a:is([data-view="crm"],[data-view="crm-accounts"],[data-view="admin-customers"]){--md-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 7V3H2v18h20V7H12zM6 19H4v-2h2v2zm0-4H4v-2h2v2zm0-4H4V9h2v2zm0-4H4V5h2v2zm4 12H8v-2h2v2zm0-4H8v-2h2v2zm0-4H8V9h2v2zm0-4H8V5h2v2zm10 12h-8v-2h2v-2h-2v-2h2v-2h-2V9h8v10zm-2-8h-2v2h2v-2zm0 4h-2v2h2v-2z'/%3E%3C/svg%3E")}
:where(.nav,.pactuno-mobile-drawer) a[data-view="crm-pipeline"]{--md-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h4v14H4zM10 5h4v9h-4zM16 5h4v12h-4z'/%3E%3C/svg%3E")}
:where(.nav,.pactuno-mobile-drawer) a:is([data-view="projects"],[data-view="workspaces"]){--md-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z'/%3E%3C/svg%3E")}
:where(.nav,.pactuno-mobile-drawer) a:is([data-view="space"],[data-view="spaces"],[data-view="support"],[data-view="admin-support"]){--md-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 9h12v2H6V9zm8 5H6v-2h8v2zm4-6H6V6h12v2z'/%3E%3C/svg%3E")}
:where(.nav,.pactuno-mobile-drawer) a:is([data-view="team"],[data-view="admin-team"]){--md-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'/%3E%3C/svg%3E")}
:where(.nav,.pactuno-mobile-drawer) a:is([data-view="calendar"],[data-view="timeline"]){--md-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z'/%3E%3C/svg%3E")}
:where(.nav,.pactuno-mobile-drawer) a:is([data-view="documents"],[data-view="governance"],[data-view="admin-blog"]){--md-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z'/%3E%3C/svg%3E")}
:where(.nav,.pactuno-mobile-drawer) a:is([data-view="analytics"],[data-view="reports"]){--md-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 9.2h3V19H5zM10.6 5h2.8v14h-2.8zm5.6 8H19v6h-2.8z'/%3E%3C/svg%3E")}
:where(.nav,.pactuno-mobile-drawer) a:is([data-view="security"],[data-view="admin-security"],[data-view="admin-audit"]){--md-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1 3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm-2 16-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9l-8 8z'/%3E%3C/svg%3E")}
:where(.nav,.pactuno-mobile-drawer) a:is([data-view="payments"],[data-view="admin-payments"]){--md-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z'/%3E%3C/svg%3E")}
:where(.nav,.pactuno-mobile-drawer) a:is([data-view="settings"],[data-view="operations"]){--md-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58a.49.49 0 0 0 .12-.61l-1.92-3.32a.49.49 0 0 0-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54a.48.48 0 0 0-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96a.49.49 0 0 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58a.49.49 0 0 0-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z'/%3E%3C/svg%3E")}
:where(.nav,.pactuno-mobile-drawer) a[data-view="mywork"]{--md-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 3h-4.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-2 14-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9l-8 8z'/%3E%3C/svg%3E")}
:where(.nav,.pactuno-mobile-drawer) a[data-view="admin-demos"]{--md-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E")}

/* ---------- Dialogs, menus, toasts ---------- */
:is(.modalbox,.pactuno-confirm,.crm-dialog,dialog){border-radius:var(--md-shape-xl)!important;box-shadow:var(--md-elev-3)!important}
body:not([data-theme-palette]) :is(.modalbox,.pactuno-confirm,.crm-dialog,dialog){background:var(--md-surface-container-high);color:var(--md-on-surface);border:none}
:is(.modal,dialog)::backdrop{background:var(--md-scrim)}
.modal{background:var(--md-scrim)}
:is(.modal:not([hidden]) .modalbox,dialog[open]){animation:md-dialog-in var(--md-dur-long) var(--md-ease-decel)}
@keyframes md-dialog-in{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
:is(.pactuno-notification-panel,.pactuno-user-menu,.pactuno-header-user-menu [role=menu],.md-menu){border-radius:var(--md-shape-sm)!important;box-shadow:var(--md-elev-2)!important}
body:not([data-theme-palette]) :is(.pactuno-notification-panel,.pactuno-user-menu,.md-menu){background:var(--md-surface-container)!important;color:var(--md-on-surface)}
:is(.pactuno-notification-panel,.pactuno-user-menu):not([hidden]){animation:md-menu-in var(--md-dur-medium) var(--md-ease-decel);transform-origin:top right}
@keyframes md-menu-in{from{opacity:0;transform:scaleY(.85) translateY(-6px)}to{opacity:1;transform:none}}
.toast{border-radius:var(--md-shape-xs)!important;background:var(--md-inverse-surface)!important;color:var(--md-inverse-on-surface)!important;box-shadow:var(--md-elev-3);font:400 14px/20px var(--md-font);animation:md-toast-in var(--md-dur-medium) var(--md-ease-decel)}
@keyframes md-toast-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* ---------- Page motion ---------- */
.md-enter{animation:md-fade-up var(--md-dur-long) var(--md-ease-decel) both}
@keyframes md-fade-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.md-reveal{opacity:0;transform:translateY(20px);transition:opacity 600ms var(--md-ease-decel),transform 600ms var(--md-ease-decel)}
.md-reveal.md-in{opacity:1;transform:none}
@view-transition{navigation:auto}
::view-transition-old(root){animation:md-vt-out 180ms var(--md-ease-accel) both}
::view-transition-new(root){animation:md-vt-in 280ms var(--md-ease-decel) both}
@keyframes md-vt-out{to{opacity:0}}
@keyframes md-vt-in{from{opacity:0;transform:translateY(8px)}}
/* Loading placeholders get a calm shimmer instead of static text */
.empty:is(:empty),.md-skeleton{position:relative;overflow:hidden}
.md-skeleton::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--md-on-surface) 6%,transparent),transparent);animation:md-shimmer 1.4s linear infinite}
@keyframes md-shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}

/* Linear progress for pending fetches (m3.js toggles html.md-busy) */
.md-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:2147483000;pointer-events:none;opacity:0;transition:opacity var(--md-dur-medium) var(--md-ease-standard);overflow:hidden}
html.md-busy .md-progress{opacity:1}
.md-progress::before{content:"";position:absolute;top:0;bottom:0;width:40%;left:-40%;background:var(--md-primary);border-radius:3px;animation:md-indeterminate 1.2s var(--md-ease-standard) infinite}
@keyframes md-indeterminate{to{left:100%}}

/* ---------- Theme menu (System / Light / Dark) ---------- */
.md-menu{position:fixed;z-index:2147483001;min-width:200px;padding:8px 0;margin:0;list-style:none;animation:md-menu-in var(--md-dur-medium) var(--md-ease-decel);transform-origin:top right}
.md-menu button{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:0 16px;font:400 14px/20px var(--md-font);color:var(--md-on-surface);cursor:pointer;position:relative}
.md-menu button:hover,.md-menu button:focus-visible{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent)}
.md-menu button[aria-checked="true"]{color:var(--md-primary);font-weight:600}
.md-menu svg{width:20px;height:20px;fill:currentColor;flex:0 0 20px}
.md-menu .md-menu-label{padding:8px 16px 4px;font:500 12px/16px var(--md-font);letter-spacing:.5px;color:var(--md-on-surface-variant);text-transform:uppercase}

@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}
 .md-reveal{opacity:1;transform:none}
 .md-ripple{display:none}
}
@media (max-width:720px){
 :is(.btn,.button){min-height:44px;padding:10px 16px;line-height:18px}
 :is(.modalbox,.pactuno-confirm,.crm-dialog){border-radius:var(--md-shape-xl) var(--md-shape-xl) 0 0!important}
}
