*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.static{position:static}.flex{display:flex}.grid{display:grid}.border{border-width:1px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--brand-950:#4d0707;--brand-900:#6f0a0a;--brand-800:#8f1212;--brand-700:#b11f1f;--ink-950:#111827;--ink-800:#1f2937;--ink-700:#334155;--ink-500:#64748b;--ink-200:#dbe2ea;--ink-100:#edf2f7;--surface:hsla(0,0%,100%,.92);--white:#fff;--success-bg:#dcfce7;--success-fg:#166534;--warning-bg:#fef3c7;--warning-fg:#a16207;--info-bg:#dbeafe;--info-fg:#1d4ed8;--danger-bg:#fee2e2;--danger-fg:#b91c1c;--muted-bg:#e5e7eb;--muted-fg:#374151;--shadow-strong:0 24px 60px rgba(15,23,42,.16);--shadow-soft:0 20px 45px rgba(15,23,42,.08);--page-bg:radial-gradient(circle at top left,hsla(0,100%,94%,.95),transparent 30%),radial-gradient(circle at bottom right,rgba(191,219,254,.45),transparent 28%),linear-gradient(180deg,#fff8f7,#f8fafc 45%,#eef2ff);--panel-bg:hsla(0,0%,100%,.92);--panel-strong:hsla(0,0%,100%,.98);--sidebar-bg:linear-gradient(180deg,hsla(0,0%,100%,.08),transparent 28%),linear-gradient(180deg,var(--brand-950) 0%,var(--brand-900) 48%,var(--brand-800) 100%);--topbar-bg:hsla(0,0%,100%,.82);--field-bg:hsla(0,0%,100%,.98);--field-border:rgba(219,226,234,.92);--overlay-bg:rgba(15,23,42,.5);--accent-panel-bg:linear-gradient(135deg,rgba(255,241,242,.96),hsla(0,0%,100%,.95))}*{box-sizing:border-box}html{font-size:15px}body,html{min-height:100%;overflow-x:hidden}html[data-theme=dark]{--brand-950:#140708;--brand-900:#401215;--brand-800:#5c191d;--brand-700:#d14b4b;--ink-950:#f8fafc;--ink-800:#e2e8f0;--ink-700:#cbd5e1;--ink-500:#94a3b8;--ink-200:#334155;--ink-100:#172131;--surface:rgba(10,15,25,.88);--success-bg:#102818;--success-fg:#86efac;--warning-bg:#3b2a0f;--warning-fg:#fcd34d;--info-bg:#112a46;--info-fg:#93c5fd;--danger-bg:#3b1016;--danger-fg:#fca5a5;--muted-bg:#1f2937;--muted-fg:#cbd5e1;--shadow-strong:0 24px 60px rgba(2,6,23,.42);--shadow-soft:0 18px 38px rgba(2,6,23,.32);--page-bg:radial-gradient(circle at top left,rgba(103,17,17,.28),transparent 28%),radial-gradient(circle at bottom right,rgba(37,99,235,.2),transparent 24%),linear-gradient(180deg,#05070d,#0b1220 46%,#121a2c);--panel-bg:rgba(10,15,25,.88);--panel-strong:rgba(15,23,42,.96);--sidebar-bg:linear-gradient(180deg,hsla(0,0%,100%,.04),transparent 24%),linear-gradient(180deg,#06080f,#140a0d 46%,#1e1014);--topbar-bg:rgba(7,12,20,.78);--field-bg:rgba(15,23,42,.94);--field-border:rgba(51,65,85,.94);--overlay-bg:rgba(2,6,23,.78);--accent-panel-bg:linear-gradient(135deg,rgba(41,17,17,.92),rgba(10,15,25,.95))}body{margin:0;color:var(--ink-950);font-family:Aptos,Segoe UI Variable Text,Segoe UI,sans-serif;background:var(--page-bg);transition:background .25s ease,color .25s ease}a{color:inherit;text-decoration:none}button,input:not([type=checkbox]):not([type=radio]),select,textarea{font:inherit}button:disabled{opacity:.65;cursor:not-allowed}.shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:272px minmax(0,1fr);align-items:stretch}.shell.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.shell.sidebar-collapsed .sidebar-shell{width:0;min-width:0;overflow:hidden}.shell.sidebar-collapsed .sidebar{display:none}.sidebar-shell{position:relative;min-height:100%;z-index:20;min-width:0}.sidebar,.sidebar-shell{background:var(--sidebar-bg)}.sidebar{color:var(--white);padding:1.2rem;display:flex;flex-direction:column;gap:1.1rem;box-shadow:var(--shadow-strong);position:sticky;top:0;width:100%;max-height:100vh;max-height:100dvh;min-height:100vh;min-height:100dvh;overflow-y:auto;overscroll-behavior:contain}.sidebar.is-hidden{width:0;min-width:0;min-height:0;padding:0;gap:0;overflow:hidden;opacity:0;pointer-events:none;border:0;box-shadow:none}.sidebar-floating-toggle{position:fixed;top:max(1rem,env(safe-area-inset-top));left:1rem;transform:none;width:2.8rem;height:2.8rem;border:1px solid hsla(0,0%,100%,.16);border-radius:999px;background:var(--brand-900);color:var(--white);box-shadow:0 18px 34px rgba(111,10,10,.28);display:grid;place-items:center;cursor:pointer;z-index:42;transition:transform .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease}.sidebar-floating-toggle i{font-size:1.2rem}.sidebar-floating-toggle:hover{transform:translateY(-1px);background:var(--brand-800)}.accent-section-title{color:var(--brand-900);font-weight:800}.soft-text-highlight{color:#c08100;font-weight:800}.brand{display:flex;align-items:center;gap:.85rem;padding-bottom:1rem;border-bottom:1px solid hsla(0,0%,100%,.12)}.brand-badge{width:3rem;height:3rem;border-radius:1rem;display:grid;place-items:center;background:linear-gradient(135deg,hsla(0,0%,100%,.22),hsla(0,0%,100%,.08));border:1px solid hsla(0,0%,100%,.12);font-size:1.2rem}.brand-copy{display:flex;flex-direction:column;gap:.18rem}.brand-title{font-size:1rem;font-weight:800;letter-spacing:.02em}.brand-subtitle{text-transform:uppercase;letter-spacing:.24em;font-size:.68rem;color:#fecaca}.role-panel{border:1px solid hsla(0,0%,100%,.1);background:hsla(0,0%,100%,.08);border-radius:1.2rem;padding:.9rem;display:flex;flex-direction:column;gap:.35rem}.role-chip{text-transform:uppercase;font-size:.72rem;letter-spacing:.18em;color:#fecaca;font-weight:700}.role-name{margin:0;font-size:.95rem;font-weight:700}.role-description{margin:0;color:hsla(0,0%,100%,.76);line-height:1.5;font-size:.84rem}.nav-menu{display:flex;flex-direction:column;gap:.35rem}.nav-link{padding:.78rem .9rem;border-radius:1rem;color:hsla(0,0%,100%,.72);font-weight:600;display:flex;align-items:center;gap:.68rem;transition:background .2s ease,color .2s ease,transform .2s ease}.nav-link i{font-size:.95rem}.nav-link.active,.nav-link:hover{background:hsla(0,0%,100%,.14);color:var(--white);transform:translateX(3px)}.content-shell{display:flex;flex-direction:column;min-width:0}.topbar{background:var(--topbar-bg);backdrop-filter:blur(14px);position:sticky;top:0;z-index:15;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--field-border)}.topbar-kicker{margin:0;color:var(--brand-700);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem}.topbar-title{margin:.22rem 0 0;font-size:1.05rem}.topbar-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;justify-content:flex-end}.topbar-notification-button{position:relative}.topbar-notification-button.has-alerts{animation:notificationBellPulse 1.2s ease-in-out infinite}.notification-pill{min-width:1.35rem;height:1.35rem;padding:0 .38rem;justify-content:center;background:var(--brand-800);color:var(--white);font-size:.72rem;font-weight:800;box-shadow:0 10px 18px rgba(145,18,18,.22)}.notification-pill,.topbar-user{border-radius:999px;display:inline-flex;align-items:center}.topbar-user{gap:.8rem;padding:.65rem .9rem;background:var(--panel-strong);border:1px solid var(--field-border);color:var(--ink-700);min-width:0}.topbar-user div{display:flex;flex-direction:column;min-width:0}.topbar-user span,.topbar-user strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-user strong{font-size:.95rem}.topbar-user span{font-size:.82rem;color:var(--ink-500)}.status-dot{width:.65rem;height:.65rem;background:#22c55e;border-radius:999px;box-shadow:0 0 0 .3rem rgba(34,197,94,.12)}.page-body{padding:1.4rem}.page-section{display:flex;flex-direction:column;gap:1.1rem;width:min(100%,1440px);margin-inline:auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.page-heading h1{margin:0;font-size:clamp(1.7rem,3vw,2.1rem);color:var(--brand-900)}.page-heading p{margin:.35rem 0 0;color:var(--ink-500);max-width:60rem;line-height:1.5;font-size:.94rem}.appointment-card,.demo-card,.loading-card,.modal-card,.panel-card,.stat-card{background:var(--panel-bg);border:1px solid var(--field-border);border-radius:1.4rem;box-shadow:var(--shadow-soft)}.loading-card,.panel-card,.stat-card{padding:1.1rem}.accent-panel{background:var(--accent-panel-bg)}.panel-card-header h3{margin:0;color:var(--brand-800);font-weight:800}.panel-card-header p{margin:.28rem 0 0;color:var(--ink-500);font-size:.9rem}.priority-list{display:flex;flex-direction:column;gap:.9rem}.priority-card{display:flex;align-items:flex-start;gap:.9rem;padding:1rem 1.05rem;border-radius:1rem;border:1px solid var(--field-border);background:hsla(0,0%,100%,.88);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.priority-card:hover{transform:translateY(-2px);box-shadow:0 18px 32px rgba(15,23,42,.1)}.priority-badge{width:2.2rem;height:2.2rem;flex-shrink:0;display:grid;place-items:center;border-radius:999px;color:var(--white);background:var(--brand-800);box-shadow:0 12px 24px rgba(177,31,31,.22)}.priority-body{display:flex;flex-direction:column;gap:.2rem;min-width:0}.priority-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem}.priority-tone{width:-moz-fit-content;width:fit-content;padding:.18rem .55rem;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;background:rgba(177,31,31,.08)}.priority-date-chip,.priority-tone{display:inline-flex;align-items:center;border-radius:999px;font-weight:800;color:var(--brand-800)}.priority-date-chip{gap:.45rem;padding:.35rem .7rem;background:hsla(0,0%,100%,.95);font-size:.76rem;box-shadow:0 10px 18px rgba(177,31,31,.12);animation:priorityPulse 1.8s ease-in-out infinite}.priority-body strong{color:var(--ink-950);font-size:.98rem}.priority-copy{color:var(--ink-500);font-size:.9rem;line-height:1.5}.priority-card.priority-critical{border-color:hsla(0,91%,71%,.35);background:linear-gradient(135deg,hsla(0,100%,98%,.98),hsla(0,0%,100%,.95))}.priority-card.priority-warning{border-color:rgba(251,191,36,.35);background:linear-gradient(135deg,rgba(255,251,235,.98),hsla(0,0%,100%,.95))}.priority-card.priority-info{border-color:rgba(59,130,246,.28);background:linear-gradient(135deg,rgba(239,246,255,.98),hsla(0,0%,100%,.95))}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:1rem}.stat-card span{font-size:.88rem;font-weight:800}.stat-card span,.stat-card strong{display:block;color:var(--brand-900)}.stat-card strong{margin-top:.45rem;font-size:1.55rem}.stat-card small{display:block;margin-top:.45rem;color:var(--ink-500);line-height:1.4;font-size:.84rem}.two-column{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);gap:1.5rem}.list-stack{display:flex;flex-direction:column;gap:1rem}.appointment-card{padding:1rem}.appointment-card.compact{display:flex;justify-content:space-between;align-items:center}.appointment-main{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.appointment-main p,.appointment-main small{display:block;color:var(--ink-500);margin-top:.35rem;overflow-wrap:anywhere}.appointment-card.compact>div,.appointment-main>div{min-width:0}.badge-column{display:flex;flex-direction:column;align-items:flex-end;gap:.55rem}.badge-row,.card-actions,.checkbox-grid,.filter-row{display:flex;flex-wrap:wrap;gap:.75rem}.badge-row{margin-top:1rem}.soft-badge,.status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.45rem .8rem;font-size:.76rem;font-weight:700}.soft-badge{background:var(--ink-100);color:var(--ink-700)}.soft-badge.warning{background:#fff7ed;color:var(--warning-fg)}.soft-badge-info{background:var(--info-bg);color:var(--info-fg)}.soft-badge-success{background:var(--success-bg);color:var(--success-fg)}.soft-badge-danger{background:var(--danger-bg);color:var(--danger-fg)}.status-pending{background:var(--warning-bg);color:var(--warning-fg)}.status-confirmed{background:var(--info-bg);color:var(--info-fg)}.status-approved{background:var(--success-bg);color:var(--success-fg)}.status-completed{background:var(--muted-bg);color:var(--muted-fg)}.status-rejected{background:var(--danger-bg);color:var(--danger-fg)}.danger-button,.filter-chip,.ghost-button,.primary-button,.secondary-button,.success-button{border:0;border-radius:.95rem;padding:.72rem .92rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.55rem}.primary-button{background:linear-gradient(135deg,var(--brand-900),var(--brand-700));color:var(--white)}.secondary-button{background:var(--ink-950);color:var(--white)}.success-button{background:#15803d;color:var(--white)}.danger-button{background:var(--danger-fg);color:var(--white)}.filter-chip,.ghost-button{background:var(--field-bg);color:var(--ink-700);border:1px solid var(--field-border)}.filter-chip.active{background:var(--brand-900);color:var(--white);border-color:var(--brand-900)}.toolbar-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.supplier-chip-row{align-items:center}.supplier-chip{padding-right:.5rem}.chip-count{display:inline-flex;min-width:1.55rem;height:1.55rem;align-items:center;justify-content:center;border-radius:999px;background:hsla(0,0%,100%,.22);font-size:.75rem}.supplier-search-card{padding:.9rem 1rem}.search-shell{display:flex;align-items:center;gap:.8rem;width:100%;border:1px solid var(--field-border);background:var(--field-bg);border-radius:1rem;padding:.15rem .85rem}.search-shell i{color:var(--ink-500);font-size:1rem}.search-shell input{border:0;padding-left:0;padding-right:0;width:100%;background:transparent}.supplier-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--field-border);border-radius:1.2rem;background:var(--panel-strong)}.supplier-row-main{display:flex;align-items:center;gap:.9rem;min-width:0}.supplier-avatar{width:3rem;height:3rem;border-radius:1rem;display:grid;place-items:center;background:linear-gradient(135deg,rgba(177,31,31,.12),hsla(0,0%,100%,.9));color:var(--brand-900);font-size:1.15rem;border:1px solid rgba(177,31,31,.14);flex-shrink:0}.supplier-copy{min-width:0}.supplier-copy p,.supplier-copy small,.supplier-copy strong{display:block}.supplier-copy p,.supplier-copy small{margin-top:.25rem;color:var(--ink-500);overflow-wrap:anywhere}.supplier-row-meta{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}.supplier-row-meta .badge-row{margin-top:0}.supplier-row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem}.compact-action{padding:.58rem .82rem;font-size:.82rem}.supplier-stat-card{position:relative;overflow:hidden}.supplier-stat-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:999px}.supplier-stat-card.total:before{background:var(--brand-900)}.supplier-stat-card.approved:before{background:#16a34a}.supplier-stat-card.pending:before{background:#d97706}.supplier-stat-card.rejected:before{background:#dc2626}.modal-note{margin-top:1rem;display:flex;align-items:flex-start;gap:.75rem;border-radius:1rem;padding:.9rem 1rem;background:#fff7ed;color:var(--warning-fg);border:1px solid rgba(245,158,11,.25);font-weight:600}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem}.detail-item{padding:1rem;border-radius:1rem;background:var(--field-bg);border:1px solid var(--field-border)}.detail-item span{display:block;color:var(--ink-500);font-size:.82rem}.detail-item strong{display:block;margin-top:.4rem}.department-contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:.9rem}.department-contact-card{padding:1rem 1.05rem;border-radius:1.05rem;background:var(--panel-strong);border:1px solid var(--field-border);box-shadow:var(--shadow-soft)}.department-contact-card.principal{background:linear-gradient(135deg,rgba(177,31,31,.08),hsla(0,0%,100%,.96));border-color:rgba(177,31,31,.2)}.department-contact-card.editable{background:var(--field-bg)}.department-contact-card.principal.editable{background:linear-gradient(135deg,rgba(177,31,31,.06),hsla(0,0%,100%,.98))}.department-contact-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.8rem}.department-contact-heading{display:flex;align-items:center;gap:.75rem;min-width:0}.department-contact-icon{width:2.3rem;height:2.3rem;border-radius:.85rem;display:grid;place-items:center;background:linear-gradient(135deg,rgba(177,31,31,.12),hsla(0,0%,100%,.9));color:var(--brand-900);border:1px solid rgba(177,31,31,.14);flex-shrink:0}.department-contact-copy{min-width:0}.department-contact-copy span,.department-contact-copy strong{display:block}.department-contact-copy span{margin-top:.16rem;color:var(--ink-500);font-size:.82rem}.department-contact-tag{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .7rem;border-radius:999px;background:rgba(177,31,31,.12);color:var(--brand-900);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.department-contact-email{display:flex;align-items:flex-start;gap:.55rem;padding:.78rem .85rem;border-radius:.9rem;background:var(--field-bg);border:1px solid var(--field-border);color:var(--ink-700);overflow-wrap:anywhere;word-break:break-word}.department-contact-email i{color:var(--brand-700);margin-top:.1rem}.department-contact-actions{display:flex;justify-content:flex-end;margin-top:.9rem}.document-upload-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.35rem}.view-toggle-group{display:inline-flex;gap:.5rem;flex-wrap:wrap}.view-toggle-button{border:1px solid var(--field-border);background:var(--panel-strong);color:var(--ink-700);border-radius:.95rem;padding:.72rem .92rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.55rem}.view-toggle-button.active{background:var(--brand-900);color:var(--white);border-color:transparent}.inline-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.subtle-text{margin:0;color:var(--ink-500);font-size:.9rem}.modal-backdrop.secondary{z-index:60}.sidebar-overlay{display:none}.center-banner{display:flex;align-items:center;gap:1rem}.gate-visit-card{background:var(--panel-strong);border:1px solid rgba(59,130,246,.35);border-radius:1.15rem;box-shadow:var(--shadow-soft);padding:1rem 1.1rem}.gate-visit-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.85rem;border-bottom:1px solid var(--field-border)}.gate-center-label{display:inline-flex;align-items:center;gap:.45rem;color:#0f8a38;font-weight:800}.gate-visit-body{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-top:1rem}.gate-visit-main{min-width:0;display:flex;flex-direction:column;gap:.55rem}.gate-visit-title{font-size:1.55rem;line-height:1.2;color:var(--ink-950)}.gate-visit-meta{display:flex;flex-wrap:wrap;gap:.85rem 1rem;align-items:center;color:var(--ink-700);font-size:.95rem}.gate-visit-meta span{display:inline-flex;align-items:center;gap:.35rem}.gate-visit-actions{display:flex;align-items:flex-start;justify-content:flex-end}.gate-action-button{min-width:250px;justify-content:center}.center-banner-icon{width:3rem;height:3rem;border-radius:1rem;display:grid;place-items:center;background:rgba(34,197,94,.14);color:#16a34a;font-size:1.2rem}.center-banner strong{display:block;font-size:1.05rem}.center-banner p{margin:.3rem 0 0;color:var(--ink-500)}.theme-toggle{min-width:9.5rem;justify-content:center}.modal-backdrop{position:fixed;inset:0;background:var(--overlay-bg);display:grid;place-items:center;padding:1.5rem;z-index:50;overflow-y:auto}.modal-card{width:min(760px,100%);padding:1.15rem;max-height:calc(100vh - 3rem);max-height:calc(100dvh - 3rem);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.modal-header{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem}.modal-header h3{margin:0;color:var(--brand-900)}.modal-header p{margin:.35rem 0 0;color:var(--ink-500)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field-label,.form-grid label,.validation-notes{display:flex;flex-direction:column;gap:.45rem;color:var(--ink-700);font-weight:600}.full-width{grid-column:1/-1}input,select,textarea{padding:.76rem .85rem;color:var(--ink-950)}input,input[type=file],select,textarea{border:1px solid var(--field-border);border-radius:.95rem;background:var(--field-bg)}input[type=file]{width:100%;padding:.35rem;color:var(--ink-700)}input[type=file]::-webkit-file-upload-button,input[type=file]::file-selector-button{margin-right:.85rem;border:0;border-radius:.8rem;padding:.72rem .95rem;background:#15803d;color:var(--white);font-weight:700;cursor:pointer}.field-invalid{border-color:rgba(220,38,38,.72);box-shadow:0 0 0 1px rgba(220,38,38,.08)}.field-error{color:var(--danger-fg);font-size:.8rem;font-weight:600;line-height:1.35}.document-preview-frame{width:100%;min-height:70vh;border:0;border-radius:1rem;background:var(--field-bg)}.document-preview-image{display:block;max-width:100%;max-height:70vh;margin:0 auto;border-radius:1rem;border:1px solid var(--field-border);background:var(--field-bg)}textarea{resize:vertical}.checkbox-chip{display:inline-flex;align-items:center;gap:.65rem;padding:.72rem .88rem;border-radius:1rem;background:var(--field-bg);border:1px solid var(--field-border);color:var(--ink-700)}.checkbox-chip input[type=checkbox],.checkbox-chip input[type=radio]{width:1rem;height:1rem;margin:0;padding:0;border:0;border-radius:.2rem;background:transparent;accent-color:var(--brand-700);box-shadow:none;flex:0 0 auto}.important-chip{border-color:#fdba74;background:#fff7ed}.risk-visit-section{display:grid;gap:.9rem;border-color:rgba(251,146,60,.42);background:linear-gradient(180deg,#fff7ed,#fff)}.risk-visit-toggle-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.risk-visit-toggle-copy{display:grid;gap:.25rem}.risk-visit-title{color:var(--brand-900);font-weight:800}.risk-visit-subtitle{color:var(--ink-600);font-size:.92rem;line-height:1.45}.risk-toggle-chip{font-weight:700}.new-tech-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.plain-list{margin:0;padding-left:1.1rem;color:var(--ink-700)}.plain-list li+li{margin-top:.65rem}.empty-state{min-height:7rem;border:1px dashed rgba(148,163,184,.35);border-radius:1rem;display:flex;align-items:center;justify-content:center;gap:.8rem;color:var(--ink-500);text-align:center;padding:1rem}.empty-state i{font-size:1.2rem}.form-alert{margin-top:1rem;display:flex;align-items:center;gap:.65rem;border-radius:1rem;padding:.9rem 1rem;font-weight:600}.form-alert.error{background:var(--danger-bg);color:var(--danger-fg)}.admin-security-message{margin-top:1rem}.notification-backdrop{align-items:flex-start;padding-top:4rem}.notification-sheet{width:min(680px,calc(100vw - 2rem))}.notification-list{display:flex;flex-direction:column;gap:.85rem}.notification-card{display:grid;grid-template-columns:auto 1fr;gap:.9rem;padding:1rem;border-radius:1rem;border:1px solid var(--field-border);background:hsla(0,0%,100%,.88)}.notification-icon{width:2.4rem;height:2.4rem;border-radius:999px;display:grid;place-items:center;font-size:1rem;background:rgba(177,31,31,.08);color:var(--brand-800)}.notification-content{min-width:0}.notification-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem}.notification-meta-actions{display:inline-flex;align-items:center;gap:.45rem}.notification-meta strong{color:var(--ink-950)}.notification-meta span{color:var(--ink-500);font-size:.8rem;font-weight:700}.notification-content p{margin:.28rem 0 0;color:var(--ink-500);line-height:1.5}.notification-dismiss{width:1.8rem;height:1.8rem;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(148,163,184,.14);color:var(--ink-700);cursor:pointer;transition:background .2s ease,transform .2s ease}.notification-dismiss:hover{background:rgba(177,31,31,.14);color:var(--brand-800);transform:scale(1.04)}.notification-critical{border-color:hsla(0,91%,71%,.35)}.notification-warning{border-color:rgba(251,191,36,.35)}.notification-success{border-color:rgba(34,197,94,.28)}.notification-info{border-color:rgba(59,130,246,.28)}@keyframes priorityPulse{0%,to{transform:translateY(0);box-shadow:0 10px 18px rgba(177,31,31,.12)}50%{transform:translateY(-1px);box-shadow:0 14px 24px rgba(177,31,31,.2)}}@keyframes notificationBellPulse{0%,to{transform:translateY(0) scale(1);box-shadow:0 0 0 0 rgba(177,31,31,.18)}50%{transform:translateY(-1px) scale(1.02);box-shadow:0 0 0 .4rem rgba(177,31,31,.08)}}.app-loading-shell{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:2rem}.login-mode-toolbar{position:fixed;top:1.35rem;right:1.35rem;z-index:30;display:flex;gap:.7rem;padding:.4rem;border-radius:999px;background:hsla(0,0%,100%,.82);border:1px solid hsla(0,0%,100%,.72);box-shadow:0 18px 34px rgba(15,23,42,.12);backdrop-filter:blur(18px)}.login-mode-chip{display:inline-flex;align-items:center;gap:.55rem;padding:.85rem 1.15rem;border:0;border-radius:999px;background:transparent;color:var(--ink-700);font-weight:700}.login-mode-chip.active{background:linear-gradient(135deg,var(--brand-900),var(--brand-700));color:var(--white);box-shadow:0 12px 24px rgba(127,0,0,.24)}.login-shell{position:relative;isolation:isolate;min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);overflow:hidden;background:linear-gradient(90deg,rgba(18,10,9,.76),rgba(18,10,9,.32)),url(/images/login/FONDO-III.png) 50% /cover no-repeat}.login-shell:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 6% 14%,rgba(255,208,132,.42),transparent 16%),radial-gradient(circle at 18% 38%,rgba(255,182,120,.24),transparent 12%),linear-gradient(180deg,hsla(0,0%,100%,.06),rgba(0,0,0,.12));pointer-events:none;z-index:0}.login-hero,.login-panel{position:relative;z-index:1}.login-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.login-hero{padding:clamp(1.5rem,4vw,3rem);display:flex;flex-direction:column;justify-content:center;gap:1.15rem;background:linear-gradient(135deg,rgba(38,17,15,.78),rgba(38,17,15,.4)),rgba(12,10,16,.12);border-right:1px solid hsla(0,0%,100%,.16);backdrop-filter:blur(4px)}.login-hero h1{margin:0;font-size:clamp(2rem,5vw,3.3rem);line-height:.98;color:hsla(0,0%,100%,.98);text-shadow:0 14px 28px rgba(0,0,0,.28);max-width:12ch}.login-hero p{margin:0;color:hsla(0,100%,98%,.88);line-height:1.55;max-width:52rem;font-size:.95rem}.login-badge{display:inline-flex;align-items:center;gap:.7rem;width:-moz-fit-content;width:fit-content;padding:.75rem 1rem;border-radius:999px;background:hsla(0,0%,100%,.16);border:1px solid hsla(0,0%,100%,.22);color:hsla(0,0%,100%,.96);font-weight:800}.demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.demo-card{padding:1rem 1.1rem;text-align:left;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;background:hsla(0,0%,100%,.9);border:1px solid hsla(0,0%,100%,.46);backdrop-filter:blur(10px)}.demo-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-strong)}.demo-card div{display:flex;flex-direction:column;gap:.25rem}.demo-card strong{color:var(--brand-900)}.demo-card span{color:var(--ink-700)}.demo-card small{display:inline-flex;margin-top:.85rem;color:var(--ink-500)}.login-panel{display:grid;place-items:center;padding:1.5rem}.login-card{width:min(100%,26rem);background:hsla(0,0%,100%,.94);backdrop-filter:blur(14px)}.login-button,.login-form{margin-top:1rem}.login-button{justify-content:center;width:100%}.corporate-login-shell{position:relative;min-height:100vh;min-height:100dvh;overflow:hidden;display:grid;grid-template-columns:1fr;place-items:center;padding:clamp(1.5rem,4vw,3rem);background:linear-gradient(115deg,rgba(28,12,10,.48),rgba(19,12,19,.76)),url(/images/login/FONDO-III.png) 50% /cover no-repeat}.corporate-login-overlay{position:absolute;inset:0;background:linear-gradient(180deg,hsla(0,0%,100%,.04),rgba(0,0,0,.2)),radial-gradient(circle at 8% 12%,rgba(255,208,132,.36),transparent 14%),radial-gradient(circle at 23% 38%,rgba(255,182,120,.22),transparent 10%);pointer-events:none}.corporate-login-footer,.corporate-login-logos,.corporate-login-side-banner,.corporate-login-stage{position:relative;z-index:1}.corporate-login-logos{display:none}.corporate-mini-badge{width:-moz-fit-content;width:fit-content;padding:.42rem .7rem;border-radius:.45rem;background:rgba(225,29,46,.95);color:var(--white);font-size:.84rem;font-weight:800;letter-spacing:.03em;box-shadow:0 12px 24px rgba(0,0,0,.18)}.corporate-left-brand{display:flex;align-items:flex-end;min-height:420px}.corporate-logo-stack{display:flex;flex-direction:column;gap:1.2rem}.corporate-maxipan-logo{display:flex;flex-direction:column;gap:.15rem;padding:1rem 1.15rem;border-radius:1.45rem;background:rgba(225,29,46,.95);color:var(--white);box-shadow:0 18px 36px rgba(0,0,0,.22)}.corporate-maxipan-main{font-size:clamp(2.8rem,4vw,4.4rem);line-height:.9;font-weight:900;letter-spacing:-.04em;text-transform:uppercase}.corporate-maxipan-logo small{font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.corporate-grupo-rey{display:flex;flex-direction:column;color:hsla(0,0%,100%,.96);text-shadow:0 18px 32px rgba(0,0,0,.32)}.corporate-grupo-rey span{font-size:1.1rem;letter-spacing:.28em}.corporate-grupo-rey strong{font-size:clamp(3rem,4vw,5rem);line-height:.88;font-family:Georgia,Times New Roman,serif;font-weight:700}.corporate-login-stage{display:grid;place-items:center;width:100%}.corporate-login-card{width:min(100%,28rem);border-radius:1.2rem;overflow:hidden;background:hsla(0,0%,100%,.96);box-shadow:0 24px 54px rgba(0,0,0,.24);backdrop-filter:blur(16px)}.corporate-login-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;background:linear-gradient(135deg,var(--brand-900),var(--brand-700));color:var(--white)}.corporate-login-head strong{font-size:1rem;font-weight:800}.corporate-login-body{padding:1.55rem 1.65rem 1.75rem}.corporate-login-body h1{margin:0;text-align:center;font-size:clamp(1.75rem,3vw,2.4rem);color:#111827}.corporate-login-body p{margin:.55rem 0 1.4rem;text-align:center;color:#64748b}.corporate-login-form{display:flex;flex-direction:column;gap:.9rem}.corporate-input{width:100%;padding:1rem 1.05rem;border-radius:.7rem;border:1px solid rgba(203,213,225,.9);background:#f8fafc;color:#0f172a}.corporate-password-shell{position:relative}.corporate-password-shell .corporate-input{padding-right:3.2rem}.corporate-password-toggle{position:absolute;top:50%;right:.75rem;transform:translateY(-50%);width:2rem;height:2rem;border:0;border-radius:999px;background:rgba(226,232,240,.9);color:#64748b}.corporate-login-links{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;margin-top:.95rem}.text-link-button{border:0;padding:0;background:transparent;color:#111827;font-size:.86rem;font-weight:600}.corporate-demo-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.corporate-demo-pill{border:0;padding:.58rem .85rem;border-radius:999px;background:rgba(241,245,249,.96);color:#334155;font-weight:700}.corporate-alert{margin-top:1rem}.corporate-primary-button{width:100%;border:0;border-radius:.8rem;padding:.98rem 1rem;font-weight:800;margin-top:1rem;background:linear-gradient(135deg,var(--brand-900),var(--brand-700));color:var(--white);box-shadow:0 14px 28px rgba(111,10,10,.22)}.corporate-login-side-banner{display:none}.corporate-login-side-banner span{display:block;font-size:.96rem;letter-spacing:.16em;opacity:.9}.corporate-login-side-banner strong{display:block;margin-top:.35rem;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.05}.corporate-login-footer{display:none}.danger-strong{color:#b91c1c;font-weight:800}.subtle-alert{background:#fffaf0;border-color:#fed7aa;color:#9a3412}.plant-rules-layout{display:grid;gap:1rem;margin-top:1rem}.plant-rule-section{border:1px solid #fecaca;border-radius:1rem;padding:1rem;background:linear-gradient(180deg,hsla(0,86%,97%,.92),hsla(0,0%,100%,.98))}.plant-rule-title{margin:0 0 .85rem;color:#b91c1c;font-size:.92rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.plant-rule-section .plain-list{margin:0}.plant-rule-section .plain-list li{color:#334155;line-height:1.55}.read-only-checkbox-grid .checkbox-chip{cursor:default;background:hsla(0,0%,100%,.92)}.read-only-checkbox-grid .checkbox-chip input:disabled{cursor:not-allowed}.read-only-chip{opacity:.92}.modal-details-grid{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:1rem}.modal-detail{border:1px solid #dbe2ea;border-radius:1rem;padding:.95rem 1rem;background:hsla(0,0%,100%,.92);display:flex;flex-direction:column;gap:.3rem}.modal-detail span{color:#64748b;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.modal-detail strong{color:#0f172a;font-size:.96rem;line-height:1.45}.modal-detail.full-width{grid-column:1/-1}@media (max-width:1180px){.form-grid,.login-shell,.modal-details-grid,.new-tech-row,.stats-grid,.two-column{grid-template-columns:1fr}.login-hero,.login-panel,.page-body,.topbar{padding:1rem}.corporate-login-shell{grid-template-columns:1fr;gap:1.4rem;padding-top:6rem}.corporate-login-logos,.corporate-login-side-banner{justify-self:stretch}.corporate-left-brand{min-height:auto;align-items:flex-start}}@media (max-width:980px){.shell,.shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar-overlay{position:fixed;inset:0;background:var(--overlay-bg);opacity:0;pointer-events:none;transition:opacity .24s ease;z-index:35;display:block}.sidebar-overlay.is-visible{opacity:1;pointer-events:auto}.sidebar-shell{position:fixed;inset:0 auto 0 0;width:min(88vw,320px);height:100vh;height:100dvh;pointer-events:none;z-index:40}.sidebar{position:relative;height:100vh;height:100dvh;pointer-events:auto;transition:transform .24s ease,box-shadow .24s ease}.sidebar,.sidebar.is-hidden{width:100%;min-height:100vh;min-height:100dvh}.sidebar.is-hidden{min-width:100%;padding:1rem;opacity:1;pointer-events:none;box-shadow:none;transform:translateX(-105%)}.sidebar-floating-toggle{position:fixed;top:max(1rem,env(safe-area-inset-top));left:1rem;right:auto;transform:none;width:2.8rem;height:2.8rem;border-radius:999px;background:var(--brand-900);color:var(--white);pointer-events:auto;z-index:45}.appointment-card.compact,.appointment-main,.center-banner,.gate-visit-body,.gate-visit-head,.inline-heading,.modal-header,.page-heading,.topbar{flex-direction:column;align-items:flex-start}.topbar{padding-left:4.5rem}.gate-visit-actions,.toolbar-actions,.topbar-actions{width:100%;justify-content:flex-start}.supplier-row{grid-template-columns:1fr;align-items:flex-start}.supplier-row-actions{width:100%;justify-content:flex-start}.detail-grid{grid-template-columns:1fr}.document-preview-frame,.document-preview-image{max-height:58vh;min-height:58vh}}@media (max-width:760px){.shell{grid-template-columns:1fr}.sidebar-shell{height:auto}.sidebar{min-height:auto}.appointment-card.compact,.appointment-main,.center-banner,.gate-visit-body,.gate-visit-head,.inline-heading,.modal-header,.page-heading,.topbar{flex-direction:column;align-items:flex-start}.topbar-user{width:100%;border-radius:1.1rem}.badge-row,.card-actions,.checkbox-grid,.filter-row,.gate-visit-actions,.toolbar-actions,.topbar-actions{width:100%}.card-actions>*,.checkbox-grid>*,.filter-row:not(.supplier-chip-row)>*,.gate-visit-actions>*,.supplier-row-actions>*,.toolbar-actions>*,.topbar-actions>:not(.topbar-user){width:100%;justify-content:center}.demo-grid{grid-template-columns:1fr}.login-mode-toolbar{left:.9rem;right:.9rem;top:.9rem;justify-content:center}.login-mode-chip{flex:1 1 0;justify-content:center;padding-inline:.8rem}.supplier-chip-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.25rem;-webkit-overflow-scrolling:touch}.supplier-chip-row .filter-chip{width:auto;flex:0 0 auto;justify-content:flex-start}.topbar-user span,.topbar-user strong{white-space:normal}.modal-backdrop{padding:.65rem}.modal-card{width:100%;padding:1rem;max-height:calc(100vh - 1.3rem);max-height:calc(100dvh - 1.3rem);border-radius:1.1rem}input,select,textarea{font-size:16px}.brand-subtitle{display:none}.badge-column{align-items:flex-start}.corporate-login-body{padding:1.2rem}.corporate-login-side-banner{width:100%;border-radius:1.4rem}.corporate-maxipan-main{font-size:2.4rem}}