:root{--impi-black: #0B0B0C;--impi-black-soft: #1A1A1D;--impi-maroon: #7A1128;--impi-maroon-bright: #A31E38;--impi-cream: #F3EEE2;--impi-steel: #9CA0A6;--impi-success: #2E7D4F;--impi-warning: #C48A1C;--impi-danger: #B02A2A;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-card: 0 2px 10px rgba(0, 0, 0, .18);box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}*,*:before,*:after{box-sizing:inherit}html,body,#root{height:100%;margin:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--impi-cream);color:var(--impi-black)}.app-shell{display:flex;min-height:100vh}.sidebar{background:var(--impi-black);color:var(--impi-cream);width:240px;flex-shrink:0;padding:1.25rem .75rem;display:flex;flex-direction:column;gap:.25rem}.sidebar-logo{display:flex;align-items:center;gap:.5rem;padding:.5rem .5rem 1.25rem}.sidebar-logo img{width:40px;height:40px;object-fit:contain}.sidebar-logo span{font-weight:700;letter-spacing:.02em}.sidebar-close{display:none;margin-left:auto;background:none;border:none;color:var(--impi-cream);cursor:pointer;padding:.25rem}.menu-toggle{display:none;background:none;border:none;color:var(--impi-black);cursor:pointer;padding:.3rem;flex-shrink:0}.nav-link{display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;border-radius:var(--radius-sm);color:var(--impi-steel);text-decoration:none;font-size:.92rem;transition:background .15s ease,color .15s ease}.nav-link:hover{background:var(--impi-black-soft);color:var(--impi-cream)}.nav-link.active{background:var(--impi-maroon);color:#fff}.main-content{flex:1;min-width:0;padding:1.5rem 1.75rem 3rem}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.25rem 1.5rem;margin-bottom:1.25rem}.badge{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.badge-pending{background:#fcefd6;color:var(--impi-warning)}.badge-registered{background:#e2f1e8;color:var(--impi-success)}.badge-closed{background:#f1e2e2;color:var(--impi-danger)}.badge-open{background:#e4eaf5;color:#2c4a8c}.btn{border:none;border-radius:var(--radius-sm);padding:.55rem 1.1rem;font-weight:600;font-size:.9rem;cursor:pointer;transition:opacity .15s ease}.btn:hover{opacity:.9}.btn-primary{background:var(--impi-maroon);color:#fff}.btn-secondary{background:var(--impi-black);color:var(--impi-cream)}.btn-outline{background:transparent;color:var(--impi-maroon);border:1.5px solid var(--impi-maroon)}.btn:disabled{opacity:.5;cursor:not-allowed}table.data-table{width:100%;border-collapse:collapse;font-size:.88rem}.data-table th{text-align:left;padding:.55rem .6rem;border-bottom:2px solid var(--impi-black);color:var(--impi-black);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.data-table th,.data-table td{white-space:nowrap}.data-table td{padding:.55rem .6rem;border-bottom:1px solid #eee}.data-table tr.highlight{background:#fcefd6}.date-group-heading{font-weight:700;font-size:.85rem;color:var(--impi-black-soft);margin:1.1rem 0 .4rem;text-transform:uppercase;letter-spacing:.03em}.date-group-heading:first-child{margin-top:0}.table-scroll{overflow-x:auto}.form-row{margin-bottom:.9rem;display:flex;flex-direction:column;gap:.3rem;min-width:0}.form-row input:not([type=checkbox]):not([type=radio]),.form-row select,.form-row textarea{width:100%;min-width:0}.form-row label{font-size:.82rem;font-weight:600;color:var(--impi-black-soft)}.form-row input,.form-row select,.form-row textarea{padding:.55rem .7rem;border:1px solid #d8d4c9;border-radius:var(--radius-sm);font-size:.92rem;font-family:inherit}.pill-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.pill-tab{padding:.4rem .9rem;border-radius:999px;border:1px solid var(--impi-black);background:transparent;cursor:pointer;font-size:.85rem;font-weight:600}.pill-tab.active{background:var(--impi-black);color:var(--impi-cream)}.demo-banner{background:var(--impi-warning);color:#2b1c00;text-align:center;padding:.4rem;font-size:.82rem;font-weight:600}.coming-soon{border:2px dashed var(--impi-steel);border-radius:var(--radius-lg);padding:2rem;text-align:center;color:var(--impi-steel)}@media (max-width: 900px){.app-shell{display:block}.sidebar{position:fixed;top:0;left:0;height:100vh;width:250px;max-width:80vw;z-index:100;transform:translate(-100%);transition:transform .25s ease;box-shadow:4px 0 24px #00000059;padding-top:calc(1.25rem + env(safe-area-inset-top,0px))}.sidebar.open{transform:translate(0)}.sidebar-close{display:block}.sidebar-backdrop{position:fixed;inset:0;background:#00000073;z-index:90}.menu-toggle{display:inline-flex}.main-content{padding:1rem 1rem 2.5rem}.topbar{flex-direction:column;align-items:flex-start;gap:.75rem}.card{padding:1rem}.data-table{font-size:.8rem}.data-table th,.data-table td{padding:.42rem .45rem}.btn{padding:.45rem .8rem;font-size:.82rem}}
