:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#1d2433;background:radial-gradient(circle at top right,#d6f8ff,#f5f7fb 45%)}*{box-sizing:border-box}body{margin:0}a{color:#1664ff;text-decoration:none}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:#0f172a;color:#fff;padding:1rem}.brand{font-weight:700;letter-spacing:.12em;margin-bottom:1rem}.menu-group{margin-top:.7rem}.menu-group-toggle{width:100%;border:0;cursor:pointer;text-align:left;color:#8db3ff;background:transparent;padding:.45rem .35rem;border-radius:.5rem;font-size:.8rem;text-transform:uppercase}.menu-group-toggle:hover,.menu-group-toggle.active{background:#182344;color:#c8daff}.menu-items{margin-top:.25rem;display:grid;gap:.2rem}.menu-link{display:block;color:#eef4ff;padding:.45rem .55rem;border-radius:.5rem}.menu-link:hover,.menu-link.active{background:#1f2b52}.content{padding:1rem}.topbar{display:flex;justify-content:flex-end}.content-body{margin-top:.8rem}.page{background:#fff;border-radius:1rem;box-shadow:0 12px 25px #111a3e1a;padding:1rem}.page-header{display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap}.row{display:flex}.gap{gap:.5rem}.btn{border:none;background:#1664ff;color:#fff;padding:.55rem .9rem;border-radius:.6rem;cursor:pointer}.btn.secondary{background:#eef3ff;color:#1e2a45}.btn.danger{background:#dd3444}.btn.small{padding:.35rem .55rem;font-size:.8rem}.linklike-button{border:none;background:transparent;padding:0;font:inherit;font-weight:600;color:inherit;cursor:pointer}.module-search-input{min-width:320px;border-radius:.55rem;padding-left:1rem;padding-right:1rem}.table-wrap{overflow:auto;margin-top:.8rem}.desktop-table table{width:100%;border-collapse:collapse;min-width:720px}.desktop-table th,.desktop-table td{border-bottom:1px solid #ecf0f6;padding:.55rem;text-align:left;vertical-align:top}.desktop-table th:last-child,.desktop-table td:last-child{text-align:left}.actions-col,.actions-col-cell{text-align:left!important;width:1%}.actions-col-cell{padding-right:.55rem}.actions-col-cell>.actions-cell{width:100%;justify-content:flex-start!important}.actions-cell{display:flex;justify-content:flex-start!important;align-items:center;gap:.35rem;flex-wrap:nowrap}.actions-cell .btn{white-space:nowrap}.mobile-cards{display:none;margin-top:.8rem;gap:.7rem}.data-card{border:1px solid #e6ebf5;border-radius:.8rem;padding:.75rem;background:#fff}.data-card-row{display:grid;grid-template-columns:1fr;gap:.15rem;margin-bottom:.5rem}.data-card-label{font-size:.74rem;color:#63708b;text-transform:uppercase;letter-spacing:.03em}.data-card-value{font-size:.94rem;color:#1f2a44}.data-card-actions{padding-top:.35rem;border-top:1px dashed #dce4f3;overflow-x:auto}.permissions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.permissions-grid label{display:flex;align-items:center;gap:.35rem;font-size:.9rem}.permission-check-label{display:inline-flex;align-items:center;gap:.45rem;min-height:40px;padding:.55rem .7rem;border:1px solid #dce4f3;border-radius:.75rem;background:#f9fbff;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.permission-check-label:hover{border-color:#bfd0ec;background:#fff}.permission-checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:18px;height:18px;border:1.5px solid #9db0d3;border-radius:.4rem;background:#fff;display:inline-grid;place-items:center;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .15s ease}.permission-checkbox:after{content:"";width:8px;height:4px;border-left:2px solid #ffffff;border-bottom:2px solid #ffffff;transform:rotate(-45deg) scale(0);transform-origin:center;transition:transform .15s ease}.permission-checkbox:hover{border-color:#6d8fca;background:#f5f8ff}.permission-checkbox:focus{outline:none;box-shadow:0 0 0 3px #2f6efb2e;border-color:#2f6efb}.permission-checkbox:checked{border-color:#2f6efb;background:linear-gradient(180deg,#4f7cff,#2f6efb)}.permission-checkbox:checked:after{transform:rotate(-45deg) scale(1)}.pagination{margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:.8rem;flex-wrap:wrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#070c1a9e;display:grid;place-items:center;padding:1rem;z-index:1000}.modal-card{width:min(960px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:1rem;padding:1rem}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.modal-body{margin-top:.8rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.form-grid label{display:flex;flex-direction:column;font-size:.9rem;gap:.3rem}.form-grid input,.form-grid select,.form-grid textarea{padding:.5rem .6rem;border:1px solid #c9d3e4;border-radius:.55rem}.form-grid .full{grid-column:1 / -1}.modal-footer{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:.5rem}.map{width:100%;min-height:220px;border:0;border-radius:.7rem;grid-column:1 / -1}.auth-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.auth-card{background:#fff;border-radius:1rem;box-shadow:0 10px 28px #0d1e4f1f;width:min(430px,100%);padding:1.1rem;display:grid;gap:.65rem}.auth-card label{display:grid;gap:.25rem}.auth-card input{padding:.6rem;border:1px solid #ccd6e8;border-radius:.6rem}.error{color:#c61b3b}.loading{min-height:100vh;display:grid;place-items:center}.inline-field{display:flex;gap:.5rem;align-items:center;margin-top:.6rem}@media (max-width: 980px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:3}.form-grid{grid-template-columns:1fr}}@media (max-width: 760px){.desktop-table{display:none}.mobile-cards{display:grid}.content{padding:.7rem}.page{padding:.75rem;border-radius:.8rem}.row.gap{width:100%;flex-wrap:wrap}.row.gap .btn{flex:1 1 auto}.inline-field{display:grid;gap:.35rem}}.inline-field .input-like{min-width:280px;padding:.5rem .6rem;border:1px solid #c9d3e4;border-radius:.55rem;background:#fff}.page-size-select{min-width:90px;color:var(--text)!important;-webkit-text-fill-color:var(--text);opacity:1}.form-error-banner{grid-column:1 / -1;background:#ffe8ec;color:#9f1239;border:1px solid #f8b4c0;border-radius:.6rem;padding:.55rem .7rem;font-size:.9rem}.form-success-banner{margin-top:.8rem;background:#e8f8ee;color:#166534;border:1px solid #86efac;border-radius:.6rem;padding:.55rem .7rem;font-size:.9rem}.field-error{color:#c0263d;font-size:.78rem;margin-top:.1rem}.field-help{display:block;color:var(--muted);font-size:.78rem;margin-top:.35rem}.input-error{border-color:#e11d48!important;background:#fff5f7}@media (max-width: 760px){.inline-field .input-like{min-width:0;width:100%}}.auth-page{position:relative;min-height:100vh;display:grid;place-items:center;padding:1rem;background-size:cover;background-position:center;background-repeat:no-repeat}.auth-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#09142c8f;-webkit-backdrop-filter:saturate(1.1);backdrop-filter:saturate(1.1)}.auth-card{position:relative;z-index:1;background:#ffffffed;border:1px solid rgba(255,255,255,.35);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.auth-login{background-image:url(https://images.unsplash.com/photo-1518770660439-4636190af475?auto=format&fit=crop&w=1920&q=80)}.auth-forgot{background-image:url(https://images.unsplash.com/photo-1451187580459-43490279c0fa?auto=format&fit=crop&w=1920&q=80)}.auth-activate{background-image:url(https://images.unsplash.com/photo-1510915228340-29c85a43dcfe?auto=format&fit=crop&w=1920&q=80)}.auth-activated{background-image:url(https://images.unsplash.com/photo-1526374965328-7f61d4dc18c5?auto=format&fit=crop&w=1920&q=80)}.auth-reset{background-image:url(https://images.unsplash.com/photo-1507146426996-ef05306b995a?auto=format&fit=crop&w=1920&q=80)}@media (max-width: 760px){.auth-page:before{background:#09142c9e}.auth-card{width:min(460px,100%)}}.form-grid select,.inline-field .input-like,.page-size-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;border:1px solid #c9d3e4;border-radius:.65rem;padding:.55rem 2.2rem .55rem .7rem;color:var(--text)!important;-webkit-text-fill-color:var(--text);line-height:1.2;opacity:1;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;background-image:linear-gradient(45deg,transparent 50%,#4f6ea8 50%),linear-gradient(135deg,#4f6ea8 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% - 2px),calc(100% - 8px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}.form-grid select:hover,.inline-field .input-like:hover,.page-size-select:hover{border-color:#aebdd8;background-color:#fbfdff}.form-grid select:focus,.inline-field .input-like:focus,.page-size-select:focus{outline:none;border-color:#2f6efb;box-shadow:0 0 0 3px #2f6efb2e}.pagination label{display:inline-flex;align-items:center;gap:.5rem}:root{--bg: #eef1f5;--surface: #ffffff;--surface-soft: #f4f6f9;--line: #d7dde6;--text: #1f2a3a;--muted: #5f6f86;--primary: #3f7ab9;--primary-soft: #dce8f8;--sidebar: #f1f3f6;--danger: #e44949;--warn: #f1c40f}:root[data-theme=dark]{--bg: #0f1724;--surface: #1a2434;--surface-soft: #111a29;--line: #2c3a50;--text: #e6edf7;--muted: #9db0cb;--primary: #4c89ca;--primary-soft: #1e324e;--sidebar: #131d2c;--danger: #e05a5a;--warn: #d8b10f}body{background:var(--bg);color:var(--text)}.app-shell{display:grid;min-height:100vh;background:var(--bg)}.app-shell.sidebar-open{grid-template-columns:280px 1fr}.app-shell.sidebar-closed{grid-template-columns:86px 1fr}.sidebar{background:var(--sidebar);border-right:1px solid var(--line);padding:.9rem .85rem;transition:width .2s ease}.sidebar.collapsed{width:86px}.sidebar-logo{display:flex;align-items:center;gap:.55rem;margin-bottom:1rem;padding:.4rem}.logo-badge{width:34px;height:34px;border-radius:.55rem;display:grid;place-items:center;color:#fff;font-weight:700;background:linear-gradient(160deg,#f39c12,#d35400)}.logo-text{font-weight:700;color:var(--text);letter-spacing:.05em}.sidebar.collapsed .logo-text,.sidebar.collapsed .menu-group-label,.sidebar.collapsed .menu-group-chevron,.sidebar.collapsed .menu-link-label,.sidebar.collapsed .menu-item-bullet,.sidebar.collapsed .menu-items{display:none}.menu-group-toggle{color:var(--text);background:transparent;border-radius:.55rem;font-size:1.05rem;text-transform:none;padding:.65rem .7rem}.menu-group-toggle.active,.menu-group-toggle:hover{background:var(--surface);color:var(--primary)}.menu-link{color:var(--text);border-radius:.55rem;padding:.5rem}.menu-link.active,.menu-link:hover{background:var(--primary);color:#fff}.content{padding:0}.topbar{min-height:74px;display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.2rem;background:var(--surface);border-bottom:1px solid var(--line)}.icon-btn{border:1px solid var(--line);background:var(--surface-soft);color:var(--text);border-radius:.7rem;width:44px;height:44px;font-size:1.15rem;cursor:pointer}.topbar-right{position:relative;display:flex;align-items:center;gap:.55rem}.notification-btn{position:relative;width:46px;height:46px;border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);color:var(--text);display:grid;place-items:center;cursor:pointer}.notification-icon{font-size:1.15rem}.notification-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:999px;background:#dc2626;color:#fff;font-size:.72rem;font-weight:700;display:grid;place-items:center;padding:0 .3rem}.user-chip{background:var(--surface-soft);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:.55rem .9rem;font-size:.86rem;letter-spacing:.03em}.content-body{margin-top:0;padding:1rem}.page{background:var(--surface);border:1px solid var(--line);border-radius:.8rem;box-shadow:0 2px 10px #0e1a2e14}.page h2{margin:0}.page-header{background:var(--primary-soft);border:1px solid var(--line);border-radius:.65rem;padding:.9rem;margin-bottom:.8rem}.btn{border-radius:.45rem}.btn.secondary{background:#4f89e3;color:#fff}.btn.small.secondary{background:var(--warn);color:#fff}.btn.small.danger{background:var(--danger);color:#fff}.table-wrap{border:1px solid var(--line);border-radius:.6rem;background:var(--surface)}.desktop-table th{background:var(--surface-soft);color:var(--text)}.desktop-table th,.desktop-table td{border-bottom:1px solid var(--line)}.pagination{justify-content:space-between}.pagination span,.page p,.page label,.page input,.page select,.page th,.page td{color:var(--text)}.theme-fab{position:fixed;left:1rem;bottom:1rem;width:54px;height:54px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);box-shadow:0 8px 20px #1118273d;cursor:pointer;z-index:1200;font-size:1.4rem}.sidebar-backdrop{display:none}@media (max-width: 980px){.app-shell,.app-shell.sidebar-open,.app-shell.sidebar-closed{grid-template-columns:1fr}.sidebar,.sidebar.collapsed{position:fixed;top:0;left:0;bottom:0;width:min(82vw,310px);z-index:1200}.sidebar.collapsed{transform:translate(-110%)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#03081273;z-index:1100}.topbar{padding-left:.8rem;padding-right:.8rem}.content-body{padding:.8rem}}.pagination{justify-content:flex-start;gap:.45rem}.pagination label{margin-right:auto}.pagination>span{font-weight:600;letter-spacing:.01em}.menu-home-link,.menu-group-toggle,.menu-link{position:relative;width:100%;text-decoration:none}.menu-home-link,.menu-group-toggle{min-height:44px;padding:.58rem .72rem;border-radius:.9rem;border:1px solid transparent;display:flex;align-items:center;justify-content:space-between;gap:.7rem;background:transparent;color:var(--text);transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.menu-home-link:hover,.menu-group-toggle:hover{background:color-mix(in srgb,var(--primary-soft) 56%,white);color:var(--primary)}.menu-home-link.active,.menu-group-toggle.active{background:color-mix(in srgb,var(--primary-soft) 74%,white);border-color:color-mix(in srgb,var(--primary) 12%,var(--line));color:var(--primary);box-shadow:inset 0 0 0 1px #2563eb0a}.menu-home-link.active:before,.menu-group-toggle.active:before,.menu-link.active:before{content:"";position:absolute;left:.46rem;top:.5rem;bottom:.5rem;width:3px;border-radius:999px;background:var(--primary)}.menu-group{margin-top:.34rem}.menu-group-head{display:inline-flex;align-items:center;gap:.72rem;min-width:0}.menu-group-icon{width:1.18rem;height:1.18rem;flex:0 0 1.18rem;color:currentColor;opacity:.95}.menu-group-icon svg{width:100%;height:100%;display:block}.menu-group-label{font-size:.98rem;font-weight:700;letter-spacing:.01em;line-height:1.2}.menu-group-chevron{font-size:.88rem;color:var(--muted);transition:transform .18s ease,color .18s ease}.menu-group-toggle.active .menu-group-chevron,.menu-group-toggle:hover .menu-group-chevron{color:var(--primary)}.menu-group-chevron.open{transform:rotate(180deg)}.menu-items{margin-top:.2rem;padding-left:2.05rem;display:grid;gap:.14rem}.menu-link{min-height:38px;padding:.46rem .7rem .46rem .9rem;border-radius:.85rem;display:inline-flex;align-items:center;gap:.58rem;color:var(--text);background:transparent;transition:background-color .18s ease,color .18s ease,transform .18s ease}.menu-link:hover{background:var(--surface-soft);color:var(--text)}.menu-link.active{background:color-mix(in srgb,var(--primary-soft) 82%,white);color:var(--primary);font-weight:700}.menu-item-bullet{width:.38rem;height:.38rem;border-radius:999px;background:color-mix(in srgb,var(--primary) 30%,var(--line));flex:0 0 .38rem}.menu-link.active .menu-item-bullet{background:var(--primary)}.menu-link-label{font-size:.92rem;line-height:1.2}.sidebar.collapsed .menu-home-link,.sidebar.collapsed .menu-group-toggle{justify-content:center;padding-left:.58rem;padding-right:.58rem}.sidebar.collapsed .menu-group-head{justify-content:center}.sidebar.collapsed .menu-home-link.active:before,.sidebar.collapsed .menu-group-toggle.active:before{left:.34rem;top:.42rem;bottom:.42rem}@media (max-width: 760px){.pagination{row-gap:.6rem}.pagination label{margin-right:0;width:100%}.pagination>button:first-of-type{margin-left:auto}.pagination>button:last-of-type{margin-right:auto}}:root[data-theme=dark] .page-size-select{background-color:var(--surface);border-color:var(--line);color:var(--text)!important;-webkit-text-fill-color:var(--text)}:root[data-theme=dark] .page-size-select option{background:#1a2434;color:#e6edf7}.powered-by{position:fixed;right:1rem;bottom:1.15rem;z-index:1190;font-size:.82rem;letter-spacing:.02em;color:var(--muted);background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--line);border-radius:999px;padding:.35rem .7rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media (max-width: 760px){.powered-by{right:.75rem;bottom:.7rem;font-size:.75rem}}.auth-powered{position:fixed;left:1rem;bottom:1rem;z-index:1190;font-size:.82rem;letter-spacing:.02em;color:#dbe7f8;background:#0c182d94;border:1px solid rgba(210,226,250,.26);border-radius:999px;padding:.35rem .7rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media (max-width: 760px){.auth-powered{left:.75rem;bottom:.75rem;font-size:.75rem}}:root[data-theme=dark] .modal-card{background:var(--surface);color:var(--text);border:1px solid var(--line)}:root[data-theme=dark] .form-grid input,:root[data-theme=dark] .form-grid select,:root[data-theme=dark] .form-grid textarea{background:var(--surface-soft)!important;color:var(--text)!important;-webkit-text-fill-color:var(--text);border-color:var(--line)}:root[data-theme=dark] .form-grid input::placeholder,:root[data-theme=dark] .form-grid textarea::placeholder{color:var(--muted);opacity:1}:root[data-theme=dark] .form-grid select option{background:#1a2434;color:#e6edf7}:root[data-theme=dark] .form-grid label,:root[data-theme=dark] .modal-header h3,:root[data-theme=dark] .modal-body{color:var(--text)}.app-toast{position:fixed;left:50%;bottom:1.1rem;transform:translate(-50%);z-index:1300;min-width:280px;max-width:min(92vw,560px);border-radius:.75rem;padding:.65rem .85rem;border:1px solid var(--line);background:var(--surface);color:var(--text);box-shadow:0 10px 26px #0f172a3d;text-align:center;font-weight:600}.app-toast.success{border-color:#7dd3a6;background:#ecfdf3;color:#166534}.app-toast.error{border-color:#f1a7b3;background:#fff1f4;color:#9f1239}:root[data-theme=dark] .app-toast{background:#172437;color:#e7eef9;border-color:#2d415d}:root[data-theme=dark] .app-toast.success{background:#0f3023;color:#9ee8bc;border-color:#2f7c57}:root[data-theme=dark] .app-toast.error{background:#3a1821;color:#ffc2cf;border-color:#8f3b4d}@media (max-width: 760px){.app-toast{bottom:4.6rem;min-width:0}}.confirm-body p{margin:0 0 .85rem;color:var(--text)}.avatar-btn{width:52px;height:52px;border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);color:#fff;display:grid;place-items:center;cursor:pointer;overflow:hidden;padding:0}.avatar-img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transform:scale(1.08)}.avatar-initials{font-weight:700;letter-spacing:.04em}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:var(--surface);border:1px solid var(--line);border-radius:.65rem;box-shadow:0 12px 28px #0a12222e;z-index:1300;overflow:hidden;padding:0}.notifications-dropdown{position:absolute;top:calc(100% + 8px);right:68px;width:min(420px,calc(100vw - 2rem));max-height:70vh;background:var(--surface);border:1px solid var(--line);border-radius:.9rem;box-shadow:0 12px 28px #0a12222e;z-index:1300;overflow:hidden}.notifications-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1rem;border-bottom:1px solid var(--line);background:var(--surface-soft)}.notifications-head-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.notifications-head-actions button{border:0;background:transparent;color:var(--brand);cursor:pointer;padding:0;font-size:.92rem}.notifications-list{max-height:calc(70vh - 64px);overflow:auto}.notification-item{display:grid;grid-template-columns:1fr auto;gap:.75rem;padding:.95rem 1rem;border-bottom:1px solid var(--line)}.notification-item.unread{background:#3b82f614}.notification-content{border:0;background:transparent;color:var(--text);text-align:left;padding:0;cursor:pointer}.notification-title{font-weight:700;margin-bottom:.25rem}.notification-message{color:var(--text-soft);line-height:1.45}.notification-date{margin-top:.45rem;color:var(--text-muted);font-size:.86rem}.notification-delete{border:0;background:transparent;color:#6b7280;cursor:pointer;align-self:start;font-size:1rem}.notifications-empty{padding:1rem;color:var(--text-soft)}.email-templates-page .desktop-table table{table-layout:fixed}.email-templates-page .desktop-table th,.email-templates-page .desktop-table td{min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.email-templates-page .desktop-table th:nth-child(1),.email-templates-page .desktop-table td:nth-child(1){width:18%}.email-templates-page .desktop-table th:nth-child(2),.email-templates-page .desktop-table td:nth-child(2){width:24%}.email-templates-page .desktop-table th:nth-child(3),.email-templates-page .desktop-table td:nth-child(3){width:46%}.email-templates-page .desktop-table th:last-child,.email-templates-page .desktop-table td:last-child{width:12%}.email-template-preview{max-width:100%;max-height:220px;overflow-x:hidden;overflow-y:auto;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.45;color:var(--text-soft);padding-right:.2rem}.email-template-preview *{max-width:100%!important;overflow-wrap:anywhere;word-break:break-word}.email-template-preview table{width:100%!important;table-layout:fixed;border-collapse:collapse}.email-template-preview img{max-width:100%!important;height:auto!important}.email-template-preview p,.email-template-preview h1,.email-template-preview h2,.email-template-preview h3,.email-template-preview h4,.email-template-preview h5,.email-template-preview h6{margin:0 0 .45rem}.reminder-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:.9rem 1rem}.reminders-layout{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1.15fr);gap:1rem;align-items:start}.calendar-card,.day-agenda-card{background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:1rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem}.calendar-head{margin-bottom:.55rem}.calendar-weekday{text-align:center;font-size:.88rem;color:var(--text-soft);font-weight:600}.calendar-day{min-height:82px;border:1px solid var(--line);border-radius:.9rem;background:var(--surface-soft);color:var(--text);padding:.7rem;cursor:pointer;text-align:left;display:flex;flex-direction:column;justify-content:space-between}.calendar-day.active{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:#3b82f61a}.calendar-day.empty{visibility:hidden}.calendar-day-number{font-weight:700}.calendar-day-indicators{align-self:flex-end;display:flex;align-items:center;gap:.35rem}.calendar-day-dot{width:10px;height:10px;border-radius:999px;background:#f59e0b;box-shadow:0 0 0 2px #f59e0b2e}.calendar-day-badge{min-width:24px;height:24px;border-radius:999px;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:.78rem;padding:0 .35rem}.day-agenda-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.agenda-list{display:grid;gap:.85rem}.agenda-item{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:.8rem;border:1px solid var(--line);border-radius:.95rem;padding:.85rem;background:var(--surface-soft);width:100%;min-width:0}.agenda-time{font-weight:700;color:var(--brand)}.agenda-body{display:grid;gap:.3rem;color:var(--text-soft);min-width:0;overflow-wrap:anywhere;word-break:break-word}.agenda-title{display:block;min-width:0;overflow-wrap:anywhere;word-break:break-word}.agenda-actions{display:grid;gap:.45rem;align-content:start;justify-items:stretch}.agenda-actions .btn{white-space:nowrap}.reminders-header-actions{flex-wrap:wrap}.empty-state{color:var(--text-soft);padding:1rem 0}.reminder-share-box{display:grid;gap:.7rem}.reminder-share-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.55rem}.reminder-share-item{display:flex;align-items:center;gap:.55rem;border:1px solid var(--line);border-radius:.75rem;padding:.6rem .75rem;background:var(--surface-soft)}@media (max-width: 980px){.reminder-toolbar,.reminders-layout{grid-template-columns:1fr}.reminder-toolbar{flex-direction:column;align-items:flex-start}.agenda-item{grid-template-columns:1fr}}.user-dropdown-item{width:100%;border:0;background:transparent;color:var(--text);text-align:left;padding:.75rem .9rem;cursor:pointer;font-size:1.05rem}.user-dropdown-item:hover{background:var(--surface-soft)}.profile-preview-wrap{display:flex;align-items:center;gap:.75rem}.profile-preview{width:64px;height:64px;border-radius:999px;object-fit:cover;border:1px solid var(--line)}.profile-section{display:grid;gap:.85rem;padding-top:.35rem;border-top:1px solid var(--line)}.profile-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.profile-section-header h4{margin:0;font-size:1rem}.profile-section-header p,.profile-section-note,.auth-helper{margin:0;color:var(--text-soft);line-height:1.45;font-size:.92rem}.status-pill{display:inline-flex;align-items:center;padding:.28rem .7rem;border-radius:999px;font-size:.82rem;font-weight:700;border:1px solid transparent;white-space:nowrap}.status-pill.success{color:#166534;background:#ecfdf3;border-color:#7dd3a6}.status-pill.muted{color:#334155;background:#f1f5f9;border-color:#cbd5e1}.mfa-card,.mfa-backup-box{display:grid;gap:.75rem;padding:.9rem;border:1px solid var(--line);border-radius:.8rem;background:var(--surface-soft)}.mfa-setup-grid,.mfa-disable-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.mfa-inline-actions{display:flex;gap:.6rem;flex-wrap:wrap}.mfa-backup-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.55rem}.mfa-backup-list code{display:block;padding:.55rem .65rem;border-radius:.65rem;background:#0f172a;color:#f8fafc;font-size:.9rem;letter-spacing:.04em}.auth-card-mfa{width:min(500px,100%)}.auth-qr-wrap{display:flex;justify-content:center;padding:.5rem 0 .2rem}.auth-qr-image{width:220px;height:220px;border-radius:.85rem;border:1px solid #d7deec;background:#fff;padding:.55rem}@media (max-width: 760px){.profile-section-header,.mfa-inline-actions{flex-direction:column;align-items:stretch}.mfa-setup-grid,.mfa-disable-grid{grid-template-columns:1fr}}.password-field{position:relative}.password-field input{width:100%;padding-right:2.4rem!important}.password-toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);width:30px;height:30px;border:1px solid transparent;border-radius:.5rem;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;line-height:1;font-size:1rem}.password-toggle:hover{color:var(--text);background:var(--surface-soft)}.password-toggle:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 28%,transparent)}.auth-login{background:radial-gradient(circle at top left,rgba(67,97,238,.12),transparent 34%),radial-gradient(circle at bottom right,rgba(59,130,246,.1),transparent 28%),linear-gradient(135deg,#f7faff,#eef4ff 44%,#e8f0ff)}.auth-shell{position:relative;z-index:1;width:min(1500px,100%);min-height:min(860px,calc(100vh - 2rem));display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);border:1px solid rgba(190,204,230,.82);border-radius:1.6rem;overflow:hidden;background:#fffffff5;box-shadow:0 22px 70px #2c4c941f}.auth-showcase{position:relative;min-height:100%;padding:1rem;border-right:1px solid rgba(190,204,230,.72)}.auth-showcase-panel{position:relative;min-height:100%;display:grid;align-content:space-between;gap:2rem;padding:2.2rem 2.4rem 2rem;border-radius:1.15rem;overflow:hidden;background:linear-gradient(180deg,#fffffff5,#f7fafffa),radial-gradient(circle at 75% 30%,rgba(56,189,248,.12),transparent 18%),radial-gradient(circle at 68% 58%,rgba(37,99,235,.12),transparent 22%),radial-gradient(circle at 40% 78%,rgba(14,165,233,.08),transparent 26%),linear-gradient(135deg,#fff,#f7faff 42%,#eef4ff)}.auth-showcase-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,rgba(255,255,255,.4),transparent 22%),repeating-linear-gradient(115deg,transparent 0,transparent 18px,rgba(92,132,255,.035) 18px,rgba(92,132,255,.035) 19px);opacity:.9;pointer-events:none}.auth-brand-lockup,.auth-showcase-copy,.auth-feature-list,.auth-showcase-footer{position:relative;z-index:1}.auth-brand-lockup{display:flex;align-items:center;gap:1rem}.auth-brand-mark{width:72px;height:72px;display:grid;place-items:center;border-radius:1.25rem;font-size:2rem;font-weight:800;color:#e8f0ff;background:linear-gradient(145deg,#476dfff0,#2c57e9a6);box-shadow:inset 0 1px #ffffff3d,0 18px 38px #2258ff47}.auth-brand-lockup strong{display:block;color:#17325c;font-size:clamp(2rem,3.2vw,3rem);letter-spacing:.02em}.auth-brand-lockup span{display:block;margin-top:.2rem;color:#354f7ccc;text-transform:uppercase;letter-spacing:.18em;font-size:.84rem}.auth-showcase-copy{display:grid;gap:1rem;max-width:560px}.auth-showcase-copy h1{margin:0;color:#17325c;line-height:1.08;font-size:clamp(2.1rem,3.4vw,3.45rem)}.auth-showcase-copy h1 span{color:#5f86ff}.auth-showcase-copy p{margin:0;max-width:500px;color:#364a6de6;font-size:1.03rem;line-height:1.65}.auth-feature-list{display:grid;gap:1rem;max-width:520px}.auth-feature-item{display:grid;grid-template-columns:68px minmax(0,1fr);gap:1rem;align-items:center}.auth-feature-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:1rem;color:#4c73e6;font-size:1.35rem;background:#f0f5fffa;border:1px solid rgba(189,205,236,.9)}.auth-feature-item strong{display:block;color:#17325c;font-size:1.12rem;margin-bottom:.25rem}.auth-feature-item p{margin:0;color:#495d80db;font-size:.94rem;line-height:1.45}.auth-showcase-footer{display:flex;justify-content:space-between;gap:1rem;color:#52688ed6;font-size:.92rem}.auth-panel-wrap{display:grid;place-items:center;padding:2.25rem;background:radial-gradient(circle at top right,rgba(82,111,255,.08),transparent 30%),linear-gradient(180deg,#fafcfff5,#f4f8fffa)}.auth-login-card{width:min(560px,100%);display:grid;gap:1.05rem;padding:2.2rem 2rem 1.8rem;border-radius:1.45rem;background:#fffffffa;border:1px solid rgba(200,210,228,.72);box-shadow:0 24px 54px #02081747,inset 0 1px #fff9;color:#10203b}.auth-panel-icon{width:86px;height:86px;margin:0 auto .25rem;display:grid;place-items:center;border-radius:50%;font-size:2rem;background:#17233fd1;border:1px solid rgba(88,114,192,.26);box-shadow:0 0 0 10px #2c56e90f}.auth-panel-heading{text-align:center;display:grid;gap:.45rem;margin-bottom:.5rem}.auth-panel-heading h2{margin:0;font-size:clamp(2rem,2.4vw,2.7rem);color:#10203b}.auth-login-card label{display:grid;gap:.45rem;color:#233755;font-size:.96rem}.auth-input-shell{position:relative}.auth-input-icon{position:absolute;left:.95rem;top:50%;transform:translateY(-50%);font-size:1rem;opacity:.85;pointer-events:none}.auth-login-card .input-like{width:100%;min-height:54px;padding:.9rem 1rem .9rem 2.9rem;border-radius:.95rem;border:1px solid rgba(171,186,214,.72);background:#fff;color:#10203b;box-shadow:inset 0 1px #fff6}.auth-login-card .input-like::placeholder{color:#60708ac2}.auth-login-card .input-like:focus{border-color:#5f86ffcc;box-shadow:0 0 0 3px #3c65ff2e}.auth-login-card .password-field input{padding-left:2.9rem;padding-right:3rem!important}.auth-login-card .password-toggle{right:.7rem;width:34px;height:34px;border-radius:.65rem;color:#4a5c7ce6}.auth-login-card .password-toggle:hover{background:#e8effff2;color:#10203b}.auth-panel-actions{display:grid;gap:.9rem;margin-top:.35rem}.auth-submit-btn{width:100%;min-height:58px;border:0;border-radius:1rem;font-size:1.08rem;font-weight:700;color:#fff;background:linear-gradient(90deg,#4168ff,#4f7cff);box-shadow:0 18px 32px #3760ff3d}.auth-submit-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05)}.auth-inline-link{text-align:right;color:#7ea0ff;font-weight:600;text-decoration:none}.auth-inline-link:hover{text-decoration:underline}.auth-inline-link-left{text-align:left}.auth-flow-card{width:min(560px,100%)}.auth-support-note{margin:.2rem 0 0;padding-top:1rem;border-top:1px solid rgba(191,203,225,.72);color:#3e4e6ce0;text-align:center;line-height:1.55}.auth-login-card .error{margin:0;padding:.8rem .95rem;border-radius:.9rem;border:1px solid rgba(244,114,182,.28);background:#7f1d1d38;color:#fecdd3}.auth-login-card .btn.secondary{min-height:48px;border-radius:.9rem}.auth-powered{color:#3d5886;background:#ffffffdb;border:1px solid rgba(190,204,230,.72)}@media (max-width: 1180px){.auth-shell{grid-template-columns:1fr}.auth-showcase{border-right:0;border-bottom:1px solid rgba(190,204,230,.72)}.auth-showcase-panel{min-height:auto}}@media (max-width: 760px){.auth-shell{min-height:auto;border-radius:1.2rem}.auth-showcase{padding:.8rem}.auth-showcase-panel{padding:1.4rem 1.2rem 1.3rem;gap:1.4rem}.auth-brand-mark{width:58px;height:58px;font-size:1.6rem}.auth-showcase-copy p{font-size:1rem}.auth-feature-item{grid-template-columns:56px minmax(0,1fr)}.auth-feature-icon{width:48px;height:48px;border-radius:.85rem}.auth-showcase-footer{flex-direction:column}.auth-panel-wrap{padding:1rem}.auth-login-card{padding:1.55rem 1.15rem 1.25rem}.auth-panel-icon{width:74px;height:74px;font-size:1.7rem}.auth-inline-link{text-align:left}}.quote-accordion-stack{display:grid;gap:.6rem}.quote-accordion{border:1px solid var(--line);border-radius:.6rem;background:var(--surface-soft)}.quote-accordion-header{width:100%;border:0;background:transparent;color:var(--text);display:flex;justify-content:space-between;align-items:center;padding:.7rem .85rem;font-weight:600;cursor:pointer}.quote-accordion.open .quote-accordion-header{color:var(--primary)}.quote-accordion-body{padding:.75rem;border-top:1px dashed var(--line)}.menu-order-select{min-width:280px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;border:1px solid #c9d3e4;border-radius:.65rem;padding:.55rem 2.2rem .55rem .7rem;color:var(--text);line-height:1.2;background-image:linear-gradient(45deg,transparent 50%,#4f6ea8 50%),linear-gradient(135deg,#4f6ea8 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% - 2px),calc(100% - 8px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}.menu-order-list{display:grid;gap:.55rem}.menu-order-item{display:flex;align-items:center;justify-content:space-between;gap:.65rem;border:1px solid var(--line);border-radius:.65rem;background:var(--surface);padding:.65rem .75rem}.menu-order-item.dragging{opacity:.65;border-style:dashed}.menu-order-item-main{display:grid;grid-template-columns:auto auto 1.2fr 1fr 1fr;align-items:center;gap:.6rem;min-width:0;flex:1 1 auto}.menu-order-handle{cursor:grab;color:var(--muted);font-weight:700;letter-spacing:.06em}.menu-order-index{display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);font-size:.78rem}.menu-order-label{font-weight:600;color:var(--text)}.menu-order-meta{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 900px){.menu-order-item{flex-direction:column;align-items:stretch}.menu-order-item-main{grid-template-columns:auto auto 1fr}.menu-order-meta{grid-column:1 / -1}}.menu-order-filter-label{display:inline-flex;align-items:center;gap:.55rem}.dashboard-grid{display:grid;gap:1rem}.dashboard-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 18%,var(--surface)),var(--surface));min-height:180px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:.25rem}.dashboard-heading{display:grid;gap:.35rem;flex:1 1 420px}.hero-kicker{margin:0 0 .35rem;font-size:2.4rem;line-height:1.05;letter-spacing:.01em;color:var(--primary)}.hero-subtitle{margin:0;font-size:1.1rem;font-weight:600;color:var(--text);max-width:760px}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:.85rem;padding:1rem;display:grid;gap:.3rem}.stat-card strong{font-size:1.8rem}.dashboard-notes ol{margin:0;padding-left:1.2rem}.page-stack{display:grid;gap:1rem;min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem}.section-heading h3,.gantt-block h4{margin:0}.gantt-panel{display:grid;gap:1rem}.gantt-block{border:1px solid var(--line);border-radius:.75rem;padding:.85rem;background:var(--surface-soft)}.gantt-row-ui{display:grid;grid-template-columns:220px 1fr;gap:.8rem;align-items:center;margin-top:.65rem}.gantt-label-ui{display:grid;gap:.15rem}.gantt-track-ui{position:relative;min-height:16px;border-radius:999px;background:color-mix(in srgb,var(--primary) 10%,var(--surface));overflow:hidden}.gantt-fill-ui{height:16px;border-radius:999px;background:linear-gradient(90deg,#4f89e3,#7db5ff)}.muted-block{color:var(--muted)}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-form textarea{min-height:110px}@media (max-width: 760px){.gantt-row-ui,.compact-grid{grid-template-columns:1fr}}.rich-editor{border:1px solid var(--line);border-radius:.7rem;background:var(--surface);overflow:hidden}.rich-editor-toolbar{display:flex;flex-wrap:wrap;gap:.4rem;padding:.55rem;border-bottom:1px solid var(--line);background:var(--surface-soft)}.rich-editor-btn{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:.45rem;padding:.4rem .55rem;cursor:pointer}.rich-editor-surface{padding:.75rem;outline:none}.rich-editor-surface:empty:before{content:attr(data-placeholder);color:var(--muted)}.rich-editor-surface table,.rich-preview table{width:max-content;min-width:100%;border-collapse:collapse}.rich-editor-surface td,.rich-editor-surface th,.rich-preview td,.rich-preview th{border:1px solid var(--line);padding:.45rem}.rich-preview{border:1px solid var(--line);border-radius:.7rem;padding:.75rem;background:var(--surface-soft)}.budget-summary-card{border:1px solid var(--line);border-radius:.7rem;padding:.85rem;background:var(--surface-soft);min-width:0}.budget-summary-card h3{margin-top:0}.technovigilance-accordion{padding:0;overflow:hidden}.technovigilance-accordion-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.technovigilance-accordion-summary::-webkit-details-marker{display:none}.technovigilance-accordion-title{font-size:1.02rem;font-weight:700;color:var(--text)}.technovigilance-accordion-summary:after{content:"+";flex:0 0 auto;font-size:1.1rem;font-weight:700;color:var(--muted)}.technovigilance-accordion[open] .technovigilance-accordion-summary:after{content:"-"}.technovigilance-accordion-content{display:grid;gap:.85rem;padding:0 .85rem .85rem}.technovigilance-accordion-content .modal-footer{margin-top:.4rem}.inventory-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem}.technovigilance-card-grid{margin-top:.8rem}.technovigilance-theme .btn:not(.danger){background:#1f8f4a;color:#fff}.technovigilance-theme .btn.secondary,.technovigilance-theme .btn.small.secondary{background:#e7f7ed;color:#166534;border:1px solid #7ecb95}.technovigilance-theme .btn:not(.danger):hover{filter:brightness(.96)}.technovigilance-theme .btn.secondary:hover,.technovigilance-theme .btn.small.secondary:hover{background:#d8f0e1;border-color:#62b87c}.technovigilance-cases-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem}.technovigilance-cases-header-copy{display:grid;gap:.25rem;min-width:0}.technovigilance-cases-header-copy .muted-text{margin:0}.technovigilance-cases-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem}.technovigilance-filter-card{margin-bottom:.8rem}.technovigilance-filter-grid{display:grid;grid-template-columns:minmax(260px,2fr) repeat(5,minmax(180px,1fr));gap:.8rem;align-items:end}.technovigilance-filter-field{display:grid;gap:.35rem;min-width:0}.technovigilance-filter-field span{font-size:.85rem;color:var(--muted)}.technovigilance-filter-field .input-like,.technovigilance-filter-field select{width:100%;min-width:0;min-height:42px;padding:.55rem .7rem;border:1px solid #c9d3e4;border-radius:.65rem;background:#fff;color:var(--text);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.technovigilance-filter-field .input-like:hover,.technovigilance-filter-field select:hover{border-color:#aebdd8;background-color:#fbfdff}.technovigilance-filter-field .input-like:focus,.technovigilance-filter-field select:focus{outline:none;border-color:#2f6efb;box-shadow:0 0 0 3px #2f6efb2e}.technovigilance-filter-field select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:2.2rem;background-image:linear-gradient(45deg,transparent 50%,#4f6ea8 50%),linear-gradient(135deg,#4f6ea8 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% - 2px),calc(100% - 8px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}.technovigilance-filter-field-search{grid-column:span 2}:root[data-theme=dark] .technovigilance-filter-field .input-like,:root[data-theme=dark] .technovigilance-filter-field select{background:var(--surface);border-color:var(--line);color:var(--text)!important;-webkit-text-fill-color:var(--text)}:root[data-theme=dark] .technovigilance-filter-field select option{background:#1a2434;color:#e6edf7}.technovigilance-filter-actions{display:flex;justify-content:flex-end;align-items:end}.technovigilance-cases-table{width:100%;max-width:100%;min-width:0;overflow-x:auto}.technovigilance-table-card{width:100%;max-width:100%;min-width:0;overflow:hidden}.technovigilance-table-card .table-wrap{margin-top:0;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-gutter:stable}.technovigilance-cases-inner{width:100%;min-width:0}.technovigilance-cases-grid{width:100%;min-width:1480px;table-layout:fixed!important}.technovigilance-cases-grid th,.technovigilance-cases-grid td{white-space:normal!important;word-break:break-word!important;overflow-wrap:anywhere!important;vertical-align:top}.technovigilance-cases-grid th{position:sticky;top:0;z-index:1}.technovigilance-cases-grid th:nth-child(1),.technovigilance-cases-grid td:nth-child(1){min-width:110px}.technovigilance-cases-grid th:nth-child(2),.technovigilance-cases-grid td:nth-child(2),.technovigilance-cases-grid th:nth-child(3),.technovigilance-cases-grid td:nth-child(3),.technovigilance-cases-grid th:nth-child(13),.technovigilance-cases-grid td:nth-child(13){min-width:120px}.technovigilance-cases-grid th:nth-child(7),.technovigilance-cases-grid td:nth-child(7),.technovigilance-cases-grid th:nth-child(10),.technovigilance-cases-grid td:nth-child(10),.technovigilance-cases-grid th:nth-child(11),.technovigilance-cases-grid td:nth-child(11),.technovigilance-cases-grid th:nth-child(12),.technovigilance-cases-grid td:nth-child(12){min-width:160px}.technovigilance-actions-col,.technovigilance-actions-col-cell,.technovigilance-cases-grid th:last-child,.technovigilance-cases-grid td:last-child{position:sticky;right:0;z-index:2;background:var(--surface);min-width:252px;box-shadow:-8px 0 12px #0f172a0f}.technovigilance-cases-grid th:last-child{z-index:3;background:var(--surface-soft)}.technovigilance-actions-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.technovigilance-actions-wrap .btn{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.74rem;line-height:1.1;padding-left:.45rem;padding-right:.45rem}.technovigilance-deadline-cell,.technovigilance-days-cell{display:grid;gap:.35rem}.technovigilance-inline-meta{display:inline-flex;align-items:center;width:fit-content;padding:.22rem .55rem;border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);font-size:.8rem;white-space:nowrap}.technovigilance-empty-state{display:grid;justify-items:center;gap:.65rem;padding:1.4rem 1rem;text-align:center}.technovigilance-empty-state strong{font-size:1rem}.technovigilance-empty-state span{max-width:560px;color:var(--muted)}.technovigilance-pagination{gap:.7rem}@media (max-width: 1360px){.technovigilance-filter-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}.technovigilance-filter-field-search{grid-column:span 3}}@media (max-width: 1024px){.technovigilance-cases-header{grid-template-columns:1fr}.technovigilance-cases-header-actions{justify-content:flex-start}.technovigilance-filter-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.technovigilance-filter-field-search{grid-column:span 2}}@media (max-width: 767px){.technovigilance-filter-grid{grid-template-columns:1fr}.technovigilance-filter-field-search{grid-column:auto}.technovigilance-filter-actions{justify-content:stretch}.technovigilance-filter-actions .btn,.technovigilance-cases-header-actions .btn{width:100%}.technovigilance-cases-grid{min-width:1200px}}.inventory-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.8rem}.inventory-kpi-value{display:block;font-size:1.5rem;line-height:1.1}.inventory-kpi-small{font-size:1rem}.inventory-scan-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:end}.inventory-filter-select{min-height:2.7rem;border-radius:.7rem;padding-left:.9rem;padding-right:2.2rem;background-color:#fff}.inventory-filter-date{min-height:2.7rem;border-radius:.7rem;padding-left:.9rem;padding-right:.9rem;background-color:#fff}.inventory-scan-input{width:100%;border:1px solid var(--line);border-radius:.7rem;background:#fff;color:var(--text);padding:.8rem .95rem;min-height:3.3rem;font-size:1.15rem;font-weight:600}.inventory-scan-submit{min-height:3.3rem;align-self:stretch}.inventory-scan-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #2f6fed1f}.inventory-scan-feedback{display:grid;gap:.2rem;padding:.85rem 1rem;border-radius:.8rem;border:1px solid var(--line)}.inventory-scan-feedback.success{background:#eefbf3;border-color:#b8e4c6;color:#1d6b3c}.inventory-scan-feedback.warning{background:#fff8eb;border-color:#edd7a4;color:#8f6100}.inventory-scan-feedback.error{background:#fff1f1;border-color:#efc4c4;color:#9c2f2f}.inventory-subheader{margin-top:.2rem}@media (max-width: 768px){.inventory-scan-form{grid-template-columns:1fr}}.milestone-filter-grid{margin-bottom:.85rem}.rich-editor-group{display:inline-flex;flex-wrap:wrap;gap:.35rem;padding-right:.35rem;margin-right:.15rem;border-right:1px dashed var(--line)}.rich-editor-group:last-child{border-right:0;padding-right:0}.rich-editor-btn{min-width:42px;font-weight:600}.rich-editor-file{display:none}.rich-editor-surface{line-height:1.55}.rich-editor-surface ul,.rich-editor-surface ol{padding-left:1.8rem}.rich-editor-surface li+li{margin-top:.25rem}.rich-editor-surface img{display:block;max-width:100%;height:auto;margin:.75rem 0;border-radius:.75rem}.rich-editor-surface a{color:var(--primary);text-decoration:underline}.rich-editor-surface h2,.rich-editor-surface h3,.rich-editor-surface p{margin-top:0}.rich-editor-help{padding:.55rem .75rem;border-top:1px solid var(--line);background:var(--surface-soft);color:var(--muted);font-size:.82rem}.rich-editor-colors{align-items:center}.rich-editor-color-label{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--muted)}.rich-editor-color-label input[type=color]{width:34px;height:28px;padding:0;border:1px solid var(--line);border-radius:.45rem;background:var(--surface);cursor:pointer}.btn:disabled{opacity:.72;cursor:not-allowed}.btn.is-loading{opacity:.72;cursor:wait}.btn-loading-wrap{display:inline-flex;align-items:center;gap:.45rem}.btn-spinner{width:.95rem;height:.95rem;border:2px solid rgba(255,255,255,.38);border-top-color:currentColor;border-radius:999px;animation:btn-spin .7s linear infinite}.btn.secondary .btn-spinner,.btn.small.secondary .btn-spinner{border-color:#ffffff47;border-top-color:currentColor}@keyframes btn-spin{to{transform:rotate(360deg)}}.history-stack{display:grid;gap:4px;font-size:.9rem}.attachment-row{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.dashboard-analytics-panel{display:grid;gap:1rem}.dashboard-heading p,.analytics-card-header p{margin:.2rem 0 0;color:var(--muted)}.dashboard-filters{display:flex;flex-wrap:wrap;gap:.85rem}.dashboard-filters label{display:grid;gap:.35rem;min-width:140px}.dashboard-filters span{font-size:.85rem;color:var(--muted)}.dashboard-filters select{min-height:42px}.dashboard-filters .input-like,.dashboard-filters select,.dashboard-filters input{min-height:42px;min-width:160px;padding:.5rem .6rem;border:1px solid #c9d3e4;border-radius:.55rem;background:var(--surface);color:var(--text)}.dashboard-filters .input-like:hover,.dashboard-filters select:hover,.dashboard-filters input:hover{border-color:#aebdd8;background-color:#fbfdff}.dashboard-filters .input-like:focus,.dashboard-filters select:focus,.dashboard-filters input:focus{outline:none;border-color:#2f6efb;box-shadow:0 0 0 3px #2f6efb2e}.dashboard-analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.analytics-card{display:grid;gap:1rem;padding:1.1rem;border:1px solid var(--line);border-radius:1rem;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 92%,white),var(--surface))}.analytics-card h4{margin:0;font-size:1.25rem}.analytics-subsection h5{margin:0;font-size:1.02rem}.analytics-subsection p{margin:.2rem 0 0;color:var(--muted)}.analytics-subsection-spaced{padding-top:.35rem;border-top:1px solid var(--line)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.8rem}.summary-card{display:grid;gap:.3rem;padding:.9rem 1rem;border-radius:.9rem;border:1px solid var(--line);background:var(--surface)}.summary-card span{color:var(--muted);font-size:.9rem}.summary-card strong{font-size:1.25rem}.summary-card small{font-size:1rem;font-weight:700;color:var(--text-soft)}.summary-card-primary strong,.legend-swatch-primary{color:var(--primary)}.summary-card-secondary strong,.legend-swatch-secondary,.summary-card-secondary small{color:#1b8f6b}.dashboard-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.dashboard-kpi-card{min-height:132px;align-content:start}.dashboard-lower-grid{grid-template-columns:minmax(320px,1.2fr) minmax(280px,.95fr) minmax(280px,.95fr);align-items:start}.dashboard-panel-tall,.dashboard-panel-medium{min-height:360px}.dashboard-scroll-list,.dashboard-supplier-list{display:grid;gap:.75rem}.dashboard-scroll-list{max-height:360px;overflow-y:auto;padding-right:.15rem}.dashboard-list-row,.dashboard-control-row,.dashboard-supplier-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}.dashboard-list-row:last-child,.dashboard-control-row:last-child,.dashboard-supplier-row:last-child{border-bottom:0;padding-bottom:0}.dashboard-list-row strong,.dashboard-control-copy strong,.dashboard-supplier-copy strong{display:block}.dashboard-list-row small,.dashboard-control-copy small,.dashboard-supplier-copy small{color:var(--muted)}.dashboard-control-copy{display:grid;gap:.2rem}.dashboard-badge{display:inline-flex;align-items:center;justify-content:center;min-width:76px;padding:.4rem .7rem;border-radius:999px;font-weight:700;font-size:.92rem;border:1px solid var(--line);background:var(--surface-soft);white-space:nowrap}.dashboard-badge.success{color:#1b8f6b;border-color:color-mix(in srgb,#1b8f6b 35%,var(--line));background:color-mix(in srgb,#1b8f6b 12%,var(--surface))}.dashboard-badge.warning{color:#a56500;border-color:color-mix(in srgb,#a56500 35%,var(--line));background:color-mix(in srgb,#a56500 10%,var(--surface))}.dashboard-badge.danger{color:#bf3d3d;border-color:color-mix(in srgb,#bf3d3d 35%,var(--line));background:color-mix(in srgb,#bf3d3d 10%,var(--surface))}.dashboard-rank{width:2rem;height:2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--surface));flex:0 0 auto}.dashboard-supplier-copy{display:grid;gap:.2rem;flex:1 1 auto}.dashboard-empty{padding:.9rem 1rem;border:1px dashed var(--line);border-radius:.9rem;color:var(--muted);background:var(--surface-soft)}@media (max-width: 1180px){.dashboard-lower-grid{grid-template-columns:repeat(2,minmax(280px,1fr))}.dashboard-panel-tall{grid-column:1 / -1}}.monthly-bars{display:grid;gap:.75rem}.monthly-bars-legend{display:flex;flex-wrap:wrap;gap:1rem;color:var(--muted);font-size:.92rem}.monthly-bars-legend span{display:inline-flex;align-items:center;gap:.45rem}.legend-swatch{width:.8rem;height:.8rem;border-radius:999px;display:inline-block;background:currentColor}.monthly-bars-grid{min-height:260px;display:grid;grid-template-columns:repeat(auto-fit,minmax(14px,1fr));gap:.35rem;align-items:end}.monthly-bar-day{display:grid;gap:.45rem;justify-items:center}.monthly-bar-day span{font-size:.72rem;color:var(--muted)}.monthly-bar-track{width:100%;min-height:220px;display:flex;align-items:flex-end;justify-content:center;gap:.18rem;padding:.35rem 0;border-radius:.8rem;background:color-mix(in srgb,var(--surface) 78%,var(--line))}.monthly-bar{width:calc(50% - .1rem);min-height:0;border-radius:999px 999px 0 0}.monthly-bar-primary{background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 70%,white),var(--primary))}.monthly-bar-secondary{background:linear-gradient(180deg,color-mix(in srgb,#1b8f6b 70%,white),#1b8f6b)}@media (max-width: 720px){.dashboard-heading{align-items:flex-start}.dashboard-filters{width:100%}.dashboard-filters label{flex:1 1 140px}.dashboard-lower-grid{grid-template-columns:1fr}.monthly-bars-grid{overflow-x:auto;grid-template-columns:repeat(31,minmax(18px,1fr));padding-bottom:.35rem}}.auth-flow-card{width:min(500px,100%)}.auth-flow-stack{display:grid;gap:.85rem}.auth-helper{margin:0;color:var(--muted);line-height:1.5}.auth-success-state{text-align:center}.auth-mail-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:.5rem}.auth-mail-link{display:flex;align-items:center;justify-content:center;gap:.65rem;min-height:56px;padding:.85rem 1rem;border-radius:.85rem;border:1px solid #ccd6e8;background:#ffffffc7;color:#17365d;font-weight:600;text-decoration:none}.auth-mail-icon{width:2rem;height:2rem;display:inline-grid;place-items:center;border-radius:999px;background:#17365d;color:#fff;font-size:.95rem;font-weight:700}.auth-link-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}@media (max-width: 640px){.auth-mail-shortcuts{grid-template-columns:1fr}}.sidebar{display:flex;flex-direction:column;height:100vh;min-height:100vh;overflow:hidden}.sidebar-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:1rem;overscroll-behavior:contain}.sidebar-footer{flex:0 0 auto;margin-top:auto;padding-top:1rem;border-top:1px solid var(--line);display:grid;gap:.75rem;background:var(--sidebar)}.sidebar-theme-toggle{width:100%;min-height:54px;border-radius:1rem;border:1px solid var(--line);background:var(--surface);color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:.65rem;font-size:.95rem;font-weight:700;cursor:pointer}.sidebar-theme-icon{font-size:1.2rem;line-height:1}.sidebar-powered-by{text-align:center;font-size:.8rem;color:var(--muted)}.sidebar.collapsed .sidebar-footer{padding-top:.65rem}.sidebar.collapsed .sidebar-theme-toggle span:last-child,.sidebar.collapsed .sidebar-powered-by{display:none}.sidebar.collapsed .sidebar-theme-toggle{min-height:48px;padding:0}.theme-fab,.powered-by{display:none!important}@media (max-width: 980px){.sidebar{height:100vh;min-height:100vh}.sidebar-footer{padding-bottom:.5rem}}html,body,#root{height:100%}body{overflow:hidden}.app-shell,.app-shell.sidebar-open,.app-shell.sidebar-closed{height:100vh;min-height:100vh;overflow:hidden}.sidebar{align-self:stretch}.content{height:100vh;min-height:100vh;overflow-y:auto;overflow-x:hidden}.content-body{min-height:calc(100vh - 74px)}@media (max-width: 980px){body{overflow:auto}.app-shell,.app-shell.sidebar-open,.app-shell.sidebar-closed,.content{height:auto;min-height:100vh;overflow:visible}.content-body{min-height:0}}.catalog-boolean-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.catalog-boolean-card{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:.9rem;padding:.95rem 1rem;display:flex;align-items:flex-start;gap:.85rem;text-align:left;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.catalog-boolean-card:hover{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}.catalog-boolean-card.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface))}.catalog-boolean-check{width:22px;height:22px;border-radius:.45rem;border:1px solid var(--line);background:var(--surface-soft);display:inline-grid;place-items:center;font-size:.9rem;font-weight:800;color:#fff;flex:0 0 auto;margin-top:.1rem}.catalog-boolean-card.active .catalog-boolean-check{background:var(--primary);border-color:var(--primary)}.catalog-boolean-copy{display:grid;gap:.2rem}.catalog-boolean-copy strong{font-size:1rem}.catalog-boolean-copy small{color:var(--muted);line-height:1.35}@media (max-width: 760px){.catalog-boolean-grid{grid-template-columns:1fr}}.muted-text{color:var(--text-soft);font-size:.95rem}.attachment-preview-shell{display:grid;gap:16px;max-height:calc(90vh - 120px)}.license-banner{margin-bottom:1rem;padding:.9rem 1rem;border-radius:.8rem;border:1px solid var(--line);font-weight:600}.license-banner.grace{background:#fff7e6;border-color:#f5d08a;color:#8a5a00}.license-banner.readonly{background:#fff1f2;border-color:#f2b1bb;color:#9f1239}.license-banner.blocked{background:#fef2f2;border-color:#f0a4a4;color:#991b1b}.audit-field-changes-page .page-header,.audit-field-changes-page .row.gap,.audit-field-changes-page .table-wrap,.audit-field-changes-page .desktop-table,.audit-field-changes-page .audit-field-changes-table{min-width:0}.audit-field-changes-page .audit-field-changes-table-wrap{overflow-x:hidden}.audit-field-changes-page .audit-field-changes-table{width:100%;min-width:0;table-layout:fixed}.audit-field-changes-page .audit-field-changes-table th,.audit-field-changes-page .audit-field-changes-table td{min-width:0}.audit-field-changes-page .audit-field-changes-table th:nth-child(1),.audit-field-changes-page .audit-field-changes-table td:nth-child(1){width:14%}.audit-field-changes-page .audit-field-changes-table th:nth-child(2),.audit-field-changes-page .audit-field-changes-table td:nth-child(2){width:16%}.audit-field-changes-page .audit-field-changes-table th:nth-child(3),.audit-field-changes-page .audit-field-changes-table td:nth-child(3),.audit-field-changes-page .audit-field-changes-table th:nth-child(4),.audit-field-changes-page .audit-field-changes-table td:nth-child(4){width:26%}.audit-field-changes-page .audit-field-changes-table th:nth-child(5),.audit-field-changes-page .audit-field-changes-table td:nth-child(5){width:10%}.audit-field-changes-page .audit-field-changes-table th:nth-child(6),.audit-field-changes-page .audit-field-changes-table td:nth-child(6){width:8%}.audit-field-changes-page .audit-field-changes-cell-text{display:-webkit-box;max-width:100%;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word;overflow-wrap:anywhere}.attachment-preview-viewport{overflow-y:auto;overflow-x:auto;min-height:0;max-height:calc(90vh - 220px);background:#f8fafc;padding:12px;border:1px solid #d8dee9;border-radius:8px}.attachment-preview-pdf-canvas{width:100%;min-height:70vh}.attachment-preview-object{width:100%;min-height:70vh;border:0;border-radius:16px;background:#f6f8fb}.attachment-preview-actions{justify-content:flex-end}.pdf-preview-shell{display:grid;gap:12px;justify-items:center}.pdf-preview-toolbar{display:flex;align-items:center;justify-content:center;gap:12px}.react-pdf__Page{max-width:100%;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 8px 24px #10182814}.react-pdf__Page canvas{max-width:100%;height:auto!important;border-radius:12px}
