/* ==========================================================================
   QUATRON PLATFORM — DESIGN SYSTEM LAYER
   One coherent visual language over the shell. Loaded last. Tokens-only:
   consumes Theme Engine variables + color-mix; adds NO hardcoded brand color.
   Sections: scale · header · workspace · daily · cards · dock · popovers ·
   forms · components · a11y · rtl · responsive · print.
   Architecture, data, authz, product boundaries: untouched.
   ========================================================================== */

/* --- 0. Derived scale (aliases over official tokens; safe fallbacks) ------- */
:root{
  --ease:cubic-bezier(.22,.9,.32,1);
  --dur-fast:calc(var(--motion,.24s) * .66);
  --dur:var(--motion,.24s);
  --elev-1:0 1px 2px color-mix(in srgb,var(--qtr-shadow-color,rgba(20,42,70,.14)) 60%,transparent);
  --elev-2:0 8px 24px color-mix(in srgb,var(--qtr-shadow-color,rgba(20,42,70,.14)) 55%,transparent);
  --elev-3:0 20px 56px color-mix(in srgb,var(--qtr-shadow-color,rgba(20,42,70,.14)) 65%,transparent);
  --ring:0 0 0 2px color-mix(in srgb,var(--accent) 45%,transparent);
  --hairline:color-mix(in srgb,var(--shell-line,var(--glass-border)) 90%,transparent);
}

/* --- 1. Typography scale bridge (Typography control governs the shell) ----- */
.qtr-hero-card h1{font-size:clamp(28px,2vw + 20px,var(--aq-font-size-hero,42px));line-height:1.06;letter-spacing:-.015em;font-weight:850}
.qtr-hero-card p,.qtr-side-card p{font-size:var(--aq-font-size-md,16px);line-height:1.7}
.qtr-side-card h2,.qtr-daily-brief h2{font-size:var(--aq-font-size-lg,20px);font-weight:820;letter-spacing:-.006em;margin:0}
.qtr-section-title{font-size:var(--aq-font-size-lg,20px);font-weight:820;letter-spacing:-.006em}
.qtr-placeholder h1{font-size:var(--aq-font-size-2xl,36px);letter-spacing:-.012em;font-weight:850}
.qtr-product-card h3{font-size:calc(17px * var(--qtr-type-scale,1));font-weight:800;letter-spacing:-.004em}
.qtr-product-card p{font-size:calc(13px * var(--qtr-type-scale,1));line-height:1.55}
.qtr-brief-priority strong{font-size:var(--aq-font-size-md,16px)}
.qtr-chip{font-size:calc(12.5px * var(--qtr-type-scale,1));font-weight:700}
.qtr-brand b{font-size:calc(15px * var(--qtr-type-scale,1));font-weight:850;letter-spacing:-.01em}
.qtr-brand em{font-size:calc(11.5px * var(--qtr-type-scale,1))}

/* --- 2. GLOBAL HEADER ------------------------------------------------------ */
.qtr-header{
  gap:var(--qtr-space-3);
  padding-inline:var(--qtr-space-5);
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--shell-surface) 96%,transparent),
    color-mix(in srgb,var(--shell-surface) 88%,transparent));
  border-bottom:1px solid var(--hairline);
  box-shadow:var(--elev-1);
  position:sticky;top:0}
.qtr-brand{gap:12px;padding:4px 6px;border-radius:var(--radius-control);transition:background var(--dur) var(--ease)}
.qtr-brand:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.qtr-logo{box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 30%,transparent),inset 0 1px 0 rgba(255,255,255,.25)}
/* Unified ghost icon-button language */
.qtr-icon,.qtr-action,.qtr-user,.qtr-search{
  background:color-mix(in srgb,var(--shell-surface) 70%,transparent);
  border:1px solid var(--hairline);
  box-shadow:var(--elev-1);
  transition:transform var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}
.qtr-icon:hover,.qtr-action:hover,.qtr-user:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--accent) 8%,var(--shell-surface));border-color:var(--accent-border);box-shadow:var(--elev-2)}
.qtr-icon:active,.qtr-action:active,.qtr-user:active{transform:translateY(0)}
.qtr-icon svg,.qtr-action svg{width:18px;height:18px}
/* Quick action = primary accent button */
#qtr-quick{background:var(--primary-button-bg,linear-gradient(155deg,var(--accent),var(--accent-hover)));color:#fff;border-color:transparent;box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 32%,transparent)}
#qtr-quick svg{color:#fff}
#qtr-quick:hover{color:#fff;filter:brightness(1.04);box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 38%,transparent)}
/* Search field */
.qtr-search{gap:9px;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}
.qtr-search svg{color:var(--text-muted);width:17px;height:17px}
.qtr-search:focus-within{border-color:var(--accent-border);box-shadow:var(--ring);background:var(--shell-surface)}
.qtr-search input::placeholder{color:var(--text-muted)}
/* Profile chip: subtle leading divider + polished avatar */
.qtr-user{position:relative;gap:9px}
.qtr-user::before{content:"";position:absolute;inset-inline-start:calc(var(--qtr-space-2) * -1);inset-block:9px;width:1px;background:var(--hairline)}
.qtr-avatar{background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 24%,transparent),color-mix(in srgb,var(--accent) 10%,transparent));color:var(--accent-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}
.qtr-avatar .qtr-status-dot{width:9px;height:9px}
.qtr-user b{max-width:min(190px,16vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:750}
.qtr-badge{box-shadow:0 2px 6px color-mix(in srgb,var(--qtr-danger) 40%,transparent);border:1.5px solid var(--shell-surface)}
.qtr-brand b,.qtr-brand em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:190px}
/* Overflow menu polish */
.qtr-header-overflow{box-shadow:var(--elev-3);padding:8px;gap:6px;max-height:min(72vh,560px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.qtr-header-overflow::-webkit-scrollbar{width:8px}
.qtr-header-overflow::-webkit-scrollbar-thumb{background:var(--shell-line);border-radius:8px}
@media (max-width:900px){
  .qtr-header-overflow{max-height:calc(100dvh - var(--qtr-header-height) - 20px);width:min(400px,calc(100vw - 20px))}
}
.qtr-overflow-item{transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}
.qtr-overflow-item:hover{transform:translateY(-1px)}

/* --- 3. MAIN WORKSPACE ----------------------------------------------------- */
.qtr-home{padding:clamp(20px,3.2vw,52px)}
.qtr-dashboard{gap:clamp(14px,1.4vw,20px)}
/* Hero: accent wash + brand hairline + context pills */
.qtr-hero-card{position:relative;isolation:isolate;overflow:hidden;
  background:
    radial-gradient(120% 140% at 100% 0,color-mix(in srgb,var(--accent) 12%,transparent),transparent 55%),
    var(--surface-secondary);
  box-shadow:var(--elev-1)}
.qtr-hero-card::before{content:"";position:absolute;inset-block-start:0;inset-inline:0;height:3px;
  background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 25%,transparent));pointer-events:none}
.qtr-hero-card h1{margin:0 0 6px}
.qtr-chips{gap:8px;margin-top:20px}
.qtr-chip{min-height:34px;padding:6px 13px;background:color-mix(in srgb,var(--shell-surface) 80%,transparent);border-color:var(--hairline);color:var(--text-secondary);box-shadow:var(--elev-1);transition:transform var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.qtr-chip svg{width:15px;height:15px;color:var(--accent-text)}
.qtr-chip:hover{transform:translateY(-1px);border-color:var(--accent-border)}
/* Side cards / daily surfaces */
.qtr-side-card,.qtr-hero-card,.qtr-product-card{border-radius:var(--radius);border:1px solid var(--hairline)}
.qtr-side-card{background:var(--surface-secondary);box-shadow:var(--elev-1);display:flex;flex-direction:column;gap:14px}
.qtr-side-card>div:first-child p{color:var(--text-muted)}
/* Eyebrow label above section titles */
.qtr-section-title{position:relative;display:flex;align-items:center;gap:10px}
.qtr-section-title::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--hairline),transparent)}

/* --- 4. DAILY EXPERIENCE surfaces ------------------------------------------ */
.qtr-brief-priority{background:
    linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent),
    var(--shell-surface);
  border-color:color-mix(in srgb,var(--accent) 22%,var(--hairline));border-radius:var(--radius-control)}
.qtr-brief-priority small{color:var(--accent-text);font-weight:800;letter-spacing:.02em;text-transform:uppercase;font-size:.68rem}
.qtr-widget-action{min-height:40px;border-radius:var(--radius-control);border-color:var(--hairline);background:color-mix(in srgb,var(--accent) 8%,var(--surface-secondary));color:var(--accent-text);transition:transform var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}
.qtr-widget-action:hover{transform:translateY(-1px);box-shadow:var(--elev-1);background:color-mix(in srgb,var(--accent) 14%,var(--surface-secondary))}
.qtr-widget-action svg{width:17px;height:17px}
.qtr-signal{border-radius:var(--radius-control);border-color:var(--hairline);transition:border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}
.qtr-signal:hover{border-color:var(--accent-border)}
.qtr-signal>i,.qtr-journey>i{width:34px;height:34px;padding:8px;border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-text)}
.qtr-signal small,.qtr-journey small{font-weight:700;color:var(--text-muted);font-size:.72rem}
.qtr-signal strong,.qtr-journey strong{font-weight:750}
.qtr-journey:hover{background:var(--active-bg);color:var(--accent-text)}

/* --- 5. PRODUCT CARDS ------------------------------------------------------ */
.qtr-grid{gap:clamp(12px,1.2vw,16px)}
.qtr-product-card{position:relative;overflow:hidden;background:var(--surface-secondary);box-shadow:var(--elev-1);
  transition:transform var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}
.qtr-product-card:hover{transform:translateY(-3px);border-color:var(--accent-border);box-shadow:var(--elev-2)}
.qtr-product-card:active{transform:translateY(-1px)}
.qtr-product-card .icon{width:46px;height:46px;border-radius:14px;background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 20%,transparent),color-mix(in srgb,var(--accent) 8%,transparent));color:var(--accent-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent);transition:transform var(--dur-fast) var(--ease)}
.qtr-product-card:hover .icon{transform:scale(1.06)}
.qtr-product-card::after{content:"";position:absolute;inset-block-start:18px;inset-inline-end:18px;width:18px;height:18px;
  background:currentColor;opacity:0;color:var(--accent-text);
  -webkit-mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E");
  mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E");
  transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}
.qtr-product-card:hover::after{opacity:.8;transform:translate(2px,-2px)}
[dir="rtl"] .qtr-product-card::after{transform:scaleX(-1)}
[dir="rtl"] .qtr-product-card:hover::after{transform:translate(-2px,-2px) scaleX(-1)}

/* --- 6. ADAPTIVE DOCK ------------------------------------------------------ */
.qtr-dock{padding:10px 9px;box-shadow:var(--elev-2);gap:6px}
.qtr-dock button{min-height:46px;border-radius:13px;gap:12px;color:var(--text-muted);font-weight:750;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}
.qtr-dock button:hover{background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--text-primary)}
.qtr-dock button.active{background:var(--active-bg);color:var(--accent-text)}
.qtr-dock button.active::before{inset-block:12px;width:3px;border-radius:999px;background:var(--accent)}
.qtr-dock button svg{width:20px;height:20px}
.qtr-dock-pin{margin-top:2px;color:var(--text-muted)}

/* --- 7. POPOVERS / PANELS (search · notifications · quick · help · profile) - */
.qtr-popover{box-shadow:var(--elev-3);border-color:var(--hairline);border-radius:var(--radius)}
.qtr-popover-head{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 60%,transparent),transparent)}
.qtr-popover-head b{font-weight:820}
.qtr-action-grid button,.qtr-help-actions button,.qtr-profile-actions button,.qtr-overflow-item{transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}
.qtr-action-grid button:hover,.qtr-help-actions button:hover,.qtr-profile-actions button:hover{transform:translateY(-1px);border-color:var(--accent-border);background:var(--active-bg)}
.qtr-search-result-row.active,.qtr-notification.unread{background:var(--active-bg)}
.qtr-notification-icon{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-text)}
.qtr-profile-avatar{background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 22%,transparent),color-mix(in srgb,var(--accent) 8%,transparent));color:var(--accent-text)}
.qtr-profile-head b{font-weight:820}
.qtr-context-list dt{font-weight:700;font-size:.82rem}
.qtr-context-list dd{overflow-wrap:anywhere;font-weight:650}

/* --- 8. FORMS / LOGIN ------------------------------------------------------ */
.qtr-field input,.qtr-login-card input{transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}
.qtr-field input:focus,.qtr-login-card input:focus{border-color:var(--accent-border);box-shadow:var(--ring)}
.qtr-login-card{box-shadow:var(--elev-3)}
.qtr-login-card button[type=submit],.qtr-login-card>button{transition:filter var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}
.qtr-login-card button[type=submit]:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 14px 30px color-mix(in srgb,var(--accent) 30%,transparent)}

/* --- 9. COMPONENT PRIMITIVES ---------------------------------------------- */
.qtr-skeleton{position:relative;overflow:hidden;background:var(--surface-secondary);border:1px solid var(--hairline);border-radius:var(--radius-control);min-height:16px}
.qtr-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--text-muted) 16%,transparent),transparent);
  animation:qtr-shimmer 1.4s ease-in-out infinite}
.qtr-skeleton.line{height:13px;border-radius:999px}
.qtr-skeleton.block{min-height:120px;border-radius:var(--radius)}
@keyframes qtr-shimmer{100%{transform:translateX(100%)}}
.qtr-badge-soft{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:2px 10px;border-radius:999px;font-size:.72rem;font-weight:800;background:var(--accent-soft);color:var(--accent-text);border:1px solid var(--accent-border)}
.qtr-badge-soft[data-tone="success"]{background:var(--qtr-success-soft);color:var(--qtr-success);border-color:transparent}
.qtr-badge-soft[data-tone="warning"]{background:var(--qtr-warning-soft);color:var(--qtr-warning);border-color:transparent}
.qtr-badge-soft[data-tone="danger"]{background:var(--qtr-danger-soft);color:var(--qtr-danger);border-color:transparent}
.qtr-empty{display:grid;gap:10px;place-items:center;color:var(--text-muted)}
.qtr-empty svg{width:26px;height:26px;color:var(--text-muted);opacity:.66}
.qtr-placeholder p{max-width:48ch;margin-inline:auto}
.qtr-placeholder .qtr-logo{box-shadow:var(--elev-2)}

/* --- 10. ACCESSIBILITY ----------------------------------------------------- */
.qtr-icon:focus-visible,.qtr-action:focus-visible,.qtr-user:focus-visible,.qtr-brand:focus-visible,
.qtr-dock button:focus-visible,.qtr-product-card:focus-visible,.qtr-journey:focus-visible,
.qtr-widget-action:focus-visible,.qtr-overflow-item:focus-visible,.qtr-chip:focus-visible,
.qtr-search-result:focus-visible,.qtr-notification-read:focus-visible,
.qtr-action-grid button:focus-visible,.qtr-help-actions button:focus-visible,.qtr-profile-actions button:focus-visible{
  outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-control)}
@media (pointer:coarse){
  .qtr-icon,.qtr-action,.qtr-user{min-height:44px}
  .qtr-dock button{min-height:48px}
  .qtr-overflow-item,.qtr-action-grid button,.qtr-help-actions button,.qtr-profile-actions button{min-height:48px}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
}
@media (prefers-reduced-transparency: reduce){
  :root{--blur:0px!important}
  .qtr-header,.qtr-dock,.qtr-popover,.qtr-workspace-studio-drawer,.qtr-personalize-fab,
  .login-card,.qtr-surface,.qtr-header-overflow{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}
@media (prefers-contrast: more){
  :root{--glass-border:color-mix(in srgb,var(--text-primary) 42%,transparent)!important;
    --shell-line:color-mix(in srgb,var(--text-primary) 42%,transparent)!important;
    --hairline:color-mix(in srgb,var(--text-primary) 42%,transparent)!important;
    --text-muted:var(--text-secondary)!important}
  .qtr-action,.qtr-icon,.qtr-user,.qtr-search,.qtr-product-card,.qtr-side-card,.qtr-hero-card,.qtr-dock button{border-width:1.5px}
}
@media (forced-colors: active){
  .qtr-icon,.qtr-action,.qtr-user,.qtr-dock button,.qtr-product-card,.qtr-overflow-item,.qtr-chip{border:1px solid CanvasText}
  .qtr-dock button.active,.qtr-notification.unread,.qtr-search-result-row.active{outline:2px solid Highlight}
  #qtr-quick{border:1px solid CanvasText}
}

/* --- 11. RESPONSIVE refinements -------------------------------------------- */
@media (max-width:1080px){
  #qtr-quick{padding:0;width:var(--qtr-control-height)}
  #qtr-quick span{display:none}
}
@media (max-width:900px){
  .qtr-header{box-shadow:var(--elev-1)}
  .qtr-user::before{display:none}
  .qtr-dock{box-shadow:var(--elev-3)}
}
@media (max-width:560px){
  .qtr-home{padding:14px}
  .qtr-hero-card h1{font-size:clamp(24px,7vw,30px)}
  .qtr-chips{margin-top:14px}
}

/* --- 11b. Daily quote slot + Platform Administration ----------------------- */
.qtr-brief-quote{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--hairline);
  border-radius:var(--radius-control);background:color-mix(in srgb,var(--accent) 5%,var(--surface-secondary))}
.qtr-brief-quote small{color:var(--accent-text);font-weight:800;letter-spacing:.02em;
  text-transform:uppercase;font-size:.66rem}
.qtr-brief-quote em{font-style:normal;line-height:1.5;color:var(--text-primary);font-weight:600}

.qtr-admin{display:grid;gap:18px}
.qtr-admin-head h1{margin:0 0 4px;font-size:var(--aq-font-size-2xl,32px);letter-spacing:-.01em;font-weight:850}
.qtr-admin-head p{margin:0;color:var(--text-muted)}
.qtr-admin-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:6px;border:1px solid var(--hairline);
  border-radius:var(--radius);background:var(--surface-secondary);box-shadow:var(--elev-1)}
.qtr-admin-tab{min-height:40px;padding:0 14px;border:0;border-radius:var(--radius-control);
  background:transparent;color:var(--text-secondary);font-weight:750;cursor:pointer;
  transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}
.qtr-admin-tab:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--text-primary)}
.qtr-admin-tab.active{background:var(--accent);color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 28%,transparent)}
.qtr-admin-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.qtr-admin-body{border:1px solid var(--hairline);border-radius:var(--radius);
  background:var(--surface-secondary);box-shadow:var(--elev-1);padding:clamp(14px,2vw,22px);min-height:220px}
.qtr-admin-section-head{display:flex;align-items:center;gap:10px;margin:6px 0 12px}
.qtr-admin-section-head h2{margin:0;font-size:var(--aq-font-size-lg,20px);font-weight:820}
.qtr-admin-table-wrap{overflow-x:auto;border:1px solid var(--hairline);border-radius:var(--radius-control)}
.qtr-admin-table{width:100%;border-collapse:collapse;font-size:calc(13px * var(--qtr-type-scale,1))}
.qtr-admin-table th,.qtr-admin-table td{text-align:start;padding:10px 12px;border-bottom:1px solid var(--hairline);vertical-align:top}
.qtr-admin-table th{color:var(--text-muted);font-weight:800;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;background:color-mix(in srgb,var(--surface) 50%,transparent)}
.qtr-admin-table tbody tr:last-child td,.qtr-admin-table tr:last-child td{border-bottom:0}
.qtr-admin-table small{color:var(--text-muted)}
.qtr-admin-note{margin:14px 0 0;color:var(--text-muted);font-size:.82rem;line-height:1.6;max-width:70ch}
.qtr-admin-json{margin:0;padding:14px;border:1px solid var(--hairline);border-radius:var(--radius-control);
  background:var(--surface);overflow:auto;font-size:12.5px;line-height:1.6;color:var(--text-primary);max-height:360px}
.qtr-admin-skeleton{display:grid;gap:10px}
.qtr-admin-skeleton .qtr-skeleton{height:40px}
@media (max-width:560px){.qtr-admin-tabs{overflow-x:auto;flex-wrap:nowrap}}

/* --- 11c. Users Management module ----------------------------------------- */
.qtr-btn{min-height:40px;padding:0 16px;border-radius:var(--radius-control);border:1px solid var(--hairline);
  background:var(--surface-secondary);color:var(--text-primary);font-weight:750;cursor:pointer;display:inline-flex;
  align-items:center;gap:8px;transition:transform var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.qtr-btn:hover{transform:translateY(-1px);box-shadow:var(--elev-1)}
.qtr-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.qtr-btn.primary{background:var(--primary-button-bg,linear-gradient(155deg,var(--accent),var(--accent-hover)));color:#fff;border-color:transparent}
.qtr-btn.ghost{background:color-mix(in srgb,var(--surface-secondary) 70%,transparent)}
.qtr-btn.sm{min-height:30px;padding:0 10px;font-size:.8rem}
.qtr-btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.qtr-users{display:grid;gap:16px}
.qtr-users-actions{display:flex;gap:8px}
.qtr-users-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.qtr-users-search{flex:1 1 240px;min-width:200px}
.qtr-users-toolbar select{min-height:var(--qtr-control-height);border:1px solid var(--hairline);border-radius:var(--radius-control);
  background:var(--shell-surface);color:var(--text-primary);padding:0 12px}
.qtr-bulkbar{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--accent-border);
  border-radius:var(--radius-control);background:var(--active-bg);color:var(--accent-text);font-weight:750}
.qtr-users-table .qtr-col-check{width:40px;text-align:center}
.qtr-linklike{border:0;background:transparent;color:inherit;text-align:start;cursor:pointer;font:inherit;padding:0}
.qtr-linklike:hover b{color:var(--accent-text);text-decoration:underline}
.qtr-linklike:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
.qtr-users-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-muted);flex-wrap:wrap}
.qtr-pager-controls{display:flex;align-items:center;gap:10px}
.qtr-chip-x{border:0;background:transparent;color:inherit;cursor:pointer;font-weight:900;padding:0 2px;line-height:1}
.qtr-chip-x:hover{color:var(--qtr-danger)}

.qtr-modal-scrim{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;
  background:rgba(5,20,38,.42);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.qtr-modal{width:min(460px,100%);background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);
  box-shadow:var(--elev-3);padding:22px;display:grid;gap:12px;color:var(--text-primary);
  backdrop-filter:blur(var(--blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--blur)) saturate(180%)}
.qtr-modal h3{margin:0;font-size:var(--aq-font-size-lg,20px);font-weight:820}
.qtr-modal p{margin:0;color:var(--text-muted);line-height:1.6}
.qtr-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
.qtr-form-row{display:grid;gap:6px}
.qtr-form-row span{font-weight:750;font-size:.85rem}
.qtr-form-row input,.qtr-form-row select{min-height:42px;border:1px solid var(--hairline);border-radius:var(--radius-control);
  background:var(--surface-secondary);color:var(--text-primary);padding:0 12px}
.qtr-form-row input:focus,.qtr-form-row select:focus{border-color:var(--accent-border);box-shadow:var(--ring);outline:0}
.qtr-form-error{color:var(--qtr-danger);font-size:.82rem;min-height:16px}

.qtr-detail-scrim{justify-items:end;place-items:stretch;padding:0}
.qtr-detail{margin-inline-start:auto;width:min(480px,100%);height:100%;overflow-y:auto;background:var(--glass);
  border-inline-start:1px solid var(--glass-border);box-shadow:var(--elev-3);padding:0;
  backdrop-filter:blur(var(--blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--blur)) saturate(180%)}
.qtr-detail-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:18px 20px;border-bottom:1px solid var(--hairline);background:color-mix(in srgb,var(--surface) 88%,transparent)}
.qtr-detail-head h2{margin:0;font-size:var(--aq-font-size-lg,20px);font-weight:820}
.qtr-detail-head small{color:var(--text-muted)}
.qtr-detail-body{padding:18px 20px 28px;display:grid;gap:14px}
.qtr-detail-body h3{margin:14px 0 0;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);
  display:flex;align-items:center;gap:8px}
.qtr-detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;
  border:1px solid var(--hairline);border-radius:var(--radius-control);background:var(--surface-secondary)}
.qtr-detail-row span{color:var(--text-muted);font-weight:700}
.qtr-detail-row select{min-height:34px;border:1px solid var(--hairline);border-radius:8px;background:var(--shell-surface);color:var(--text-primary);padding:0 8px}
.qtr-detail-actions{display:flex;gap:8px;flex-wrap:wrap}
.qtr-detail .qtr-signal{justify-content:space-between}

.qtr-toast{position:fixed;inset-block-end:20px;inset-inline:0;margin-inline:auto;width:max-content;max-width:calc(100vw - 40px);
  z-index:95;padding:12px 18px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-border);
  box-shadow:var(--elev-3);color:var(--text-primary);font-weight:750;opacity:0;transform:translateY(10px);
  transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);
  backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur))}
.qtr-toast.show{opacity:1;transform:translateY(0)}
.qtr-toast.success{border-color:color-mix(in srgb,var(--qtr-success) 40%,transparent)}
.qtr-toast.danger{border-color:color-mix(in srgb,var(--qtr-danger) 45%,transparent)}
@media (max-width:640px){.qtr-detail{width:100%}.qtr-users-actions{flex:1 1 100%}}

/* --- 11d. Roles Management module ----------------------------------------- */
.qtr-roles{display:grid;gap:16px}
.qtr-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.qtr-stat{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--hairline);
  border-radius:var(--radius);background:var(--surface-secondary);box-shadow:var(--elev-1)}
.qtr-stat-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none;
  background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-text)}
.qtr-stat-ic svg{width:19px;height:19px}
.qtr-stat strong{display:block;font-size:1.35rem;font-weight:850;line-height:1}
.qtr-stat small{color:var(--text-muted);font-weight:700;font-size:.74rem}
.qtr-role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.qtr-role-card{text-align:start;display:grid;gap:12px;padding:16px;border:1px solid var(--hairline);
  border-radius:var(--radius);background:var(--surface-secondary);box-shadow:var(--elev-1);cursor:pointer;
  transition:transform var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}
.qtr-role-card:hover{transform:translateY(-3px);border-color:var(--accent-border);box-shadow:var(--elev-2)}
.qtr-role-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.qtr-role-card-head{display:flex;align-items:center;gap:11px}
.qtr-role-ic{width:42px;height:42px;border-radius:12px;flex:none;display:grid;place-items:center;
  background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 20%,transparent),color-mix(in srgb,var(--accent) 8%,transparent));color:var(--accent-text)}
.qtr-role-name b{display:block;font-weight:820;letter-spacing:-.004em}
.qtr-role-name small{color:var(--text-muted);font-size:.78rem}
.qtr-role-badges{display:flex;flex-wrap:wrap;gap:6px}
.qtr-role-meta{display:flex;gap:14px;color:var(--text-muted);font-weight:700;font-size:.8rem}
.qtr-role-meta span{display:inline-flex;align-items:center;gap:5px}
.qtr-role-meta svg{width:14px;height:14px}
.qtr-role-tabs{margin-top:2px}
.qtr-modal-wide{width:min(560px,100%)}

/* Permission matrix */
.qtr-perm-toolbar{margin-bottom:12px}
.qtr-perm-matrix{display:grid;gap:12px}
.qtr-perm-group{border:1px solid var(--hairline);border-radius:var(--radius-control);overflow:hidden;background:var(--surface-secondary)}
.qtr-perm-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;
  background:color-mix(in srgb,var(--surface) 50%,transparent);border-bottom:1px solid var(--hairline)}
.qtr-perm-collapse{border:0;background:transparent;color:var(--text-primary);font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.qtr-perm-collapse svg{width:16px;height:16px;transition:transform var(--dur-fast) var(--ease)}
.qtr-perm-group.collapsed .qtr-perm-collapse svg{transform:rotate(-90deg)}
.qtr-perm-group.collapsed .qtr-perm-list{display:none}
.qtr-perm-bulk{display:flex;gap:6px}
.qtr-perm-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2px;padding:8px}
.qtr-perm{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:10px;cursor:pointer}
.qtr-perm:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.qtr-perm input{width:17px;height:17px;accent-color:var(--accent);flex:none}
.qtr-perm span{display:grid;min-width:0}
.qtr-perm b{font-weight:700;font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qtr-perm small{color:var(--text-muted);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Assigned users cards + avatars */
.qtr-user-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.qtr-user-card{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--hairline);border-radius:var(--radius-control);background:var(--surface-secondary)}
.qtr-user-open{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:transparent;cursor:pointer;text-align:start;padding:0}
.qtr-avatar-img{width:42px;height:42px;border-radius:12px;object-fit:cover;flex:none;background:var(--accent-soft);border:1px solid var(--hairline)}
.qtr-user-info{display:grid;min-width:0}
.qtr-user-info b{font-weight:800;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px}
.qtr-user-info small{color:var(--text-muted);font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qtr-user-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}
.qtr-dot-direct{width:8px;height:8px;border-radius:999px;background:var(--accent);flex:none;box-shadow:0 0 0 3px var(--accent-soft)}
.qtr-chip[data-tone="danger"]{background:var(--qtr-danger-soft);color:var(--qtr-danger)}
.qtr-chip[data-tone="success"]{background:var(--qtr-success-soft);color:var(--qtr-success)}
@media (max-width:560px){.qtr-role-grid,.qtr-user-cards,.qtr-perm-list{grid-template-columns:1fr}}

/* --- 11e. Profile photos / avatars ---------------------------------------- */
.qtr-avatar-img.sm{width:32px;height:32px;border-radius:9px}
.qtr-avatar.has-photo .qtr-avatar-letter{display:none}
.qtr-avatar-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.qtr-profile-avatar{overflow:hidden}
.qtr-profile-avatar .qtr-avatar-img{width:100%;height:100%;border-radius:inherit;border:0}
.qtr-user-cell{display:flex;align-items:center;gap:10px}
.qtr-user-cell-txt{display:grid;min-width:0}
.qtr-user-cell-txt b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qtr-user-cell-txt small{color:var(--text-muted)}
.qtr-detail-head{align-items:center}
.qtr-detail-id{display:flex;align-items:center;gap:12px;min-width:0}
.qtr-detail-avatar .qtr-avatar-img{width:44px;height:44px;border-radius:12px}

/* Photo editor dialog */
.qtr-photo-modal{width:min(420px,100%);text-align:center}
.qtr-photo-preview{width:132px;height:132px;margin:6px auto 4px;border-radius:20px;overflow:hidden;
  border:1px solid var(--hairline);background:var(--surface-secondary);box-shadow:var(--elev-1)}
.qtr-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}
.qtr-photo-input{width:100%;border:1px dashed var(--hairline);border-radius:var(--radius-control);
  background:var(--surface-secondary);padding:10px;color:var(--text-secondary);cursor:pointer}
.qtr-photo-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.qtr-photo-hint{margin:6px 0 0;color:var(--text-muted);font-size:.78rem}
.qtr-photo-modal .qtr-form-error{text-align:start}

/* --- 11f. Role Intelligence (analytics) + enhanced permission matrix ------- */
.qtr-insights{margin:14px 0 4px;border:1px solid var(--hairline);border-radius:var(--radius-card,16px);
  background:var(--surface-secondary);overflow:hidden}
.qtr-insights-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 16px;border:0;background:transparent;cursor:pointer;color:var(--text-primary);font-weight:850}
.qtr-insights-head>span:first-child{display:inline-flex;align-items:center;gap:9px}
.qtr-insights-head svg{width:17px;height:17px;color:var(--accent-text)}
.qtr-insights-sub{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.76rem;font-weight:700}
.qtr-insights-chev{transition:transform var(--dur-fast) var(--ease)}
.qtr-insights.collapsed .qtr-insights-chev{transform:rotate(-90deg)}
.qtr-insights.collapsed .qtr-insights-body{display:none}
.qtr-insights-body{padding:4px 16px 18px}
.qtr-insight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.qtr-insight-card{border:1px solid var(--hairline);border-radius:var(--radius-control);padding:13px 14px;
  background:var(--shell-surface);display:grid;gap:8px}
.qtr-insight-card[data-tone="danger"]{border-color:color-mix(in srgb,var(--qtr-danger) 40%,var(--hairline))}
.qtr-insight-card[data-tone="warning"]{border-color:color-mix(in srgb,var(--qtr-warning) 40%,var(--hairline))}
.qtr-insight-card-head{display:flex;align-items:center;gap:11px}
.qtr-insight-card-head strong{font-size:1.4rem;font-weight:850;line-height:1;display:block}
.qtr-insight-card-head small{color:var(--text-muted);font-weight:750;font-size:.76rem}
.qtr-insight-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none;
  background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-text)}
.qtr-insight-card[data-tone="danger"] .qtr-insight-ic{background:var(--qtr-danger-soft);color:var(--qtr-danger)}
.qtr-insight-card[data-tone="warning"] .qtr-insight-ic{background:var(--qtr-warning-soft);color:var(--qtr-warning)}
.qtr-insight-hint{margin:0;color:var(--text-secondary);font-size:.78rem;line-height:1.45}
.qtr-insight-chips{margin-top:2px;flex-wrap:wrap}
.qtr-role-chip{cursor:pointer;min-height:30px;padding:4px 11px;font-size:calc(12px * var(--qtr-type-scale,1))}
.qtr-role-chip svg{width:13px;height:13px}
.qtr-insight-clean{display:flex;align-items:center;gap:10px;padding:16px;border:1px dashed var(--hairline);
  border-radius:var(--radius-control);color:var(--qtr-success);font-weight:750;grid-column:1/-1}
.qtr-insight-clean svg{width:20px;height:20px}
.qtr-insight-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px}
.qtr-insight-block h4{margin:0 0 10px;font-size:.82rem;font-weight:800;color:var(--text-secondary)}
.qtr-meter{margin-bottom:11px}
.qtr-meter-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}
.qtr-meter-top span{font-size:.8rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qtr-meter-top small{color:var(--text-muted);font-size:.72rem;font-weight:700;flex:none}
.qtr-meter-track{height:8px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 18%,transparent);overflow:hidden}
.qtr-meter-fill{height:100%;border-radius:inherit;background:var(--accent);transition:inline-size var(--dur-med,.4s) var(--ease)}
.qtr-meter-fill[data-tone="danger"]{background:var(--qtr-danger)}
.qtr-meter-fill[data-tone="muted"]{background:color-mix(in srgb,var(--text-muted) 45%,transparent)}
@media (max-width:640px){.qtr-insight-cols{grid-template-columns:1fr;gap:14px}}

/* Enhanced matrix: effective-permission summary + richer rows */
.qtr-perm-summary{border:1px solid var(--hairline);border-radius:var(--radius-control);padding:13px 15px;
  margin-bottom:14px;background:var(--surface-secondary)}
.qtr-perm-summary-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.qtr-perm-summary-top span{display:inline-flex;align-items:center;gap:8px;font-weight:750;color:var(--text-secondary);font-size:.84rem}
.qtr-perm-summary-top svg{width:16px;height:16px;color:var(--accent-text)}
.qtr-perm-summary-top strong{font-weight:850;font-size:.95rem}
.qtr-perm-warn{margin:9px 0 0;display:flex;align-items:center;gap:8px;color:var(--qtr-danger);font-size:.78rem;font-weight:750}
.qtr-perm-warn svg{width:15px;height:15px;flex:none}
.qtr-perm-body{flex:1;min-width:0}
.qtr-perm .qtr-perm-desc{color:var(--text-secondary);white-space:normal;font-size:.71rem;line-height:1.35}
.qtr-perm .qtr-perm-key{opacity:.7;font-size:.68rem}
.qtr-perm-check{width:17px;height:17px;flex:none;color:var(--text-muted);opacity:.5}
.qtr-perm.is-granted .qtr-perm-check{color:var(--qtr-success);opacity:1}
.qtr-perm.is-granted{background:color-mix(in srgb,var(--qtr-success) 6%,transparent)}

/* --- 11g. Authorization Intelligence Center -------------------------------- */
.qtr-authz-body{display:grid;grid-template-columns:236px 1fr;gap:18px;margin-top:16px}
.qtr-authz-nav{display:flex;flex-direction:column;gap:4px;position:sticky;inset-block-start:12px;align-self:start}
.qtr-authz-navitem{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid transparent;border-radius:var(--radius-control);
  background:transparent;color:var(--text-secondary);font-weight:700;cursor:pointer;text-align:start;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}
.qtr-authz-navitem svg{width:17px;height:17px;flex:none}
.qtr-authz-navitem:hover{background:color-mix(in srgb,var(--accent) 7%,transparent);color:var(--text-primary)}
.qtr-authz-navitem.active{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-text);border-color:var(--accent-border)}
.qtr-authz-navitem:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.qtr-authz-content{min-width:0}
.qtr-authz-h{margin:20px 0 10px;font-size:.9rem;font-weight:800;color:var(--text-secondary)}
.qtr-authz-hint{margin:14px 0 0;color:var(--text-muted);font-size:.8rem;display:flex;align-items:center;gap:7px;line-height:1.5}
.qtr-authz-hint svg{width:15px;height:15px;flex:none}
.qtr-authz-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:14px}
.qtr-authz-controls .qtr-form-row{margin:0;min-width:200px;flex:1}
.qtr-stat[data-tone="danger"] .qtr-stat-ic{background:var(--qtr-danger-soft);color:var(--qtr-danger)}

/* Health gauge */
.qtr-health{display:flex;align-items:center;gap:20px;padding:18px 20px;border:1px solid var(--hairline);border-radius:var(--radius-card,16px);
  background:var(--surface-secondary);margin-bottom:16px}
.qtr-health-ring{--pct:0;inline-size:96px;block-size:96px;border-radius:50%;display:grid;place-items:center;flex:none;text-align:center;
  background:conic-gradient(var(--ring) calc(var(--pct)*1%),color-mix(in srgb,var(--text-muted) 16%,transparent) 0)}
.qtr-health-ring[data-tone="success"]{--ring:var(--qtr-success)} .qtr-health-ring[data-tone="warning"]{--ring:var(--qtr-warning)} .qtr-health-ring[data-tone="danger"]{--ring:var(--qtr-danger)}
.qtr-health-ring::before{content:"";position:absolute;inline-size:74px;block-size:74px;border-radius:50%;background:var(--shell-surface)}
.qtr-health-ring>*{position:relative}
.qtr-health-num{font-size:1.7rem;font-weight:850;line-height:1}
.qtr-health-ring small{color:var(--text-muted);font-size:.66rem;font-weight:700}
.qtr-health-txt h3{margin:0 0 8px;font-size:1rem;font-weight:800}

/* Permission cards + explorer */
.qtr-perm-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.qtr-perm-card{display:grid;gap:6px;padding:14px;border:1px solid var(--hairline);border-radius:var(--radius-control);
  background:var(--surface-secondary);text-align:start;cursor:pointer;transition:transform var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.qtr-perm-card:hover{transform:translateY(-2px);border-color:var(--accent-border);box-shadow:var(--elev-1)}
.qtr-perm-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.qtr-perm-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.qtr-perm-card-top b{font-weight:800;font-size:.9rem}
.qtr-perm-card-key{color:var(--text-muted);font-size:.72rem}
.qtr-perm-card-desc{color:var(--text-secondary);font-size:.77rem;line-height:1.4}
.qtr-perm-card-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--text-muted);font-size:.74rem;font-weight:700;margin-top:2px}
.qtr-perm-card-meta svg{width:13px;height:13px;vertical-align:-2px}

/* Effective permissions list */
.qtr-eff-list{display:grid;gap:6px;margin-top:8px}
.qtr-eff-row{display:flex;gap:10px;padding:10px 12px;border:1px solid var(--hairline);border-radius:10px;background:var(--surface-secondary);opacity:.7}
.qtr-eff-row.granted{opacity:1;background:color-mix(in srgb,var(--qtr-success) 5%,var(--surface-secondary))}
.qtr-eff-row>i{width:18px;height:18px;flex:none;color:var(--text-muted);margin-block-start:2px}
.qtr-eff-row.granted>i{color:var(--qtr-success)}
.qtr-eff-main{display:grid;min-width:0;gap:2px}
.qtr-eff-main small{color:var(--text-muted);font-size:.72rem}
.qtr-eff-reason{color:var(--text-secondary)!important;font-weight:600}

/* Simulator + impact decision banner */
.qtr-sim-decision{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--hairline);border-radius:var(--radius-control);margin-bottom:14px;background:var(--surface-secondary)}
.qtr-sim-decision[data-tone="success"]{border-color:color-mix(in srgb,var(--qtr-success) 45%,var(--hairline))}
.qtr-sim-decision[data-tone="danger"]{border-color:color-mix(in srgb,var(--qtr-danger) 45%,var(--hairline))}
.qtr-sim-decision[data-tone="warning"]{border-color:color-mix(in srgb,var(--qtr-warning) 45%,var(--hairline))}
.qtr-sim-decision>i{width:22px;height:22px;flex:none}
.qtr-sim-decision[data-tone="success"]>i{color:var(--qtr-success)} .qtr-sim-decision[data-tone="danger"]>i{color:var(--qtr-danger)} .qtr-sim-decision[data-tone="warning"]>i{color:var(--qtr-warning)} .qtr-sim-decision[data-tone="muted"]>i{color:var(--text-muted)}
.qtr-sim-decision b{display:block;font-weight:800}
.qtr-sim-decision small{display:block;color:var(--text-secondary);font-size:.78rem;margin-top:2px}

/* Advisor cards */
.qtr-advisor-card{border:1px solid var(--hairline);border-radius:var(--radius-control);padding:14px;margin-bottom:12px;background:var(--surface-secondary)}
.qtr-advisor-card[data-tone="danger"]{border-color:color-mix(in srgb,var(--qtr-danger) 40%,var(--hairline))}
.qtr-advisor-card[data-tone="warning"]{border-color:color-mix(in srgb,var(--qtr-warning) 40%,var(--hairline))}
.qtr-advisor-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:10px}
.qtr-advisor-head b{font-weight:800}
.qtr-advisor-head small{display:block;color:var(--text-secondary);font-size:.78rem;margin-top:3px}
.qtr-advisor-card[data-tone="danger"] .qtr-insight-ic{background:var(--qtr-danger-soft);color:var(--qtr-danger)}
.qtr-advisor-card[data-tone="warning"] .qtr-insight-ic{background:var(--qtr-warning-soft);color:var(--qtr-warning)}

@media (max-width:820px){
  .qtr-authz-body{grid-template-columns:1fr}
  .qtr-authz-nav{flex-direction:row;overflow-x:auto;position:static;padding-bottom:4px}
  .qtr-authz-navitem{flex:none}
  .qtr-authz-navitem span{white-space:nowrap}
}

/* --- 11h. Company Intelligence Center -------------------------------------- */
.qtr-co-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.qtr-co-card{text-align:start;display:grid;gap:12px;padding:16px;border:1px solid var(--hairline);border-radius:var(--radius-card,16px);
  background:var(--surface-secondary);cursor:pointer;transition:transform var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}
.qtr-co-card:hover{transform:translateY(-3px);border-color:var(--accent-border);box-shadow:var(--elev-2)}
.qtr-co-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.qtr-co-card-head{display:flex;align-items:center;gap:12px}
.qtr-co-logo{inline-size:46px;block-size:46px;border-radius:13px;flex:none;display:grid;place-items:center;overflow:hidden;
  background:var(--shell-surface);border:1px solid var(--hairline);font-weight:850;font-size:1.1rem;color:var(--accent-text)}
.qtr-co-logo img{inline-size:100%;block-size:100%;object-fit:contain}
.qtr-co-logo.is-empty{background:color-mix(in srgb,var(--co-accent,var(--accent)) 14%,transparent);color:var(--co-accent,var(--accent-text))}
.qtr-co-logo.lg{inline-size:64px;block-size:64px;border-radius:18px;font-size:1.5rem}
.qtr-co-name{display:grid;min-width:0;flex:1}
.qtr-co-name b{font-weight:850;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qtr-co-name small{color:var(--text-muted);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qtr-co-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.qtr-co-meta{display:flex;gap:16px;color:var(--text-muted);font-size:.78rem;font-weight:700}
.qtr-co-meta svg{width:14px;height:14px;vertical-align:-2px}
.qtr-mini-ring{--pct:0;inline-size:44px;block-size:44px;border-radius:50%;display:grid;place-items:center;flex:none;position:relative;
  background:conic-gradient(var(--rc) calc(var(--pct)*1%),color-mix(in srgb,var(--text-muted) 16%,transparent) 0)}
.qtr-mini-ring[data-tone="success"]{--rc:var(--qtr-success)} .qtr-mini-ring[data-tone="warning"]{--rc:var(--qtr-warning)} .qtr-mini-ring[data-tone="danger"]{--rc:var(--qtr-danger)}
.qtr-mini-ring::before{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--surface-secondary)}
.qtr-mini-ring b{position:relative;font-size:.8rem;font-weight:850}
.qtr-co-back{margin-bottom:12px}
.qtr-co-360-head{display:flex;align-items:center;gap:16px;padding-bottom:6px}
.qtr-co-360-id{flex:1;min-width:0}
.qtr-co-360-id h1{margin:0;font-size:1.5rem}
.qtr-co-360-id p{margin:4px 0 0;color:var(--text-muted);font-size:.82rem}
.qtr-co-360-actions{display:flex;align-items:center;gap:10px}
.qtr-detail-card{border:1px solid var(--hairline);border-radius:var(--radius-control);padding:14px 16px;background:var(--surface-secondary);margin-bottom:14px}
.qtr-detail-card .qtr-authz-h{margin-top:0;display:flex;align-items:center;gap:8px}
.qtr-detail-card .qtr-authz-h svg{width:15px;height:15px}
.qtr-muted{color:var(--text-muted)}
.qtr-brand-preview{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.qtr-brand-logo{inline-size:96px;block-size:96px;border-radius:18px;display:grid;place-items:center;overflow:hidden;background:var(--surface-secondary);border:1px solid var(--hairline)}
.qtr-brand-logo img{inline-size:100%;block-size:100%;object-fit:contain}
.qtr-brand-logo svg{width:28px;height:28px;color:var(--text-muted)}
.qtr-brand-swatch{inline-size:56px;block-size:56px;border-radius:14px;border:1px solid var(--hairline);box-shadow:var(--elev-1)}
.qtr-brand-upload{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.qtr-co-products{display:grid;gap:8px}
.qtr-co-product{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--hairline);border-radius:var(--radius-control);background:var(--surface-secondary)}
.qtr-co-product-main{display:grid;min-width:0}
.qtr-co-product-main b{font-weight:800}
.qtr-co-product-main small{color:var(--text-muted);font-size:.74rem}
.qtr-co-product select{flex:none;min-width:150px}
.qtr-check-list{display:grid;gap:8px}
.qtr-check{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--hairline);border-radius:10px;background:var(--surface-secondary)}
.qtr-check>i{width:18px;height:18px;flex:none;margin-block-start:1px}
.qtr-check-done>i{color:var(--qtr-success)} .qtr-check-todo>i{color:var(--text-muted)} .qtr-check-future>i{color:var(--text-muted);opacity:.6}
.qtr-check-done{background:color-mix(in srgb,var(--qtr-success) 6%,var(--surface-secondary))}
.qtr-check b{font-weight:750;font-size:.86rem} .qtr-check small{display:block;color:var(--text-secondary);font-size:.76rem;margin-top:2px}
.qtr-comment-add{display:flex;gap:8px;margin-bottom:12px}
.qtr-comment-add input{flex:1}
.qtr-comment-list{display:grid;gap:10px;margin-bottom:8px}
.qtr-comment{display:flex;gap:10px}
.qtr-comment b{font-weight:800;font-size:.85rem} .qtr-comment small{color:var(--text-muted);font-size:.72rem}
.qtr-comment p{margin:3px 0 0;font-size:.86rem;color:var(--text-secondary)}
.qtr-tag-edit{align-items:center}
.qtr-form-grid{max-inline-size:640px}
@media (min-width:560px){.qtr-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.qtr-form-grid h3,.qtr-form-grid .qtr-form-error,.qtr-form-grid .qtr-modal-actions{grid-column:1/-1}}
@media (max-width:560px){.qtr-co-grid{grid-template-columns:1fr}.qtr-co-360-head{flex-wrap:wrap}}

/* --- 11i. Branch Operations Center ----------------------------------------- */
.qtr-star{width:14px;height:14px;color:var(--qtr-warning);vertical-align:-2px}
.qtr-map-placeholder{display:flex;align-items:center;gap:14px;padding:22px 18px;margin-bottom:14px;border-radius:var(--radius-control);
  border:1px dashed var(--hairline);background:
    repeating-linear-gradient(45deg,color-mix(in srgb,var(--accent) 5%,transparent) 0 10px,transparent 10px 20px),var(--surface-secondary)}
.qtr-map-placeholder>i{width:30px;height:30px;flex:none;color:var(--accent-text)}
.qtr-map-placeholder b{display:block;font-weight:800}
.qtr-map-placeholder small{color:var(--text-muted);font-size:.78rem}

/* --- 11j. Platform Control Center ------------------------------------------ */
.qtr-ctrl-search{position:relative;margin:14px 0 4px}
.qtr-ctrl-search>i{position:absolute;inset-inline-start:16px;inset-block-start:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-muted);pointer-events:none}
.qtr-ctrl-search input{width:100%;padding:13px 16px 13px 44px;border:1px solid var(--hairline);border-radius:var(--radius-control);
  background:var(--surface-secondary);color:var(--text-primary);font-size:.95rem}
[dir="rtl"] .qtr-ctrl-search input{padding:13px 44px 13px 16px}
.qtr-ctrl-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent-border)}
.qtr-ctrl-results{position:absolute;inset-inline:0;inset-block-start:calc(100% + 6px);z-index:20;background:var(--shell-surface);
  border:1px solid var(--hairline);border-radius:var(--radius-control);box-shadow:var(--elev-2);padding:6px;max-block-size:340px;overflow:auto}
.qtr-ctrl-result{display:flex;align-items:center;gap:11px;width:100%;padding:9px 11px;border:0;background:transparent;border-radius:10px;cursor:pointer;text-align:start;color:var(--text-primary)}
.qtr-ctrl-result:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.qtr-ctrl-result svg{width:16px;height:16px;color:var(--accent-text);flex:none}
.qtr-ctrl-result span{display:grid;min-width:0}
.qtr-ctrl-result b{font-weight:750;font-size:.86rem} .qtr-ctrl-result small{color:var(--text-muted);font-size:.74rem}
.qtr-ctrl-noresult{padding:12px;color:var(--text-muted);font-size:.85rem}
.qtr-nav-dot{width:6px;height:6px;border-radius:50%;background:var(--qtr-warning);margin-inline-start:auto;flex:none}
.qtr-ctrl-sec-head{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:10px}
.qtr-ctrl-sec-head h2{margin:0;font-size:1.2rem;display:flex;align-items:center;gap:9px}
.qtr-ctrl-sec-head h2 svg{width:19px;height:19px;color:var(--accent-text)}
.qtr-ctrl-form{display:grid;gap:2px}
.qtr-ctrl-form .qtr-form-row{margin:0;padding:11px 4px;border-block-end:1px solid var(--hairline);display:flex;align-items:center;justify-content:space-between;gap:16px}
.qtr-ctrl-form .qtr-form-row:last-child{border-block-end:0}
.qtr-ctrl-form .qtr-form-row>span{font-weight:650;color:var(--text-secondary);font-size:.88rem}
.qtr-ctrl-form .qtr-form-row input:not([type=checkbox]),.qtr-ctrl-form .qtr-form-row select{max-inline-size:280px;flex:0 1 280px}
.qtr-switch-row{cursor:pointer}
.qtr-switch{position:relative;inline-size:42px;block-size:24px;flex:none}
.qtr-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.qtr-switch-track{position:absolute;inset:0;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 34%,transparent);transition:background var(--dur-fast) var(--ease)}
.qtr-switch-track::after{content:"";position:absolute;inset-block-start:3px;inset-inline-start:3px;inline-size:18px;block-size:18px;border-radius:50%;background:#fff;box-shadow:var(--elev-1);transition:inset-inline-start var(--dur-fast) var(--ease)}
.qtr-switch input:checked + .qtr-switch-track{background:var(--accent)}
.qtr-switch input:checked + .qtr-switch-track::after{inset-inline-start:21px}
.qtr-switch input:focus-visible + .qtr-switch-track{outline:2px solid var(--accent);outline-offset:2px}
.qtr-ctrl-signals{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}
.qtr-ctrl-signals .qtr-check{cursor:pointer;text-align:start;width:100%;border-width:1px}
.qtr-ctrl-stats{margin-top:16px}

/* --- 11k. Workspace Experience Center -------------------------------------- */
.qtr-ws{max-inline-size:1160px;margin-inline:auto}
.qtr-ws-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-block:6px 18px}
.qtr-ws-hero-txt h1{margin:0;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:850;letter-spacing:-0.02em}
.qtr-ws-hero-txt h1 span{color:var(--accent-text)}
.qtr-ws-hero-txt p{margin:6px 0 0;color:var(--text-muted);font-size:1rem}
.qtr-ws-hero-side{flex:none}
.qtr-ws-context{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.qtr-ws-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;border:1px solid var(--hairline);
  background:var(--surface-secondary);color:var(--text-secondary);font-size:.8rem;font-weight:650}
.qtr-ws-chip svg{width:14px;height:14px;color:var(--accent-text)}
.qtr-ws-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;align-items:start}
.qtr-ws-widget{border:1px solid var(--hairline);border-radius:var(--radius-card,18px);background:var(--surface-secondary);overflow:hidden;
  transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}
.qtr-ws-widget:hover{box-shadow:var(--elev-1)}
.qtr-ws-widget.is-hidden{opacity:.55;border-style:dashed}
.qtr-ws-widget-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px 9px}
.qtr-ws-widget-head>span{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:.92rem}
.qtr-ws-widget-head svg{width:16px;height:16px;color:var(--accent-text)}
.qtr-ws-widget-tools{display:flex;gap:2px}
.qtr-ws-tool{border:0;background:transparent;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:8px;display:grid;place-items:center}
.qtr-ws-tool:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-text)}
.qtr-ws-tool svg{width:15px;height:15px}
.qtr-ws-widget-body{padding:4px 16px 16px}
.qtr-ws-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;color:var(--text-muted);text-align:center;font-size:.85rem}
.qtr-ws-empty svg{width:24px;height:24px;color:var(--qtr-success)}
.qtr-ws-note{margin:10px 0 0;color:var(--text-muted);font-size:.76rem}

/* suggested actions */
.qtr-ws-actions{display:grid;gap:8px}
.qtr-ws-action{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border:1px solid var(--hairline);border-radius:12px;
  background:var(--shell-surface);cursor:pointer;text-align:start;transition:transform var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.qtr-ws-action:hover{transform:translateY(-1px);border-color:var(--accent-border)}
.qtr-ws-action-ic{inline-size:34px;block-size:34px;border-radius:10px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-text)}
.qtr-ws-action[data-tone="warning"] .qtr-ws-action-ic{background:var(--qtr-warning-soft);color:var(--qtr-warning)}
.qtr-ws-action[data-tone="critical"] .qtr-ws-action-ic{background:var(--qtr-danger-soft);color:var(--qtr-danger)}
.qtr-ws-action-ic svg{width:17px;height:17px}
.qtr-ws-action-txt{display:grid;min-width:0;flex:1}
.qtr-ws-action-txt b{font-weight:750;font-size:.88rem}
.qtr-ws-action-txt small{color:var(--text-muted);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qtr-ws-action-go{width:16px;height:16px;color:var(--text-muted);flex:none}
[dir="ltr"] .qtr-ws-action-go{transform:rotate(180deg)}

/* daily messages */
.qtr-ws-daily{display:grid;gap:10px}
.qtr-ws-msg{position:relative;padding:12px 14px;border-radius:12px;border:1px solid var(--hairline);background:var(--shell-surface);border-inline-start:3px solid var(--accent)}
.qtr-ws-msg[data-tone="danger"]{border-inline-start-color:var(--qtr-danger)} .qtr-ws-msg[data-tone="warning"]{border-inline-start-color:var(--qtr-warning)}
.qtr-ws-msg[data-tone="muted"]{border-inline-start-color:var(--text-muted)}
.qtr-ws-msg b{font-weight:800;font-size:.9rem} .qtr-ws-msg p{margin:4px 0 6px;color:var(--text-secondary);font-size:.84rem;line-height:1.5}
.qtr-ws-msg small{color:var(--text-muted);font-size:.72rem;font-weight:700}
.qtr-ws-pin{position:absolute;inset-block-start:12px;inset-inline-end:12px;width:14px;height:14px;color:var(--accent-text)}

/* quote */
.qtr-ws-quote{margin:0;padding:6px 2px}
.qtr-ws-quote blockquote{margin:0;font-size:1.05rem;line-height:1.6;font-weight:600;color:var(--text-primary)}
.qtr-ws-quote figcaption{margin-top:10px;color:var(--text-muted);font-size:.82rem}

/* continue working */
.qtr-ws-continue{display:grid;gap:8px}
.qtr-ws-chip-lg{display:flex;align-items:center;gap:11px;width:100%;padding:9px 11px;border:1px solid var(--hairline);border-radius:11px;background:var(--shell-surface);cursor:pointer;text-align:start}
.qtr-ws-chip-lg:hover{border-color:var(--accent-border)}
.qtr-ws-chip-ic{inline-size:32px;block-size:32px;border-radius:9px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-text)}
.qtr-ws-chip-ic svg{width:15px;height:15px}
.qtr-ws-chip-lg span:last-child{display:grid;min-width:0}.qtr-ws-chip-lg b{font-weight:750;font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qtr-ws-chip-lg small{color:var(--text-muted);font-size:.72rem}

/* timeline */
.qtr-ws-timeline{display:grid;gap:2px}
.qtr-ws-tl{display:flex;gap:11px;padding:7px 0}
.qtr-ws-tl-dot{inline-size:9px;block-size:9px;border-radius:50%;background:var(--accent);margin-block-start:5px;flex:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.qtr-ws-tl b{font-weight:700;font-size:.84rem} .qtr-ws-tl small{display:block;color:var(--text-muted);font-size:.72rem}

/* stat-big (notifications / approvals) */
.qtr-ws-stat-big{display:flex;align-items:baseline;gap:8px}
.qtr-ws-stat-big strong{font-size:2.4rem;font-weight:850;line-height:1;color:var(--accent-text)}
.qtr-ws-stat-big small{color:var(--text-muted);font-weight:700}

/* products */
.qtr-ws-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}
.qtr-ws-prod{display:grid;gap:7px;justify-items:center;padding:14px 8px;border:1px solid var(--hairline);border-radius:14px;background:var(--shell-surface);cursor:pointer;text-align:center}
.qtr-ws-prod:hover:not(:disabled){transform:translateY(-2px);border-color:var(--accent-border)}
.qtr-ws-prod:disabled{opacity:.5;cursor:default}
.qtr-ws-prod-ic{inline-size:40px;block-size:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-text)}
.qtr-ws-prod b{font-size:.8rem;font-weight:750}.qtr-ws-prod small{color:var(--text-muted);font-size:.68rem}

/* status */
.qtr-ws-status{display:grid;gap:2px}
.qtr-ws-status-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-block-end:1px solid var(--hairline)}
.qtr-ws-status-row:last-child{border-block-end:0}.qtr-ws-status-row span{font-size:.84rem;color:var(--text-secondary)}
.qtr-ws-status-cta{margin-top:12px}

/* customize */
.qtr-ws-customize{border:1px solid var(--accent-border);border-radius:var(--radius-card,16px);background:color-mix(in srgb,var(--accent) 5%,var(--surface-secondary));padding:16px;margin-bottom:18px}
.qtr-ws-customize h4{margin:0 0 12px;font-size:.95rem;font-weight:800}
.qtr-ws-cz-section{margin-bottom:14px}.qtr-ws-cz-section>b{display:block;margin-bottom:8px;font-size:.82rem;color:var(--text-secondary)}
.qtr-ws-fav{cursor:pointer}.qtr-ws-fav.on{background:var(--qtr-success-soft);color:var(--qtr-success);border-color:transparent}
.qtr-ws-cz-actions{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:560px){.qtr-ws-hero{flex-direction:column;gap:12px}.qtr-ws-grid{grid-template-columns:1fr}}

/* --- 12. PRINT ------------------------------------------------------------- */
@media print{
  .qtr-header,.qtr-dock,.qtr-login,.qtr-personalize-fab,.qtr-popover{display:none!important}
  body,.qtr-home{background:#fff!important;color:#000!important}
  .qtr-hero-card,.qtr-side-card,.qtr-product-card{box-shadow:none!important;border-color:#ccc!important;background:#fff!important}
  .qtr-hero-card::before{display:none}
}

/* --- 11L. Workspace Studio (Enterprise Workspace Designer) ------------------ */
.qtr-studio{display:flex;flex-direction:column;min-block-size:calc(100vh - var(--qtr-header-height,64px) - 40px);gap:0}
.qtr-studio-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 18px;padding:4px 2px 16px;border-block-end:1px solid var(--hairline);margin-block-end:18px;position:sticky;inset-block-start:0;background:var(--shell-bg,var(--surface-primary));z-index:5}
.qtr-studio-topbar-lead{display:flex;align-items:center;gap:20px;flex-wrap:wrap;min-width:0}
.qtr-studio-title{display:flex;align-items:center;gap:12px}
.qtr-studio-mark{inline-size:40px;block-size:40px;border-radius:12px;display:grid;place-items:center;flex:none;background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 22%,transparent),color-mix(in srgb,var(--accent) 8%,transparent));color:var(--accent-text)}
.qtr-studio-mark svg{width:20px;height:20px}
.qtr-studio-title h1{margin:0;font-size:1.18rem;font-weight:850;letter-spacing:-0.02em}
.qtr-studio-title small{color:var(--text-muted);font-size:.78rem}
.qtr-studio-scopes{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:var(--surface-secondary);border:1px solid var(--hairline)}
.qtr-studio-scope{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--text-secondary);font-weight:700;font-size:.82rem;padding:7px 13px;border-radius:9px;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}
.qtr-studio-scope svg{width:15px;height:15px}
.qtr-studio-scope:hover{color:var(--accent-text)}
.qtr-studio-scope.active{background:var(--shell-surface);color:var(--accent-text);box-shadow:var(--elev-1)}
.qtr-studio-dot{inline-size:6px;block-size:6px;border-radius:50%;background:var(--qtr-warning);display:inline-block}
.qtr-studio-topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.qtr-studio-devices{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:var(--surface-secondary);border:1px solid var(--hairline)}
.qtr-studio-dev{border:0;background:transparent;color:var(--text-muted);cursor:pointer;padding:6px 8px;border-radius:7px;display:grid;place-items:center}
.qtr-studio-dev svg{width:16px;height:16px}
.qtr-studio-dev.active{background:var(--shell-surface);color:var(--accent-text);box-shadow:var(--elev-1)}
.qtr-studio-dirty{font-size:.76rem;font-weight:700;color:var(--qtr-warning);background:var(--qtr-warning-soft);padding:5px 10px;border-radius:999px}
.qtr-studio-clean{display:inline-flex;align-items:center;gap:5px;font-size:.76rem;font-weight:700;color:var(--qtr-success)}
.qtr-studio-clean svg{width:13px;height:13px}
.qtr-studio-menu-wrap{position:relative}
.qtr-studio-menu{position:absolute;inset-block-start:calc(100% + 6px);inset-inline-end:0;min-inline-size:210px;background:var(--shell-surface);border:1px solid var(--hairline);border-radius:12px;box-shadow:var(--elev-2,0 12px 30px rgba(0,0,0,.14));padding:6px;z-index:40;display:grid;gap:2px}
.qtr-studio-menu[hidden]{display:none}
.qtr-studio-menu button,.qtr-studio-menu .qtr-studio-import{display:flex;align-items:center;gap:9px;width:100%;border:0;background:transparent;color:var(--text-primary);font-size:.84rem;font-weight:650;padding:9px 11px;border-radius:8px;cursor:pointer;text-align:start}
.qtr-studio-menu button:hover,.qtr-studio-menu .qtr-studio-import:hover{background:color-mix(in srgb,var(--accent) 9%,transparent)}
.qtr-studio-menu .danger{color:var(--qtr-danger)}
.qtr-studio-menu svg{width:15px;height:15px}

.qtr-studio-body{display:grid;grid-template-columns:290px minmax(0,1fr) 300px;gap:18px;align-items:start}
.qtr-studio-rail,.qtr-studio-inspector{display:grid;gap:16px;align-content:start;position:sticky;inset-block-start:88px}
.qtr-studio-block{border:1px solid var(--hairline);border-radius:var(--radius-card,16px);background:var(--surface-secondary);padding:15px}
.qtr-studio-block h3{margin:0 0 4px;font-size:.9rem;font-weight:800;display:flex;align-items:center;gap:8px}
.qtr-studio-block h3 svg{width:16px;height:16px;color:var(--accent-text)}
.qtr-studio-hint{margin:2px 0 12px;color:var(--text-muted);font-size:.76rem;line-height:1.5}
.qtr-studio-presets{display:grid;gap:8px}
.qtr-studio-preset{display:flex;align-items:center;gap:11px;width:100%;padding:10px 11px;border:1px solid var(--hairline);border-radius:12px;background:var(--shell-surface);cursor:pointer;text-align:start;transition:transform var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.qtr-studio-preset:hover{transform:translateY(-1px);border-color:var(--accent-border)}
.qtr-studio-preset.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--shell-surface))}
.qtr-studio-preset-ic{inline-size:32px;block-size:32px;border-radius:9px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--accent) 11%,transparent);color:var(--accent-text)}
.qtr-studio-preset-ic svg{width:16px;height:16px}
.qtr-studio-preset-txt{display:grid;min-width:0;flex:1}
.qtr-studio-preset-txt b{font-weight:750;font-size:.85rem}
.qtr-studio-preset-txt small{color:var(--text-muted);font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qtr-studio-preset-on{width:15px;height:15px;color:var(--accent-text);flex:none}
.qtr-btn.block{width:100%;justify-content:center;margin-block-end:10px}
.qtr-studio-tpls{display:grid;gap:7px}
.qtr-studio-tpl{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--hairline);border-radius:11px;background:var(--shell-surface)}
.qtr-studio-tpl-ic{inline-size:28px;block-size:28px;border-radius:8px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-text)}
.qtr-studio-tpl-ic svg{width:14px;height:14px}
.qtr-studio-tpl-txt{display:grid;min-width:0;flex:1}
.qtr-studio-tpl-txt b{font-size:.82rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qtr-studio-tpl-txt small{color:var(--text-muted);font-size:.68rem;display:inline-flex;align-items:center;gap:5px}
.qtr-studio-tpl-txt small svg{width:11px;height:11px}
.qtr-studio-tpl-tools{display:inline-flex;gap:1px;flex:none}
.qtr-studio-tpl-tools button{border:0;background:transparent;color:var(--text-muted);cursor:pointer;padding:5px;border-radius:7px;display:grid;place-items:center}
.qtr-studio-tpl-tools button:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-text)}
.qtr-studio-tpl-tools .danger:hover{background:var(--qtr-danger-soft);color:var(--qtr-danger)}
.qtr-studio-tpl-tools svg{width:14px;height:14px}
.qtr-studio-empty{display:flex;flex-direction:column;align-items:center;gap:7px;padding:16px;color:var(--text-muted);text-align:center;font-size:.8rem}
.qtr-studio-empty svg{width:22px;height:22px;opacity:.7}
.qtr-studio-empty.big{padding:60px 20px}.qtr-studio-empty.big svg{width:34px;height:34px}

.qtr-studio-canvas{display:flex;flex-direction:column;gap:12px;min-width:0}
.qtr-studio-canvas-bar{display:flex;align-items:center;justify-content:space-between;gap:10px}
.qtr-studio-canvas-bar span{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:.86rem}
.qtr-studio-canvas-bar span svg{width:15px;height:15px;color:var(--accent-text)}
.qtr-studio-canvas-bar small{color:var(--text-muted);font-size:.74rem}
.qtr-studio-frame{border:1px solid var(--hairline);border-radius:20px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 4%,var(--surface-secondary)),var(--surface-secondary));padding:16px;transition:max-inline-size var(--dur,.25s) var(--ease)}
.qtr-studio-frame.device-tablet{max-inline-size:760px;margin-inline:auto}
.qtr-studio-frame.device-mobile{max-inline-size:400px;margin-inline:auto}
.qtr-studio-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;align-items:start}
.qtr-studio-preview.cols-1{grid-template-columns:1fr}
.qtr-studio-preview.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.qtr-studio-preview.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.qtr-studio-preview.density-compact{gap:8px}
.qtr-studio-preview.density-spacious{gap:20px}
.qtr-studio-frame.device-mobile .qtr-studio-preview{grid-template-columns:1fr}
.qtr-studio-w{border:1px solid var(--hairline);border-radius:14px;background:var(--shell-surface);overflow:hidden;transition:box-shadow var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.qtr-studio-w:hover{box-shadow:var(--elev-1);border-color:var(--accent-border)}
.qtr-studio-w.size-lg{grid-column:span 2}
.qtr-studio-frame.device-mobile .qtr-studio-w.size-lg,.qtr-studio-preview.cols-1 .qtr-studio-w.size-lg{grid-column:auto}
.qtr-studio-w.collapsed .qtr-studio-w-head{border-block-end:0}
.qtr-studio-w-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border-block-end:1px solid var(--hairline)}
.qtr-studio-w-name{display:inline-flex;align-items:center;gap:8px;font-weight:750;font-size:.8rem;min-width:0}
.qtr-studio-w-name svg{width:14px;height:14px;color:var(--accent-text);flex:none}
.qtr-studio-w-pin{width:12px !important;height:12px !important;color:var(--accent-text)}
.qtr-studio-w-tools{display:inline-flex;gap:0;flex:none}
.qtr-studio-w-tools button{border:0;background:transparent;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px;display:inline-flex;align-items:center;gap:2px}
.qtr-studio-w-tools button:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-text)}
.qtr-studio-w-tools button.on{color:var(--accent-text)}
.qtr-studio-w-tools .danger:hover{background:var(--qtr-danger-soft);color:var(--qtr-danger)}
.qtr-studio-w-tools svg{width:14px;height:14px}
.qtr-studio-w-tools em{font-size:.58rem;font-weight:800;font-style:normal;letter-spacing:.02em}
.qtr-studio-w-body{padding:11px}
.qtr-studio-preview.density-compact .qtr-studio-w-body{padding:8px}
.qtr-studio-preview.density-spacious .qtr-studio-w-body{padding:15px}
/* widget stubs (representative preview content) */
.qtr-studio-stub-line,.qtr-studio-stub-msg{height:9px;border-radius:5px;background:color-mix(in srgb,var(--text-muted) 22%,transparent);margin-block:6px}
.qtr-studio-stub-msg.short,.qtr-studio-stub-list .short{width:60%}
.qtr-studio-stub-list{display:grid;gap:7px}.qtr-studio-stub-list span{height:11px;border-radius:6px;background:color-mix(in srgb,var(--accent) 16%,transparent)}
.qtr-studio-stub-quote{font-size:1.1rem;color:var(--text-muted);font-weight:700;padding:6px 2px}
.qtr-studio-stub-chips{display:flex;gap:6px}.qtr-studio-stub-chips span{flex:1;height:26px;border-radius:8px;background:color-mix(in srgb,var(--accent) 12%,transparent)}
.qtr-studio-stub-tl{display:flex;flex-direction:column;gap:7px}.qtr-studio-stub-tl i{height:8px;width:80%;border-radius:5px;background:color-mix(in srgb,var(--text-muted) 20%,transparent)}
.qtr-studio-stub-stat b{font-size:1.8rem;font-weight:850;color:var(--accent-text)}
.qtr-studio-stub-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.qtr-studio-stub-grid span{aspect-ratio:1;border-radius:9px;background:color-mix(in srgb,var(--accent) 12%,transparent)}
.qtr-studio-stub-rows{display:grid;gap:6px}.qtr-studio-stub-rows span{height:10px;border-radius:5px;background:color-mix(in srgb,var(--text-muted) 18%,transparent)}
.qtr-studio-tray{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-block-start:16px;padding-block-start:14px;border-block-start:1px dashed var(--hairline)}
.qtr-studio-tray-label{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:700;color:var(--text-muted)}
.qtr-studio-tray-label svg{width:14px;height:14px}
.qtr-studio-tray-item{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px dashed var(--accent-border);border-radius:999px;background:transparent;color:var(--text-secondary);font-size:.78rem;font-weight:650;cursor:pointer}
.qtr-studio-tray-item:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent-text)}
.qtr-studio-tray-item svg{width:13px;height:13px}
.qtr-studio-tray-add{opacity:.7}

.qtr-studio-field{display:grid;gap:7px;margin-block-start:12px}
.qtr-studio-field>span{font-size:.78rem;font-weight:700;color:var(--text-secondary)}
.qtr-studio-seg{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:var(--shell-surface);border:1px solid var(--hairline);flex-wrap:wrap}
.qtr-studio-seg button{border:0;background:transparent;color:var(--text-secondary);font-weight:700;font-size:.76rem;padding:6px 11px;border-radius:7px;cursor:pointer}
.qtr-studio-seg button:hover{color:var(--accent-text)}
.qtr-studio-seg button.on{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-text)}
.qtr-studio-select{width:100%;padding:9px 11px;border:1px solid var(--hairline);border-radius:10px;background:var(--shell-surface);color:var(--text-primary);font-size:.83rem;font-family:inherit}
.qtr-studio-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.qtr-studio-favs,.qtr-studio-favobjs{display:flex;flex-wrap:wrap;gap:6px;margin-block-start:8px}
.qtr-studio-fav{border:1px solid var(--hairline);background:var(--shell-surface);color:var(--text-secondary);font-size:.76rem;font-weight:650;padding:6px 11px;border-radius:999px;cursor:pointer}
.qtr-studio-fav:hover{border-color:var(--accent-border);color:var(--accent-text)}
.qtr-studio-fav.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-text)}
.qtr-studio-favobj{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:7px 10px;border:1px solid var(--hairline);border-radius:10px;background:var(--shell-surface)}
.qtr-studio-favobj span{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qtr-studio-favobj span svg{width:13px;height:13px;color:var(--accent-text);flex:none}
.qtr-studio-favobj button{border:0;background:transparent;color:var(--text-muted);cursor:pointer;padding:3px;border-radius:6px;flex:none}
.qtr-studio-favobj button:hover{background:var(--qtr-danger-soft);color:var(--qtr-danger)}
.qtr-studio-favobj svg{width:14px;height:14px}
.qtr-studio-summary ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:0}
.qtr-studio-summary li{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-block-end:1px solid var(--hairline);font-size:.8rem}
.qtr-studio-summary li:last-child{border-block-end:0}
.qtr-studio-summary li span{color:var(--text-secondary)}
.qtr-studio-summary li b{font-weight:800;color:var(--accent-text)}
[dir="ltr"] .qtr-studio-w-tools button i[data-lucide="chevron-up"],[dir="ltr"] .qtr-studio-w-tools button i[data-lucide="chevron-down"]{transform:none}

@media (max-width:1180px){
  .qtr-studio-body{grid-template-columns:1fr}
  .qtr-studio-rail,.qtr-studio-inspector{position:static}
  .qtr-studio-rail{order:2}.qtr-studio-canvas{order:1}.qtr-studio-inspector{order:3}
}
@media (max-width:640px){
  .qtr-studio-topbar-lead{gap:12px}
  .qtr-studio-scopes{width:100%;overflow-x:auto}
  .qtr-studio-preview{grid-template-columns:1fr}
  .qtr-studio-w.size-lg{grid-column:auto}
}

/* --- 11L.1 Workspace home — Studio-driven layout --------------------------- */
.qtr-ws-grid.density-compact{gap:10px}
.qtr-ws-grid.density-spacious{gap:24px}
.qtr-ws-grid.cols-1{grid-template-columns:1fr}
/* Fixed column choices now auto-arrange to the screen: they fill with as many
   comfortable columns as fit (the chosen count is a density hint, not a hard cap),
   so the home never over-stretches on wide screens nor cramps on medium ones. */
.qtr-ws-grid.cols-2{grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr))}
.qtr-ws-grid.cols-3{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
.qtr-ws-widget.size-lg{grid-column:span 2}
.qtr-ws-widget.size-sm .qtr-ws-widget-body{font-size:.95em}
.qtr-ws-grid.cols-1 .qtr-ws-widget.size-lg{grid-column:auto}
/* On very wide displays keep the auto default from spreading too thin. */
@media (min-width:2000px){.qtr-ws-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}}
.qtr-ws-widget.is-collapsed .qtr-ws-widget-head{padding-block-end:13px}
.qtr-ws-widget-pin{width:12px !important;height:12px !important;color:var(--accent-text);vertical-align:middle}
@media (max-width:720px){.qtr-ws-grid.cols-2,.qtr-ws-grid.cols-3{grid-template-columns:1fr}.qtr-ws-widget.size-lg{grid-column:auto}}

/* Workspace Studio — "applied" confirmation pulse on the preview frame */
@keyframes qtrStudioApplied{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 45%,transparent);border-color:var(--accent)}100%{box-shadow:0 0 0 10px transparent;border-color:var(--hairline)}}
.qtr-studio-frame.qtr-applied{animation:qtrStudioApplied .7s var(--ease,ease)}
@media (prefers-reduced-motion:reduce){.qtr-studio-frame.qtr-applied{animation:none}}

/* --- 11M. Notification Intelligence Center --------------------------------- */
.qtr-nc{display:flex;flex-direction:column;gap:0;min-block-size:calc(100vh - var(--qtr-header-height,64px) - 40px)}
.qtr-nc-topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:4px 2px 16px;border-block-end:1px solid var(--hairline);margin-block-end:18px}
.qtr-nc-title{display:flex;align-items:center;gap:12px}
.qtr-nc-mark{inline-size:40px;block-size:40px;border-radius:12px;display:grid;place-items:center;flex:none;background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 22%,transparent),color-mix(in srgb,var(--accent) 8%,transparent));color:var(--accent-text)}
.qtr-nc-mark svg{width:20px;height:20px}
.qtr-nc-title h1{margin:0;font-size:1.18rem;font-weight:850;letter-spacing:-0.02em}
.qtr-nc-title small{color:var(--text-muted);font-size:.78rem}
.qtr-nc-topstats{display:flex;gap:10px}
.qtr-nc-stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 14px;border-radius:12px;background:var(--surface-secondary);border:1px solid var(--hairline);font-size:.7rem;color:var(--text-muted);font-weight:650}
.qtr-nc-stat b{font-size:1.15rem;font-weight:850;color:var(--text-primary)}
.qtr-nc-stat.danger b{color:var(--qtr-danger)} .qtr-nc-stat.warn b{color:var(--qtr-warning)}
.qtr-nc-body{display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px;align-items:start}
.qtr-nc-rail{display:grid;gap:16px;align-content:start;position:sticky;inset-block-start:12px}
.qtr-nc-states{display:grid;gap:3px}
.qtr-nc-state{display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;background:transparent;color:var(--text-secondary);font-weight:700;font-size:.86rem;padding:9px 12px;border-radius:10px;cursor:pointer}
.qtr-nc-state span{display:inline-flex;align-items:center;gap:9px}
.qtr-nc-state svg{width:16px;height:16px}
.qtr-nc-state:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent-text)}
.qtr-nc-state.active{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-text)}
.qtr-nc-state em{font-style:normal;font-size:.72rem;font-weight:800;background:var(--surface-secondary);padding:1px 8px;border-radius:999px}
.qtr-nc-state.active em{background:var(--accent);color:var(--on-accent,#fff)}
.qtr-nc-railsec{border-block-start:1px solid var(--hairline);padding-block-start:12px}
.qtr-nc-railsec h4{margin:0 0 8px;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:800}
.qtr-nc-cat{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:0;background:transparent;color:var(--text-secondary);font-weight:650;font-size:.82rem;padding:7px 10px;border-radius:9px;cursor:pointer}
.qtr-nc-cat span{display:inline-flex;align-items:center;gap:8px;min-width:0}
.qtr-nc-cat svg{width:14px;height:14px;color:var(--accent-text);flex:none}
.qtr-nc-cat:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}
.qtr-nc-cat.active{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-text)}
.qtr-nc-cat em{font-style:normal;font-size:.7rem;color:var(--text-muted);flex:none}
.qtr-nc-levels{display:flex;flex-wrap:wrap;gap:5px}
.qtr-nc-lvl{border:1px solid var(--hairline);background:var(--shell-surface);color:var(--text-secondary);font-size:.74rem;font-weight:700;padding:5px 10px;border-radius:999px;cursor:pointer}
.qtr-nc-lvl.active{border-color:transparent;color:#fff}
.qtr-nc-lvl.level-critical.active{background:var(--qtr-danger)} .qtr-nc-lvl.level-high.active{background:#e8590c}
.qtr-nc-lvl.level-medium.active{background:var(--qtr-warning);color:var(--qtr-black,#111)} .qtr-nc-lvl.level-low.active{background:var(--accent)} .qtr-nc-lvl.level-info.active{background:var(--text-muted)}
.qtr-nc-hint{color:var(--text-muted);font-size:.78rem}

.qtr-nc-main-col{display:flex;flex-direction:column;gap:14px;min-width:0}
.qtr-nc-intel{display:grid;gap:8px}
.qtr-nc-intel-card{display:flex;align-items:center;gap:12px;width:100%;padding:11px 13px;border:1px solid var(--hairline);border-radius:13px;background:var(--surface-secondary);cursor:pointer;text-align:start;border-inline-start:3px solid var(--accent)}
.qtr-nc-intel-card:hover{transform:translateY(-1px);border-color:var(--accent-border)}
.qtr-nc-intel-card.sev-critical{border-inline-start-color:var(--qtr-danger)} .qtr-nc-intel-card.sev-warning{border-inline-start-color:var(--qtr-warning)} .qtr-nc-intel-card.sev-high{border-inline-start-color:#e8590c}
.qtr-nc-intel-ic{inline-size:34px;block-size:34px;border-radius:10px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-text)}
.qtr-nc-intel-card.sev-critical .qtr-nc-intel-ic{background:var(--qtr-danger-soft);color:var(--qtr-danger)} .qtr-nc-intel-card.sev-warning .qtr-nc-intel-ic{background:var(--qtr-warning-soft);color:var(--qtr-warning)}
.qtr-nc-intel-ic svg{width:17px;height:17px}
.qtr-nc-intel-txt{display:grid;flex:1;min-width:0}.qtr-nc-intel-txt b{font-size:.86rem;font-weight:750}.qtr-nc-intel-txt small{color:var(--text-muted);font-size:.76rem}
.qtr-nc-intel-go{width:16px;height:16px;color:var(--text-muted);flex:none}[dir="ltr"] .qtr-nc-intel-go{transform:rotate(180deg)}

.qtr-nc-groups{border:1px solid var(--hairline);border-radius:14px;background:var(--surface-secondary);padding:12px}
.qtr-nc-groups-h{display:flex;align-items:center;gap:8px;font-weight:800;font-size:.82rem;margin-block-end:10px}
.qtr-nc-groups-h svg{width:15px;height:15px;color:var(--accent-text)}
.qtr-nc-groups-row{display:flex;gap:8px;flex-wrap:wrap}
.qtr-nc-group{display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid var(--hairline);border-radius:11px;background:var(--shell-surface);cursor:pointer;text-align:start}
.qtr-nc-group:hover{border-color:var(--accent-border)} .qtr-nc-group.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--shell-surface))}
.qtr-nc-group-ic{inline-size:28px;block-size:28px;border-radius:8px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--accent) 11%,transparent);color:var(--accent-text)}
.qtr-nc-group-ic svg{width:14px;height:14px}
.qtr-nc-group b{font-size:.82rem;font-weight:750;display:block}.qtr-nc-group small{color:var(--text-muted);font-size:.7rem}
.qtr-nc-group.clear{color:var(--text-muted);font-size:.78rem;font-weight:700}.qtr-nc-group.clear svg{width:13px;height:13px}

.qtr-nc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.qtr-nc-search{display:flex;align-items:center;gap:8px;flex:1;min-width:180px;padding:8px 12px;border:1px solid var(--hairline);border-radius:11px;background:var(--surface-secondary)}
.qtr-nc-search svg{width:15px;height:15px;color:var(--text-muted)}
.qtr-nc-search input{border:0;background:transparent;outline:none;width:100%;color:var(--text-primary);font-size:.86rem;font-family:inherit}
.qtr-nc-toolbar-r{display:flex;gap:8px}
.qtr-nc-bulk{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 12px;border-radius:12px;background:color-mix(in srgb,var(--accent) 8%,var(--surface-secondary));border:1px solid var(--accent-border)}
.qtr-nc-bulk>span{font-weight:800;font-size:.8rem;margin-inline-end:6px}
.qtr-nc-bulk button{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--hairline);background:var(--shell-surface);color:var(--text-secondary);font-size:.76rem;font-weight:650;padding:5px 10px;border-radius:8px;cursor:pointer}
.qtr-nc-bulk button:hover{border-color:var(--accent-border);color:var(--accent-text)}
.qtr-nc-bulk button.danger:hover{border-color:var(--qtr-danger);color:var(--qtr-danger)}
.qtr-nc-bulk button svg{width:13px;height:13px}
.qtr-nc-bulk-clear{margin-inline-start:auto}

.qtr-nc-list{display:grid;gap:9px}
.qtr-nc-item{display:grid;grid-template-columns:auto auto 1fr auto;gap:11px;align-items:start;padding:12px 13px;border:1px solid var(--hairline);border-radius:14px;background:var(--surface-secondary);position:relative;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}
.qtr-nc-item:hover{box-shadow:var(--elev-1);border-color:var(--accent-border)}
.qtr-nc-item.is-unread{background:var(--shell-surface)}
.qtr-nc-item.is-unread::before{content:"";position:absolute;inset-block:14px auto;inset-inline-start:0;inline-size:3px;block-size:26px;border-radius:0 3px 3px 0;background:var(--accent)}
.qtr-nc-item.level-critical.is-unread::before{background:var(--qtr-danger)} .qtr-nc-item.level-high.is-unread::before{background:#e8590c}
.qtr-nc-item.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--shell-surface))}
.qtr-nc-check{display:flex;align-items:center;padding-block-start:2px}
.qtr-nc-check input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}
.qtr-nc-ic{inline-size:36px;block-size:36px;border-radius:10px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--accent) 11%,transparent);color:var(--accent-text)}
.qtr-nc-ic.level-critical{background:var(--qtr-danger-soft);color:var(--qtr-danger)} .qtr-nc-ic.level-high{background:color-mix(in srgb,#e8590c 15%,transparent);color:#e8590c}
.qtr-nc-ic.level-medium{background:var(--qtr-warning-soft);color:var(--qtr-warning)}
.qtr-nc-ic svg{width:18px;height:18px}
.qtr-nc-main{min-width:0;cursor:pointer;display:grid;gap:5px}
.qtr-nc-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qtr-nc-head b{font-weight:750;font-size:.9rem}
.qtr-nc-tag{width:12px;height:12px;color:var(--accent-text)}.qtr-nc-tag.flag{color:var(--qtr-warning)}
.qtr-nc-when{color:var(--text-muted);font-size:.72rem;margin-inline-start:auto}
.qtr-nc-main p{margin:0;color:var(--text-secondary);font-size:.82rem;line-height:1.5}
.qtr-nc-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.qtr-nc-chip{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;font-weight:650;color:var(--text-muted);background:var(--surface-secondary);padding:2px 9px;border-radius:999px}
.qtr-nc-item.is-unread .qtr-nc-chip{background:var(--surface-secondary)}
.qtr-nc-chip svg{width:11px;height:11px}
.qtr-nc-chip.warn{color:var(--qtr-warning)} .qtr-nc-chip.ok{color:var(--qtr-success)}
.qtr-nc-level{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:999px}
.qtr-nc-level[data-l="critical"]{background:var(--qtr-danger-soft);color:var(--qtr-danger)} .qtr-nc-level[data-l="high"]{background:color-mix(in srgb,#e8590c 15%,transparent);color:#e8590c}
.qtr-nc-level[data-l="medium"]{background:var(--qtr-warning-soft);color:var(--qtr-warning)} .qtr-nc-level[data-l="low"]{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-text)} .qtr-nc-level[data-l="info"]{background:var(--surface-secondary);color:var(--text-muted)}
.qtr-nc-actions{display:flex;gap:7px;flex-wrap:wrap;margin-block-start:3px}
.qtr-nc-act{border:1px solid var(--hairline);background:var(--shell-surface);color:var(--text-secondary);font-size:.78rem;font-weight:700;padding:6px 14px;border-radius:9px;cursor:pointer}
.qtr-nc-act[data-style="primary"]{background:var(--accent);color:var(--on-accent,#fff);border-color:transparent}
.qtr-nc-act[data-style="danger"]{border-color:var(--qtr-danger);color:var(--qtr-danger)}
.qtr-nc-act:hover{transform:translateY(-1px)}
.qtr-nc-tools{display:flex;gap:1px;flex:none;align-self:start}
.qtr-nc-tools button{border:0;background:transparent;color:var(--text-muted);cursor:pointer;padding:5px;border-radius:7px;display:grid;place-items:center}
.qtr-nc-tools button:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-text)}
.qtr-nc-tools button.on{color:var(--accent-text)} .qtr-nc-tools .danger:hover{background:var(--qtr-danger-soft);color:var(--qtr-danger)}
.qtr-nc-tools svg{width:15px;height:15px}
.qtr-nc-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:56px 20px;color:var(--text-muted);text-align:center}
.qtr-nc-empty svg{width:34px;height:34px;opacity:.6} .qtr-nc-empty h3{margin:4px 0 0;font-size:1rem;color:var(--text-secondary)} .qtr-nc-empty p{margin:0;font-size:.82rem}
.qtr-nc-empty.sm{padding:28px 16px}.qtr-nc-empty.sm svg{width:24px;height:24px}

/* 360 drawer */
.qtr-nc-drawer-scrim{position:fixed;inset:0;background:var(--qtr-overlay,rgba(0,0,0,.35));z-index:60;animation:qtrFade .2s ease}
.qtr-nc-drawer{position:fixed;inset-block:0;inset-inline-end:0;inline-size:min(430px,92vw);background:var(--shell-surface,var(--surface-primary));border-inline-start:1px solid var(--hairline);box-shadow:var(--elev-2,-12px 0 40px rgba(0,0,0,.18));z-index:61;padding:18px;overflow-y:auto;animation:qtrSlideIn .25s var(--ease,ease)}
[dir="ltr"] .qtr-nc-drawer{inset-inline-end:auto;inset-inline-start:0;border-inline-start:0;border-inline-end:1px solid var(--hairline);animation:qtrSlideInL .25s var(--ease,ease)}
@keyframes qtrSlideIn{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
@keyframes qtrSlideInL{from{transform:translateX(-30px);opacity:0}to{transform:none;opacity:1}}
@keyframes qtrFade{from{opacity:0}to{opacity:1}}
.qtr-nc-drawer-h{display:flex;align-items:center;gap:11px;margin-block-end:12px}
.qtr-nc-drawer-h b{font-size:.98rem;font-weight:800;display:block}.qtr-nc-drawer-h small{color:var(--text-muted);font-size:.76rem}
.qtr-nc-drawer-h>div{flex:1;min-width:0}
.qtr-nc-drawer-x{margin-inline-start:auto;border:0;background:transparent;color:var(--text-muted);cursor:pointer;padding:5px;border-radius:8px}
.qtr-nc-drawer-x:hover{background:var(--surface-secondary)}
.qtr-nc-drawer-body{color:var(--text-secondary);font-size:.88rem;line-height:1.6;margin:0 0 14px}
.qtr-nc-drawer-t{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:800;margin:18px 0 10px;color:var(--text-secondary)}
.qtr-nc-drawer-t svg{width:14px;height:14px;color:var(--accent-text)}
.qtr-nc-timeline{list-style:none;margin:0;padding:0;display:grid;gap:0}
.qtr-nc-timeline li{display:flex;gap:11px;padding:6px 0;position:relative}
.qtr-nc-timeline li:not(:last-child)::after{content:"";position:absolute;inset-inline-start:4px;inset-block-start:18px;block-size:calc(100% - 8px);inline-size:2px;background:var(--hairline)}
.qtr-nc-tl-dot{inline-size:10px;block-size:10px;border-radius:50%;background:var(--accent);margin-block-start:5px;flex:none;z-index:1}
.qtr-nc-timeline b{font-size:.82rem;font-weight:700}.qtr-nc-timeline small{display:block;color:var(--text-muted);font-size:.72rem}
.qtr-nc-related{display:grid;gap:6px}
.qtr-nc-rel{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--hairline);border-radius:10px;background:var(--surface-secondary);font-size:.82rem}
.qtr-nc-rel svg{width:14px;height:14px;color:var(--accent-text);flex:none}.qtr-nc-rel span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qtr-nc-rel small{color:var(--text-muted);font-size:.7rem}

/* header bell badge + dropdown panel */
#qtr-notifications{position:relative}
.qtr-nc-badge{position:absolute;inset-block-start:-2px;inset-inline-end:-2px;min-inline-size:16px;block-size:16px;padding:0 4px;border-radius:999px;background:var(--qtr-danger);color:#fff;font-size:.62rem;font-weight:800;display:grid;place-items:center;line-height:1;box-shadow:0 0 0 2px var(--shell-surface,#fff)}
.qtr-nc-panel{position:fixed;z-index:70;inline-size:320px;max-block-size:70vh;overflow:hidden;display:flex;flex-direction:column;background:var(--shell-surface,var(--surface-primary));border:1px solid var(--hairline);border-radius:16px;box-shadow:var(--elev-2,0 18px 48px rgba(0,0,0,.2));animation:qtrFade .15s ease}
.qtr-nc-panel-h{display:flex;align-items:center;gap:9px;padding:13px 15px;border-block-end:1px solid var(--hairline)}
.qtr-nc-panel-h b{font-size:.92rem;font-weight:800}.qtr-nc-panel-h span{color:var(--text-muted);font-size:.74rem}
.qtr-nc-panel-h button{margin-inline-start:auto;border:0;background:transparent;color:var(--text-muted);cursor:pointer;padding:5px;border-radius:7px}
.qtr-nc-panel-h button:hover{background:var(--surface-secondary);color:var(--accent-text)}
.qtr-nc-panel-h svg{width:15px;height:15px}
.qtr-nc-panel-list{overflow-y:auto;padding:6px;display:grid;gap:2px}
.qtr-nc-panel-item{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;cursor:pointer;text-align:start;padding:9px 10px;border-radius:11px}
.qtr-nc-panel-item:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.qtr-nc-panel-item.unread{background:color-mix(in srgb,var(--accent) 5%,transparent)}
.qtr-nc-panel-item .qtr-nc-ic{inline-size:30px;block-size:30px}.qtr-nc-panel-item .qtr-nc-ic svg{width:15px;height:15px}
.qtr-nc-panel-txt{display:grid;min-width:0;flex:1}.qtr-nc-panel-txt b{font-size:.82rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qtr-nc-panel-txt small{color:var(--text-muted);font-size:.7rem}
.qtr-nc-panel-all{display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-block-start:1px solid var(--hairline);background:transparent;color:var(--accent-text);font-weight:750;font-size:.84rem;padding:12px;cursor:pointer}
.qtr-nc-panel-all:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.qtr-nc-panel-all svg{width:15px;height:15px}

@media (max-width:900px){.qtr-nc-body{grid-template-columns:1fr}.qtr-nc-rail{position:static}.qtr-nc-states{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}

/* --- 11N. Global Search Intelligence Center (command palette) -------------- */
.qtr-gs-overlay{position:fixed;inset:0;z-index:120;display:flex;align-items:flex-start;justify-content:center}
.qtr-gs-scrim{position:absolute;inset:0;background:color-mix(in srgb,var(--qtr-black,#0b1020) 46%,transparent);backdrop-filter:blur(3px);animation:qtrFade .16s ease}
.qtr-gs-panel{position:relative;margin-block-start:11vh;inline-size:min(680px,94vw);max-block-size:74vh;display:flex;flex-direction:column;background:var(--shell-surface,var(--surface-primary));border:1px solid var(--hairline);border-radius:18px;box-shadow:0 32px 80px rgba(0,0,0,.32);overflow:hidden;animation:qtrGsIn .2s cubic-bezier(.2,.8,.2,1)}
@keyframes qtrGsIn{from{transform:translateY(-14px) scale(.98);opacity:0}to{transform:none;opacity:1}}
.qtr-gs-inputbar{display:flex;align-items:center;gap:12px;padding:16px 18px;border-block-end:1px solid var(--hairline)}
.qtr-gs-inputbar>svg{width:20px;height:20px;color:var(--text-muted);flex:none}
.qtr-gs-inputbar input{flex:1;border:0;background:transparent;outline:none;font-size:1.05rem;color:var(--text-primary);font-family:inherit}
.qtr-gs-esc{font-size:.66rem;font-weight:700;color:var(--text-muted);background:var(--surface-secondary);border:1px solid var(--hairline);border-radius:6px;padding:2px 7px}
.qtr-gs-body{display:flex;min-block-size:0;flex:1;overflow:hidden}
.qtr-gs-results{flex:1;overflow-y:auto;padding:8px}
.qtr-gs-preview{inline-size:230px;border-inline-start:1px solid var(--hairline);padding:16px;display:none}
.qtr-gs-preview.show{display:block}
.qtr-gs-group{margin-block-end:6px}
.qtr-gs-group-h{display:flex;align-items:center;gap:7px;padding:8px 10px 5px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}
.qtr-gs-group-h svg{width:12px;height:12px}
.qtr-gs-clear{margin-inline-start:auto;border:0;background:transparent;color:var(--accent-text);cursor:pointer;font-size:.68rem;font-weight:700;text-transform:none;letter-spacing:0}
.qtr-gs-item{display:flex;align-items:center;gap:11px;width:100%;border:0;background:transparent;cursor:pointer;text-align:start;padding:9px 11px;border-radius:11px;position:relative}
.qtr-gs-item:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}
.qtr-gs-item.sel{background:color-mix(in srgb,var(--accent) 13%,transparent)}
.qtr-gs-ic{inline-size:34px;block-size:34px;border-radius:9px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--accent) 11%,transparent);color:var(--accent-text);overflow:hidden}
.qtr-gs-ic svg{width:17px;height:17px}
.qtr-gs-photo{inline-size:34px;block-size:34px;border-radius:9px;object-fit:cover}
.qtr-gs-txt{display:grid;min-width:0;flex:1}
.qtr-gs-txt b{font-weight:650;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qtr-gs-txt small{color:var(--text-muted);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qtr-gs-status{font-size:.66rem;font-weight:700;color:var(--text-muted);background:var(--surface-secondary);padding:2px 8px;border-radius:999px;flex:none}
.qtr-gs-kbd{font-size:.64rem;font-weight:800;color:var(--accent-text);background:color-mix(in srgb,var(--accent) 12%,transparent);padding:2px 8px;border-radius:6px;flex:none;text-transform:uppercase;letter-spacing:.03em}
.qtr-gs-enter{opacity:0;color:var(--text-muted);flex:none}.qtr-gs-enter svg{width:15px;height:15px}
.qtr-gs-item.sel .qtr-gs-enter{opacity:1}
.qtr-gs-chips{display:flex;flex-wrap:wrap;gap:6px;padding:2px 10px 8px}
.qtr-gs-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--hairline);background:var(--surface-secondary);color:var(--text-secondary);font-size:.78rem;font-weight:600;padding:5px 11px;border-radius:999px;cursor:pointer}
.qtr-gs-chip:hover{border-color:var(--accent-border);color:var(--accent-text)}.qtr-gs-chip svg{width:12px;height:12px}
.qtr-gs-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 20px;color:var(--text-muted);text-align:center}
.qtr-gs-empty svg{width:32px;height:32px;opacity:.6}.qtr-gs-empty h3{margin:2px 0 0;font-size:.98rem;color:var(--text-secondary)}.qtr-gs-empty p{margin:0;font-size:.82rem}
.qtr-gs-prev-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}
.qtr-gs-prev-ic{inline-size:56px;block-size:56px;border-radius:15px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-text);margin-block-end:8px;overflow:hidden}
.qtr-gs-prev-ic svg{width:26px;height:26px}.qtr-gs-prev-ic .qtr-gs-photo{inline-size:56px;block-size:56px;border-radius:15px}
.qtr-gs-prev-card h3{margin:0;font-size:.95rem;font-weight:800}
.qtr-gs-prev-card p{margin:0;color:var(--text-muted);font-size:.8rem}
.qtr-gs-prev-meta{display:grid;gap:6px;margin:12px 0;width:100%}
.qtr-gs-prev-meta span{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;color:var(--text-secondary);justify-content:center}
.qtr-gs-prev-meta svg{width:13px;height:13px;color:var(--accent-text)}
.qtr-gs-prev-actions{display:grid;gap:7px;width:100%;margin-block-start:4px}
.qtr-gs-prev-actions .qtr-btn{width:100%;justify-content:center}
.qtr-gs-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 16px;border-block-start:1px solid var(--hairline);background:var(--surface-secondary)}
.qtr-gs-hints{font-size:.72rem;color:var(--text-muted)}
.qtr-gs-hints kbd{font-size:.66rem;font-weight:700;color:var(--text-secondary);background:var(--shell-surface);border:1px solid var(--hairline);border-radius:5px;padding:1px 6px;margin-inline-end:2px}
.qtr-gs-count{font-size:.72rem;color:var(--text-muted);font-weight:650}
@media (max-width:620px){.qtr-gs-preview{display:none !important}.qtr-gs-panel{margin-block-start:6vh;max-block-size:84vh}}

/* full-page search center */
.qtr-gs-page{max-inline-size:1080px;margin-inline:auto;display:flex;flex-direction:column;gap:20px}
.qtr-gs-page-hero{display:flex;align-items:center;gap:14px;padding-block-end:4px}
.qtr-gs-page-mark{inline-size:44px;block-size:44px;border-radius:13px;display:grid;place-items:center;flex:none;background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 22%,transparent),color-mix(in srgb,var(--accent) 8%,transparent));color:var(--accent-text)}
.qtr-gs-page-mark svg{width:22px;height:22px}
.qtr-gs-page-hero h1{margin:0;font-size:1.3rem;font-weight:850;letter-spacing:-0.02em}
.qtr-gs-page-hero p{margin:3px 0 0;color:var(--text-muted);font-size:.86rem}
.qtr-gs-page-open{display:flex;align-items:center;gap:12px;width:100%;padding:15px 18px;border:1px solid var(--hairline);border-radius:15px;background:var(--surface-secondary);cursor:text;color:var(--text-muted);font-size:1rem;transition:border-color var(--dur-fast) var(--ease)}
.qtr-gs-page-open:hover{border-color:var(--accent-border)}
.qtr-gs-page-open svg{width:19px;height:19px}.qtr-gs-page-open span{flex:1;text-align:start}
.qtr-gs-page-open kbd{font-size:.72rem;font-weight:800;color:var(--text-secondary);background:var(--shell-surface);border:1px solid var(--hairline);border-radius:7px;padding:3px 9px}
.qtr-gs-page-sec h2{display:flex;align-items:center;gap:8px;font-size:.92rem;font-weight:800;margin:0 0 11px}
.qtr-gs-page-sec h2 svg{width:16px;height:16px;color:var(--accent-text)}
.qtr-gs-page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.qtr-gs-page-card{display:flex;align-items:center;gap:11px;padding:12px 13px;border:1px solid var(--hairline);border-radius:13px;background:var(--surface-secondary);cursor:pointer;text-align:start;transition:transform var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.qtr-gs-page-card:hover{transform:translateY(-2px);border-color:var(--accent-border)}
.qtr-gs-anal{display:grid;grid-template-columns:auto 1fr 1fr;gap:16px;align-items:start;border:1px solid var(--hairline);border-radius:15px;background:var(--surface-secondary);padding:18px}
.qtr-gs-anal-stat{display:flex;flex-direction:column;gap:2px;padding-inline-end:16px;border-inline-end:1px solid var(--hairline)}
.qtr-gs-anal-stat b{font-size:2rem;font-weight:850;color:var(--accent-text);line-height:1}.qtr-gs-anal-stat small{color:var(--text-muted);font-size:.74rem}
.qtr-gs-anal-col h3{display:flex;align-items:center;gap:7px;font-size:.8rem;font-weight:800;margin:0 0 8px}
.qtr-gs-anal-col h3 svg{width:14px;height:14px;color:var(--accent-text)}
.qtr-gs-anal-col ol{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.qtr-gs-anal-col li{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.82rem;padding:5px 0;border-block-end:1px solid var(--hairline)}
.qtr-gs-anal-col li:last-child{border-block-end:0}.qtr-gs-anal-col li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qtr-gs-anal-col li em{font-style:normal;font-weight:800;color:var(--text-muted)}
.qtr-gs-hint{color:var(--text-muted);font-size:.8rem;margin:0}
@media (max-width:720px){.qtr-gs-anal{grid-template-columns:1fr}.qtr-gs-anal-stat{border-inline-end:0;border-block-end:1px solid var(--hairline);padding-block-end:12px}}

/* --- 11O. Quick Actions Intelligence Center (productivity engine) ---------- */
.qtr-qa-overlay{position:fixed;inset:0;z-index:118;display:flex;align-items:flex-start;justify-content:center}
.qtr-qa-scrim{position:absolute;inset:0;background:color-mix(in srgb,var(--qtr-black,#0b1020) 46%,transparent);backdrop-filter:blur(3px);animation:qtrFade .16s ease}
.qtr-qa-panel{position:relative;margin-block-start:11vh;inline-size:min(640px,94vw);max-block-size:74vh;display:flex;flex-direction:column;background:var(--shell-surface,var(--surface-primary));border:1px solid var(--hairline);border-radius:18px;box-shadow:0 32px 80px rgba(0,0,0,.32);overflow:hidden;animation:qtrGsIn .2s cubic-bezier(.2,.8,.2,1)}
.qtr-qa-inputbar{display:flex;align-items:center;gap:12px;padding:16px 18px;border-block-end:1px solid var(--hairline)}
.qtr-qa-inputbar>svg{width:20px;height:20px;color:var(--accent-text);flex:none}
.qtr-qa-inputbar input{flex:1;border:0;background:transparent;outline:none;font-size:1.05rem;color:var(--text-primary);font-family:inherit}
.qtr-qa-esc{font-size:.66rem;font-weight:700;color:var(--text-muted);background:var(--surface-secondary);border:1px solid var(--hairline);border-radius:6px;padding:2px 7px}
.qtr-qa-results{flex:1;overflow-y:auto;padding:8px}
.qtr-qa-group{margin-block-end:6px}
.qtr-qa-group-h{display:flex;align-items:center;gap:7px;padding:8px 10px 5px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}
.qtr-qa-group-h svg{width:12px;height:12px}
.qtr-qa-group.recs .qtr-qa-group-h{color:var(--accent-text)}
.qtr-qa-item{display:flex;align-items:center;gap:11px;width:100%;border:0;background:transparent;cursor:pointer;text-align:start;padding:9px 11px;border-radius:11px;position:relative}
.qtr-qa-item:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}
.qtr-qa-item.sel{background:color-mix(in srgb,var(--accent) 13%,transparent)}
.qtr-qa-item.rec{border:1px solid var(--hairline);border-inline-start:3px solid var(--accent);margin-block-end:4px}
.qtr-qa-item.rec.sev-high{border-inline-start-color:#e8590c} .qtr-qa-item.rec.sev-warning{border-inline-start-color:var(--qtr-warning)}
.qtr-qa-ic{inline-size:34px;block-size:34px;border-radius:9px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--accent) 11%,transparent);color:var(--accent-text)}
.qtr-qa-ic svg{width:17px;height:17px}
.qtr-qa-txt{display:grid;min-width:0;flex:1}
.qtr-qa-txt b{font-weight:650;font-size:.9rem;display:flex;align-items:center;gap:6px}
.qtr-qa-txt small{color:var(--text-muted);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qtr-qa-soon{font-style:normal;font-size:.6rem;font-weight:800;color:var(--qtr-warning);background:var(--qtr-warning-soft);padding:1px 6px;border-radius:5px;text-transform:uppercase}
.qtr-qa-sc{font-size:.64rem;font-weight:800;color:var(--text-muted);background:var(--surface-secondary);border:1px solid var(--hairline);border-radius:6px;padding:2px 7px;flex:none;letter-spacing:.04em}
.qtr-qa-tools{display:inline-flex;gap:1px;flex:none;opacity:0}
.qtr-qa-item:hover .qtr-qa-tools,.qtr-qa-item.sel .qtr-qa-tools{opacity:1}
.qtr-qa-tools button{border:0;background:transparent;color:var(--text-muted);cursor:pointer;padding:5px;border-radius:7px;display:grid;place-items:center}
.qtr-qa-tools button:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-text)}
.qtr-qa-tools button.on{color:var(--accent-text)}.qtr-qa-tools svg{width:14px;height:14px}
.qtr-qa-enter{opacity:0;color:var(--text-muted);flex:none}.qtr-qa-enter svg{width:15px;height:15px}
.qtr-qa-item.sel .qtr-qa-enter{opacity:1}
.qtr-qa-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 20px;color:var(--text-muted);text-align:center}
.qtr-qa-empty svg{width:30px;height:30px;opacity:.6}.qtr-qa-empty h3{margin:2px 0 0;font-size:.95rem;color:var(--text-secondary)}
.qtr-qa-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 16px;border-block-start:1px solid var(--hairline);background:var(--surface-secondary)}
.qtr-qa-hints{font-size:.72rem;color:var(--text-muted)}
.qtr-qa-hints kbd{font-size:.66rem;font-weight:700;color:var(--text-secondary);background:var(--shell-surface);border:1px solid var(--hairline);border-radius:5px;padding:1px 6px;margin-inline-end:2px}
.qtr-qa-count{font-size:.72rem;color:var(--text-muted);font-weight:650}

/* full-page center */
.qtr-qa-page{max-inline-size:1080px;margin-inline:auto;display:flex;flex-direction:column;gap:20px}
.qtr-qa-page-hero{display:flex;align-items:center;gap:14px}
.qtr-qa-page-mark{inline-size:44px;block-size:44px;border-radius:13px;display:grid;place-items:center;flex:none;background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 22%,transparent),color-mix(in srgb,var(--accent) 8%,transparent));color:var(--accent-text)}
.qtr-qa-page-mark svg{width:22px;height:22px}
.qtr-qa-page-hero h1{margin:0;font-size:1.3rem;font-weight:850;letter-spacing:-0.02em}
.qtr-qa-page-hero p{margin:3px 0 0;color:var(--text-muted);font-size:.86rem}
.qtr-qa-page-launch{margin-inline-start:auto;flex:none}
.qtr-qa-page-sec h2{display:flex;align-items:center;gap:8px;font-size:.92rem;font-weight:800;margin:0 0 11px}
.qtr-qa-page-sec h2 svg{width:16px;height:16px;color:var(--accent-text)}
.qtr-qa-page-recs{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.qtr-qa-rec-card{display:flex;align-items:center;gap:11px;padding:12px 13px;border:1px solid var(--hairline);border-radius:13px;background:var(--surface-secondary);cursor:pointer;text-align:start;border-inline-start:3px solid var(--accent)}
.qtr-qa-rec-card:hover{transform:translateY(-1px);border-color:var(--accent-border)}
.qtr-qa-rec-card.sev-high{border-inline-start-color:#e8590c} .qtr-qa-rec-card.sev-warning{border-inline-start-color:var(--qtr-warning)}
.qtr-qa-rec-ic{inline-size:36px;block-size:36px;border-radius:10px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-text)}
.qtr-qa-rec-ic svg{width:18px;height:18px}
.qtr-qa-rec-txt{display:grid;flex:1;min-width:0}.qtr-qa-rec-txt b{font-size:.86rem;font-weight:750}.qtr-qa-rec-txt small{color:var(--text-muted);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qtr-qa-rec-go{width:16px;height:16px;color:var(--text-muted);flex:none}[dir="rtl"] .qtr-qa-rec-go{transform:scaleX(-1)}
.qtr-qa-page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.qtr-qa-page-card{display:flex;align-items:center;gap:6px;padding:6px;border:1px solid var(--hairline);border-radius:13px;background:var(--surface-secondary);transition:transform var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.qtr-qa-page-card:hover{transform:translateY(-2px);border-color:var(--accent-border)}
.qtr-qa-page-card.is-hidden{opacity:.55}
.qtr-qa-page-run{display:flex;align-items:center;gap:10px;flex:1;min-width:0;border:0;background:transparent;cursor:pointer;text-align:start;padding:6px 7px}
.qtr-qa-page-tools{display:inline-flex;gap:0;flex:none;padding-inline-end:4px}
.qtr-qa-page-tools button{border:0;background:transparent;color:var(--text-muted);cursor:pointer;padding:5px;border-radius:7px;display:grid;place-items:center}
.qtr-qa-page-tools button:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-text)}
.qtr-qa-page-tools button.on{color:var(--accent-text)}.qtr-qa-page-tools svg{width:14px;height:14px}
.qtr-qa-anal{display:grid;grid-template-columns:auto 1fr 1fr;gap:16px;align-items:start;border:1px solid var(--hairline);border-radius:15px;background:var(--surface-secondary);padding:18px}
.qtr-qa-anal-stat{display:flex;flex-direction:column;gap:2px;padding-inline-end:16px;border-inline-end:1px solid var(--hairline)}
.qtr-qa-anal-stat b{font-size:2rem;font-weight:850;color:var(--accent-text);line-height:1}.qtr-qa-anal-stat small{color:var(--text-muted);font-size:.74rem}
.qtr-qa-anal-col h3{display:flex;align-items:center;gap:7px;font-size:.8rem;font-weight:800;margin:0 0 8px}
.qtr-qa-anal-col h3 svg{width:14px;height:14px;color:var(--accent-text)}
.qtr-qa-anal-col ol{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.qtr-qa-anal-col li{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.82rem;padding:5px 0;border-block-end:1px solid var(--hairline)}
.qtr-qa-anal-col li:last-child{border-block-end:0}.qtr-qa-anal-col li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qtr-qa-anal-col li em{font-style:normal;font-weight:800;color:var(--text-muted)}
.qtr-qa-hint{color:var(--text-muted);font-size:.8rem;margin:0}
@media (max-width:720px){.qtr-qa-anal{grid-template-columns:1fr}.qtr-qa-anal-stat{border-inline-end:0;border-block-end:1px solid var(--hairline);padding-block-end:12px}.qtr-qa-page-launch{display:none}}

/* --- 11P. Digital Identity Center (QIP) ----------------------------------- */
.qtr-id{max-inline-size:1120px;margin-inline:auto;display:flex;flex-direction:column;gap:18px}
.qtr-id-hero{display:flex;align-items:center;gap:18px;padding:20px;border:1px solid var(--hairline);border-radius:var(--radius-card,18px);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--surface-secondary)),var(--surface-secondary))}
.qtr-id-hero-photo{position:relative;flex:none}
.qtr-id-photo{inline-size:84px;block-size:84px;border-radius:22px;object-fit:cover;border:2px solid var(--shell-surface);box-shadow:var(--elev-1)}
.qtr-id-photo-edit{position:absolute;inset-block-end:-4px;inset-inline-end:-4px;inline-size:28px;block-size:28px;border-radius:50%;border:2px solid var(--shell-surface);background:var(--accent);color:var(--on-accent,#fff);cursor:pointer;display:grid;place-items:center}
.qtr-id-photo-edit svg{width:14px;height:14px}
.qtr-id-hero-main{flex:1;min-width:0}
.qtr-id-hero-main h1{margin:0;font-size:1.5rem;font-weight:850;letter-spacing:-0.02em}
.qtr-id-hero-sub{display:flex;flex-wrap:wrap;gap:14px;margin-block-start:6px}
.qtr-id-hero-sub span{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:.84rem}
.qtr-id-hero-sub svg{width:14px;height:14px;color:var(--accent-text)}
.qtr-id-hero-side{display:flex;flex-direction:column;gap:8px;align-items:flex-end;flex:none}
.qtr-id-trust{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:999px;font-weight:800;font-size:.82rem}
.qtr-id-trust svg{width:15px;height:15px}
.qtr-id-trust.lvl-high{background:var(--qtr-success-soft);color:var(--qtr-success)}
.qtr-id-trust.lvl-established{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-text)}
.qtr-id-trust.lvl-basic{background:var(--qtr-warning-soft);color:var(--qtr-warning)}
.qtr-id-trust.lvl-unverified{background:var(--qtr-danger-soft);color:var(--qtr-danger)}
.qtr-id-status{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:700;color:var(--text-muted)}
.qtr-id-status svg{width:12px;height:12px}.qtr-id-status.s-active{color:var(--qtr-success)}
.qtr-id-body{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:start}
.qtr-id-nav{display:grid;gap:3px;position:sticky;inset-block-start:12px}
.qtr-id-navitem{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--text-secondary);font-weight:700;font-size:.86rem;padding:10px 13px;border-radius:11px;cursor:pointer;text-align:start}
.qtr-id-navitem svg{width:16px;height:16px}
.qtr-id-navitem:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent-text)}
.qtr-id-navitem.active{background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent-text)}
.qtr-id-content{display:grid;gap:16px;min-width:0}
.qtr-id-panel{border:1px solid var(--hairline);border-radius:var(--radius-card,16px);background:var(--surface-secondary);padding:17px}
.qtr-id-panel h3{margin:0 0 12px;font-size:.92rem;font-weight:800;display:flex;align-items:center;gap:8px}
.qtr-id-panel h3 svg{width:16px;height:16px;color:var(--accent-text)}
.qtr-id-hint{color:var(--text-muted);font-size:.8rem;line-height:1.6;margin:0 0 12px}
.qtr-id-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.qtr-id-stat{display:flex;flex-direction:column;align-items:center;gap:3px;padding:15px 10px;border:1px solid var(--hairline);border-radius:14px;background:var(--surface-secondary)}
.qtr-id-stat svg{width:18px;height:18px;color:var(--accent-text)}
.qtr-id-stat b{font-size:1.5rem;font-weight:850}.qtr-id-stat small{color:var(--text-muted);font-size:.72rem}
.qtr-id-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}

/* trust meter */
.qtr-id-trust-meter{display:grid;gap:12px}
.qtr-id-trust-score{display:flex;align-items:baseline;gap:8px}
.qtr-id-trust-score b{font-size:2.4rem;font-weight:850;line-height:1;color:var(--accent-text)}
.qtr-id-trust-score small{color:var(--text-muted);font-weight:700}
.qtr-id-trust-bar{block-size:8px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 18%,transparent);overflow:hidden}
.qtr-id-trust-bar span{display:block;block-size:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 60%,var(--qtr-success)));transition:inline-size .4s var(--ease)}
.qtr-id-trust-factors{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:5px}
.qtr-id-trust-factors li{display:flex;align-items:center;gap:8px;font-size:.84rem;color:var(--text-muted)}
.qtr-id-trust-factors li.met{color:var(--text-primary)}
.qtr-id-trust-factors li svg{width:15px;height:15px}
.qtr-id-trust-factors li.met svg{color:var(--qtr-success)}

/* digital card visual */
.qtr-id-dcard{border-radius:18px;padding:18px;color:#fff;background:linear-gradient(135deg,#0f172a,#1e293b 60%,#0b3b47);box-shadow:0 18px 44px rgba(15,23,42,.28);position:relative;overflow:hidden}
.qtr-id-dcard::after{content:"";position:absolute;inset-block-start:-40%;inset-inline-end:-10%;inline-size:200px;block-size:200px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 50%,transparent),transparent 70%);opacity:.5}
.qtr-id-dcard.revoked{filter:grayscale(.7);opacity:.85}
.qtr-id-dcard-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}
.qtr-id-dcard-brand{display:inline-flex;align-items:center;gap:7px;font-weight:850;font-size:1rem}
.qtr-id-dcard-brand svg{width:18px;height:18px}
.qtr-id-dcard-kind{font-size:.66rem;opacity:.75;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.qtr-id-dcard-body{display:flex;align-items:center;gap:14px;margin-block:16px 14px;position:relative;z-index:1}
.qtr-id-dcard-img{inline-size:60px;block-size:60px;border-radius:14px;object-fit:cover;border:2px solid rgba(255,255,255,.28)}
.qtr-id-dcard-info{flex:1;min-width:0;display:grid;gap:2px}
.qtr-id-dcard-info b{font-size:1.05rem;font-weight:800}
.qtr-id-dcard-info small{opacity:.82;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qtr-id-dcard-qr{inline-size:64px;block-size:64px;border-radius:10px;background:#fff;display:grid;place-items:center;flex:none;overflow:hidden}
.qtr-id-dcard-qr img{inline-size:60px;block-size:60px}
.qtr-id-dcard-trust{font-size:.72rem;font-weight:800;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.16);flex:none}
.qtr-id-dcard-foot{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1;font-family:ui-monospace,monospace;font-size:.82rem;letter-spacing:.04em}
.qtr-id-dcard-badge{font-family:inherit;font-size:.66rem;font-weight:800;padding:2px 9px;border-radius:999px;letter-spacing:.02em}
.qtr-id-dcard-badge.ok{background:rgba(34,197,94,.24);color:#bbf7d0}
.qtr-id-dcard-badge.rev{background:rgba(239,68,68,.24);color:#fecaca}
.qtr-id-dcard.no-card{background:var(--surface-secondary);color:var(--text-muted);box-shadow:none;border:1px dashed var(--hairline)}
.qtr-id-dcard.no-card::after{display:none}
.qtr-id-dcard-empty{display:flex;flex-direction:column;align-items:center;gap:9px;padding:22px;text-align:center}
.qtr-id-dcard-empty svg{width:30px;height:30px;opacity:.6}.qtr-id-dcard-empty p{margin:0;font-size:.85rem}
.qtr-id-card-full{max-inline-size:440px}
.qtr-id-card-mini .qtr-id-dcard-qr{display:none}
.qtr-id-verify-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-block-end:14px}
.qtr-id-verify-url{flex:1;min-inline-size:200px;padding:9px 12px;border:1px solid var(--hairline);border-radius:10px;background:var(--shell-surface);color:var(--text-secondary);font-size:.8rem;font-family:ui-monospace,monospace}
.qtr-id-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-block-start:14px}

/* facts / prefs / sessions / security */
.qtr-id-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.qtr-id-facts>div{border:1px solid var(--hairline);border-radius:12px;padding:10px 12px;background:var(--shell-surface)}
.qtr-id-facts dt{font-size:.72rem;color:var(--text-muted);margin-block-end:4px}
.qtr-id-facts dd{margin:0;font-weight:700;font-size:.86rem;overflow-wrap:anywhere}
.qtr-id-prefs{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.qtr-id-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;align-items:end}
.qtr-id-form .qtr-id-field{align-items:stretch}
.qtr-id-form .qtr-btn{grid-column:1/-1;justify-self:start}
.qtr-id-facts-ro{margin-block-start:14px}
@media (max-width:600px){.qtr-id-form{grid-template-columns:1fr}}
.qtr-id-field{display:grid;gap:6px}.qtr-id-field>span{font-size:.76rem;font-weight:700;color:var(--text-secondary)}
.qtr-id-select,.qtr-id-input{padding:9px 11px;border:1px solid var(--hairline);border-radius:10px;background:var(--shell-surface);color:var(--text-primary);font-size:.85rem;font-family:inherit;min-inline-size:160px}
.qtr-id-sessions{display:grid;gap:8px}
.qtr-id-session{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--hairline);border-radius:12px;background:var(--shell-surface)}
.qtr-id-session.current{border-color:var(--accent-border);background:color-mix(in srgb,var(--accent) 5%,var(--shell-surface))}
.qtr-id-session-ic{inline-size:36px;block-size:36px;border-radius:10px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--accent) 11%,transparent);color:var(--accent-text)}
.qtr-id-session-ic svg{width:18px;height:18px}
.qtr-id-session-txt{flex:1;min-width:0}.qtr-id-session-txt b{font-size:.86rem;font-weight:700}
.qtr-id-session-txt b em{font-style:normal;font-size:.66rem;font-weight:800;color:var(--accent-text);background:color-mix(in srgb,var(--accent) 12%,transparent);padding:1px 7px;border-radius:6px;margin-inline-start:6px}
.qtr-id-session-txt small{display:block;color:var(--text-muted);font-size:.74rem}
.qtr-id-sec{display:grid;gap:8px}
.qtr-id-sec-row{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--hairline);border-radius:12px;background:var(--shell-surface)}
.qtr-id-sec-ic{inline-size:34px;block-size:34px;border-radius:9px;display:grid;place-items:center;flex:none}
.qtr-id-sec-ic.ok{background:var(--qtr-success-soft);color:var(--qtr-success)} .qtr-id-sec-ic.off{background:var(--surface-secondary);color:var(--text-muted)}
.qtr-id-sec-ic svg{width:16px;height:16px}
.qtr-id-sec-row>div{flex:1;min-width:0}.qtr-id-sec-row b{font-size:.86rem;font-weight:700;display:block}.qtr-id-sec-row small{color:var(--text-muted);font-size:.76rem}
.qtr-id-sec-state{font-size:.72rem;font-weight:800;padding:3px 10px;border-radius:999px;flex:none}
.qtr-id-sec-state.ok{background:var(--qtr-success-soft);color:var(--qtr-success)} .qtr-id-sec-state.off{background:var(--surface-secondary);color:var(--text-muted)}
.qtr-id-access-chips{display:flex;flex-wrap:wrap;gap:7px}
.qtr-id-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--hairline);border-radius:999px;background:var(--shell-surface);font-size:.82rem;font-weight:650}
.qtr-id-chip svg{width:13px;height:13px;color:var(--accent-text)}
.qtr-id-future{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px dashed var(--accent-border);border-radius:13px;background:color-mix(in srgb,var(--accent) 4%,transparent)}
.qtr-id-future svg{width:20px;height:20px;color:var(--accent-text);flex:none;margin-block-start:2px}
.qtr-id-future b{font-size:.88rem}.qtr-id-future p{margin:4px 0 0;color:var(--text-muted);font-size:.8rem;line-height:1.6}
.qtr-id-timeline{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.qtr-id-timeline li{display:flex;gap:11px;padding:7px 0}
.qtr-id-tl-dot{inline-size:9px;block-size:9px;border-radius:50%;background:var(--accent);margin-block-start:5px;flex:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.qtr-id-timeline b{font-weight:700;font-size:.84rem}.qtr-id-timeline small{display:block;color:var(--text-muted);font-size:.72rem}
@media (max-width:900px){.qtr-id-body{grid-template-columns:1fr}.qtr-id-nav{position:static;grid-auto-flow:column;overflow-x:auto}.qtr-id-cols{grid-template-columns:1fr}.qtr-id-facts{grid-template-columns:1fr}}

/* --- 11P.1 Portrait printable Identity Badge ------------------------------ */
.qtr-id-cardwrap{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
.qtr-id-card-side{flex:1;min-inline-size:180px;display:grid;gap:8px;align-content:start}
.qtr-btn.block{width:100%;justify-content:center}
/* CR80 vertical ID card — exact 54×85.6mm proportions (aspect 540/856) */
.qtr-idbadge{inline-size:min(340px,86vw);aspect-ratio:540/856;max-inline-size:100%;margin:0 auto;border-radius:22px;padding:20px 17px 16px;text-align:center;color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(165deg,#0b1220,#13233a 52%,#0b3b47);box-shadow:0 22px 52px rgba(11,18,32,.32);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.qtr-idbadge::before{content:"";position:absolute;inset-block-start:-30%;inset-inline-end:-20%;inline-size:220px;block-size:220px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 55%,transparent),transparent 70%);opacity:.45;pointer-events:none}
.qtr-idbadge.revoked{filter:grayscale(.65);opacity:.9}
.qtr-idbadge.no-card{aspect-ratio:auto;display:block}
.qtr-idbadge.mini{inline-size:min(210px,60vw);padding:14px 12px 12px;border-radius:16px}
.qtr-idbadge-head{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}
.qtr-idbadge-brand{display:inline-flex;align-items:center;gap:6px;font-weight:850;font-size:.86rem;letter-spacing:.08em}
.qtr-idbadge-brand svg{width:16px;height:16px}
.qtr-idbadge-kind{font-size:.58rem;font-weight:800;opacity:.7;letter-spacing:.14em}
.qtr-idbadge-org{position:relative;z-index:1;font-size:.72rem;opacity:.85;font-weight:700;margin-block-start:2px}
.qtr-idbadge-photo{position:relative;z-index:1;margin:10px auto 8px;inline-size:96px;block-size:96px}
.qtr-idbadge.mini .qtr-idbadge-photo{inline-size:60px;block-size:60px;margin:8px auto 6px}
.qtr-idbadge-img{inline-size:100%;block-size:100%;border-radius:24px;object-fit:cover;border:3px solid rgba(255,255,255,.3);box-shadow:0 8px 20px rgba(0,0,0,.3)}
.qtr-idbadge-name{position:relative;z-index:1;font-size:1.2rem;font-weight:850;line-height:1.2}
.qtr-idbadge.mini .qtr-idbadge-name{font-size:.92rem}
.qtr-idbadge-role{position:relative;z-index:1;font-size:.82rem;opacity:.86;font-weight:600;margin-block-start:2px}
.qtr-idbadge-meta{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-block:10px 4px}
.qtr-idbadge-meta>span{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;opacity:.9}
.qtr-idbadge-meta svg{width:12px;height:12px}
.qtr-idbadge-trust{background:rgba(255,255,255,.16);padding:3px 10px;border-radius:999px}
.qtr-idbadge-trust.lvl-high{background:rgba(34,197,94,.28)} .qtr-idbadge-trust.lvl-unverified{background:rgba(239,68,68,.26)}
.qtr-idbadge-qr{position:relative;z-index:1;inline-size:150px;block-size:150px;margin:10px auto 6px;border-radius:14px;background:#fff;display:grid;place-items:center;overflow:hidden;padding:9px}
.qtr-idbadge-qr img{inline-size:100%;block-size:100%;image-rendering:pixelated}
.qtr-idbadge-qr-ph{color:#94a3b8}.qtr-idbadge-qr-ph svg{width:56px;height:56px}
.qtr-idbadge-scan{position:relative;z-index:1;font-size:.7rem;opacity:.72;font-weight:700;letter-spacing:.02em;margin-block-end:12px}
.qtr-idbadge-foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-block-start:12px;border-block-start:1px solid rgba(255,255,255,.14)}
.qtr-idbadge-num{font-family:ui-monospace,monospace;font-size:.78rem;letter-spacing:.04em;opacity:.9}
.qtr-idbadge-status{font-size:.6rem;font-weight:800;letter-spacing:.06em;padding:2px 9px;border-radius:999px}
.qtr-idbadge-status.ok{background:rgba(34,197,94,.24);color:#bbf7d0} .qtr-idbadge-status.rev{background:rgba(239,68,68,.26);color:#fecaca}
.qtr-idbadge.no-card{background:var(--surface-secondary);color:var(--text-muted);box-shadow:none;border:1px dashed var(--hairline);block-size:auto}
.qtr-idbadge.no-card::before{display:none}

/* Print — isolate the badge as a physical CR80 ID card (54 × 85.6 mm) */
#qtr-print-root{display:none}
@media print{
  @page{size:54mm 85.6mm;margin:0}
  html,body{background:#fff !important;margin:0 !important;padding:0 !important}
  body.qtr-printing>*:not(#qtr-print-root){display:none !important}
  body.qtr-printing #qtr-print-root{display:block !important;padding:0;margin:0}
  /* 340px design width → 54mm via zoom; keeps layout box exact, no blank page */
  #qtr-print-root .qtr-idbadge{inline-size:340px;aspect-ratio:540/856;zoom:.6;box-shadow:none;margin:0;border-radius:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;page-break-inside:avoid;break-inside:avoid}
}

/* ══ 12T. Certificates & Trust Center (QIP-02) ══════════════════════════════ */
.qtr-trust{display:flex;flex-direction:column;gap:16px}
.qtr-trust-loading{display:flex;align-items:center;gap:10px;justify-content:center;padding:60px 20px;color:var(--text-secondary);font-weight:700}
.qtr-spinner{inline-size:18px;block-size:18px;border:2px solid var(--hairline);border-block-start-color:var(--accent);border-radius:50%;display:inline-block;animation:qtr-spin .7s linear infinite}
@keyframes qtr-spin{to{transform:rotate(360deg)}}
.qtr-trust-hero{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:22px;border:1px solid var(--hairline);border-radius:22px;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 8%,var(--shell-surface)),var(--shell-surface));position:relative;overflow:hidden}
.qtr-trust-hero .qtr-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:.74rem;font-weight:800;color:var(--accent);letter-spacing:.02em}
.qtr-trust-hero h1{margin:8px 0 4px;font-size:1.5rem;font-weight:850}
.qtr-trust-hero p{margin:0;color:var(--text-secondary);max-inline-size:52ch;font-size:.9rem}
.qtr-trust-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-block-start:14px}
/* meter */
.qtr-trust-meter{display:flex;align-items:center;gap:16px}
.qtr-trust-ring{position:relative;inline-size:118px;block-size:118px;flex:none}
.qtr-trust-ring svg{inline-size:118px;block-size:118px;transform:rotate(-90deg)}
.qtr-trust-ring circle{fill:none;stroke-width:10}
.qtr-trust-ring .bg{stroke:var(--hairline)}
.qtr-trust-ring .fg{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset 1s cubic-bezier(.22,1,.36,1)}
.qtr-trust-meter.lvl-high .fg{stroke:#22c55e}.qtr-trust-meter.lvl-established .fg{stroke:var(--accent)}.qtr-trust-meter.lvl-basic .fg{stroke:#f59e0b}.qtr-trust-meter.lvl-unverified .fg{stroke:#ef4444}
.qtr-trust-ring-num{position:absolute;inset:0;display:grid;place-content:center;text-align:center;line-height:1}
.qtr-trust-ring-num b{font-size:1.7rem;font-weight:850}.qtr-trust-ring-num small{color:var(--text-muted);font-size:.7rem}
.qtr-trust-meta{display:flex;flex-direction:column;gap:8px}
.qtr-trust-badge{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:.78rem;padding:4px 11px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);inline-size:fit-content}
.qtr-trust-badge.lvl-high{background:rgba(34,197,94,.16);color:#16a34a}.qtr-trust-badge.lvl-unverified{background:rgba(239,68,68,.16);color:#dc2626}.qtr-trust-badge.lvl-basic{background:rgba(245,158,11,.16);color:#d97706}
.qtr-trust-factors{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.qtr-trust-factors li{display:flex;align-items:center;gap:6px;font-size:.76rem;font-weight:600;color:var(--text-secondary)}
.qtr-trust-factors li.met{color:var(--text-primary)}.qtr-trust-factors li.off{opacity:.55}
.qtr-trust-factors li.met svg{color:#22c55e}.qtr-trust-factors svg{inline-size:13px;block-size:13px}
/* kpis */
.qtr-trust-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px}
.qtr-trust-kpi{border:1px solid var(--hairline);border-radius:14px;padding:12px;text-align:center;background:var(--shell-surface)}
.qtr-trust-kpi b{display:block;font-size:1.5rem;font-weight:850;line-height:1}
.qtr-trust-kpi span{font-size:.72rem;color:var(--text-muted);font-weight:700}
.qtr-trust-kpi.ok b{color:#16a34a}.qtr-trust-kpi.warn b{color:#d97706}.qtr-trust-kpi.danger b{color:#dc2626}.qtr-trust-kpi.muted b{color:var(--text-muted)}
/* alerts */
.qtr-trust-alerts{display:grid;gap:8px}
.qtr-trust-alert{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;font-weight:700;font-size:.84rem;border:1px solid}
.qtr-trust-alert.lvl-high{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.3);color:#dc2626}
.qtr-trust-alert.lvl-medium{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.3);color:#b45309}
.qtr-trust-alert svg{inline-size:17px;block-size:17px}
/* panels */
.qtr-trust-panel{border:1px solid var(--hairline);border-radius:18px;padding:18px;background:var(--shell-surface)}
.qtr-trust-panel>h3{margin:0 0 14px;font-size:.98rem;font-weight:800;display:flex;align-items:center;gap:8px}
.qtr-trust-panel>h3 svg{inline-size:17px;block-size:17px;color:var(--accent)}
.qtr-trust-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.qtr-trust-filters{display:flex;gap:8px;flex-wrap:wrap;margin-block-end:14px}
/* cert grid + cards */
.qtr-cert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.qtr-cert-card{text-align:start;border:1px solid var(--hairline);border-radius:16px;padding:14px;background:var(--shell-surface);cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:transform .12s,border-color .12s,box-shadow .12s;font-family:inherit;color:inherit}
.qtr-cert-card:hover{transform:translateY(-2px);border-color:var(--accent-border);box-shadow:0 10px 26px rgba(11,18,32,.1)}
.qtr-cert-card-top{display:flex;align-items:center;justify-content:space-between}
.qtr-cert-ic{inline-size:34px;block-size:34px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}
.qtr-cert-ic.lg{inline-size:52px;block-size:52px;border-radius:14px}.qtr-cert-ic.lg svg{inline-size:26px;block-size:26px}
.qtr-cert-ic svg{inline-size:18px;block-size:18px}
.qtr-cert-num{font-family:ui-monospace,monospace;font-weight:800;font-size:.92rem;letter-spacing:.02em}
.qtr-cert-sub{font-size:.78rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qtr-cert-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.74rem;color:var(--text-muted);font-weight:700;margin-block-start:2px}
.qtr-cert-foot span{display:inline-flex;align-items:center;gap:5px}.qtr-cert-foot svg{inline-size:13px;block-size:13px}
.qtr-cert-ca{color:var(--accent)!important}
.qtr-cert-card.st-revoked,.qtr-cert-card.st-expired{opacity:.72}
.qtr-cert-status{font-size:.66rem;font-weight:800;padding:3px 9px;border-radius:999px;letter-spacing:.02em;background:var(--surface-secondary);color:var(--text-secondary)}
.qtr-cert-status.lg{font-size:.78rem;padding:5px 13px}
.qtr-cert-status.st-active{background:rgba(34,197,94,.16);color:#16a34a}
.qtr-cert-status.st-suspended{background:rgba(245,158,11,.16);color:#d97706}
.qtr-cert-status.st-revoked{background:rgba(239,68,68,.16);color:#dc2626}
.qtr-cert-status.st-expired{background:var(--surface-secondary);color:var(--text-muted)}
.qtr-cert-status.st-renewed{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}
/* lists */
.qtr-trust-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.qtr-trust-list li>button,.qtr-trust-list li{inline-size:100%}
.qtr-trust-list button{display:flex;align-items:center;gap:10px;inline-size:100%;text-align:start;border:1px solid var(--hairline);border-radius:12px;padding:9px 12px;background:var(--shell-surface);cursor:pointer;font-family:inherit;color:inherit}
.qtr-trust-list button:hover{border-color:var(--accent-border)}
.qtr-trust-list li>span:only-child,.qtr-trust-list li{align-items:center}
.qtr-trust-list li>*{vertical-align:middle}
.qtr-trust-list b{font-family:ui-monospace,monospace;font-size:.82rem}
.qtr-trust-list small{color:var(--text-muted);font-size:.74rem;margin-inline-start:auto;text-align:end}
.qtr-trust-list li:not(:has(button)){display:flex;align-items:center;gap:10px;border:1px solid var(--hairline);border-radius:12px;padding:9px 12px;background:var(--shell-surface)}
/* timeline */
.qtr-trust-timeline{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.qtr-trust-timeline li{display:flex;gap:12px;padding:6px 0;position:relative}
.qtr-tl-dot{inline-size:11px;block-size:11px;border-radius:50%;background:var(--accent);margin-block-start:4px;flex:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.qtr-tl-dot.revoked{background:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.18)}.qtr-tl-dot.suspended{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.18)}.qtr-tl-dot.expired{background:#94a3b8;box-shadow:none}
.qtr-trust-timeline b{font-size:.84rem;font-weight:700}.qtr-trust-timeline small{display:block;color:var(--text-muted);font-size:.72rem}
.qtr-trust-timeline em{display:block;color:var(--text-secondary);font-size:.76rem;font-style:normal;margin-block-start:2px}
/* recs */
.qtr-trust-recs{display:grid;gap:8px}
.qtr-trust-rec{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px dashed var(--hairline);border-radius:12px}
.qtr-trust-rec svg{inline-size:18px;block-size:18px;color:var(--accent);flex:none}
.qtr-trust-rec span{flex:1;font-size:.86rem;font-weight:600}
.qtr-trust-hbtns{margin-block-start:12px}
/* certificate 360 */
.qtr-cert360-top{margin-block-end:2px}
.qtr-cert360-hero{display:flex;align-items:center;gap:16px;padding:20px;border:1px solid var(--hairline);border-radius:20px;background:var(--shell-surface)}
.qtr-cert360-hero.st-revoked{border-color:rgba(239,68,68,.35)}.qtr-cert360-hero.st-suspended{border-color:rgba(245,158,11,.35)}
.qtr-cert360-hid{flex:1}.qtr-cert360-hid h1{margin:0;font-family:ui-monospace,monospace;font-size:1.3rem;font-weight:850}
.qtr-cert360-hid p{margin:3px 0 0;color:var(--text-secondary);font-size:.86rem}
.qtr-cert360-actions{display:flex;gap:8px;flex-wrap:wrap;padding:12px 2px}
.qtr-cert360-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.qtr-cert360-trust{display:flex;justify-content:center}
.qtr-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.qtr-facts>div{border:1px solid var(--hairline);border-radius:12px;padding:9px 11px;background:var(--surface-secondary)}
.qtr-facts dt{font-size:.7rem;color:var(--text-muted);margin-block-end:3px}
.qtr-facts dd{margin:0;font-weight:700;font-size:.82rem;overflow-wrap:anywhere}
.qtr-deps{display:grid;gap:8px}
.qtr-dep{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600}
.qtr-dep svg{inline-size:15px;block-size:15px;color:var(--accent)}
.qtr-dep button{background:none;border:none;cursor:pointer;color:var(--accent);font-family:ui-monospace,monospace;padding:0;font-size:.82rem}
/* modal */
.qtr-modal-back{position:fixed;inset:0;background:rgba(11,18,32,.5);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:1200;padding:18px;animation:qtr-fade .15s ease}
@keyframes qtr-fade{from{opacity:0}}
.qtr-modal{inline-size:min(460px,100%);max-block-size:min(90vh,900px);display:flex;flex-direction:column;background:var(--shell-surface);border:1px solid var(--hairline);border-radius:20px;box-shadow:0 30px 80px rgba(11,18,32,.4);overflow:hidden}
.qtr-modal-head{flex:none;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-block-end:1px solid var(--hairline)}
.qtr-modal-head h3{margin:0;font-size:1rem;font-weight:800}
.qtr-modal-x{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:8px}.qtr-modal-x:hover{background:var(--surface-secondary)}
.qtr-modal-body{flex:1 1 auto;min-block-size:0;overflow-y:auto;padding:18px;display:grid;gap:12px}
.qtr-modal-foot{flex:none;display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-block-start:1px solid var(--hairline);background:var(--shell-surface)}
.qtr-form-grid{display:grid;gap:12px}
.qtr-validate-result{min-block-size:8px}
.qtr-validate-verdict{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;font-weight:800}
.qtr-validate-verdict.ok{background:rgba(34,197,94,.12);color:#16a34a}.qtr-validate-verdict.bad{background:rgba(239,68,68,.1);color:#dc2626}
.qtr-validate-verdict svg{inline-size:26px;block-size:26px}
.qtr-validate-verdict small{display:block;color:var(--text-secondary);font-weight:600;font-size:.78rem}
.qtr-empty.sm{padding:18px}
@media (max-width:820px){.qtr-trust-hero{grid-template-columns:1fr}.qtr-trust-2col,.qtr-cert360-grid,.qtr-facts{grid-template-columns:1fr}.qtr-trust-hero-r{display:flex;justify-content:center}}

/* ══ 13S. Digital Signature Center (QIP-03) ═════════════════════════════════ */
.qtr-sig{display:flex;flex-direction:column;gap:16px}
.qtr-sig-loading{display:flex;align-items:center;gap:10px;justify-content:center;padding:60px 20px;color:var(--text-secondary);font-weight:700}
.qtr-sig-hero{padding:22px;border:1px solid var(--hairline);border-radius:22px;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 8%,var(--shell-surface)),var(--shell-surface))}
.qtr-sig-hero .qtr-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:.74rem;font-weight:800;color:var(--accent)}
.qtr-sig-hero h1{margin:8px 0 4px;font-size:1.5rem;font-weight:850}
.qtr-sig-hero p{margin:0;color:var(--text-secondary);max-inline-size:56ch;font-size:.9rem}
.qtr-sig-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-block-start:14px}
.qtr-sig-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px}
.qtr-sig-kpi{border:1px solid var(--hairline);border-radius:14px;padding:12px;text-align:center;background:var(--shell-surface)}
.qtr-sig-kpi b{display:block;font-size:1.5rem;font-weight:850;line-height:1}
.qtr-sig-kpi span{font-size:.72rem;color:var(--text-muted);font-weight:700}
.qtr-sig-kpi.ok b{color:#16a34a}.qtr-sig-kpi.warn b{color:#d97706}.qtr-sig-kpi.danger b{color:#dc2626}
.qtr-sig-panel{border:1px solid var(--hairline);border-radius:18px;padding:18px;background:var(--shell-surface)}
.qtr-sig-panel>h3{margin:0 0 14px;font-size:.98rem;font-weight:800;display:flex;align-items:center;gap:8px}
.qtr-sig-panel>h3 svg{inline-size:17px;block-size:17px;color:var(--accent)}
.qtr-sig-list{display:grid;gap:9px}
.qtr-sig-row{display:flex;align-items:center;gap:12px;inline-size:100%;text-align:start;border:1px solid var(--hairline);border-radius:14px;padding:12px 14px;background:var(--shell-surface);cursor:pointer;font-family:inherit;color:inherit;transition:border-color .12s,transform .12s}
.qtr-sig-row:hover{border-color:var(--accent-border);transform:translateY(-1px)}
.qtr-sig-row-ic{inline-size:34px;block-size:34px;border-radius:10px;flex:none;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}
.qtr-sig-row-ic svg{inline-size:17px;block-size:17px}
.qtr-sig-row-main{flex:1;min-inline-size:0}
.qtr-sig-row-main b{display:block;font-weight:800;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qtr-sig-row-main small{color:var(--text-muted);font-size:.74rem}
.qtr-sig-progress{block-size:6px;border-radius:99px;background:var(--surface-secondary);overflow:hidden;margin-block-start:6px}
.qtr-sig-progress>span{display:block;block-size:100%;background:var(--accent);border-radius:99px;transition:width .5s}
.qtr-sig-progress.lg{block-size:9px}
.qtr-sig-count{font-family:ui-monospace,monospace;font-weight:800;font-size:.82rem;color:var(--text-secondary)}
.qtr-sig-badge{font-size:.66rem;font-weight:800;padding:3px 9px;border-radius:999px;background:var(--surface-secondary);color:var(--text-secondary);white-space:nowrap}
.qtr-sig-badge.lg{font-size:.78rem;padding:5px 13px}
.qtr-sig-badge.st-completed{background:rgba(34,197,94,.16);color:#16a34a}
.qtr-sig-badge.st-requested,.qtr-sig-badge.st-in_progress{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}
.qtr-sig-badge.st-rejected,.qtr-sig-badge.st-revoked{background:rgba(239,68,68,.16);color:#dc2626}
.qtr-sig-badge.st-cancelled,.qtr-sig-badge.st-expired,.qtr-sig-badge.st-archived{background:var(--surface-secondary);color:var(--text-muted)}
.qtr-sig-badge.st-draft{background:rgba(245,158,11,.16);color:#d97706}
/* 360 */
.qtr-sig-top{margin-block-end:2px}
.qtr-sig-360hero{display:flex;align-items:center;gap:16px;padding:20px;border:1px solid var(--hairline);border-radius:20px;background:var(--shell-surface)}
.qtr-sig-360hero.st-rejected,.qtr-sig-360hero.st-revoked{border-color:rgba(239,68,68,.3)}
.qtr-sig-360hero.st-completed{border-color:rgba(34,197,94,.3)}
.qtr-sig-360ic{inline-size:52px;block-size:52px;border-radius:14px;flex:none;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}
.qtr-sig-360ic svg{inline-size:26px;block-size:26px}
.qtr-sig-360h{flex:1}.qtr-sig-360h h1{margin:0;font-size:1.25rem;font-weight:850}
.qtr-sig-360h p{margin:3px 0 0;color:var(--text-secondary);font-size:.84rem}
.qtr-sig-progresswrap{border:1px solid var(--hairline);border-radius:14px;padding:14px 16px;background:var(--shell-surface)}
.qtr-sig-progresslabels{display:flex;gap:16px;flex-wrap:wrap;margin-block-start:8px;font-size:.8rem;color:var(--text-secondary);font-weight:600}
.qtr-sig-progresslabels .danger{color:#dc2626}
.qtr-sig-actions{display:flex;gap:8px;flex-wrap:wrap;padding:4px 2px}
.qtr-sig-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.qtr-sig-sec{border:1px solid var(--hairline);border-radius:16px;padding:16px;background:var(--shell-surface)}
.qtr-sig-sec>h3{margin:0 0 12px;font-size:.92rem;font-weight:800;display:flex;align-items:center;gap:8px}
.qtr-sig-sec>h3 svg{inline-size:16px;block-size:16px;color:var(--accent)}
.qtr-signers{display:grid;gap:8px}
.qtr-signer{display:flex;align-items:center;gap:11px;padding:9px 11px;border:1px solid var(--hairline);border-radius:12px;background:var(--surface-secondary)}
.qtr-signer.st-signed{border-color:color-mix(in srgb,#22c55e 40%,var(--hairline))}
.qtr-signer.st-rejected{border-color:color-mix(in srgb,#ef4444 40%,var(--hairline))}
.qtr-signer-ord{inline-size:24px;block-size:24px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--shell-surface);border:1px solid var(--hairline);font-weight:800;font-size:.76rem}
.qtr-signer-main{flex:1;min-inline-size:0}.qtr-signer-main b{font-weight:700;font-size:.86rem}
.qtr-signer-main small{display:block;color:var(--text-muted);font-size:.73rem}
.qtr-signer-ic{inline-size:26px;block-size:26px;border-radius:8px;flex:none;display:grid;place-items:center;color:var(--text-muted)}
.qtr-signer-ic.st-signed{color:#16a34a}.qtr-signer-ic.st-rejected{color:#dc2626}.qtr-signer-ic.st-requested,.qtr-signer-ic.st-viewed{color:var(--accent)}
.qtr-signer-ic svg{inline-size:16px;block-size:16px}
.qtr-sig-hint{margin:10px 0 0;font-size:.8rem;color:var(--text-secondary);display:flex;align-items:center;gap:6px}
.qtr-sig-hint.danger{color:#dc2626}.qtr-sig-hint svg{inline-size:15px;block-size:15px}
.qtr-sig-hash{margin-block-start:10px}.qtr-sig-hash span{display:block;font-size:.7rem;color:var(--text-muted);margin-block-end:4px}
.qtr-sig-hash code{font-family:ui-monospace,monospace;font-size:.74rem;word-break:break-all;color:var(--text-secondary)}
.qtr-sig-msg{margin:10px 0 0;padding:10px 12px;background:var(--surface-secondary);border-radius:10px;font-size:.84rem}
.qtr-sig-certs{display:flex;flex-wrap:wrap;gap:8px;margin-block-end:8px}
.qtr-sig-timeline{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.qtr-sig-timeline li{display:flex;gap:12px;padding:6px 0}
.qtr-sig-timeline b{font-size:.84rem;font-weight:700}.qtr-sig-timeline small{display:block;color:var(--text-muted);font-size:.72rem}
.qtr-sig-timeline em{display:block;color:var(--text-secondary);font-size:.76rem;font-style:normal;margin-block-start:2px}
.qtr-tl-dot.signed{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.18)}.qtr-tl-dot.rejected{background:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.18)}
/* signer picker */
.qtr-sig-signerpick{margin-block-start:14px;display:grid;gap:8px}
.qtr-id-field-lbl{font-size:.76rem;font-weight:800;color:var(--text-secondary)}
.qtr-sig-searchrow{position:relative}
.qtr-sig-results{display:grid;gap:2px;margin-block-start:4px}
.qtr-sig-result{display:flex;flex-direction:column;align-items:flex-start;text-align:start;inline-size:100%;border:1px solid var(--hairline);border-radius:10px;padding:8px 11px;background:var(--shell-surface);cursor:pointer;font-family:inherit;color:inherit}
.qtr-sig-result:hover{border-color:var(--accent-border);background:var(--surface-secondary)}
.qtr-sig-result small{color:var(--text-muted);font-size:.72rem}
.qtr-sig-chosen{display:flex;flex-wrap:wrap;gap:8px}
.qtr-sig-chosen .qtr-chip em{font-style:normal;background:var(--accent);color:#fff;inline-size:17px;block-size:17px;border-radius:50%;display:inline-grid;place-items:center;font-size:.68rem;margin-inline-end:5px}
.qtr-sig-chosen .qtr-chip button{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:1rem;line-height:1;padding:0 0 0 4px}
.qtr-modal.wide{inline-size:min(620px,100%)}
@media (max-width:820px){.qtr-sig-grid{grid-template-columns:1fr}.qtr-sig-360hero{flex-wrap:wrap}}

/* 13S.1 — document upload, placement, and stamped output */
.qtr-sig-docup{margin-block-start:14px;display:grid;gap:8px}
.qtr-sig-filebtn{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px dashed var(--hairline);border-radius:12px;background:var(--surface-secondary);cursor:pointer;font-weight:700;font-size:.85rem;inline-size:fit-content}
.qtr-sig-filebtn:hover{border-color:var(--accent-border);color:var(--accent)}
.qtr-sig-filebtn svg{inline-size:16px;block-size:16px}
.qtr-sig-place:empty{display:none}
.qtr-sig-canvas{position:relative;display:inline-block;max-inline-size:100%;border:1px solid var(--hairline);border-radius:12px;overflow:hidden;cursor:crosshair;line-height:0}
.qtr-sig-canvas img{max-inline-size:100%;max-block-size:240px;display:block;margin:0 auto}
.qtr-sig-box{position:absolute;border:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent);border-radius:6px;display:grid;place-items:center;color:var(--accent);pointer-events:none;box-shadow:0 0 0 2px rgba(255,255,255,.6)}
.qtr-sig-box svg{inline-size:18px;block-size:18px}
.qtr-sig-pdfnote{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid var(--hairline);border-radius:12px;background:var(--surface-secondary);font-weight:700;font-size:.86rem}
.qtr-sig-pdfnote svg{inline-size:20px;block-size:20px;color:#dc2626}
.qtr-sig-docview{position:relative;display:inline-block;max-inline-size:100%;border:1px solid var(--hairline);border-radius:12px;overflow:hidden;margin-block-start:10px;line-height:0;background:var(--surface-secondary)}
.qtr-sig-docimg{min-block-size:120px;display:grid;place-items:center}
.qtr-sig-docimg img{max-inline-size:100%;max-block-size:420px;display:block}
.qtr-sig-docbox{position:absolute;border:2px dashed var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:6px;display:grid;place-items:center;color:var(--accent)}
.qtr-sig-docbox svg{inline-size:18px;block-size:18px}
.qtr-sig-docactions{display:flex;flex-wrap:wrap;gap:8px;margin-block-start:12px}

/* ═══ 14T — Timestamp Authority (QIP Module 04) ═══════════════════════════════ */
.qtr-ts{display:block;max-inline-size:1180px;margin-inline:auto}
.qtr-ts .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82em;overflow-wrap:anywhere}
.qtr-ts-head{display:grid;grid-template-columns:1fr auto;gap:14px 18px;align-items:center;padding:4px 2px 14px}
.qtr-ts-head-title{display:flex;align-items:center;gap:14px}
.qtr-ts-mark{inline-size:48px;block-size:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#0b3b47));color:#fff;flex:none}
.qtr-ts-mark.sm{inline-size:38px;block-size:38px;border-radius:11px}
.qtr-ts-mark svg{inline-size:24px;block-size:24px}
.qtr-ts-head-title h1{margin:0;font-size:clamp(1.25rem,2.4vw,1.6rem);line-height:1.15}
.qtr-ts-head-title p{margin:3px 0 0;color:var(--text-secondary);font-size:.85rem;font-weight:600}
.qtr-ts-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.qtr-ts-tabs{grid-column:1/-1;display:flex;gap:4px;flex-wrap:wrap;border-block-start:1px solid var(--hairline);padding-block-start:12px;margin-block-start:2px}
.qtr-ts-tab{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:1px solid transparent;border-radius:11px;background:none;cursor:pointer;font-family:inherit;font-weight:700;font-size:.83rem;color:var(--text-secondary)}
.qtr-ts-tab svg{inline-size:15px;block-size:15px}
.qtr-ts-tab:hover{background:var(--surface-secondary);color:var(--text-primary)}
.qtr-ts-tab.active{background:var(--accent-soft,color-mix(in srgb,var(--accent) 14%,transparent));color:var(--accent);border-color:var(--accent-border)}
.qtr-ts-body{display:grid;gap:16px}
.qtr-ts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;align-items:start}
.qtr-ts-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.qtr-ts-kpi{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--hairline);border-radius:16px;background:var(--shell-surface)}
.qtr-ts-kpi-ic{inline-size:38px;block-size:38px;border-radius:11px;display:grid;place-items:center;background:var(--surface-secondary);color:var(--text-secondary);flex:none}
.qtr-ts-kpi-ic svg{inline-size:19px;block-size:19px}
.qtr-ts-kpi b{font-size:1.5rem;line-height:1;display:block}
.qtr-ts-kpi span{color:var(--text-muted);font-size:.76rem;font-weight:700}
.qtr-ts-kpi.ok .qtr-ts-kpi-ic{background:var(--qtr-success-soft);color:var(--qtr-success)}
.qtr-ts-kpi.bad .qtr-ts-kpi-ic{background:var(--qtr-danger-soft);color:var(--qtr-danger)}
.qtr-ts-card{border:1px solid var(--hairline);border-radius:18px;background:var(--shell-surface);padding:16px 18px;box-shadow:var(--elev-1)}
.qtr-ts-card-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-block-end:12px}
.qtr-ts-card-hd h2{margin:0;font-size:.98rem;display:flex;align-items:center;gap:8px}
.qtr-ts-card-hd h2 svg{inline-size:17px;block-size:17px;color:var(--accent)}
.qtr-ts-muted{color:var(--text-muted);font-size:.72rem;font-weight:700}
.qtr-ts-rows{display:grid;gap:6px}
.qtr-ts-row{display:flex;align-items:center;gap:12px;inline-size:100%;text-align:start;border:1px solid var(--hairline);border-radius:13px;padding:10px 13px;background:var(--surface-primary,var(--shell-surface));cursor:pointer;font-family:inherit;color:inherit}
.qtr-ts-row:hover{border-color:var(--accent-border);background:var(--surface-secondary)}
.qtr-ts-row-ic{inline-size:34px;block-size:34px;border-radius:10px;display:grid;place-items:center;background:var(--surface-secondary);color:var(--text-secondary);flex:none}
.qtr-ts-row-ic svg{inline-size:17px;block-size:17px}
.qtr-ts-row-ic.ok{background:var(--qtr-success-soft);color:var(--qtr-success)}.qtr-ts-row-ic.bad{background:var(--qtr-danger-soft);color:var(--qtr-danger)}
.qtr-ts-row-main{flex:1;min-inline-size:0;display:flex;flex-direction:column}
.qtr-ts-row-main b{font-size:.88rem;font-family:ui-monospace,monospace}
.qtr-ts-row-main small{color:var(--text-muted);font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qtr-ts-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex:none}
.qtr-ts-row-meta small{color:var(--text-muted);font-size:.7rem}
.qtr-ts-row>svg:last-child{inline-size:16px;block-size:16px;color:var(--text-muted);flex:none}
.qtr-ts-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:800;background:var(--surface-secondary);color:var(--text-secondary);white-space:nowrap}
.qtr-ts-chip svg{inline-size:12px;block-size:12px}
.qtr-ts-chip.ok{background:var(--qtr-success-soft);color:var(--qtr-success)}
.qtr-ts-chip.bad{background:var(--qtr-danger-soft);color:var(--qtr-danger)}
.qtr-ts-chip.wait{background:var(--qtr-warning-soft);color:var(--qtr-warning)}
.qtr-ts-chip.muted{background:var(--surface-secondary);color:var(--text-muted)}
.qtr-ts-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:8px;font-size:.7rem;font-weight:800;background:var(--accent-soft,color-mix(in srgb,var(--accent) 12%,transparent));color:var(--accent)}
.qtr-ts-badge.muted{background:var(--surface-secondary);color:var(--text-muted)}
.qtr-ts-badge.ok{background:var(--qtr-success-soft);color:var(--qtr-success)}.qtr-ts-badge.bad{background:var(--qtr-danger-soft);color:var(--qtr-danger)}.qtr-ts-badge.wait{background:var(--qtr-warning-soft);color:var(--qtr-warning)}
.qtr-ts-health{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:9px}
.qtr-ts-hcheck{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--hairline);border-radius:12px;background:var(--surface-primary,var(--shell-surface))}
.qtr-ts-hcheck svg{inline-size:18px;block-size:18px;flex:none}
.qtr-ts-hcheck.ok svg{color:var(--qtr-success)}.qtr-ts-hcheck.bad svg{color:var(--qtr-danger)}
.qtr-ts-hcheck.bad{border-color:color-mix(in srgb,var(--qtr-danger) 40%,transparent)}
.qtr-ts-hcheck b{font-size:.8rem;display:block}.qtr-ts-hcheck small{color:var(--text-muted);font-size:.72rem}
.qtr-ts-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-block-end:12px}
.qtr-ts-search{flex:1;min-inline-size:200px;display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--hairline);border-radius:12px;background:var(--surface-secondary)}
.qtr-ts-search svg{inline-size:16px;block-size:16px;color:var(--text-muted);flex:none}
.qtr-ts-search input{flex:1;border:none;background:none;outline:none;font-family:inherit;font-size:.86rem;color:inherit}
.qtr-ts-fchips,.qtr-ts-scope{display:flex;gap:5px;flex-wrap:wrap}
.qtr-ts-fchip{padding:6px 12px;border:1px solid var(--hairline);border-radius:999px;background:none;cursor:pointer;font-family:inherit;font-weight:700;font-size:.76rem;color:var(--text-secondary)}
.qtr-ts-fchip:hover{border-color:var(--accent-border)}
.qtr-ts-fchip.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.qtr-ts-loading,.qtr-ts-health .qtr-spinner{display:flex;align-items:center;gap:9px;color:var(--text-muted);font-size:.85rem;padding:16px}
.qtr-ts-verdict{display:flex;align-items:center;gap:13px;padding:15px 17px;border-radius:16px;border:1px solid var(--hairline);background:var(--surface-secondary)}
.qtr-ts-verdict svg{inline-size:26px;block-size:26px;flex:none}
.qtr-ts-verdict b{font-size:1rem}.qtr-ts-verdict small{display:block;color:var(--text-secondary);font-size:.78rem}
.qtr-ts-verdict>div{flex:1;min-inline-size:0}
.qtr-ts-verdict.ok{background:var(--qtr-success-soft);border-color:color-mix(in srgb,var(--qtr-success) 34%,transparent)}.qtr-ts-verdict.ok svg{color:var(--qtr-success)}
.qtr-ts-verdict.bad{background:var(--qtr-danger-soft);border-color:color-mix(in srgb,var(--qtr-danger) 34%,transparent)}.qtr-ts-verdict.bad svg{color:var(--qtr-danger)}
.qtr-ts-verdict.wait{background:var(--qtr-warning-soft);border-color:color-mix(in srgb,var(--qtr-warning) 34%,transparent)}.qtr-ts-verdict.wait svg{color:var(--qtr-warning)}
.qtr-ts-assurance{padding:4px 10px;border-radius:999px;background:var(--shell-surface);border:1px solid var(--hairline);font-size:.72rem;font-weight:800;flex:none}
.qtr-ts-checks{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.qtr-ts-checks li{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600}
.qtr-ts-checks li svg{inline-size:15px;block-size:15px}
.qtr-ts-checks li.ok svg{color:var(--qtr-success)}.qtr-ts-checks li.bad{color:var(--qtr-danger)}.qtr-ts-checks li.bad svg{color:var(--qtr-danger)}.qtr-ts-checks li.muted{color:var(--text-muted)}
.qtr-ts-360-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.qtr-ts-360-acts{display:flex;gap:7px;flex-wrap:wrap}
.qtr-ts-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:11px;margin:0}
.qtr-ts-fact dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-block-end:3px}
.qtr-ts-fact dd{margin:0;font-weight:700;font-size:.85rem;overflow-wrap:anywhere}
.qtr-ts-fact dd.mono{font-family:ui-monospace,monospace;font-size:.78rem}
.qtr-ts-inline{display:inline-flex;align-items:center;gap:6px}.qtr-ts-inline svg{inline-size:15px;block-size:15px;color:var(--accent)}
.qtr-ts-time{display:grid;gap:11px}
.qtr-ts-time-utc,.qtr-ts-time-local{display:flex;flex-direction:column;gap:3px;padding:11px 13px;border:1px solid var(--hairline);border-radius:12px;background:var(--surface-secondary)}
.qtr-ts-time-utc{border-color:var(--accent-border);background:var(--accent-soft,color-mix(in srgb,var(--accent) 9%,transparent))}
.qtr-ts-time span{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:800}
.qtr-ts-time b{font-size:.92rem}
.qtr-ts-note{display:flex;align-items:flex-start;gap:8px;margin:11px 0 0;padding:10px 12px;border-radius:11px;background:var(--surface-secondary);color:var(--text-secondary);font-size:.76rem;font-weight:600;line-height:1.5}
.qtr-ts-note svg{inline-size:15px;block-size:15px;flex:none;margin-block-start:1px;color:var(--accent)}
.qtr-ts-hash{padding:11px 13px;border:1px solid var(--hairline);border-radius:12px;background:var(--surface-secondary);margin-block-end:11px}
.qtr-ts-hash code{font-family:ui-monospace,monospace;font-size:.76rem;overflow-wrap:anywhere;color:var(--text-primary)}
.qtr-ts-chain,.qtr-ts-timeline{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.qtr-ts-chain li,.qtr-ts-timeline li{display:flex;gap:11px;align-items:flex-start}
.qtr-ts-chain-dot,.qtr-ts-tl-dot{inline-size:11px;block-size:11px;border-radius:50%;background:var(--text-muted);margin-block-start:4px;flex:none}
.qtr-ts-chain li.current .qtr-ts-chain-dot{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft,color-mix(in srgb,var(--accent) 20%,transparent))}
.qtr-ts-chain b,.qtr-ts-timeline b{font-size:.83rem}
.qtr-ts-chain small,.qtr-ts-timeline small{display:block;color:var(--text-muted);font-size:.73rem}
.qtr-ts-timeline p{margin:4px 0 0;font-size:.78rem;color:var(--text-secondary)}
.qtr-ts-ev{display:grid;gap:7px}
.qtr-ts-ev-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:8px 11px;border:1px solid var(--hairline);border-radius:11px;background:var(--surface-primary,var(--shell-surface))}
.qtr-ts-ev-row code{flex:1;min-inline-size:120px;font-family:ui-monospace,monospace;font-size:.73rem;overflow-wrap:anywhere}
.qtr-ts-ev-row small{color:var(--text-muted);font-size:.71rem}
.qtr-ts-policies{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.qtr-ts-policy{border:1px solid var(--hairline);border-radius:14px;padding:13px 15px;background:var(--surface-primary,var(--shell-surface));display:grid;gap:9px}
.qtr-ts-policy.off{opacity:.62}
.qtr-ts-policy-hd{display:flex;align-items:center;justify-content:space-between;gap:8px}
.qtr-ts-policy-hd b{font-size:.9rem}
.qtr-ts-policy p{margin:0;color:var(--text-secondary);font-size:.79rem;line-height:1.5}
.qtr-ts-policy-meta,.qtr-ts-policy-types{display:flex;flex-wrap:wrap;gap:5px}
.qtr-ts-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:8px;background:var(--surface-secondary);color:var(--text-secondary);font-size:.72rem;font-weight:700}
.qtr-ts-tag svg{inline-size:13px;block-size:13px}
.qtr-ts-auths{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.qtr-ts-auth{border:1px solid var(--hairline);border-radius:14px;padding:14px;background:var(--surface-primary,var(--shell-surface));display:grid;gap:11px}
.qtr-ts-auth-hd{display:flex;align-items:center;gap:10px}
.qtr-ts-auth-hd>div:nth-child(2){flex:1;min-inline-size:0}
.qtr-ts-auth-hd b{font-size:.88rem;display:block}.qtr-ts-auth-hd small{color:var(--text-muted);font-size:.72rem;font-family:ui-monospace,monospace}
.qtr-ts-bars{display:grid;gap:9px}
.qtr-ts-bar{display:grid;grid-template-columns:minmax(90px,1fr) 2fr auto;gap:9px;align-items:center;font-size:.79rem}
.qtr-ts-bar-l{display:inline-flex;align-items:center;gap:6px;font-weight:700}.qtr-ts-bar-l svg{inline-size:14px;block-size:14px;color:var(--accent)}
.qtr-ts-bar-track{block-size:9px;border-radius:999px;background:var(--surface-secondary);overflow:hidden}
.qtr-ts-bar-fill{display:block;block-size:100%;border-radius:999px;background:var(--accent);min-inline-size:3px}
.qtr-ts-bar b{font-variant-numeric:tabular-nums;font-size:.82rem;text-align:end}
.qtr-ts-seg{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--hairline);border-radius:11px;background:var(--surface-secondary)}
.qtr-ts-seg button{padding:6px 12px;border:none;border-radius:8px;background:none;cursor:pointer;font-family:inherit;font-weight:700;font-size:.78rem;color:var(--text-secondary)}
.qtr-ts-seg button.active{background:var(--shell-surface);color:var(--accent);box-shadow:var(--elev-1)}
.qtr-ts-hashin textarea{resize:vertical;min-block-size:60px}
.qtr-ts-hashout{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--accent-border);border-radius:11px;background:var(--accent-soft,color-mix(in srgb,var(--accent) 8%,transparent))}
.qtr-ts-hashout span{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:800}
.qtr-ts-hashout code{font-family:ui-monospace,monospace;font-size:.74rem;overflow-wrap:anywhere;color:var(--text-primary)}
.qtr-ts-skel{display:grid;gap:14px;padding:6px}
.qtr-ts-skel-hd{block-size:54px;border-radius:14px;background:var(--surface-secondary)}
.qtr-ts-skel-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.qtr-ts-skel-row,.qtr-ts-skel-kpis>*{block-size:66px;border-radius:14px;background:var(--surface-secondary);animation:qtrTsPulse 1.4s ease-in-out infinite}
.qtr-ts-skel-row{block-size:52px}
@keyframes qtrTsPulse{0%,100%{opacity:.55}50%{opacity:.85}}
.qtr-ts-error svg{color:var(--qtr-danger)}
@media (max-width:720px){.qtr-ts-head{grid-template-columns:1fr}.qtr-ts-head-actions{justify-content:flex-start}.qtr-ts-bar{grid-template-columns:1fr auto}.qtr-ts-bar-track{grid-column:1/-1;order:3}}

/* ═══ 15V — Trust Verification Center (QIP Module 05) — extends 14T ═══════════ */
.qtr-vf-tokens{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.qtr-vf-token{border:1px solid var(--hairline);border-radius:15px;padding:13px 15px;background:var(--surface-primary,var(--shell-surface));cursor:pointer;display:grid;gap:10px}
.qtr-vf-token:hover{border-color:var(--accent-border);background:var(--surface-secondary)}
.qtr-vf-token-hd{display:flex;align-items:center;gap:10px}
.qtr-vf-token-t{flex:1;min-inline-size:0}
.qtr-vf-token-t b{font-size:.86rem;font-family:ui-monospace,monospace;display:block}
.qtr-vf-token-t small{color:var(--text-muted);font-size:.74rem;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qtr-vf-token-meta{display:flex;flex-wrap:wrap;gap:5px}
.qtr-vf-qr{display:grid;gap:12px;justify-items:center;text-align:center}
.qtr-vf-qrimg{inline-size:220px;max-inline-size:100%;aspect-ratio:1;border:1px solid var(--hairline);border-radius:16px;background:#fff;display:grid;place-items:center;padding:10px}
.qtr-vf-qrimg img{inline-size:100%;block-size:100%;object-fit:contain;image-rendering:pixelated}
.qtr-vf-qractions{display:flex;flex-wrap:wrap;gap:7px;justify-content:center}
.qtr-vf .qtr-ts-hash{inline-size:100%}

/* ═══ Control Center — brand accent color picker ══════════════════════════════ */
.qtr-color-row{align-items:flex-start}
.qtr-color-ctrl{display:flex;flex-wrap:wrap;align-items:center;gap:9px;min-inline-size:0}
.qtr-color-pick{inline-size:40px;block-size:34px;padding:0;border:1px solid var(--hairline);border-radius:10px;background:none;cursor:pointer;flex:none}
.qtr-color-pick::-webkit-color-swatch-wrapper{padding:3px}
.qtr-color-pick::-webkit-color-swatch{border:none;border-radius:7px}
.qtr-color-pick::-moz-color-swatch{border:none;border-radius:7px}
.qtr-color-hex{inline-size:110px;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em}
.qtr-color-swatches{display:inline-flex;flex-wrap:wrap;gap:6px}
.qtr-color-sw{inline-size:24px;block-size:24px;border-radius:50%;border:2px solid transparent;box-shadow:0 0 0 1px var(--hairline) inset;cursor:pointer;padding:0}
.qtr-color-sw:hover{transform:scale(1.08)}
.qtr-color-sw.active{border-color:var(--surface,#fff);box-shadow:0 0 0 2px var(--accent)}

/* ═══ Platform Administration — inline CRUD affordances ═══════════════════════ */
.qtr-admin-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.qtr-admin-row-acts{display:flex;gap:4px;justify-content:flex-end;white-space:nowrap}
.qtr-admin-iconbtn{border:1px solid var(--hairline);background:var(--surface-secondary);color:var(--text-secondary);cursor:pointer;inline-size:30px;block-size:30px;border-radius:9px;display:inline-grid;place-items:center}
.qtr-admin-iconbtn:hover{border-color:var(--accent-border);color:var(--accent)}
.qtr-admin-iconbtn.danger:hover{border-color:color-mix(in srgb,var(--qtr-danger) 40%,transparent);color:var(--qtr-danger)}
.qtr-admin-iconbtn svg{inline-size:15px;block-size:15px}

/* ═══ Digital Identity Wallet — card actions + badges + states ════════════════ */
.qtr-wallet-actions{display:grid;gap:10px;margin-block-start:2px}
.qtr-wallet-badges{display:grid;gap:8px}
.qtr-wallet-badge{display:flex;align-items:center;gap:11px;inline-size:100%;border:1px solid #000;border-radius:12px;padding:10px 14px;cursor:pointer;font-family:inherit;background:#000;color:#fff;text-align:start;transition:transform .12s ease,opacity .12s ease}
.qtr-wallet-badge:hover{transform:translateY(-1px)}
.qtr-wallet-badge:active{transform:translateY(0)}
.qtr-wallet-badge.google{background:#fff;color:#3c4043;border-color:var(--hairline);box-shadow:0 1px 2px rgba(60,64,67,.12)}
.qtr-wallet-badge-ic{inline-size:30px;block-size:30px;border-radius:8px;display:grid;place-items:center;flex:none}
.qtr-wallet-badge.google .qtr-wallet-badge-ic{background:#f1f3f4;color:#1a73e8}
.qtr-wallet-badge.apple .qtr-wallet-badge-ic{background:rgba(255,255,255,.14)}
.qtr-wallet-badge-ic svg{inline-size:18px;block-size:18px}
.qtr-wallet-badge-tx{display:flex;flex-direction:column;line-height:1.15}
.qtr-wallet-badge-tx small{font-size:.66rem;opacity:.8;font-weight:700}
.qtr-wallet-badge-tx b{font-size:.92rem;font-weight:800}
.qtr-wallet-badge.loading{opacity:.6;pointer-events:none}
.qtr-wallet-badge.loading .qtr-wallet-badge-ic{animation:qtrWalletPulse 1s ease-in-out infinite}
@keyframes qtrWalletPulse{0%,100%{opacity:.5}50%{opacity:1}}
.qtr-wallet-hint{display:flex;align-items:flex-start;gap:7px;margin:2px 0 0;color:var(--text-muted);font-size:.74rem;font-weight:600;line-height:1.5}
.qtr-wallet-hint svg{inline-size:14px;block-size:14px;flex:none;margin-block-start:1px;color:var(--accent)}
.qtr-wallet-hint.bad{color:var(--qtr-danger)}.qtr-wallet-hint.bad svg{color:var(--qtr-danger)}
.qtr-wallet-state{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;border-radius:12px;border:1px solid var(--hairline);background:var(--surface-secondary);margin-block-start:4px}
.qtr-wallet-state svg{inline-size:19px;block-size:19px;flex:none;margin-block-start:1px}
.qtr-wallet-state b{font-size:.86rem;display:block}.qtr-wallet-state small{color:var(--text-secondary);font-size:.76rem;display:block;margin-block-start:2px;line-height:1.5}
.qtr-wallet-state.ok{background:var(--qtr-success-soft)}.qtr-wallet-state.ok svg{color:var(--qtr-success)}
.qtr-wallet-state.bad{background:var(--qtr-danger-soft)}.qtr-wallet-state.bad svg{color:var(--qtr-danger)}
.qtr-wallet-state.wait{background:var(--qtr-warning-soft)}.qtr-wallet-state.wait svg{color:var(--qtr-warning)}

/* ── 16A · Approval Intelligence Engine (QIP-06) — reuses qtr-ts-* base ────── */
.qtr-ap-rows{display:flex;flex-direction:column;gap:8px}
.qtr-ap-row{display:flex;align-items:center;gap:12px;inline-size:100%;text-align:start;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:14px;padding:12px 14px;cursor:pointer;transition:.16s;font:inherit;color:inherit}
.qtr-ap-row:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.qtr-ap-row-ic{inline-size:38px;block-size:38px;border-radius:10px;display:grid;place-items:center;background:var(--surface-2);color:var(--accent);flex:none}
.qtr-ap-row-ic svg{inline-size:19px;block-size:19px}
.qtr-ap-row-main{flex:1;min-inline-size:0}.qtr-ap-row-main b{display:block;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qtr-ap-row-main small{display:block;color:var(--text-secondary);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qtr-ap-row-tags{display:flex;align-items:center;gap:6px;flex:none;flex-wrap:wrap;justify-content:flex-end}
.qtr-ap-prio{font-size:.72rem;font-weight:700;padding:2px 9px;border-radius:999px;background:var(--surface-2);color:var(--text-secondary)}
.qtr-ap-prio.bad{background:var(--qtr-danger-soft);color:var(--qtr-danger)}
.qtr-ap-prio.wait{background:var(--qtr-warning-soft);color:var(--qtr-warning)}
.qtr-ap-due{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;color:var(--text-secondary);padding:2px 8px;border-radius:999px;background:var(--surface-2)}
.qtr-ap-due svg{inline-size:12px;block-size:12px}
.qtr-ap-due.over{background:var(--qtr-danger-soft);color:var(--qtr-danger)}
.qtr-ap-due.soon{background:var(--qtr-warning-soft);color:var(--qtr-warning)}
.qtr-ap-views{margin-block-end:14px;flex-wrap:wrap}
.qtr-ap-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:18px;padding:16px 18px;margin-block-end:16px;border-inline-start:4px solid var(--accent)}
.qtr-ap-banner.ok{border-inline-start-color:var(--qtr-success)}.qtr-ap-banner.bad{border-inline-start-color:var(--qtr-danger)}.qtr-ap-banner.wait{border-inline-start-color:var(--qtr-warning)}
.qtr-ap-banner-l{display:flex;align-items:center;gap:14px}
.qtr-ap-banner-ic{inline-size:48px;block-size:48px;border-radius:14px;display:grid;place-items:center;background:var(--surface-2);color:var(--accent);flex:none}
.qtr-ap-banner-ic svg{inline-size:24px;block-size:24px}
.qtr-ap-banner-l h2{margin:0;font-size:1.15rem}.qtr-ap-banner-l p{margin:2px 0 0;color:var(--text-secondary);font-size:.85rem}
.qtr-ap-banner-r{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qtr-ap-change{display:flex;flex-direction:column;gap:12px}
.qtr-ap-summary{margin:0;font-size:.95rem;font-weight:600}
.qtr-ap-states{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.qtr-ap-state{flex:1;min-inline-size:130px;background:var(--surface-2);border-radius:12px;padding:10px 14px}
.qtr-ap-state span{display:block;font-size:.72rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}
.qtr-ap-state b{display:block;font-size:.95rem;margin-block-start:3px;word-break:break-word}
.qtr-ap-state.prop{background:var(--qtr-success-soft)}
.qtr-ap-states>svg{color:var(--text-tertiary);flex:none}
.qtr-ap-diffs{display:flex;flex-direction:column;gap:6px}
.qtr-ap-diff{display:flex;align-items:center;gap:8px;font-size:.82rem;flex-wrap:wrap}
.qtr-ap-diff-k{font-weight:600;min-inline-size:110px}
.qtr-ap-diff-from{color:var(--qtr-danger);text-decoration:line-through;opacity:.8}
.qtr-ap-diff-to{color:var(--qtr-success);font-weight:600}
.qtr-ap-diff svg{inline-size:13px;block-size:13px;color:var(--text-tertiary)}
.qtr-ap-reqs{display:flex;gap:8px;flex-wrap:wrap;margin-block-start:12px}
.qtr-ap-req{display:inline-flex;align-items:center;gap:5px;font-size:.76rem;color:var(--text-tertiary);padding:4px 10px;border-radius:999px;background:var(--surface-2);opacity:.6}
.qtr-ap-req.on{opacity:1;color:var(--accent);background:var(--accent-soft,var(--surface-2))}
.qtr-ap-req svg{inline-size:13px;block-size:13px}
.qtr-ap-stages{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.qtr-ap-stage{background:var(--surface-2);border-radius:14px;padding:12px 14px;border-inline-start:3px solid var(--border-strong)}
.qtr-ap-stage.active{border-inline-start-color:var(--accent);background:var(--surface-1);box-shadow:var(--shadow-sm)}
.qtr-ap-stage.approved{border-inline-start-color:var(--qtr-success)}
.qtr-ap-stage.rejected{border-inline-start-color:var(--qtr-danger)}
.qtr-ap-stage-hd{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.qtr-ap-stage-n{inline-size:24px;block-size:24px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:.78rem;font-weight:700;flex:none}
.qtr-ap-stage-hd b{font-size:.9rem}.qtr-ap-stage-hd small{color:var(--text-secondary);font-size:.76rem;margin-inline-start:auto}
.qtr-ap-apprs{display:flex;flex-wrap:wrap;gap:6px;margin-block-start:10px}
.qtr-ap-appr{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;padding:3px 9px;border-radius:999px;background:var(--surface-1);border:1px solid var(--border-subtle)}
.qtr-ap-appr svg{inline-size:13px;block-size:13px}
.qtr-ap-appr.ok{background:var(--qtr-success-soft);color:var(--qtr-success);border-color:transparent}
.qtr-ap-appr.bad{background:var(--qtr-danger-soft);color:var(--qtr-danger);border-color:transparent}
.qtr-ap-appr.wait{color:var(--text-secondary)}
.qtr-ap-appr em{font-style:normal;opacity:.7;font-size:.72rem}
.qtr-ap-decs{display:flex;flex-direction:column;gap:10px}
.qtr-ap-dec{display:flex;gap:10px}
.qtr-ap-dec-ic{inline-size:30px;block-size:30px;border-radius:9px;display:grid;place-items:center;flex:none;background:var(--surface-2)}
.qtr-ap-dec-ic.ok{background:var(--qtr-success-soft);color:var(--qtr-success)}.qtr-ap-dec-ic.bad{background:var(--qtr-danger-soft);color:var(--qtr-danger)}.qtr-ap-dec-ic.wait{background:var(--qtr-warning-soft);color:var(--qtr-warning)}
.qtr-ap-dec-ic svg{inline-size:16px;block-size:16px}
.qtr-ap-dec-b{font-size:.85rem}.qtr-ap-dec-b b{font-weight:700}.qtr-ap-dec-b em{font-style:normal;color:var(--text-secondary);font-size:.78rem}
.qtr-ap-dec-b small{display:block;color:var(--text-secondary);margin-block-start:2px}
.qtr-ap-dec-b time{display:block;color:var(--text-tertiary);font-size:.72rem;margin-block-start:2px}
.qtr-ap-stamped{display:inline-flex;align-items:center;gap:3px;font-size:.7rem;color:var(--accent);margin-inline-start:6px}
.qtr-ap-stamped svg{inline-size:11px;block-size:11px}
.qtr-ap-trustlink{color:var(--accent);text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.qtr-ap-trustlink svg{inline-size:13px;block-size:13px}
.qtr-ap-ev,.qtr-ap-cmts{display:flex;flex-direction:column;gap:8px}
.qtr-ap-ev-row{display:flex;align-items:center;gap:8px;font-size:.8rem}.qtr-ap-ev-row code{font-family:var(--font-mono,monospace);color:var(--text-secondary);font-size:.75rem}
.qtr-ap-ev-row small{margin-inline-start:auto;color:var(--text-tertiary)}
.qtr-ap-cmt{background:var(--surface-2);border-radius:12px;padding:10px 12px}
.qtr-ap-cmt.info{border-inline-start:3px solid var(--qtr-warning)}
.qtr-ap-cmt b{font-size:.82rem}.qtr-ap-cmt p{margin:4px 0;font-size:.85rem}.qtr-ap-cmt time{font-size:.72rem;color:var(--text-tertiary)}
.qtr-ap-cmtbox{display:flex;gap:8px;margin-block-start:10px}.qtr-ap-cmtbox input{flex:1}
.qtr-ap-policies{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px}
.qtr-ap-policy{background:var(--surface-2);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:9px}
.qtr-ap-policy-hd{display:flex;align-items:center;gap:8px}.qtr-ap-policy-hd b{font-size:.92rem}
.qtr-ap-policy-meta,.qtr-ap-policy-flags{display:flex;flex-wrap:wrap;gap:6px}
.qtr-ap-flag{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;color:var(--qtr-success);background:var(--qtr-success-soft);padding:2px 8px;border-radius:999px}
.qtr-ap-flag svg{inline-size:11px;block-size:11px}
.qtr-ap-policy-t{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-block-start:auto;padding-block-start:6px;border-block-start:1px solid var(--border-subtle)}
.qtr-ap-policy-t small{color:var(--text-secondary);font-size:.74rem}
.qtr-ap-wf{background:var(--surface-2);border-radius:16px;padding:14px;margin-block-end:12px}
.qtr-ap-wf-flow{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;margin-block-start:10px}
.qtr-ap-wf-stage{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:12px;padding:12px;min-inline-size:170px;flex:1;display:flex;flex-direction:column;gap:8px}
.qtr-ap-wf-stage-hd{display:flex;align-items:center;gap:8px}.qtr-ap-wf-stage-hd b{font-size:.85rem}
.qtr-ap-wf-arrow{display:grid;place-items:center;color:var(--text-tertiary);flex:none}
.qtr-ap-wf-apprs{display:flex;flex-direction:column;gap:5px}
.qtr-ap-wf-appr{display:inline-flex;align-items:center;gap:5px;font-size:.76rem;color:var(--text-secondary)}
.qtr-ap-wf-appr svg{inline-size:13px;block-size:13px;color:var(--accent)}
.qtr-ap-delegs{display:flex;flex-direction:column;gap:8px}
.qtr-ap-deleg{display:flex;align-items:center;gap:12px;background:var(--surface-2);border-radius:12px;padding:11px 14px}
.qtr-ap-deleg-b{flex:1;min-inline-size:0}.qtr-ap-deleg-b b{font-size:.86rem;display:flex;align-items:center;gap:6px}.qtr-ap-deleg-b b svg{inline-size:13px;block-size:13px;color:var(--text-tertiary)}
.qtr-ap-deleg-b small{display:block;color:var(--text-secondary);font-size:.78rem;margin-block-start:2px}
.qtr-ap-confirm{font-weight:600;font-size:.9rem;margin:0 0 4px}
.qtr-ap-check{display:flex;align-items:center;gap:8px;font-size:.85rem}
.qtr-span2{grid-column:1 / -1}

/* ── 17L · License Intelligence Engine (QIP-07) — reuses qtr-ts-* base ─────── */
.qtr-lic-rows{display:flex;flex-direction:column;gap:8px}
.qtr-lic-row{display:flex;align-items:center;gap:12px;inline-size:100%;text-align:start;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:14px;padding:12px 14px;cursor:pointer;transition:.16s;font:inherit;color:inherit}
.qtr-lic-row:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.qtr-lic-row-ic{inline-size:38px;block-size:38px;border-radius:10px;display:grid;place-items:center;background:var(--surface-2);color:var(--accent);flex:none}
.qtr-lic-row-ic svg{inline-size:19px;block-size:19px}
.qtr-lic-row-main{flex:1;min-inline-size:0}.qtr-lic-row-main b{display:block;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qtr-lic-row-main small{display:block;color:var(--text-secondary);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qtr-lic-row-tags{display:flex;align-items:center;gap:6px;flex:none;flex-wrap:wrap;justify-content:flex-end}
.qtr-lic-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:18px;padding:16px 18px;margin-block-end:16px;border-inline-start:4px solid var(--accent)}
.qtr-lic-banner.ok{border-inline-start-color:var(--qtr-success)}.qtr-lic-banner.bad{border-inline-start-color:var(--qtr-danger)}.qtr-lic-banner.wait{border-inline-start-color:var(--qtr-warning)}
.qtr-lic-banner-l{display:flex;align-items:center;gap:14px}
.qtr-lic-banner-ic{inline-size:48px;block-size:48px;border-radius:14px;display:grid;place-items:center;background:var(--surface-2);color:var(--accent);flex:none}
.qtr-lic-banner-ic svg{inline-size:24px;block-size:24px}
.qtr-lic-banner-l h2{margin:0;font-size:1.15rem}.qtr-lic-banner-l p{margin:2px 0 0;color:var(--text-secondary);font-size:.82rem;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.qtr-lic-banner-l p code{font-family:var(--font-mono,monospace);background:var(--surface-2);padding:1px 6px;border-radius:6px;font-size:.78rem}
.qtr-lic-banner-r{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qtr-lic-warn{display:inline-flex;align-items:center;gap:5px;font-size:.76rem;color:var(--qtr-warning);background:var(--qtr-warning-soft);padding:3px 10px;border-radius:999px}
.qtr-lic-warn svg{inline-size:13px;block-size:13px}
.qtr-lic-meters{display:flex;flex-direction:column;gap:14px}
.qtr-lic-meter-hd{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-block-end:5px}
.qtr-lic-meter-hd span{font-size:.82rem;color:var(--text-secondary)}.qtr-lic-meter-hd b{font-size:.86rem;font-variant-numeric:tabular-nums}
.qtr-lic-meter-track{block-size:9px;border-radius:999px;background:var(--surface-2);overflow:hidden}
.qtr-lic-meter-fill{display:block;block-size:100%;border-radius:999px;background:var(--accent);transition:inline-size .4s}
.qtr-lic-meter.warn .qtr-lic-meter-fill{background:var(--qtr-warning)}
.qtr-lic-meter.over .qtr-lic-meter-fill{background:var(--qtr-danger)}
.qtr-lic-meter.over .qtr-lic-meter-hd b{color:var(--qtr-danger)}
.qtr-lic-grants{display:flex;flex-direction:column;gap:7px}
.qtr-lic-grant{display:flex;align-items:center;gap:9px;font-size:.85rem;background:var(--surface-2);border-radius:10px;padding:9px 12px}
.qtr-lic-grant svg{inline-size:16px;block-size:16px;color:var(--accent);flex:none}
.qtr-lic-grant.off{opacity:.55}.qtr-lic-grant em{font-style:normal;margin-inline-start:auto;font-size:.74rem;color:var(--qtr-danger)}
.qtr-lic-asgs{display:flex;flex-direction:column;gap:7px}
.qtr-lic-asg{display:flex;align-items:center;gap:9px;font-size:.85rem;background:var(--surface-2);border-radius:10px;padding:9px 12px}
.qtr-lic-asg b{font-weight:600}.qtr-lic-asg small{color:var(--text-tertiary);font-size:.74rem}
.qtr-lic-asg>*:last-child{margin-inline-start:auto}
.qtr-lic-asg.revoked{opacity:.55}
.qtr-lic-trustlink{color:var(--accent);text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.qtr-lic-trustlink svg{inline-size:13px;block-size:13px}
.qtr-lic-policies{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.qtr-lic-policy{background:var(--surface-2);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:9px}
.qtr-lic-policy-hd{display:flex;align-items:center;gap:8px}.qtr-lic-policy-hd b{font-size:.92rem}
.qtr-lic-policy-meta{display:flex;flex-wrap:wrap;gap:6px}
.qtr-lic-flag{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;color:var(--qtr-success);background:var(--qtr-success-soft);padding:2px 8px;border-radius:999px}
.qtr-lic-flag svg{inline-size:11px;block-size:11px}
.qtr-lic-policy-t{margin-block-start:auto;padding-block-start:6px;border-block-start:1px solid var(--border-subtle);display:flex;justify-content:flex-end}
