/* Low-frequency application modules.
   Keep these styles out of the stylesheet entry point and scope each module
   to its own page/component vocabulary. */

/* Media asset audit */
.media-page-heading{align-items:center}
.media-safety-note{display:flex;gap:14px;align-items:flex-start;margin:18px 0;padding:16px 18px;border:1px solid #c9ddd4;border-radius:var(--ui-radius-md);background:#f2f8f5;color:#24483c}
.media-safety-note>i{font-size:22px}
.media-safety-note div{display:grid;gap:3px}
.media-safety-note span{color:#5d716a;font-size:13px;line-height:1.5}
.media-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 28px}
.media-metric-grid article{display:grid;gap:4px;min-height:118px;padding:18px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-md);background:var(--ui-panel)}
.media-metric-grid span,.media-metric-grid small{color:var(--ui-muted);font-size:12px}
.media-metric-grid strong{color:var(--ui-ink);font-size:28px;font-weight:700;line-height:1}
.media-section{margin-top:30px}
.media-asset-list,.media-issue-list,.media-duplicate-list,.media-usage-list{display:grid;gap:8px}
.media-asset-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-md);background:var(--ui-panel)}
.media-asset-preview{position:relative;display:block;width:72px;height:60px;overflow:hidden;border-radius:var(--ui-radius-sm);background:#eef2ef}
.media-asset-preview img{width:100%;height:100%;object-fit:cover}
.media-asset-preview i{position:absolute;right:4px;bottom:4px;padding:3px;border-radius:var(--ui-radius-xs);background:#fff;color:var(--ui-forest);font-size:11px}
.media-asset-copy{display:grid;min-width:0;gap:2px}
.media-asset-copy>span,.media-asset-copy small{color:var(--ui-muted);font-size:11px}
.media-asset-copy h3{margin:0;color:var(--ui-ink);font-size:14px}
.media-asset-copy code{overflow:hidden;color:#718078;font-size:10px;text-overflow:ellipsis}
.media-issue-list article{display:flex;gap:12px;align-items:center;padding:13px 15px;border:1px solid #edc9c5;border-radius:var(--ui-radius-md);background:#fff8f7;color:#7d2e27}
.media-issue-list article div{display:grid}
.media-issue-list span{color:#80635f;font-size:12px}
.media-path-list{overflow:hidden;border:1px solid var(--ui-line);border-radius:var(--ui-radius-md);background:var(--ui-panel)}
.media-path-list>div{display:flex;justify-content:space-between;gap:16px;padding:10px 14px;border-top:1px solid var(--ui-line)}
.media-path-list>div:first-child{border-top:0}
.media-path-list code{min-width:0;overflow:hidden;color:#41544c;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.media-path-list span{flex:0 0 auto;color:var(--ui-muted);font-size:11px}
.media-list-note{margin:9px 0;color:var(--ui-muted);font-size:12px}
.media-duplicate-list details,.media-usage-list details{border:1px solid var(--ui-line);border-radius:var(--ui-radius-md);background:var(--ui-panel)}
.media-duplicate-list summary,.media-usage-list summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 15px;cursor:pointer;list-style:none}
.media-duplicate-list summary span,.media-usage-list summary span{display:grid;gap:2px}
.media-duplicate-list summary small,.media-usage-list summary small{color:var(--ui-muted);font-size:11px}
.media-duplicate-list details>div,.media-usage-list details>div{display:grid;gap:8px;padding:12px 15px;border-top:1px solid var(--ui-line)}
.media-duplicate-list p,.media-usage-list p{display:flex;gap:8px;align-items:center;margin:0}
.media-duplicate-list p span{color:var(--ui-muted);font-size:11px}
.media-duplicate-list code{overflow-wrap:anywhere;color:var(--ui-muted);font-size:10px}

/* Notifications */
.notification-menu{position:relative}
.notification-menu>summary{position:relative;display:grid;width:var(--ui-control-default);height:var(--ui-control-default);min-width:var(--ui-control-default);place-items:center;padding:0;border:1px solid var(--ui-line-strong);border-radius:var(--ui-radius-sm);background:var(--ui-panel);color:#29453b;cursor:pointer;list-style:none;line-height:1}
.notification-menu>summary>i{display:block;line-height:1}
.notification-menu>summary::-webkit-details-marker{display:none}
.notification-menu>summary::after,.notification-menu>summary::marker{display:none!important;content:none!important}
.notification-count{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:var(--ui-radius-pill);background:#b1443b;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}
.notification-menu-panel{position:absolute;right:0;top:48px;z-index:80;display:grid;gap:4px;width:min(390px,calc(100vw - 24px));padding:10px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-lg);background:var(--ui-panel);box-shadow:var(--ui-shadow-overlay)}
.notification-menu-heading{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 10px}
.notification-menu-heading a{font-size:13px;font-weight:700;color:var(--ui-forest)}
.notification-menu-item{margin:0}
.notification-menu-item button{display:flex;width:100%;align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:4px;padding:11px 12px;border:0;border-radius:var(--ui-radius-sm);background:transparent;color:var(--ui-copy);text-align:left;cursor:pointer}
.notification-menu-item button:hover,.notification-menu-item.is-unread button{background:var(--ui-forest-soft)}
.notification-menu-item span,.notification-menu-item small{display:block;width:100%;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}
.notification-menu-item small{color:var(--ui-muted)}
.notification-menu-empty{margin:0;padding:16px;color:var(--ui-muted);text-align:center}
.notification-page-heading{display:flex;align-items:center;justify-content:space-between}
.notification-list{display:grid;gap:8px}
.notification-row{margin:0}
.notification-row>button{display:grid;width:100%;grid-template-columns:44px minmax(0,1fr) auto 10px;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-md);background:var(--ui-panel);color:var(--ui-copy);text-align:left;cursor:pointer}
.notification-row.is-unread>button{border-color:#9dc4b6;background:#f2f8f5}
.notification-avatar{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:var(--ui-forest-soft);color:var(--ui-forest);font-weight:800}
.notification-copy{display:flex;min-width:0;flex-direction:column;gap:3px}
.notification-copy span,.notification-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notification-copy small,.notification-row time{color:var(--ui-muted);font-size:12px}
.notification-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--ui-forest)}
.delivery-status{display:inline-flex;min-height:26px;align-items:center;padding:4px 10px;border-radius:var(--ui-radius-pill);background:#edf1ef;font-size:11px;font-weight:700}
.delivery-status-delivered,.delivery-status-accepted{background:var(--ui-forest-soft);color:var(--ui-forest-strong)}
.delivery-status-failed,.delivery-status-bounced,.delivery-status-complained{background:var(--ui-danger-soft);color:var(--ui-danger)}
.delivery-status-pending,.delivery-status-sending{background:var(--ui-warning-soft);color:var(--ui-warning)}
.notification-delivery-table{margin-top:16px;overflow:auto}
.notification-delivery-table table{width:100%;border-collapse:collapse;background:var(--ui-panel)}
.notification-delivery-table th,.notification-delivery-table td{padding:12px;border-bottom:1px solid var(--ui-line);text-align:left;vertical-align:middle}
.mention-notification-hint{display:flex;align-items:center;gap:7px;margin:8px 0 16px;color:var(--ui-muted);font-size:13px}

/* Product Workspace: explicit saved-view create/update flow. */
.save-view-dialog{width:min(680px,calc(100vw - 24px))}
.save-view-dialog header{min-height:76px;padding:18px 24px}
.save-view-dialog footer{min-height:68px;padding:12px 24px}
.save-view-body{align-content:start;gap:20px;padding:24px}
.save-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;border:1px solid var(--ui-line-strong);border-radius:var(--ui-radius-md);overflow:hidden}
.save-mode-switch label{position:relative;display:flex;width:100%!important;min-width:0;min-height:54px;align-items:center;justify-content:center;gap:10px;padding:10px 16px;background:var(--ui-panel);color:var(--ui-copy);font-weight:750;cursor:pointer}
.save-mode-switch label:first-child{border-radius:calc(var(--ui-radius-md) - 1px) 0 0 calc(var(--ui-radius-md) - 1px)}
.save-mode-switch label:last-child{border-radius:0 calc(var(--ui-radius-md) - 1px) calc(var(--ui-radius-md) - 1px) 0}
.save-mode-switch label+label{border-left:1px solid var(--ui-line-strong)}
.save-mode-switch label:has(input:checked){background:var(--ui-forest-soft);box-shadow:inset 0 0 0 1px var(--ui-forest)}
.save-mode-switch label:has(input:focus-visible){outline:2px solid var(--ui-forest);outline-offset:-3px}
.save-mode-switch input[type="radio"]{--checked-icon-color:var(--ui-forest);--checked-icon-scale:.56;display:inline-flex!important;width:20px!important;min-width:20px!important;height:20px!important;min-height:20px!important;align-items:center;justify-content:center;margin:0!important;padding:0;appearance:none!important;-webkit-appearance:none!important;border:1.5px solid #7e9189!important;border-radius:50%!important;background:#fff!important;color:transparent!important;box-shadow:none!important}
.save-mode-switch input[type="radio"]:checked{border-color:var(--ui-forest)!important;color:var(--ui-forest)!important}
.save-mode-switch input[type="radio"]:checked::after{content:"";width:100%;aspect-ratio:1;border-radius:50%;background:currentColor;scale:var(--checked-icon-scale)}
.save-mode-switch input[type="radio"]:focus-visible{outline:0!important}
.save-view-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 18px;border-bottom:1px solid var(--ui-line)}
.save-view-summary>div:first-child{display:grid;gap:5px;min-width:0}
.save-view-summary span{color:var(--ui-muted);font-size:12px;font-weight:700}
.save-view-summary strong{overflow:hidden;color:var(--ui-ink);font-size:18px;text-overflow:ellipsis;white-space:nowrap}
.save-view-summary-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.save-view-summary-meta small{color:var(--ui-muted);white-space:nowrap}
.save-view-visibility{display:inline-flex;min-height:32px;align-items:center;gap:7px;padding:5px 10px;border:1px solid #e5c88e;border-radius:var(--ui-radius-sm);background:#fff8e8;color:#8a5d0a!important;font-size:12px!important;white-space:nowrap}
.save-view-visibility.is-shared{border-color:#9dc4b6;background:var(--ui-forest-soft);color:var(--ui-forest)!important}
.save-view-name{gap:8px!important;color:var(--ui-copy);font-size:13px}
.save-view-name input{min-height:48px!important;padding:10px 14px!important;font-size:15px}
.save-view-sharing{align-items:flex-start!important;gap:12px!important}
.save-view-sharing>.ui-checkbox-label{display:grid;gap:3px;min-width:0}
.save-view-sharing>.ui-checkbox-mark{margin-top:2px}
.save-view-sharing strong{color:var(--ui-ink);font-size:14px}
.save-view-sharing small{color:var(--ui-muted);font-size:12px;font-weight:500}
.save-view-readonly-note{display:flex;align-items:center;gap:8px;margin:0;padding:10px 12px;border-radius:var(--ui-radius-sm);background:var(--ui-forest-soft);color:var(--ui-forest);font-size:12px}
.save-view-dialog [hidden]{display:none!important}

@media(max-width:620px){
  .save-mode-switch{grid-template-columns:1fr}
  .save-mode-switch label+label{border-top:1px solid var(--ui-line-strong);border-left:0}
  .save-view-summary{align-items:flex-start;flex-direction:column}
  .save-view-summary-meta{justify-content:flex-start}
  .save-view-dialog footer .link-danger{width:100%;margin:0;text-align:left}
}

@media(max-width:760px){
  .media-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .media-asset-row{grid-template-columns:60px minmax(0,1fr)}
  .media-asset-preview{width:60px;height:54px}
  .media-asset-row form{grid-column:1/-1}
  .media-asset-row form button{width:100%;min-height:var(--ui-control-large)}
  .media-path-list>div{align-items:flex-start}
  .media-path-list code{white-space:normal;overflow-wrap:anywhere}
  .media-duplicate-list p{align-items:flex-start;flex-direction:column}
}

@media(max-width:700px){
  .notification-row>button{grid-template-columns:40px minmax(0,1fr) 8px}
  .notification-row time{display:none}
  .notification-page-heading{align-items:flex-start;gap:12px}
  .notification-menu-panel{right:-60px}
}
.control-heading{align-items:flex-end}.control-metrics{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:1.25rem}.control-metrics .metric-card{min-height:7rem}.control-filters{display:grid;grid-template-columns:repeat(5,minmax(9rem,1fr));gap:.75rem;padding:1rem;margin-bottom:1.25rem}.control-filters select,.control-filters input,.control-form input,.control-form select,.control-form textarea{width:100%;border:1px solid var(--line-color,#d7dde4);border-radius:.65rem;padding:.7rem;background:#fff}.control-project-list{display:grid;gap:.8rem}.control-project-card{background:#fff;border:1px solid #dde3e9;border-left:4px solid #98a2ad;border-radius:.8rem;overflow:hidden}.control-project-card.risk-missing_data,.control-project-card.risk-overdue{border-left-color:#c33}.control-project-card.risk-due_soon{border-left-color:#d38b00}.control-project-card.risk-on_track{border-left-color:#2f8f5b}.control-project-card summary{display:grid;grid-template-columns:7rem minmax(18rem,2fr) repeat(4,minmax(8rem,1fr)) 1.5rem;gap:1rem;align-items:center;padding:1rem;cursor:pointer}.control-project-card summary>span{display:grid;gap:.2rem}.control-project-card summary small,.control-action-table small,.control-action-table em{display:block;color:#66717d;font-size:.78rem}.control-risk,.control-badge{display:inline-flex;width:max-content;border-radius:999px;padding:.25rem .55rem;font-size:.75rem;font-weight:700;background:#eef1f4}.control-risk-overdue,.control-risk-missing_data{background:#fde8e8;color:#a12626}.control-risk-due_soon{background:#fff1d3;color:#8a5900}.control-risk-on_track{background:#e2f5e9;color:#236e45}.control-project-detail{border-top:1px solid #e4e8ec;padding:1rem}.control-risk-reason{margin:0 0 1rem}.control-action-table td{vertical-align:top}.control-action-table td:first-child strong{display:block}.control-form{max-width:58rem;padding:1.25rem}.control-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.control-form .field-span-2{grid-column:1/-1}.control-form .form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.control-status-done{background:#e2f5e9;color:#236e45}.control-status-cancelled{background:#eef1f4;color:#59636e}.control-status-in_progress,.waiting{background:#e7efff;color:#285eaa}.control-actions-section{margin-top:1.5rem}@media(max-width:1000px){.control-metrics{grid-template-columns:repeat(2,1fr)}.control-filters{grid-template-columns:repeat(2,1fr)}.control-project-card summary{grid-template-columns:6rem minmax(12rem,1fr) repeat(2,minmax(7rem,1fr))}.control-project-card summary>span:nth-of-type(n+5){display:none}}@media(max-width:640px){.control-heading{align-items:stretch}.control-heading .page-heading-actions{width:100%}.control-heading .page-heading-actions>*{flex:1}.control-metrics,.control-filters,.control-form-grid{grid-template-columns:1fr}.control-form .field-span-2{grid-column:auto}.control-project-card summary{grid-template-columns:5.5rem 1fr 1rem}.control-project-card summary>span:nth-of-type(n+3){display:none}.control-action-table{min-width:720px}}
