* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, sans-serif; background: #f3f5f8; color: #172b3a; display: flex; }
aside { width: 255px; flex-shrink: 0; background: #153747; color: white; padding: 20px; height: 100vh; position: sticky; top: 0; overflow: auto; }
h1 { font-size: 1.35rem; } nav a { display: block; padding: 9px; color: white; text-decoration: none; border-radius: 5px; }
nav a:hover, nav a[aria-current] { background: #315869; } main { width: 100%; min-width: 0; padding: 25px; } header { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; } header h2 { margin-right: auto; }
.panel { background: white; padding: 22px; border: 1px solid #d4dfe6; border-radius: 8px; margin: 20px 0; } .login { max-width: 440px; } label { display: block; margin: 12px 0; } input:not([type=checkbox]) { display: block; padding: 10px; width: 100%; max-width: 500px; border: 1px solid #61798b; border-radius: 4px; } input[type=checkbox] { margin-right: 8px; }
button { background: #1b596d; color: white; border: 0; border-radius: 4px; padding: 11px 18px; cursor: pointer; } a { color: #164f75; } button:focus-visible, a:focus-visible, input:focus-visible { outline: 3px solid #c67b13; outline-offset: 3px; }
fieldset { max-height: 320px; overflow: auto; border: 1px solid #c7d4df; margin: 15px 0; } .table-scroll { overflow-x: auto; } table { border-collapse: collapse; width: 100%; background: white; } caption { text-align: left; padding: 12px 0; font-weight: bold; } th, td { padding: 12px; border-bottom: 1px solid #d4dfe6; text-align: left; vertical-align: top; } th { background: #e0e9ef; } pre { white-space: pre-wrap; overflow-wrap: anywhere; max-width: 420px; } .notice { background: #e5f1ea; padding: 15px; border-left: 4px solid #246a48; } .error { background: #fff0ed; border-color: #a02e25; }
@media (max-width: 760px) { body { display: block; } aside { width: 100%; height: auto; position: static; } nav { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); } main { padding: 14px; } }
