/* HAJIME Wedding OS — FIX25 Notification / Mobile Sidebar / Admin Needs */

/* Non-blocking notification UX */
#fix25NoticeStrip{position:sticky;top:var(--topbar,72px);z-index:29;margin:0 30px;padding:10px 14px;border:1px solid #d9e4f2;border-top:0;border-radius:0 0 12px 12px;background:#f7fbff;box-shadow:0 6px 18px rgba(31,67,104,.08);display:flex;align-items:center;justify-content:space-between;gap:12px;color:#344054}
#fix25NoticeStrip.is-hidden{display:none!important}
#fix25NoticeStrip .fix25-notice-copy{display:flex;align-items:center;gap:9px;min-width:0;font-size:13px}
#fix25NoticeStrip .fix25-notice-dot{width:8px;height:8px;border-radius:999px;background:#1570ef;flex:0 0 auto}
#fix25NoticeStrip .fix25-notice-copy b{color:#101828}
#fix25NoticeStrip .fix25-notice-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
#fix25NoticeStrip .fix25-notice-actions button{border:0;background:transparent;color:#1570ef;font-weight:800;padding:5px 7px;border-radius:8px}
#fix25NoticeStrip .fix25-notice-actions button:hover{background:#eaf4ff}
#fix25NoticeStrip .fix25-notice-actions .fix25-dismiss{color:#667085;font-size:18px;line-height:1}

.fix25-soft-toast{position:fixed;right:24px;top:calc(var(--topbar,72px) + 18px);z-index:160;max-width:min(420px,calc(100vw - 32px));display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #d9e4f2;border-radius:13px;background:#fff;box-shadow:0 18px 45px rgba(16,24,40,.16);opacity:0;transform:translateY(-8px);pointer-events:none;transition:.18s ease}
.fix25-soft-toast.show{opacity:1;transform:none;pointer-events:auto}
.fix25-soft-toast.task{border-left:5px solid #d97706}.fix25-soft-toast.info{border-left:5px solid #1570ef}
.fix25-soft-toast .fix25-toast-copy{display:grid;gap:3px;min-width:0}.fix25-soft-toast b{font-size:14px}.fix25-soft-toast span{font-size:12px;color:#667085;line-height:1.4}.fix25-soft-toast button{margin-left:auto;border:0;background:#f2f4f7;color:#344054;border-radius:8px;padding:6px 9px;font-size:12px;font-weight:800;white-space:nowrap}

/* Mobile sidebar scrim: tap outside to close. */
#fix25SidebarScrim{display:none}
@media(max-width:760px){
  #fix25SidebarScrim{display:block;position:fixed;inset:0;z-index:35;background:rgba(16,24,40,.42);opacity:0;pointer-events:none;transition:opacity .18s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
  body.fix25-sidebar-open #fix25SidebarScrim{opacity:1;pointer-events:auto}
  body.fix25-sidebar-open{overflow:hidden}
  .sidebar{z-index:40!important}
}

/* Final Admin Cần xử lý route owns its page instead of showing stale Finance DOM. */
.fix25-admin-needs .fix25-needs-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fix25-admin-needs .fix25-needs-list{display:grid;gap:9px}
.fix25-admin-needs .fix25-need-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid var(--border,#e4e7ec);border-radius:12px;background:#fff}
.fix25-admin-needs .fix25-need-row>div{min-width:0}.fix25-admin-needs .fix25-need-row b{display:block;font-size:14px}.fix25-admin-needs .fix25-need-row p{margin:5px 0;color:#475467;font-size:13px;line-height:1.45}.fix25-admin-needs .fix25-need-row small{display:block;color:#667085;font-size:11.5px}
.fix25-admin-needs .fix25-approval-shortcut{margin-bottom:16px;border-left:5px solid #f79009}
@media(max-width:900px){.fix25-admin-needs .fix25-needs-grid{grid-template-columns:1fr}#fix25NoticeStrip{margin:0 14px}}
@media(max-width:560px){#fix25NoticeStrip{top:var(--topbar,72px);padding:9px 10px}.fix25-notice-copy{font-size:12px!important}.fix25-soft-toast{left:12px;right:12px;top:calc(var(--topbar,72px) + 12px);max-width:none}}
