*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body,html{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#0f0f10;color:#e5e5e5;min-height:100%}a{color:#e83d40;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}.protected-layout{display:flex;min-height:100vh;position:relative}.sidebar{width:220px;flex-shrink:0;background:#1a1a1a;border-right:1px solid #353535;padding:1.5rem 1rem;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.main-content{flex:1 1;padding:2rem;overflow:auto;min-width:0}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:56px;background:#1a1a1a;border-bottom:1px solid #353535;padding:0 1rem;align-items:center;justify-content:space-between;z-index:100}.mobile-header-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:inherit;font-weight:700;font-size:1rem}.mobile-header-logo img{width:32px;height:auto}.mobile-menu-btn{width:44px;height:44px;background:transparent;border:1px solid #353535;border-radius:.5rem;color:#ccc;font-size:1.25rem;display:flex;align-items:center;justify-content:center}.sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;display:none}.sidebar-drawer{display:none;position:fixed;top:0;left:0;width:260px;max-width:85vw;height:100vh;background:#1a1a1a;border-right:1px solid #353535;padding:3rem 1rem 1.5rem;flex-direction:column;z-index:201;overflow-y:auto;box-shadow:4px 0 20px rgba(0,0,0,.3);position:relative}.sidebar-drawer-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;background:transparent;border:1px solid #353535;border-radius:.5rem;color:#ccc;font-size:1.25rem;line-height:1;padding:0;display:flex;align-items:center;justify-content:center}.sidebar-drawer-open{display:flex}@media (max-width:768px){.sidebar{display:none}.sidebar-overlay{display:block}.mobile-header{display:flex}.main-content{padding-top:72px;padding-left:1rem;padding-right:1rem}}@media (min-width:769px){.mobile-header,.sidebar-drawer,.sidebar-overlay{display:none!important}}@media (max-width:768px){.form-grid-2,.form-grid-3{grid-template-columns:1fr!important}}