:root{--bg: #FBF6EC;--surface: #FFFDF8;--surface-alt: #F4ECDD;--border: #E3D8C4;--ink: #2A2724;--ink-soft: #5A5348;--accent: #B24E12;--accent-hover: #97400C;--accent-soft: #FBEAD9;--ok-bg: #E4F0E4;--ok-ink: #2E6B3E;--err-bg: #FBE3DC;--err-ink: #8A3418;--radius: 12px;--shadow: 0 1px 2px rgba(74, 57, 32, .06), 0 4px 14px rgba(74, 57, 32, .05)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Atkinson Hyperlegible,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:19px;line-height:1.7;min-height:100vh;display:flex;flex-direction:column}.app-shell{width:100%;max-width:680px;margin:auto;padding:2rem 1.25rem 3rem;overflow-x:auto}.app-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.8rem 1.6rem}h1{font-size:1.7rem;line-height:1.2;margin:0 0 1.2rem}h2{font-size:1.25rem;margin:1.4rem 0 .6rem}p{margin:.2rem 0 1rem}a{color:var(--accent)}a:hover{color:var(--accent-hover)}ul{margin:.2rem 0 1rem;padding-left:1.2rem}li{margin:.2rem 0}form label{display:block;margin:0 0 1rem;font-weight:600}input[type=email],input[type=password],input[type=text],input:not([type]),select,textarea{display:block;width:100%;margin-top:.35rem;font:inherit;font-weight:400;padding:.7rem .8rem;border:1.5px solid var(--border);border-radius:10px;background:var(--surface);color:var(--ink)}label input[type=checkbox],label input[type=radio]{width:auto;display:inline-block;margin:0 .4rem 0 0}button,input[type=submit]{font:inherit;font-weight:600;cursor:pointer;color:#fff;background:var(--accent);border:none;border-radius:10px;padding:.75rem 1.5rem;margin-top:.3rem}button:hover,input[type=submit]:hover{background:var(--accent-hover)}.errors{list-style:none;margin:0 0 1.2rem;padding:.8rem 1rem;background:var(--err-bg);color:var(--err-ink);border-radius:10px}.errors li{margin:.1rem 0}.status{background:var(--ok-bg);color:var(--ok-ink);padding:.8rem 1rem;border-radius:10px;margin:0 0 1.2rem}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--border)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}.topnav{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.7rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--border)}.topnav-brand{font-weight:800;color:var(--accent);text-decoration:none}.topnav-links{display:flex;gap:1.1rem;flex-wrap:wrap;flex:1}.topnav-links a{color:var(--ink);text-decoration:none}.topnav-links a:hover{color:var(--accent)}.topnav-logout button{font:inherit;cursor:pointer;background:none;border:1.5px solid var(--border);border-radius:8px;padding:.3rem .7rem;color:var(--ink)}.topnav-logout button:hover{border-color:var(--accent);color:var(--accent)}.dash-sub{color:var(--ink-soft);margin:.2rem 0 1.4rem}.dash-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem}.dash-card{display:flex;flex-direction:column;gap:.2rem;padding:1.1rem 1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}.dash-card:hover{border-color:var(--accent)}.dash-ico{font-size:1.6rem}.dash-card strong{font-size:1.05rem}.dash-card em{color:var(--ink-soft);font-style:normal;font-size:.9rem}.a11y-preview{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.2rem;box-shadow:var(--shadow)}.a11y-preview strong{color:var(--ink-soft);font-size:.85rem;text-transform:none}.a11y-field{border:1px solid var(--border);border-radius:var(--radius);padding:.8rem 1rem 1rem;margin:0 0 1rem}.a11y-field legend{font-weight:700;padding:0 .4rem}.a11y-opt{display:flex;gap:.6rem;align-items:flex-start;padding:.4rem 0}.a11y-opt input{margin-top:.35rem;flex:none}.a11y-range{display:block;margin:.2rem 0 1rem;font-weight:600}.a11y-range input[type=range]{display:block;width:100%;margin-top:.35rem}.a11y-range output{color:var(--accent)}.btn-reset{font:inherit;cursor:pointer;background:none;border:1.5px solid var(--border);border-radius:10px;padding:.55rem 1rem;color:var(--ink)}.btn-reset:hover{border-color:var(--accent);color:var(--accent)}
