*{box-sizing:border-box}body{background:var(--color-canvas);color:var(--color-text-primary);margin:0;font:400 16px/24px "Source Sans 3",system-ui,sans-serif}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}@media (max-width:800px){.shell{grid-template-columns:1fr}}nav.side{background:var(--color-surface-subtle);flex-direction:column;gap:4px;padding:24px;display:flex}nav.side a{min-height:44px;color:var(--color-text-primary);align-items:center;font-size:14px;font-weight:600;text-decoration:none;display:flex}nav.side a:hover{color:var(--color-action)}main{max-width:960px;padding:32px}h1{margin:0 0 16px;font-size:28px;line-height:34px}h2{margin:32px 0 8px;font-size:18px;line-height:24px}a{color:var(--color-action)}label{gap:4px;margin-bottom:16px;font-size:14px;font-weight:600;line-height:20px;display:grid}input,select,textarea{border:1px solid var(--color-border-control);background:var(--color-surface);min-height:48px;color:var(--color-text-primary);border-radius:10px;width:100%;padding:10px 12px;font:400 16px/24px inherit}textarea{min-height:100px}input[type=checkbox]{width:24px;min-height:24px}button{border:1px solid var(--color-border-control);min-height:48px;color:var(--color-action);cursor:pointer;background:0 0;border-radius:10px;padding:10px 20px;font:600 16px/24px inherit}button.primary{background:var(--color-action);color:var(--color-on-action);border-color:#0000}button.danger{background:var(--color-danger);color:var(--color-on-danger);border-color:#0000}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid var(--color-border-subtle);text-align:left;padding:8px;font-size:14px;line-height:20px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grid3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.note{background:var(--color-info-bg);color:var(--color-info);border-radius:10px;margin-bottom:16px;padding:12px;font-size:14px;line-height:20px}.err{background:var(--color-danger-bg);color:var(--color-danger)}.preview{background:var(--color-highlight);border-radius:16px;max-width:390px;padding:16px}.preview small{color:var(--color-text-secondary)}.login{max-width:420px;margin:64px auto;padding:20px}.badge{background:var(--color-selected);color:var(--color-action);border-radius:6px;padding:2px 8px;font-size:12px}
