*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--color-background);color:var(--color-text-primary);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;-webkit-tap-highlight-color:transparent}a{color:var(--color-primary);text-decoration:none}button{font-family:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}.btn{background:var(--color-primary);color:var(--color-primary-text);border:none;border-radius:8px;padding:12px 18px;font-weight:600;font-size:15px;transition:background .15s ease}.btn:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface-alt);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:8px;padding:12px 18px;font-weight:500;font-size:15px}.btn-secondary:hover{background:var(--color-surface-hover)}.btn-danger{background:transparent;color:var(--color-danger);border:1px solid var(--color-danger);border-radius:8px;padding:10px 16px;font-weight:500;font-size:15px}.btn-success{background:var(--color-success);color:var(--color-success-text);border:none;border-radius:8px;padding:12px 18px;font-weight:600;font-size:15px}input,select,textarea{background:var(--color-surface-alt);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:8px;padding:12px 10px;font-size:15px;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary)}label{color:var(--color-text-secondary);font-size:12px;display:block;margin-bottom:4px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--color-border)}th{color:var(--color-text-secondary);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.card{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:10px;padding:16px}button.card{width:100%;font-family:inherit;text-align:left}button.card:hover{background:var(--color-surface-hover)}.app-bar{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:14px 16px;position:sticky;top:0;z-index:10}.page{padding:16px 16px 40px;max-width:480px;margin:0 auto}.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600}.badge-open{background:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success)}.badge-closed{background:color-mix(in srgb,var(--color-text-secondary) 15%,transparent);color:var(--color-text-secondary)}
