:root{--deep-purple:#2B1547;--deep-purple-2:#3B1E6D;--royal-purple:#6B3FA0;--royal-purple-soft:#8659B8;--gold:#C9A44C;--gold-soft:#E4C878;--paper:#FAF8FC;--panel:#FFFFFF;--mist:#EFE9F7;--mist-2:#E3DAF2;--ink:#1E1730;--ink-soft:#5B5570;--ink-faint:#8B85A0;--line:#E4DEEF;--status-fit-bg:#E8F5EE;--status-fit-fg:#1B8F5A;--status-caution-bg:#FBF1DC;--status-caution-fg:#9C7A1E;--status-refer-bg:#FBEAE8;--status-refer-fg:#B5423A;--status-pending-bg:#EFEDF5;--status-pending-fg:#726C87;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--shadow-card: 0 1px 2px rgba(43,21,71,.04), 0 8px 24px -12px rgba(43,21,71,.18);--shadow-pop: 0 20px 60px -20px rgba(43,21,71,.35)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Inter,system-ui,sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}a{text-decoration:none}h1,h2,h3,.display{font-family:Fraunces,Georgia,serif;font-weight:600;letter-spacing:-.01em;color:var(--deep-purple)}.mono,.stat-num{font-family:JetBrains Mono,monospace}:focus-visible{outline:2px solid var(--royal-purple);outline-offset:2px}.d-flex{display:flex}.flex-wrap{flex-wrap:wrap}.flex-column{flex-direction:column}.align-items-center{align-items:center}.align-items-start{align-items:flex-start}.justify-content-between{justify-content:space-between}.justify-content-center{justify-content:center}.text-center{text-align:center}.gap-2{gap:.5rem}.gap-3{gap:1rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mt-3{margin-top:1rem}.p-0{padding:0!important}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:2rem}.eyebrow{font-family:JetBrains Mono,monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600}.pulse-rule{width:100%;height:20px;display:block;opacity:.55}.pulse-rule path{fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.pulse-rule.on-dark path{stroke:var(--gold-soft);opacity:.8}.btn{border-radius:10px;font-weight:600;font-size:.875rem;padding:.55rem 1.1rem;border:1px solid transparent;transition:.15s ease;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:var(--royal-purple);border-color:var(--royal-purple);color:#fff}.btn-primary:hover{background:var(--deep-purple-2);border-color:var(--deep-purple-2);color:#fff}.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--deep-purple)}.btn-gold:hover{background:var(--gold-soft);border-color:var(--gold-soft);color:var(--deep-purple)}.btn-outline-purple{background:transparent;border-color:var(--mist-2);color:var(--deep-purple-2)}.btn-outline-purple:hover{background:var(--mist);border-color:var(--royal-purple);color:var(--deep-purple-2)}.btn-ghost{background:transparent;border-color:transparent;color:var(--ink-soft)}.btn-ghost:hover{background:var(--mist);color:var(--deep-purple)}.btn-sm{padding:.35rem .75rem;font-size:.78rem}button,input,select,textarea{font:inherit}.form-label{display:block;margin-bottom:.5rem;font-size:.8rem;font-weight:600;color:var(--ink)}.form-control,.form-select{display:block;width:100%;height:calc(2.6rem + 2px);padding:.72rem .9rem;font-size:.92rem;font-weight:500;line-height:1.4;color:var(--ink);background-color:#fff;border:1px solid var(--line);border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.form-control:focus,.form-select:focus{border-color:var(--royal-purple);box-shadow:0 0 0 .2rem #6b3fa01f;outline:0}.form-check{display:inline-flex;align-items:center;gap:.5rem}.form-check-input{width:1rem;height:1rem;margin:0;accent-color:var(--royal-purple)}.form-check-label{font-size:.8rem;color:var(--ink-soft)}.alert{padding:.75rem 1rem;border-radius:10px;font-size:.82rem}.alert-danger{background:#fff2f1;border:1px solid rgba(181,66,58,.2);color:var(--status-refer-fg)}.app-shell{display:flex;min-height:100vh}.mobile-nav-toggle,.mobile-nav-backdrop{display:none}.sidebar{width:248px;flex-shrink:0;background:linear-gradient(180deg,var(--deep-purple) 0%,var(--deep-purple-2) 100%);color:#ede6f7;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar .brand{padding:1.4rem 1.3rem 1rem}.sidebar .brand-mark{display:flex;align-items:center;gap:.6rem}.sidebar .brand-mark .dot{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--gold),var(--gold-soft));display:flex;align-items:center;justify-content:center;color:var(--deep-purple);font-family:Fraunces,serif;font-weight:700;font-size:1.05rem}.sidebar .brand-name{font-family:Fraunces,serif;font-size:1.02rem;line-height:1.1;color:#fff}.sidebar .brand-sub{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-soft)}.nav-section-label{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:#a996c9;padding:1.1rem 1.3rem .35rem}.side-nav{flex:1;padding:.2rem .7rem}.side-nav a{display:flex;align-items:center;gap:.65rem;padding:.62rem .75rem;margin-bottom:.15rem;border-radius:10px;color:#d9cfec;font-size:.87rem;font-weight:500;cursor:pointer}.side-nav a svg{width:17px;height:17px;opacity:.85;flex-shrink:0}.side-nav a:hover{background:#ffffff0f;color:#fff}.side-nav a.active{background:#c9a44c29;color:#fff;box-shadow:inset 3px 0 0 var(--gold)}.sidebar-foot{padding:1rem 1.3rem 1.3rem;border-top:1px solid rgba(255,255,255,.09)}.user-chip{display:flex;align-items:center;gap:.6rem}.user-chip .avatar{width:34px;height:34px;border-radius:50%;background:var(--royal-purple-soft);display:flex;align-items:center;justify-content:center;font-family:Fraunces,serif;font-weight:700;color:#fff;font-size:.85rem}.user-chip .who{font-size:.8rem;color:#fff;line-height:1.15}.user-chip .who small{color:#a996c9;font-size:.7rem}.main-col{flex:1;min-width:0;display:flex;flex-direction:column}.app-footer{margin-top:auto;padding:1rem 1.9rem 1.25rem;text-align:center;font-size:.76rem;color:var(--ink-faint);border-top:1px solid var(--line);background:#faf8fcb3}.app-footer a{color:var(--deep-purple-2);font-weight:600}.developer-logo{display:inline-flex;vertical-align:middle;margin-left:.35rem}.developer-logo img{display:block;width:155px;height:auto;max-height:29px;object-fit:contain}.topbar{height:64px;flex-shrink:0;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 1.6rem;position:sticky;top:0;z-index:5}.product-logo{display:flex;align-items:center;gap:.45rem;flex-shrink:0}.product-logo img{width:37px;height:37px;object-fit:contain}.product-logo-name{color:var(--deep-purple);font-family:Fraunces,serif;font-size:.82rem;font-weight:700;line-height:1.05;white-space:nowrap}.product-logo-subtitle{margin-top:.15rem;color:var(--royal-purple);font-size:.51rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.sidebar .brand{padding:1.15rem 1.1rem .95rem}.product-logo--sidebar{gap:.65rem}.product-logo--sidebar img{width:47px;height:47px;padding:2px;border-radius:12px;background:#fff}.product-logo--sidebar .product-logo-name{color:#fff;font-size:.9rem}.product-logo--sidebar .product-logo-subtitle{color:var(--gold-soft);font-size:.54rem}.topbar-title-wrap{display:flex;flex-direction:column;min-width:0}.topbar-title{font-family:Fraunces,serif;font-weight:600;color:var(--deep-purple);font-size:1.05rem;line-height:1.2}.topbar-subtitle{font-size:.78rem;color:var(--ink-faint);line-height:1.3}.topbar-actions{display:flex;align-items:center;gap:.75rem}.topbar .searchbox{position:relative;width:340px;max-width:40vw}.topbar .searchbox input{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:.5rem .8rem .5rem 2.2rem;font-size:.85rem;width:100%}.topbar .searchbox svg{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--ink-faint)}.page-body{padding:1.7rem 1.9rem 3rem;display:flex;flex-direction:column;min-height:calc(100vh - 64px)}.page-shell{max-width:100%}.narrow-shell{max-width:1020px}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.page-header-copy{flex:1;min-width:0}.page-title{margin:0;font-size:clamp(2rem,2vw,2.8rem);line-height:1.1}.page-subtitle{margin:.35rem 0 0;color:var(--ink-soft);font-size:.9rem;line-height:1.5}.page-header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.page-header-inline{margin-bottom:1.15rem}.page-header-inline .page-title{font-size:clamp(2rem,2vw,2.4rem);margin-bottom:.25rem}.page-header-inline .page-subtitle{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.inline-file-name{display:inline-flex;align-items:center;padding:.25rem .7rem;border-radius:8px;background:var(--mist);color:var(--deep-purple-2);font-family:JetBrains Mono,monospace;font-size:.74rem;border:1px solid rgba(107,63,160,.14)}.compact-header{margin-bottom:.8rem}.user-management-page{width:100%}.section-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.table-action-group{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.table-action-group .btn{min-height:36px}.table-action-group .btn.active{background:var(--royal-purple);color:#fff}.card-step-track{margin-top:.25rem}.upload-card-shell{border:1px solid var(--line);border-radius:18px;background:#ffffff2e;padding:1.3rem 1.3rem 1rem}.upload-file-meta{margin-top:1rem}.gold-pill{background:#fbf1dc;color:#9c7a1e}.create-user-panel{border-radius:var(--radius-md);padding:1rem 1rem .9rem;margin-bottom:1rem}.panel-header-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.panel-title{margin:0;font-size:1.05rem}.panel-form-wrap{padding-top:.15rem}.user-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1rem}.user-form-grid>div{min-width:0}.rights-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.rights-grid .btn{width:100%}.table-header-row{padding:1rem 1rem 0}.user-table-card{border-radius:var(--radius-md);overflow:hidden}.user-right-pill{background:var(--mist);color:var(--deep-purple);padding:.35rem .55rem;border:1px solid rgba(107,63,160,.12)}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.dashboard-header-copy{flex:1;min-width:0}.dashboard-title{margin:0;font-size:clamp(2.1rem,2vw,3rem);line-height:1.1}.dashboard-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.dashboard-actions .btn{min-height:40px;padding-inline:1rem}.overview-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.card-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.module-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.6rem;position:relative;overflow:hidden;transition:.18s ease;display:flex;flex-direction:column;height:100%}.module-card:hover{border-color:var(--royal-purple-soft);transform:translateY(-2px);box-shadow:var(--shadow-pop)}.module-card .icon-badge{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.module-card.purple .icon-badge{background:var(--mist);color:var(--royal-purple)}.module-card.gold .icon-badge{background:#fbf1dc;color:#9c7a1e}.module-card h3{font-size:1.15rem;margin-bottom:.7rem}.module-card p{color:var(--ink-soft);font-size:.86rem;line-height:1.6;margin-bottom:1.2rem}.module-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:auto}.info-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;flex-wrap:wrap}.info-row p{margin:0;color:var(--ink-soft);font-size:.85rem}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.card-tile-link{display:block;color:inherit;text-decoration:none}.card-tile{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:1rem 1.1rem;height:100%;box-shadow:var(--shadow-card);transition:.15s ease}.card-tile:hover{border-color:var(--royal-purple-soft);transform:translateY(-2px);box-shadow:var(--shadow-pop)}.card-tile-head{display:flex;align-items:center;gap:.8rem;margin-bottom:.9rem}.card-avatar{width:42px;height:42px;border-radius:12px;background:var(--mist);color:var(--royal-purple);display:flex;align-items:center;justify-content:center;font-family:Fraunces,serif;font-weight:700}.card-meta-block{flex:1;min-width:0}.card-name{font-size:1.06rem;font-weight:700;color:var(--deep-purple);line-height:1.2}.card-subline{font-size:.76rem;color:var(--ink-soft)}.card-tile-foot{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.8rem}.card-bp-line{font-size:.75rem;color:var(--ink-faint);white-space:nowrap}.upload-page{max-width:1012px}.upload-step-track{margin-bottom:1.5rem}.upload-panel{background:#ffffff1a;border:1px solid var(--line);border-radius:20px;padding:1.4rem 1.5rem 1.1rem}.upload-panel h3{margin:0 0 .5rem;font-size:1.05rem}.upload-panel p{margin:0 0 1rem;color:var(--ink-soft);font-size:.85rem;line-height:1.6}.upload-dropzone{background:#916db614;border:2px dashed rgba(107,63,160,.7);border-radius:18px;min-height:290px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1.4rem;cursor:pointer}.upload-dropzone .icon-circle{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--royal-purple);margin-bottom:1rem}.dropzone-title{font-weight:700;font-size:clamp(1.3rem,2vw,2rem);color:var(--deep-purple);line-height:1.2;margin-bottom:.4rem}.dropzone-subtitle{color:var(--ink-soft);font-size:.9rem;margin-bottom:1.1rem}.file-meta-row{margin-top:1rem;border:1px solid var(--line);border-radius:12px;background:var(--panel);display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem .9rem}.file-meta-left{display:flex;align-items:center;gap:.75rem;min-width:0}.file-meta-name{font-weight:600;font-size:.85rem;color:var(--ink)}.file-meta-notes{font-size:.72rem;color:var(--ink-faint)}.expected-columns-wrap{margin-top:1.25rem;border-top:1px solid var(--line);padding-top:1rem}.expected-columns-list{display:flex;flex-wrap:wrap;gap:.5rem}.expected-column-pill{display:inline-flex;align-items:center;padding:.4rem .7rem;border-radius:999px;background:var(--mist);color:var(--deep-purple-2);font-weight:500;font-size:.72rem;border:1px solid rgba(107,63,160,.18)}@media (max-width: 991px){.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.cards-grid{grid-template-columns:1fr}.file-meta-row{flex-direction:column;align-items:stretch}.upload-dropzone{min-height:220px}}.stat-tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);padding:1.25rem 1.2rem;min-height:125px;display:flex;flex-direction:column;align-items:center;justify-content:center}.stat-tile .stat-num{font-size:2.5rem;font-weight:700;color:var(--deep-purple);line-height:1}.stat-tile .stat-label{font-size:.76rem;color:var(--ink-soft);margin-top:.7rem;text-align:center}.attention-title{font-size:1.05rem;margin:0}.dashboard-subtitle{margin:.5rem 0 0;max-width:48rem;color:var(--ink-soft);font-size:.92rem;line-height:1.6}.dashboard-metrics{display:flex;flex-wrap:wrap;gap:.5rem}.dashboard-metric{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:.35rem .75rem;background:var(--paper);font-size:.76rem;color:var(--ink-soft);white-space:nowrap}.dashboard-empty-state{padding:1.25rem;border:1px dashed var(--line);border-radius:var(--radius-md);background:var(--paper);color:var(--ink-soft)}.attention-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.attention-card{border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(180deg,#fff,#fcfaff);padding:1rem}.attention-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem}.attention-card-grid .mini-label,.user-card-meta .mini-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin-bottom:.2rem}.user-management-page{display:flex;flex-direction:column;gap:1rem}.user-management-hero{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;flex-wrap:wrap}.user-management-title{margin:0;font-size:clamp(1.4rem,2vw,2rem)}.user-management-subtitle{margin:.45rem 0 0;max-width:58rem;color:var(--ink-soft);line-height:1.6}.user-management-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem;margin-left:auto}.user-card-list{display:none;gap:.85rem}.user-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);padding:1rem}.user-card-top{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;margin-bottom:.85rem}.user-card-meta{display:grid;grid-template-columns:minmax(0,180px) 1fr;gap:1rem;align-items:start}.finding-cell{font-size:.8rem;color:var(--ink-soft);max-width:280px}.status-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .68rem;border-radius:100px;font-size:.72rem;font-weight:700;letter-spacing:.02em}.status-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-fit{background:var(--status-fit-bg);color:var(--status-fit-fg)}.status-caution{background:var(--status-caution-bg);color:var(--status-caution-fg)}.status-refer{background:var(--status-refer-bg);color:var(--status-refer-fg)}.status-pending{background:var(--status-pending-bg);color:var(--status-pending-fg)}.table-responsive{overflow-x:auto}.form-select-sm{min-height:38px}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.86rem}.data-table thead th{text-align:left;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-weight:700;padding:.7rem .9rem;border-bottom:1px solid var(--line);background:var(--paper)}.data-table tbody td{padding:.7rem .9rem;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink)}.data-table tbody tr:hover{background:var(--mist)}.data-table tbody tr:last-child td{border-bottom:none}.emp-name{font-weight:600;color:var(--deep-purple-2)}.emp-code{font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--ink-faint)}.dropzone{border:1.6px dashed var(--mist-2);border-radius:var(--radius-lg);background:var(--panel);padding:2.6rem 1.5rem;text-align:center;transition:.15s ease;cursor:pointer}.dropzone:hover{border-color:var(--royal-purple);background:var(--mist)}.dropzone .icon-circle{width:58px;height:58px;border-radius:50%;background:var(--mist);color:var(--royal-purple);display:flex;align-items:center;justify-content:center;margin:0 auto .9rem}.step-track{display:flex;align-items:center;gap:.4rem;margin-bottom:1.6rem}.step-track .step{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--ink-faint);font-weight:600}.step-track .step .num{width:24px;height:24px;border-radius:50%;background:var(--mist);display:flex;align-items:center;justify-content:center;font-size:.72rem}.step-track .step.active{color:var(--deep-purple)}.step-track .step.active .num{background:var(--royal-purple);color:#fff}.step-track .sep{flex:1;height:1px;background:var(--line)}.login-wrap{min-height:100vh;display:flex}.login-aside{flex:1.1;background:radial-gradient(circle at 20% 20%,var(--royal-purple) 0%,var(--deep-purple) 55%,var(--deep-purple) 100%);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:3rem;position:relative;overflow:hidden}.login-aside .glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(201,164,76,.25),transparent 70%);top:-160px;right:-160px}.login-form-side{flex:1;display:flex;align-items:center;justify-content:center;background:var(--paper);padding:2rem}.login-card{width:100%;max-width:420px;padding:2.1rem 2.2rem;background:#ffffffeb;border:1px solid rgba(107,63,160,.08);border-radius:20px;box-shadow:var(--shadow-card)}.login-card h1{margin-bottom:.35rem;font-size:clamp(2rem,2vw,2.3rem)}.login-card .form-label{font-size:.8rem;font-weight:600;color:var(--ink)}.login-card .form-control{border-radius:12px;padding:.78rem .9rem;height:48px;font-size:.96rem;border-color:var(--line);background:#fff}.login-card .btn{height:48px;border-radius:12px;font-size:.95rem}.login-card .alert{margin-top:.25rem}.login-quote{font-family:Fraunces,serif;font-size:1.6rem;line-height:1.32;max-width:420px}.branded-loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:grid;place-items:center;padding:1.25rem;background:#2b154773;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.loader-card{width:min(290px,100%);padding:1.7rem 1.4rem;text-align:center;color:var(--ink-soft);background:#fff;border:1px solid rgba(201,164,76,.45);border-radius:18px;box-shadow:0 22px 56px #1b0c304d}.loader-mark{width:56px;height:56px;margin:0 auto .7rem;display:flex;align-items:center;justify-content:center;border-radius:17px;background:#fff;box-shadow:0 0 0 5px var(--mist),0 7px 16px #2b154740;animation:loader-mark-breathe 1.25s ease-in-out infinite}.loader-mark img{width:48px;height:48px;object-fit:contain;border-radius:13px}.loader-pulse{height:14px;margin:0 auto .55rem;display:flex;align-items:center;justify-content:center;gap:5px}.loader-pulse i{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:loader-dot .9s ease-in-out infinite}.loader-pulse i:nth-child(2){animation-delay:.14s}.loader-pulse i:nth-child(3){animation-delay:.28s}.loader-wordmark{display:block;width:min(220px,100%);height:44px;margin:0 auto;object-fit:contain}.loader-card>span{display:block;margin-top:.28rem;font-size:.76rem}@keyframes loader-mark-breathe{50%{transform:scale(1.08) rotate(-3deg)}}@keyframes loader-dot{50%{transform:translateY(-5px);opacity:.45}}.sheet{background:#fff;width:100%;max-width:794px;margin:0 auto;padding:2.4rem 2.5rem;border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:6px}.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--deep-purple);padding-bottom:.9rem;margin-bottom:1.1rem}.sheet-head .hospital-name{font-family:Fraunces,serif;font-weight:700;font-size:1.15rem;color:var(--deep-purple)}.sheet-head .hospital-tag{font-size:.68rem;color:var(--ink-faint);letter-spacing:.06em;text-transform:uppercase}.report-mini-table{width:100%;font-size:.78rem;border-collapse:collapse;margin-bottom:.9rem}.report-mini-table th,.report-mini-table td{border:1px solid var(--line);padding:.4rem .55rem;text-align:left}.report-mini-table th{background:var(--paper);color:var(--ink-soft);font-weight:600;width:26%}.section-tag{font-family:JetBrains Mono,monospace;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--royal-purple);display:inline-block;padding:.22rem .55rem;border-radius:5px;margin:1.1rem 0 .55rem}.health-card{width:100%;max-width:520px;border-radius:16px;overflow:hidden;position:relative;background:linear-gradient(160deg,#fff 0%,var(--paper) 100%);border:1px solid var(--line);box-shadow:var(--shadow-pop)}.health-card .hc-top{background:linear-gradient(120deg,var(--deep-purple),var(--royal-purple));color:#fff;padding:.85rem 1.1rem;display:flex;justify-content:space-between;align-items:center}.health-card .hc-top .hc-brand{font-family:Fraunces,serif;font-weight:700;font-size:.9rem}.health-card .hc-body{padding:1.1rem;display:flex;gap:1rem}.health-card .hc-photo{width:78px;height:96px;border-radius:10px;background:var(--mist);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--royal-purple);font-family:Fraunces,serif;font-weight:700;font-size:1.3rem;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}.hc-grid{display:grid;grid-template-columns:1fr 1fr;gap:.25rem .9rem;font-size:.74rem}.hc-grid .k{color:var(--ink-faint)}.hc-grid .v{font-weight:600;color:var(--ink)}.health-card .hc-foot{border-top:1px dashed var(--line);padding:.6rem 1.1rem;display:flex;justify-content:space-between;align-items:center;font-size:.68rem;color:var(--ink-faint);background:var(--paper)}.card-stage{display:flex;gap:2rem;flex-wrap:wrap;align-items:flex-start;justify-content:center}.card-toggle{display:inline-flex;background:var(--mist);border-radius:10px;padding:.25rem;gap:.2rem}.card-toggle button{border:none;background:transparent;padding:.4rem .9rem;border-radius:8px;font-size:.78rem;font-weight:700;color:var(--ink-soft);cursor:pointer}.card-toggle button.active{background:#fff;color:var(--deep-purple);box-shadow:var(--shadow-card)}.idcard{width:480px;aspect-ratio:85.6/54;background:#eff4fb;border-radius:18px;border:1px solid #C9D6EC;box-shadow:var(--shadow-pop);position:relative;overflow:hidden;padding:10px 12px;font-family:Inter,sans-serif;color:#16223a}.idcard .ic-note{position:absolute;top:6px;right:12px;font-family:JetBrains Mono,monospace;font-size:.62rem;color:#3b1e6d;opacity:.6}.idcard .ic-header{text-align:center;font-weight:800;font-size:.86rem;color:#1b7a3d;letter-spacing:.01em;margin:2px 0 6px}.idcard .ic-body{display:flex;gap:6px;align-items:stretch}.idcard .ic-table{flex:1;min-width:0;border-collapse:collapse;table-layout:fixed;height:fit-content}.idcard .ic-table td{border:1.4px solid #1F3B7A;padding:2.5px 5px;font-size:.68rem;font-weight:700;color:#16223a;vertical-align:middle;line-height:1.15}.idcard .ic-table td.lbl{color:#1f3b7a;font-weight:700;white-space:nowrap}.idcard .ic-photo-cell{width:30%;flex-shrink:0;border:1.4px solid #1F3B7A;border-radius:4px;overflow:hidden}.idcard .ic-photo{width:100%;height:100%;object-fit:cover;display:block}.idcard .ic-photo-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#dce6f7,#c7d6ef);color:#3b1e6d;font-family:Fraunces,serif;font-weight:700;font-size:1.4rem}.idcard .ic-footer{text-align:center;margin-top:4px}.idcard .ic-footer .ic-brand{font-family:Fraunces,serif;font-weight:800;font-size:.8rem;color:#5b2a86}.idcard .ic-footer .ic-brand span.mark{color:#b5423a}.idcard .ic-footer .ic-tag{font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;color:#726c87;margin-top:-2px}.idcard .ic-footer .ic-doc{font-size:.64rem;font-weight:700;color:#16223a;margin-top:2px}.idcard.back .ic-table td{font-size:.66rem}.idcard.back .ic-section{text-align:center;font-weight:800;background:#fff}@media print{@page{size:A4 portrait;margin:10mm}.no-print{display:none!important}body{background:#fff}.sidebar,.topbar{display:none!important}.main-col,.page-body{margin:0!important;padding:0!important}.app-footer{display:none!important}.sheet{width:190mm;min-height:277mm;margin:0;padding:10mm;border:0;border-radius:0;box-shadow:none;break-after:page;page-break-after:always}.sheet:last-child{break-after:auto;page-break-after:auto}.idcard{box-shadow:none;border-color:#1f3b7a}#printCardArea{display:flex!important;width:190mm;min-height:277mm;align-items:flex-start;justify-content:center;gap:8mm}#printCardArea .idcard{width:85.6mm;height:54mm;aspect-ratio:85.6/54;margin:0;break-after:auto;page-break-after:auto}}@media (max-width: 900px){.sidebar{position:fixed;z-index:100;left:0;top:0;width:min(280px,82vw);transform:translate(-105%);transition:transform .22s ease;box-shadow:16px 0 42px #19092f47}.sidebar.mobile-open{transform:translate(0)}.mobile-nav-backdrop{display:block;position:fixed;z-index:90;top:0;right:0;bottom:0;left:0;opacity:0;visibility:hidden;border:0;background:#180a2d73;transition:opacity .22s ease,visibility .22s ease}.mobile-nav-backdrop.open{opacity:1;visibility:visible}.mobile-nav-toggle{display:inline-grid;gap:4px;width:34px;height:34px;flex-shrink:0;place-content:center;margin-right:.75rem;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.mobile-nav-toggle span{width:15px;height:2px;border-radius:2px;background:var(--deep-purple)}.login-aside,.topbar .searchbox{display:none}.card-stage{gap:1rem}.idcard{width:100%;max-width:420px}.page-body{padding:1.25rem 1.2rem 2rem}.topbar{padding:0 1.2rem}.topbar-subtitle{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-grid,.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-panel{max-width:100%}.attention-card-grid{grid-template-columns:1fr}.user-management-hero{align-items:flex-start}.user-management-actions{width:100%;align-items:flex-start}.user-card-meta,.user-form-grid{grid-template-columns:1fr}.rights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){body{font-size:15px}.page-body{padding:1rem .85rem 1.5rem}.topbar{height:58px;padding:0 .85rem}.topbar-title{font-size:.98rem}.topbar-subtitle{font-size:.68rem}.topbar-actions .btn{padding:.32rem .52rem;font-size:.72rem}.app-footer{padding:.9rem .85rem 1.1rem}.developer-logo{display:flex;justify-content:center;margin:.35rem auto 0}.card-grid,.cards-grid,.dashboard-grid{grid-template-columns:1fr}.card-panel:not(.p-0){padding:1rem!important}.module-card{padding:1.2rem}.upload-panel,.upload-card-shell{padding:1rem;border-radius:15px}.upload-dropzone{min-height:190px;padding:1.4rem .9rem;border-radius:14px}.dropzone-title{font-size:1.15rem}.dropzone-subtitle{font-size:.8rem}.file-meta-row{padding:.8rem}.file-meta-row .btn{width:100%;justify-content:center}.step-track{align-items:flex-start;gap:.3rem}.step-track .step{flex:1;min-width:0;flex-direction:column;gap:.25rem;text-align:center;font-size:.65rem;line-height:1.15}.step-track .sep{margin-top:12px}.data-table{font-size:.78rem}.data-table thead th,.data-table tbody td{padding:.62rem .72rem}.expected-columns-list{gap:.35rem}.expected-column-pill{padding:.33rem .55rem;font-size:.68rem}.idcard{min-width:0;border-radius:12px;padding:7px 8px}.card-stage{width:100%}.sheet{padding:1.2rem 1rem}.sheet-head{gap:.8rem;flex-direction:column}.report-mini-table{font-size:.69rem}.report-mini-table th,.report-mini-table td{padding:.32rem .38rem}.dashboard-actions,.module-actions,.user-management-actions,.table-action-group,.dashboard-actions .btn,.module-actions .btn,.user-management-actions .btn{width:100%}.user-card-list{display:grid}.user-table-card .table-responsive{display:none}.user-card-top{flex-direction:column}.rights-grid{grid-template-columns:1fr}}
