*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--color-background);color:var(--color-text-primary);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;transition:background-color .2s ease,color .2s ease}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.skip-link{position:absolute;top:-40px;left:0;z-index:100;padding:8px 16px;background:var(--color-primary);color:var(--color-primary-contrast)}.skip-link:focus{top:0}
.topbar{position:sticky;top:0;z-index:40;min-height:64px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.topbar-inner{max-width:1280px;min-height:64px;margin:0 auto;padding:0 16px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:8px;color:var(--color-primary);font-size:18px;font-weight:600;text-decoration:none}.brand-mark{font-size:24px;line-height:1}.main-nav{display:flex;align-items:center;gap:4px;margin-left:32px}.main-nav a,.user-actions button{display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;border:0;border-radius:6px;color:var(--color-text-secondary);background:transparent;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .15s ease,color .15s ease}.main-nav a:hover,.main-nav a.active,.user-actions button:hover{color:var(--color-primary);background:var(--color-surface-variant);text-decoration:none}.topbar nav{display:flex;align-items:center}.user-actions{display:flex;align-items:center;gap:8px}.user-actions form{margin:0}.user-actions button{cursor:pointer;font-family:inherit}
.shell{max-width:1280px;margin:0 auto;padding:24px 16px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.page-heading h1{margin:0;color:var(--color-text-primary);font-size:28px;line-height:1.25;font-weight:700;letter-spacing:-.01em}.page-heading p{margin:4px 0 0}h1,h2,h3{color:var(--color-text-primary)}h2{margin:0 0 16px;font-size:20px;line-height:1.3}.muted{color:var(--color-text-secondary)}.back-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;color:var(--color-text-secondary)}
.auth-card{width:100%;max-width:448px;margin:48px auto 0}.auth-card>p{margin:8px 0 24px;color:var(--color-text-secondary);text-align:center}.auth-card h1{margin:0;color:var(--color-primary);font-size:36px;line-height:1.2;text-align:center}.auth-card form{padding:32px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);box-shadow:0 1px 2px rgb(0 0 0 / .04)}.auth-card form+a{display:block;margin-top:24px;text-align:center}
label{display:block;margin:0 0 4px;color:var(--color-text-primary);font-size:14px;font-weight:500}input,textarea,select{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--color-border-control);border-radius:6px;background:var(--color-surface);color:var(--color-text-primary);font:inherit}input::placeholder,textarea::placeholder{color:var(--color-text-secondary)}.auth-card .button{width:100%;margin-top:8px}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 16px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface-variant);color:var(--color-text-primary);font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .15s ease}.button:hover,button:hover{background:var(--color-border)}.button:active,button:active{transform:translateY(1px)}.button.primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-contrast)}.button.primary:hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover)}.link-button{padding:0;border:0;background:transparent;color:var(--color-primary);text-decoration:none}.link-button:hover{background:transparent;text-decoration:underline}
.filters{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:end;gap:16px;margin-bottom:24px}.filters label{margin-bottom:4px}.filters>label{grid-column:1}.filters>input{grid-column:1;grid-row:2}.filters>label[for="pageSize"]{grid-column:2;grid-row:1}.filters>select{grid-column:2;grid-row:2;min-width:112px}.filters>button{grid-column:3;grid-row:2}.table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}table{width:100%;border-collapse:collapse}th,td{padding:12px 16px;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}th{color:var(--color-text-secondary);background:var(--color-surface-variant);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--color-surface-variant)}td:first-child a{color:var(--color-text-primary);font-weight:500}.badge{display:inline-flex;align-items:center;margin-left:8px;padding:2px 8px;border-radius:4px;background:var(--color-surface-variant);color:var(--color-text-secondary);font-size:12px;font-weight:600}.badge.danger{background:var(--color-error-surface);color:var(--color-error-text)}.card{padding:16px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.details{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;margin:0 0 16px}.details dt{color:var(--color-text-secondary);font-size:14px}.details dd{margin:0}.communication{padding:16px 0;border-bottom:1px solid var(--color-border)}.communication:last-child{border-bottom:0}.reply{margin:12px 0 0 24px;padding:12px 0 0 16px;border-top:1px solid var(--color-border)}.flash,.error{margin-bottom:16px;padding:12px 16px;border:1px solid var(--color-border);border-radius:6px}.flash{border-color:var(--color-success-text);background:var(--color-success-surface);color:var(--color-success-text)}.error{border-color:var(--color-error-text);background:var(--color-error-surface);color:var(--color-error-text)}.validation:not(:empty){display:block;margin:8px 0;color:var(--color-error-text);font-size:14px}.empty{padding:48px 24px;border:1px dashed var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-secondary);text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (min-width:640px){.topbar-inner,.shell{padding-left:24px;padding-right:24px}}@media (min-width:1024px){.topbar-inner,.shell{padding-left:32px;padding-right:32px}}@media (max-width:639px){.topbar-inner{flex-wrap:wrap;gap:8px;padding-top:8px;padding-bottom:8px}.main-nav{order:3;width:100%;margin-left:0}.main-nav a{flex:1;justify-content:center}.page-heading{align-items:flex-start;flex-direction:column}.filters{grid-template-columns:1fr}.filters>label,.filters>input,.filters>label[for="pageSize"],.filters>select,.filters>button{grid-column:1;grid-row:auto}.filters>button{width:100%}.auth-card{margin-top:24px}.auth-card form{padding:24px}}@media print{body{background:#fff;color:#000}.topbar,.button,button{display:none}}
