:root{--brand:#e02d50;--brand-light:#c81f41;--base:#f4f5f8;--surface:#fff;--surface-2:#eef1f6;--border:#d8dde7;--text:#1d2433;--text-dim:#68738a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--base);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#root{min-height:100vh}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-shrink:0;width:220px;padding:24px 0}.sidebar .brand{color:var(--brand);border-bottom:1px solid var(--border);margin-bottom:16px;padding:0 20px 24px;font-size:18px;font-weight:700}.sidebar nav a{color:var(--text-dim);border-left:3px solid #0000;padding:10px 20px;font-size:14px;text-decoration:none;display:block}.sidebar nav a:hover,.sidebar nav a.active{color:var(--text);background:var(--surface-2);border-left-color:var(--brand)}.app-shell>.main{flex:1;padding:32px 40px;overflow-x:auto}.main h1{color:var(--text);margin:0 0 20px;font-size:22px}table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:6px;width:100%;font-size:13px;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;max-width:220px;padding:10px 14px;overflow:hidden}th{background:var(--surface-2);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}tr:hover td{background:var(--surface-2)}.login-page{justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex}.login-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:340px;padding:40px;box-shadow:0 8px 30px #1d243314}.login-box h1{color:var(--brand);margin:0 0 24px;font-size:20px}.login-box input{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);border-radius:6px;margin-bottom:14px;padding:10px 12px;font-size:14px}.login-box button,.btn{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;padding:11px;font-size:14px;font-weight:600}.login-box button:hover,.btn:hover{background:var(--brand-light)}.error-msg{color:#c0392b;margin-bottom:12px;font-size:13px}.loading{color:var(--text-dim);padding:40px 0}.topbar{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.topbar .logout{color:var(--text-dim);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:6px 14px;font-size:13px}.topbar .logout:hover{color:var(--text);border-color:var(--brand)}.badge{background:var(--surface-2);color:var(--text-dim);border-radius:10px;padding:2px 8px;font-size:11px;display:inline-block}.badge.writable{color:var(--brand);background:#e02d501a}.editable-cell{cursor:pointer;border-bottom:1px dashed var(--text-dim)}.login-hint{color:var(--text-dim);text-align:center;margin:10px 0 0;font-size:11px}.login-hint code{color:var(--brand);background:#e02d5017;border-radius:3px;padding:1px 4px}.portal-scroll{scrollbar-width:none}.portal-scroll::-webkit-scrollbar{width:0;height:0}.portal-scroll:hover{scrollbar-width:thin}.portal-scroll:hover::-webkit-scrollbar{width:8px;height:8px}.portal-scroll:hover::-webkit-scrollbar-thumb{background:#00000040;border-radius:4px}.portal-scroll:hover::-webkit-scrollbar-track{background:0 0}.field-nocal::-webkit-calendar-picker-indicator{display:none}.field-empty-date::-webkit-datetime-edit{color:#0000}.field-empty-date:focus::-webkit-datetime-edit{color:inherit}.date-ph-wrap:focus-within .date-ph{display:none}.layout-runtime input::placeholder,.layout-runtime textarea::placeholder{color:#c3c3c3;opacity:1}
