.button{border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);min-height:2.5rem;color:var(--panel);font:700 var(--step--1) var(--font);cursor:pointer;align-items:center;gap:.4rem;padding:0 1rem;text-decoration:none;display:inline-flex}.button.quiet{background:var(--panel);color:var(--ink);border-color:var(--line)}.button.danger{background:var(--panel);color:var(--gcal-tomato);border-color:var(--gcal-tomato)}.button:disabled{opacity:.5;cursor:not-allowed}.field{gap:.25rem;max-width:32rem;margin-bottom:1rem;display:grid}.field label{font-weight:700;font-size:var(--step--1)}.field input,.field textarea,.field select,.search{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);min-height:2.5rem;font:inherit;color:inherit;padding:.4rem .6rem}.field .hint{color:var(--ink-soft);font-size:var(--step--1)}.field .field-error{color:var(--ink);font-size:var(--step--1);border-left:3px solid var(--gcal-tomato);padding-left:.5rem}.field [aria-invalid=true]{border-color:var(--gcal-tomato)}.table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.6rem .9rem}th{font-size:var(--step--1);color:var(--ink-soft)}tbody tr:last-child td{border-bottom:0}.status{white-space:nowrap;align-items:center;gap:.45rem;display:inline-flex}.status:before{content:"";background:var(--swatch,var(--line));border-radius:2px;width:.75rem;height:.75rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem 0;display:flex}.toolbar .search{flex:16rem;max-width:28rem}.pager{color:var(--ink-soft);align-items:center;gap:.75rem;margin-top:1rem;display:flex}.notice{border-left:4px solid var(--line);background:var(--panel);max-width:48rem;padding:1rem 1.25rem}.notice.error{border-left-color:var(--gcal-tomato)}.notice.warning{border-left-color:var(--gcal-banana)}dialog{border:1px solid var(--line);border-radius:var(--radius);max-width:28rem;padding:1.5rem;box-shadow:0 12px 32px #15232d2e}dialog::backdrop{background:#15232d66}.shell{grid-template-columns:var(--rail) 1fr;min-height:100vh;display:grid}.rail{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;gap:.15rem;padding:1.25rem 1rem;display:flex}.rail .brand{font-size:var(--step-1);margin:0 0 1rem;font-weight:700}.rail a{border-radius:var(--radius);color:var(--ink);padding:.5rem .75rem;text-decoration:none}.rail a:hover{background:var(--porcelain)}.rail a.active{background:var(--ink);color:var(--panel)}.rail-group{border-top:1px solid var(--line);flex-direction:column;gap:.15rem;margin-top:1rem;padding-top:1rem;display:flex}.rail-footer{font-size:var(--step--1);color:var(--ink-soft);overflow-wrap:anywhere;gap:.5rem;margin-top:auto;display:grid}.switcher{margin-bottom:1rem}.content{min-width:0;padding:2rem clamp(1rem,3vw,2.5rem)}.signin{max-width:32rem;margin:15vh auto;padding:0 1rem}.form-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}@media (width<=48rem){.shell{grid-template-columns:1fr}.rail{border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;align-items:center}.rail .brand{margin:0 1rem 0 0}.rail-group{border:0;flex-direction:row;margin:0;padding:0}.rail-footer{margin:0 0 0 auto}}
